Saturday, February 2, 2008
Microsoft bids $44.6 billion to buy Yahoo
If approved by Yahoo's shareholders and by regulators, Microsoft's unsolicited offer would set up a titanic corporate struggle between Microsoft and Google for the patronage of millions of Internet users around the world.
Microsoft sells the operating systems and Web browser used on the vast majority of the world's computers. It was once feared as a near-monopoly with unbounded power over personal computing. But the proposed deal tacitly acknowledges that the software giant has failed to reinvent itself as computing shifts more online; instead, it is trying to buy its way into a stronger position. The proposed acquisition would give Microsoft access to Yahoo's 137 million monthly visitors and long reach into the lives of consumers in the online realm. There it would confront Google, which through its preeminent search engine now captures the biggest share of online-advertising money. It is also branching out in many directions at once, into office software, mobile phones and, through its purchase of YouTube, entertainment.
Monday, January 21, 2008
PHPld latest version 3.3 - Directory Script
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 also take Custom PHP Projects
Saturday, January 19, 2008
DashCommerce - ASP.NET Open Source e-Commerce
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
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
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
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);