Monday, January 21, 2008

PHPld latest version 3.3 - Directory Script

PHPld, one of the most popular php link directory script was started by David in 2001 for just exchanging links for the website! But now its the mostly used advanced free script in the market!

PHPld latest version 3.3, have tons of more features that are very helpful. Here are some of these:

  • The ability to create pages. So now you can add content to your homepage as well as anywhere within the directory using a WYSIWYG editor. The pages can be manually sorted

  • You will notice there is a new section called Article Comments. phpLD now allows the admin to turn on article comments as well as require captcha to prevent spam, and we hope this will be a great way to keep your site active, and full of fresh content.

  • Business Listings and Google Maps:
    You will now be able to run phpLD as a business directory of physical locations, not just a link directory. At this time, this feature is probably best used on a new directory. It is turned on in admin, and then the additional fields for business listings are shown throughout (admin, submit pages, and detail pages). On the detail pages, you can also show a google map to the location (after adding your Google Maps api info in the admin settings). This is an area that you will see additional features added in future releases of phpLD.

  • There is now a submit article feature, allowing users to submit articles.
We are ready to customize your latest script, If you want to get custom template design or installation of PHPld, Please contact us!

We also take Custom PHP Projects

Saturday, January 19, 2008

DashCommerce - ASP.NET Open Source e-Commerce

CSK, and has been renamed to dashCommerce, dashCommerce is an ASP.NET Open Source e-commerce application that is a very flexible and robust incorporating all three major components of an e-commerce application, namely, product catalog, shopping cart, and order fulfillment. This starter kit requires the .NET Framework 2.0 and SQL 2000 or SQL 2005 addon. This cart is nice example of Custom ASP.Net Programming as well as Open Source Projects!

Here is features list of DashCommerce:

Online Storefront
Fast installation Installs within minutes. Administer from your web browser.
Self managed product catalog Add your own products, images and pricing information.
Shopping cart Includes a fully functioning shopping cart with built-in shipping and tax calculators.
Capability Accept all major credit cards: Visa, MasterCard, American Express, Discover, PayPal.

Customer Service
Anonymous/registered shopping Enable anonymous shopping or require user login.
Nonpaypal account Customers are not required to have a PayPal account.
Viewable order history Customers can login and view their order history.

Reporting and Tracking
Inventory managment Edit your inventory from your web browser
Online reports Online reports display overall sales and inventory.
Custom reports Easy to develop your own custom reports.

Download DashCommerce From Here

WordPress version 2.3.2 - Major Bug Fixes and New Additions

December 29, 2007, WordPress version 2.3.2 was released to the public, The latest stable release of WordPress (Version 2.3.2)...

Information on the changes and improvements in this new version

The latest WordPress 2.3.2 version fixes a bug that could be used to expose draft posts (http://trac.wordpress.org/ticket/5487
)and information leaks in the XML-RPC and APP implementations. It is recommecded to update to 2.3.2 to protect your blog from these disclosures.

Although it is mainly a bugfix release, it does add a feature which allow you to define a custom DB error page. This would allow your site to fail more gracefully if your database became unavailable for some reason. You simply place your custom template at wp-content/db-error.php. So now, if WordPress ever has a problem connecting to the database, this page will displayed rather than the default error message. Very handy! Version 2.3.2 will also no longer display any database details upon failure as this could be used to aid an attack.


It took me about 5 minutes to create my custom error page, which you can see above, by following these steps:

Creating a Custom WordPress Database Error Page

1. Save the HTML from one of your posts, perhaps by viewing the source of the page in your browser and saving it. Or you can use wget.
2. Edit the saved file to remove extra stuff such as links to previous and next posts, the sidebar, and the comments section.
3. Put the following code where your post’s content would normally go:
error) ) echo $wpdb->error; ?>
4. Rename the file to db-error.php.
5. Upload db-error.php to the /wp-content/ directory.

If you are using WP 2.3.1, Its easy to upgrade, upgrading wordPress from version 2.3.1 should be painless, as there were no changes to the database structure

If you want to make Custom PHP Programming or Word Press Customization, Please contact at http://www.megrisoft.net

WordPress History - A most popular blog

WordPress is actually a folk of another blogging software called b2/cafelog which started back in 2001

The first release of WordPress was version 0.7. It was released on May 27, 2003. It was the upgrade from b2 version 0.62 that a lot of people had waited for. It was XHTML 1.1 complaint, had new default templates and a new admin interface.

On June 9, 2003 WordPress 0.71 was released. This was a pretty major update to the software with loads of bug and security fixes, as well as a 300% speed-up in performance! Also in this release there was the introduction of the post status (Publish, Draft and Private), as well as a much cleaner admin panel. Soon after version, 0.7.1.1 was released to fix a small bug.

It wasn’t until the October 11, 2003 that version 0.72 was released which had a large list of upgrades. These updates included Blogger import, security and bug fixes and lots of improvements on original functions.

On December 19, 2003 the WordPress Wiki was launched which held all the documentation for WordPress. We now know it as the WordPress Codex.

It wasn’t too long until WordPress 1.0 was released on January 3, 2004. This release was a large upgrade from the previous version. Features included the edit link on posts and comments, new admin interface changes and multiple categories. Features that are still available and very useful in today’s version of WordPress


In the next releases of WordPress the versions had codenames, and it was decided that each major release would be named after a famous Jazz musicians.

Version 1.0.1 was released a couple of weeks later, fixing bugs, speed, and other miscellaneous features. This version was codenamed Miles after Miles Davis. 1.0.1 was released on January 25, 2004.

WordPress 1.0.2, released on March 14, 2004 codenamed Blakey after Art Blakey. This version included cosmetic fixes and Movable Type import improvements.

May 22, 2004 was the next big release of WordPress, version 1.2, codenamed Mingus after Charles Mingus. There were massive changes to the software, such as post preview, the new plugin architecture, and a more advanced comment moderation system. Several months later, October 6, 2004, Version 1.2.1 was released that fixed some bugs and minor security issues.
WordPress 1.2.2 was released on December 15, 2004. This release addressed issues such as login problems, a security fix and some email encoding issues.


2005 was a very exciting year for WordPress, as it saw the release of our 1.5 version which was downloaded over 900,000 times, the start of hosted service WordPress.com to expand WP's reach, the founding of Automattic by several core members of the WP team, and finally the release of version 2.0.

The latest stable release of WordPress (Version 2.3.2)
A lot of companies are providing customization of word press with custom themes and add-ons to convert it as per requirements!

Friday, January 18, 2008

History of Zencart - Open Source Shop Script

Even before the release of osCommerce MS2.2.2, in June 2003 the new domain name Zen-Cart.com had been registered. A team was put together comprised of Ian C Wilson, Kim Elliott, Steve Strassburg and Linda McGrath, and the first Zen-Cart.com Web site was posted in November 2003.

Besides streamlining the programming and utilizing CSS (cascading stylesheets) rather than the evil and outdated font tags, the Zen Cart team's philosophy was to make it easy to upgrade the store, and to offer frequent, small updates.

The Zen Cart team released its version 1.3.8 on November 30 of 2007. The group has announced that by February 5, 2008, the minimum supported PHP version will be the current version, PHP 5.2.

Wilson says the group created an umbrella company in March, 2007 which is exploring the possibility of financing the Zen-Cart open source e-commerce system, called Zen Ventures LLC. If the group is successful at obtaining financing, some method of earning revenues would necessarily have to follow, whether by selling the product or offering a hosted solution, training,

OScommerce Store Breaks with Mysql5 - MySQL 5.0 Compatibility

Hello Members!

I was trying to transfer Open Source Oscommerce from mysql 4 to mysql5 and came to know well known issue of Left Joints!

If you face this type of issue while doing Oscommerce Customization with Mysql 5, you can use these steps to make it work with Mysql5, This type of problems can also come in Creloaded and OSCmax which produce error 1064

Here are steps to fix the issue in PHP Files as well as some in mysql database!



Problem:

MySQL 5.0 introduces Server SQL modes as part of its SQL 2003 standards support, and uses a more stricter approach to executing SQL queries. This is performed by default with setting STRICT_TRANS_TABLES as a Server SQL mode.


Due to this new setting, MySQL fails on certain SQL queries and produces error messages on the screen.

Solution:


Lines 213-223 in advanced_search_result.php must be changed from:


$from_str = "from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m using(manufacturers_id) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c";


if ( (DISPLAY_PRICE_WITH_TAX == 'true') && (tep_not_null($pfrom) || tep_not_null($pto)) ) {

if (!tep_session_is_registered('customer_country_id')) {

$customer_country_id = STORE_COUNTRY;

$customer_zone_id = STORE_ZONE;

}

$from_str .= " left join " . TABLE_TAX_RATES . " tr on p.products_tax_class_id = tr.tax_class_id left join " . TABLE_ZONES_TO_GEO_ZONES . " gz on tr.tax_zone_id = gz.geo_zone_id and (gz.zone_country_id is null or gz.zone_country_id = '0' or gz.zone_country_id = '" . (int)$customer_country_id . "') and (gz.zone_id is null or gz.zone_id = '0' or gz.zone_id = '" . (int)$customer_zone_id . "')";

}

$where_str = " where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id ";


to:

$from_str = "from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m using(manufacturers_id) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id";

if ( (DISPLAY_PRICE_WITH_TAX == 'true') && (tep_not_null($pfrom) || tep_not_null($pto)) ) {

if (!tep_session_is_registered('customer_country_id')) {

$customer_country_id = STORE_COUNTRY;

$customer_zone_id = STORE_ZONE;

}

$from_str .= " left join " . TABLE_TAX_RATES . " tr on p.products_tax_class_id = tr.tax_class_id left join " . TABLE_ZONES_TO_GEO_ZONES . " gz on tr.tax_zone_id = gz.geo_zone_id and (gz.zone_country_id is null or gz.zone_country_id = '0' or gz.zone_country_id = '" . (int)$customer_country_id . "') and (gz.zone_id is null or gz.zone_id = '0' or gz.zone_id = '" . (int)$customer_zone_id . "')";

}

$from_str .= ", " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c";

$where_str = " where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id ";

The following lines must be replaced in index.php:

Line 175, from:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";

to:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";

Line 178, from:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";

to:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";

Line 184, from:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

to:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

Line 187, from:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

to:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

Line 292 in admin/categories.php must be changed from:

tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "', now(), '" . tep_db_input($product['products_date_available']) . "', '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "')");

to:

tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "', now(), " . (empty($product['products_date_available']) ? "null" : "'" . tep_db_input($product['products_date_available']) . "'") . ", '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "')");

The following SQL queries need to be performed:

ALTER TABLE whos_online MODIFY COLUMN last_page_url VARCHAR(255) NOT NULL;

ALTER TABLE customers MODIFY COLUMN customers_default_address_id INTEGER;

ALTER TABLE customers_basket MODIFY COLUMN final_price DECIMAL(15,4);