Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

FWR Media

ULTIMATE Seo Urls 5 - by FWR Media

Recommended Posts

still when I go to http://www.xxxx.com/ext/modules/payment/paypal_ipn/ipn.php

 

I get the following error message,

 

Warning: USU5 could not find a valid base filename, please inform the developer. in /home/t/r/xxxx/public_html/includes/application_top.php  on line 65

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/t/r/xxxx/public_html/includes/application_top.php:65) in /home/t/r/xxxx/public_html/includes/functions/sessions.php on line 102

Warning: USU5 could not find a valid base filename, please inform the developer. in /home/t/r/xxxx/public_html/includes/application_top.php on line 65

 

Regards

 

Andrew

Edited by AndyTri

Share this post


Link to post
Share on other sites

Ok this is an addition to the above bugfix.

 

Open application_top.php

 

Find ..

 

  /**
 * USU5 function to return the base filename 
 */
 function usu5_base_filename() {
   // Probably won't get past SCRIPT_NAME unless this is reporting cgi location
   $base = new ArrayIterator( array( 'SCRIPT_NAME', 'PHP_SELF', 'REQUEST_URI', 'ORIG_PATH_INFO', 'HTTP_X_ORIGINAL_URL', 'HTTP_X_REWRITE_URL' ) );
   while ( $base->valid() ) {
     if ( array_key_exists(  $base->current(), $_SERVER ) && !empty(  $_SERVER[$base->current()] ) ) {
       if ( false !== strpos( $_SERVER[$base->current()], '.php' ) ) {
         preg_match( '@[a-z0-9_]+\.php@i', $_SERVER[$base->current()], $matches );
         if ( is_array( $matches ) && ( array_key_exists( 0, $matches ) )
                                   && ( substr( $matches[0], -4, 4 ) == '.php' )
                                   && ( is_readable( $matches[0] ) ) ) {
           return $matches[0];
         } 
       } 
     }
     $base->next();
   }
   // Some odd server set ups return / for SCRIPT_NAME and PHP_SELF when accessed as mysite.com (no index.php) where they usually return /index.php
   if ( ( $_SERVER['SCRIPT_NAME'] == '/' ) || ( $_SERVER['PHP_SELF'] == '/' ) ) {
     return 'index.php';
   } 
   trigger_error( 'USU5 could not find a valid base filename, please inform the developer.', E_USER_WARNING );
 } // End function

 

Change to ..

 

  /**
 * USU5 function to return the base filename 
 */
 function usu5_base_filename() {
   // Probably won't get past SCRIPT_NAME unless this is reporting cgi location
   $base = new ArrayIterator( array( 'SCRIPT_NAME', 'PHP_SELF', 'REQUEST_URI', 'ORIG_PATH_INFO', 'HTTP_X_ORIGINAL_URL', 'HTTP_X_REWRITE_URL' ) );
   while ( $base->valid() ) {
     if ( array_key_exists(  $base->current(), $_SERVER ) && !empty(  $_SERVER[$base->current()] ) ) {
       if ( false !== strpos( $_SERVER[$base->current()], '.php' ) ) {
         preg_match( '@[a-z0-9_]+\.php@i', $_SERVER[$base->current()], $matches );
         if ( is_array( $matches ) && ( array_key_exists( 0, $matches ) )
                                   && ( substr( $matches[0], -4, 4 ) == '.php' )
                                   && ( is_readable( $matches[0] ) || ( false !== strpos( $_SERVER[$base->current()], 'ext/modules/' ) ) ) ) {
           return $matches[0];
         } 
       } 
     }
     $base->next();
   }
   // Some odd server set ups return / for SCRIPT_NAME and PHP_SELF when accessed as mysite.com (no index.php) where they usually return /index.php
   if ( ( $_SERVER['SCRIPT_NAME'] == '/' ) || ( $_SERVER['PHP_SELF'] == '/' ) ) {
     return 'index.php';
   } 
   trigger_error( 'USU5 could not find a valid base filename, please inform the developer.', E_USER_WARNING );
 } // End function

Edited by FWR Media

Share this post


Link to post
Share on other sites

New Version Uploaded: Revision 141

 

Changelog:

 


  •  
  • Modification to usu5_base_filename() where some odd servers return / for PHP_SELF/SCRIPT_NAME when the site is accessed as www.mysite.com/
  • PHP 5.2.4 loaded a different version of PCRE which led to the missing letter v in link text where the server is running a PHP version less than 5.2.4.
  • PayPal IPN bugfix - Some payment systems where the callback is into the extn directory call tep_href_link with a path as opposed to a filename. This caused the callbacks to fail.

Updating:

In downloaded package: extras/usu5_updates/r119_to_r141/

A very quick and simple update, one small change to application_top.php and two USU files overwritten.

Edited by FWR Media

Share this post


Link to post
Share on other sites
Guest

Hey Robert.. I moved host and got everything all setup.. When I load my index.php I get the following...

 

Warning: file_put_contents(/public_html/includes/modules/ultimate_seo_urls5/cache/1_usucache.cache) [function.file-put-contents]: failed to open stream: No such file or directory in /home/XXXXXXX/public_html/includes/modules/ultimate_seo_urls5/classes/Usu_Cache_FileSystem.php on line 35

 

Any Ideas...

Edited by Mark Evans
Removed full path

Share this post


Link to post
Share on other sites

Hey Robert.. I moved host and got everything all setup.. When I load my index.php I get the following...

 

Warning: file_put_contents(/public_html/includes/modules/ultimate_seo_urls5/cache/1_usucache.cache) [function.file-put-contents]: failed to open stream: No such file or directory in /home/XXXXXXXX/public_html/includes/modules/ultimate_seo_urls5/classes/Usu_Cache_FileSystem.php on line 35

 

Any Ideas...

 

Yes

 

The path you are trying to include from is ..

/public_html/includes/modules/ultimate_seo_urls5/cache/1_usucache.cache

 

The real path is ..

/home/XXXXXX/public_html/includes/modules/ultimate_seo_urls5/cache/1_usucache.cache

 

By the way .. not a good idea to post your full server paths on a forum .. perhaps ask a moderator to "doctor" your post

 

this means that you do not have the full path as is required in DIR_FS_CATALOG

 

Which revision of USU5 are you on? as I added some code to handle if DIR_FS_CATALOG was wrong.

Edited by Mark Evans
Removed Full Path

Share this post


Link to post
Share on other sites
Guest

Yes

 

The path you are trying to include from is ..

/public_html/includes/modules/ultimate_seo_urls5/cache/1_usucache.cache

 

The real path is ..

/home/XXXXXX/public_html/includes/modules/ultimate_seo_urls5/cache/1_usucache.cache

 

By the way .. not a good idea to post your full server paths on a forum .. perhaps ask a moderator to "doctor" your post

 

this means that you do not have the full path as is required in DIR_FS_CATALOG

 

Which revision of USU5 are you on? as I added some code to handle if DIR_FS_CATALOG was wrong.

 

 

I got that path figured out.. Not just trying to figure out where the extra // is coming from when going into a category..

 

Using USU 5...

Share this post


Link to post
Share on other sites

I got that path figured out.. Not just trying to figure out where the extra // is coming from when going into a category..

 

Using USU 5...

 

Mr Oggster you are more "needy" than any of my other users :)

 

Post your catalog/includes/configure.php file here (XXX out the important bits)

Share this post


Link to post
Share on other sites
Guest

I got that path figured out.. Not just trying to figure out where the extra // is coming from when going into a category..

 

Using USU 5...

 

OK got that all worked out...

 

Index.php is loading great.. All the images and everything is working..

When I click on a category I get page not found.. What a pain..

Share this post


Link to post
Share on other sites
Guest

Mr Oggster you are more "needy" than any of my other users :)

 

Post your catalog/includes/configure.php file here (XXX out the important bits)

 

LOL... Sorry...

 

Had everything working great.. Then having way to many issues with hosting company.. Had to move..

Also I don't have DNS pointing yet.. Wanting to get the site up and running beforehand..

 

  define('HTTP_SERVER', 'http://gator1118.hostgator.com/~xxxxxxxxx'); // eg, http://localhost - should not be empty for productive servers
 define('HTTPS_SERVER', 'https://www.carstickersdecals.com'); // eg, https://localhost - should not be empty for productive servers
 define('ENABLE_SSL', false); // secure webserver for checkout procedure?
 define('HTTP_COOKIE_DOMAIN', 'http://gator1118.hostgator.com/~xxxxxxxxx');
 define('HTTPS_COOKIE_DOMAIN', '');
 define('HTTP_COOKIE_PATH', '/');
 define('HTTPS_COOKIE_PATH', '');
 define('DIR_WS_HTTP_CATALOG', '/');
 define('DIR_WS_HTTPS_CATALOG', '');
 define('DIR_WS_IMAGES', 'images/');
 define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
 define('DIR_WS_INCLUDES', 'includes/');
 define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
 define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
 define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
 define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
 define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

 define('DIR_WS_DOWNLOAD_PUBLIC', 'pub/');
 define('DIR_FS_CATALOG', '/home/xxxxxxxxx/public_html/');
 define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');
 define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');

Share this post


Link to post
Share on other sites

LOL... Sorry...

 

Had everything working great.. Then having way to many issues with hosting company.. Had to move..

Also I don't have DNS pointing yet.. Wanting to get the site up and running beforehand..

 

  define('HTTP_SERVER', 'http://gator1118.hostgator.com/~xxxxxxxxx'); // eg, http://localhost - should not be empty for productive servers
 define('HTTPS_SERVER', 'https://www.carstickersdecals.com'); // eg, https://localhost - should not be empty for productive servers
 define('ENABLE_SSL', false); // secure webserver for checkout procedure?
 define('HTTP_COOKIE_DOMAIN', 'http://gator1118.hostgator.com/~xxxxxxxxx');
 define('HTTPS_COOKIE_DOMAIN', '');
 define('HTTP_COOKIE_PATH', '/');
 define('HTTPS_COOKIE_PATH', '');
 define('DIR_WS_HTTP_CATALOG', '/');
 define('DIR_WS_HTTPS_CATALOG', '');
 define('DIR_WS_IMAGES', 'images/');
 define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
 define('DIR_WS_INCLUDES', 'includes/');
 define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
 define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
 define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
 define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
 define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

 define('DIR_WS_DOWNLOAD_PUBLIC', 'pub/');
 define('DIR_FS_CATALOG', '/home/xxxxxxxxx/public_html/');
 define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');
 define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');

 

The top part of it imo should be ..

 define('HTTP_SERVER', 'http://www.carstickersdecals.com'); // eg, http://localhost - should not be empty for productive servers
 define('HTTPS_SERVER', 'https://www.carstickersdecals.com'); // eg, https://localhost - should not be empty for productive servers
 define('ENABLE_SSL', true); // secure webserver for checkout procedure?
 define('HTTP_COOKIE_DOMAIN', 'www.carstickersdecals.com');
 define('HTTPS_COOKIE_DOMAIN', 'www.carstickersdecals.com');
 define('HTTP_COOKIE_PATH', '/');
 define('HTTPS_COOKIE_PATH', '/');
 define('DIR_WS_HTTP_CATALOG', '/');
 define('DIR_WS_HTTPS_CATALOG', '/');

Share this post


Link to post
Share on other sites
Guest

The top part of it imo should be ..

 define('HTTP_SERVER', 'http://www.carstickersdecals.com'); // eg, http://localhost - should not be empty for productive servers
 define('HTTPS_SERVER', 'https://www.carstickersdecals.com'); // eg, https://localhost - should not be empty for productive servers
 define('ENABLE_SSL', true); // secure webserver for checkout procedure?
 define('HTTP_COOKIE_DOMAIN', 'www.carstickersdecals.com');
 define('HTTPS_COOKIE_DOMAIN', 'www.carstickersdecals.com');
 define('HTTP_COOKIE_PATH', '/');
 define('HTTPS_COOKIE_PATH', '/');
 define('DIR_WS_HTTP_CATALOG', '/');
 define('DIR_WS_HTTPS_CATALOG', '/');

 

Eventhough the DNS has yet to be pointed to the new host.. ?? The site is up and running currently at the old host..

Edited by Oggster

Share this post


Link to post
Share on other sites

Eventhough the DNS has yet to be pointed to the new host.. ?? The site is up and running currently at the old host..

 

Well I wasn't privvy to that information, perhaps leave the support posts until it resolves correctly?

Edited by FWR Media

Share this post


Link to post
Share on other sites
Guest

Well I wasn't privvy to that information, perhaps leave the support posts until it resolves correctly?

 

Ok.. I was just trying to avoid any down time.. I guess it cannot be avoided.. I did state in post #911 that dns was not pointed yet..

Thanks AGAIN for your help...

I will point the dns and start from there.. Looks like its just a configure.php issue..

Share this post


Link to post
Share on other sites

Ok.. I was just trying to avoid any down time.. I guess it cannot be avoided.. I did state in post #911 that dns was not pointed yet..

Thanks AGAIN for your help...

I will point the dns and start from there.. Looks like its just a configure.php issue..

 

The latest version of USU5 has no known issues.

Share this post


Link to post
Share on other sites

New Version Uploaded: Revision 141

 

Changelog:

 


  •  
  • Modification to usu5_base_filename() where some odd servers return / for PHP_SELF/SCRIPT_NAME when the site is accessed as www.mysite.com/
  • PHP 5.2.4 loaded a different version of PCRE which led to the missing letter v in link text where the server is running a PHP version less than 5.2.4.
  • PayPal IPN bugfix - Some payment systems where the callback is into the extn directory call tep_href_link with a path as opposed to a filename. This caused the callbacks to fail.

Updating:

In downloaded package: extras/usu5_updates/r119_to_r141/

A very quick and simple update, one small change to application_top.php and two USU files overwritten.

 

Hi, I've upgraded to latest version and now i get the following error on all_products.php (latest version):

 

 

Warning: USU5 could not find a valid base filename, please inform the developer. in /.../.../.../.../catalog/includes/application_top.php on line 72

 

Warning: Cannot modify header information - headers already sent by (output started at /.../.../.../.../catalog/includes/application_top.php:72) in /.../.../.../.../catalog/includes/functions/general.php on line 1356

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /.../.../.../.../catalog/includes/application_top.php:72) in /.../.../.../.../catalog/includes/functions/sessions.php on line 102

 

Warning: USU5 could not find a valid base filename, please inform the developer. in /.../.../.../.../catalog/includes/application_top.php on line 72

 

Error!

 

Unable to determine the page link!

 

 

Many thanks for your support.

 

regards Harry

Edited by 2fix4u

Share this post


Link to post
Share on other sites

Hi, I've upgraded to latest version and now i get the following error on all_products.php (latest version):

 

 

Warning: USU5 could not find a valid base filename, please inform the developer. in /.../.../.../.../catalog/includes/application_top.php on line 72

 

Warning: Cannot modify header information - headers already sent by (output started at /.../.../.../.../catalog/includes/application_top.php:72) in /.../.../.../.../catalog/includes/functions/general.php on line 1356

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /.../.../.../.../catalog/includes/application_top.php:72) in /.../.../.../.../catalog/includes/functions/sessions.php on line 102

 

Warning: USU5 could not find a valid base filename, please inform the developer. in /.../.../.../.../catalog/includes/application_top.php on line 72

 

Error!

 

Unable to determine the page link!

 

 

Many thanks for your support.

 

regards Harry

 

Yes it is not an issue of USU5.

 

In osCommerce files are named filename.php or this_is_a_file.php (using underscores).

 

All products uses a hyphen all-products.php

 

This has already been covered here once before. To fix all products view this thread.

Share this post


Link to post
Share on other sites

Yes it is not an issue of USU5.

 

In osCommerce files are named filename.php or this_is_a_file.php (using underscores).

 

All products uses a hyphen all-products.php

 

This has already been covered here once before. To fix all products view this thread.

 

Thank you! :rolleyes:

I noticed something else, in new instructions for v.1 rxxx

the entry usu::performance in footer.php do not exist anymore, was this part removed?

In the update doc was nothing to read about removing this part?!

Share this post


Link to post
Share on other sites

Thank you! :rolleyes:

I noticed something else, in new instructions for v.1 rxxx

the entry usu::performance in footer.php do not exist anymore, was this part removed?

In the update doc was nothing to read about removing this part?!

 

Oops yes usu::performance() should be removed from the footer as it is not needed.

 

It wouldn't do anything bad just show the output twice.

Edited by FWR Media

Share this post


Link to post
Share on other sites

Hello guys,

 

thank you for this great contribution; but I have now two problems:

 

1. When I want to turn off the contribution in the admin panel, he tells me:

Fehler: Umleitungsfehler

Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

 

2. One of my other contributions is wrong now:

http://www.oscommerce.com/community/contributions,6429

Update quantity & change sort_order of categories and products

 

You can change the sort_order and the quantity of the products/folder at once, you allways see the quantity and sort_order of all products on a page at once, but after SEO URL all of my sort orders are wrong.

 

What can I do to solve these problems??

Sry for my bad english ;/

Share this post


Link to post
Share on other sites

Hello guys,

 

thank you for this great contribution; but I have now two problems:

 

1. When I want to turn off the contribution in the admin panel, he tells me:

Fehler: Umleitungsfehler

Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

 

2. One of my other contributions is wrong now:

http://www.oscommerce.com/community/contributions,6429

Update quantity & change sort_order of categories and products

 

You can change the sort_order and the quantity of the products/folder at once, you allways see the quantity and sort_order of all products on a page at once, but after SEO URL all of my sort orders are wrong.

 

What can I do to solve these problems??

Sry for my bad english ;/

 

1) The admin panel problem is not related to USU5. USU5 adds database entries but other than that changes nothing that would cause this issue.

 

2) I haven't a clue about this contribution, but I just downloaded it and it doesn't touch tep_href_link() and doesn't use PHP_SELF so USU5 could have no effect on this.

Share this post


Link to post
Share on other sites

After updating to this, is it possible to redirect permanent the old url's? (same domain)

 

My old site was in catalog folder and the new site is in the root. All products were removed and then reinstalled as a fresh store.

 

When I try a redirect via the htaccess as shown below:

 

Redirect permanent /catalog/old-item-p-46.html http://website.com/new-item-p-217.html

 

It brings me to the correct item so I lose no incoming links... but below is the output url

 

http://website.com/new-item-p-217.html?products_id=46

 

Any thoughts on how to correct this? The new url is appended as shown above. It works, but appended.

 

Thank you for your help.

 

Regards,

 

Rick

Share this post


Link to post
Share on other sites

I should add that I had Chemos' version for the old urls. I am now using this version and need to forward the old urls

Share this post


Link to post
Share on other sites

I should add that I had Chemos' version for the old urls. I am now using this version and need to forward the old urls

 

 

I may have found a solution to this. My intent is not to add clutter to Roberts support form, but rather I thought this may prove useful, as we are all updating to this improved Ultimate Seo-5 solution.

 

I placed this at the end of my the htaccess... after the other rewrites:

 

 

RewriteCond %{THE_REQUEST} ^GET\ /.*\?products_id=.*\ HTTP/

RewriteCond %{QUERY_STRING} !^$

RewriteRule .* http://mywebsite.com%{REQUEST_URI}? [R=301,L]

 

 

 

This seems to remove the appended ?products_id= etc etc... on the old url redirects.

I ran a few tests... new accounts, orders etc. All seemed to work and it of course removed the query from the redirect.

Perhaps someone with more insight into htaccess rules can look it over to be certain it will not cause any other issues.

Edited by Debs

Share this post


Link to post
Share on other sites

Hi Robert,

 

Thank you for all your work!

 

Yesterday I installed ULTIMATE_Seo_Urls_5_r141_stable without any problems!

The product seemed to be working just fine until I noticed that the "buy now" button didn't work anymore.

 

I think there is a bug in the next modification:

 

catalog/includes/modules/product_listing.php

 

Find ...

$lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> ';

 

Replace with ...

$lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action', 'products_id')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> ';

 

I think the line should be:

$lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action', 'products_id')) . 'action=buy_now&products_id=' . $listing[$x]['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> ';

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×