Latest News: (loading..)

teochris

Members
  • Content count

    25
  • Joined

  • Last visited

1 Follower

About teochris

  • Birthday 12/19/1970

Profile Information

  1. For all you Greeks out there - I recommend you to use 2.2 version instead of 3 because it is much easier for you to find solutions to any Greek language difficulties you might face! I had a lot of difficulties while trying to use a Greek/multilanguage version 3 of oscommerce in my website www.ellinas.org
  2. Hi! With this contribution only you can not remove the "p-44", "c-22" etc. at the end of the URLs, you need another one contribution and some more actions to do (search previous pages and you will find the directions that you need)! However please be very carefull with it, since from my experience I managed to remove the "p-44", "c-22" etc. at the end of the URLs in my website www.ellinas.org BUT then I had page not found errors when my visitors used another language than english! In my web site I offer 6 different languages and this was really a big mess!!!
  3. I have just finished installing it in my site www.ellinas.org i had some problems about how to apply this effect to all parts of my multi site (i have a portal section an online free games section a live web camera from athens greece a forum a web hosting and web design section and finally the most important is the e-shop section with Greek but not only products DVDs model kits rare collective items - as you can see yourself i had a lot of things to change) but I believe i have managed everything ok if you can check it for me and tell me if you find a bug in this template, i would be very thankful. Also for everybody's convenience here is the trick code how to apply this style to anywhere that you want!!! add above to whatever you want <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><img src="images/infobox/upper_left.gif" border="0" alt="" width="14" height="33" /></td> <td class="mws_boxTop" align="center" valign="middle" width="100%">....</td> <td><img src="images/infobox/upper_right.gif" border="0" alt="" width="14" height="33" /></td> </tr> <tr> <td class="mws_boxLeft"></td> <td> here goes what you want to include in this border effect </td> <td class="mws_boxRight"></td> </tr> <tr> <td><img src="images/infobox/lower_left.gif" border="0" alt="" width="14" height="12" /></td> <td class="mws_boxBottom"></td> <td><img src="images/infobox/lower_right.gif" border="0" alt="" width="14" height="12" /></td> </tr> </table> here it ends this effect! I hope i was helpful for all of you - oscommerce community is really helpful to me!!! Live example of this contribution can be seen at www.ellinas.org
  4. Seems chinese to me! But probably you have done something wrong while installing repeat carefully all steps
  5. With this contrib you can choose yourself the landing page for your visitors depending their browser language and it may differ from the default index.php page that OsCommerce uses, it's your choice and your imagination where to land them on! But the main advantage is that you can configure your preferred parameters, enable or disable it, very very easy!
  6. Support forum for the contribution that can be found in page: http://addons.oscommerce.com/info/6879 Automatic detect visitor's Browser language and redirect him to the proper language of your store! Tested to work without any problem in most major web browsers (Mozilla Firefox, Internet Explorer, Safari, Avant browser, Google Chrome...)! You can see a live example in my website: www.ellinas.org By using this contribution you overcome the "problem" that all your store visitors initially land to the OsCommerce default language, and they must afterwards choose their preferred language! They will still be able to choose themselves their preferred language the only difference this contribution does is that they would land initially on their browser language page that you have set, instead of the OsCommerce default index.php page! In many major professional websites like www.live.com or www.msn.com they have ip geographical detection and automatic language redirection according to their visitor's location, this contribution offers a kind of similar language redirection but according to your visitor's browser language! This contribution is very useful to all of those store owners that have installed and offering more than 1 language to their visitors! Some people claim that search engine robots do not like redirections, well I have covered this case by placing normal links in the body of the index.html, the robots can see these links. In order for this automatic redirection to work the visitor has to have javascript enabled, but I have also included a automatic redirection after 3 seconds to the default OsCommerce language just in case! There is really no need for you to backup your site before installing this contribution because it does not alter anything in your store! Either you want it and so you have to add the index.html file in your store root directory or you do not want it and you have to delete the index html file! There are no modifications done to any of your store files or code! However I suggest you to backup your store as I always do before adding any contributions! I have included in the zip file an index.html file. You have to place this index.html file to your store root directory next to the index.php of the oscommerce package! The trick that makes this language detection and proper redirection is that most web servers and web browsers are tuned to first visit index.html files and afterwards the index.php file! I have tested this contribution to all OsCommerce versions and everything works properly! BE CAREFUL before you put index.html in your store root directory you have first to change all instances found inside the index.html file of my website http://www.ellinas.org replacing it with your website URL. You can edit the index.html file even with a simple notepad! So let me tell you what are the CHANGES THAT YOU HAVE TO DO in order to prepare the index.html file for your store: (1) Replace all instances of http://www.ellinas.org to your website address (2) At line 7 you will find content="5; this number 5 is the seconds that you want to redirect your visitors to the default OsCommerce index.php page if they have javascript disabled in their browser (feel free to change 5 to whatever you wish or you can even change the index.php to the webpage that you want your web store visitors to initially land) (3) At line 12 you will find setTimeout( "end();", 1000); this number 1000 means 1 second (2000 would mean 2 seconds etc) the time that you want the automatic detection of the browser language and automatic redirection to the proper language to take place, feel free to change 1000 to whatever you prefer, you can try numbers less than 1000 and see if the automatic redirection works properly! If this number is very small then your visitors will not even understand the language detection and the automatic redirection that takes place! (4) At line 17 you will find var langcodes=new Array( "en", "fr", "es", "de", "it", "el", "default") and at the line 24 you will find accordingly the links for each language of your site: var langredirects=new Array( "http://www.ellinas.org/index.php?language=en",'>http://www.ellinas.org/index.php?language=en", "http://www.ellinas.org/index.php?language=fr", "http://www.ellinas.org/index.php?language=es", "http://www.ellinas.org/index.php?language=de", "http://www.ellinas.org/index.php?language=it", "http://www.ellinas.org/index.php?language=gr", "http://www.ellinas.org/index.php?language=en") in my index.html and in my website i offer six languages to my visitors English, French, Espanol, Deutch, Italian and Greek you have to properly change this arrays according to the languages your site offers, so feel free to change, alter, or delete whichever records from the above arrays you want! You can even use in the langredirects array the same url for many languages! The last line of each array refers to the page that your visitor will land if his browser language is not included in the langcodes array languages! (5) Finally from line 57 and below within the <body> tag you can alter it yourself and form it as you prefer! I suggest you to leave the links to all your store languages in order to keep this contribution search engine robots friendly! If you change the appearance of the language detection page do not erase the following code: <script> start() </script> Thats all, "magic language detection" starts happening in your site :)
  7. Hi! I have noticed that after installing Ultimate SEO and especially after adding the following as .htaccess not even the googlebot robot is able to index my site! My website www.ellinas.org is a new site of mine selling Greek athens 2004 olympic DVDs Uefa Euro 2004 and i intend to add many more Greek products and model kits but this site will not be useful to me if google can not index it! Has anyone noticed similar problem with robots after installing Ultimate SEO? Maybe i can change my .htaccess and the problem will be solved! Should i remove code for bad bots? Any ideas? Here is my .htaccess # $Id: .htaccess 1739 2007-12-20 00:52:16Z hpdl $ # # This is used with Apache WebServers # # For this to work, you must include the parameter 'Options' to # the AllowOverride configuration # # Example: # # <Directory "/usr/local/apache/htdocs"> # AllowOverride Options # </Directory> # # 'All' with also work. (This configuration is in the # apache/conf/httpd.conf file) # The following makes adjustments to the SSL protocol for Internet # Explorer browsers #<IfModule mod_setenvif.c> # <IfDefine SSL> # SetEnvIf User-Agent ".*MSIE.*" \ # nokeepalive ssl-unclean-shutdown \ # downgrade-1.0 force-response-1.0 # </IfDefine> #</IfModule> # If Search Engine Friendly URLs do not work, try enabling the # following Apache configuration parameter # AcceptPathInfo On # Fix certain PHP values # (commented out by default to prevent errors occuring on certain # servers) # php_value session.use_trans_sid 0 # php_value register_globals 1 # Ultimate SEO URLs BEGIN Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} ^options\=(.*)$ RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2%1 RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-pi-(.*).html$ popup_image.php?pID=$2&%{QUERY_STRING} RewriteRule ^(.*)-t-(.*).html$ articles.php?tPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-au-(.*).html$ articles.php?authors_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-a-(.*).html$ article_info.php?articles_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-pr-(.*).html$ product_reviews.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-pri-(.*).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-i-(.*).html$ information.php?info_id=$2&%{QUERY_STRING} # BOF: "Extra pages-info box w/ admin" support added by faaliyet RewriteRule ^(.*)-pm-([0-9]+).html$ info_pages.php?pages_id=$2&%{QUERY_STRING} # EOF: "Extra pages-info box w/ admin" support added by faaliyet RewriteRule ^(.*)-links-(.*).html$ links.php?lPath=$2&%{QUERY_STRING} # Added polls and newsdesk RewriteRule ^(.*)-po-([0-9]+).html$ pollbooth.php?pollid=$2&%{QUERY_STRING} RewriteRule ^(.*)-n-(.*).html$ newsdesk_info.php?newsdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-nc-(.*).html$ newsdesk_index.php?newsPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-nri-(.*).html$ newsdesk_reviews_info.php?newsdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-nra-(.*).html$ newsdesk_reviews_article.php?newsdesk_id=$2&%{QUERY_STRING} # BOF: Faqdesk support added by faaliyet RewriteRule ^(.*)-f-(.*).html$ faqdesk_info.php?faqdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-fc-(.*).html$ faqdesk_index.php?faqPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-fri-(.*).html$ faqdesk_reviews_info.php?faqdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-fra-(.*).html$ faqdesk_reviews_article.php?faqdesk_id=$2&%{QUERY_STRING} # EOF: Faqdesk support added by faaliyet # Ultimate SEO URLs END # Block Bad Bots RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR] RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR] RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR] RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR] RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR] RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR] RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR] RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR] RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR] RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR] RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR] RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR] RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR] RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR] RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR] RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR] RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR] RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR] RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR] RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR] RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR] RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR] RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR] RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Zeus RewriteRule .* - [F] Does anyone has an idea if i can remove the category or product ids by changing something in the .htaccess rewrite rules?
  8. Second test perfomed worse than the first one! Still language can not change and now i get uri in greek letters so i can not see any products - i get empty product descriptions! For time being i will stick to original SEO uri format. Maybe it would be easier to change something in seo.class.php from the following: $this->reg_anchors = array('products_id' => '-p-', 'cPath' => '-c-', 'manufacturers_id' => '-m-', 'pID' => '-pi-', 'tPath' => '-t-', 'articles_id' => '-a-', 'authors_id' => '-au-', 'products_id_review' => '-pr-', 'products_id_review_info' => '-pri-', 'info_id' => '-i-', 'faqdesk_id' => '-f-', 'faqPath' => '-fc-', 'faqdesk_reviews_id' => '-fri-', 'faqdesk_article_id' => '-fra-', 'pages_id' => '-pm-', //'pollid' => '-po-', 'newsdesk_id' => '-n-', 'newsPath' => '-nc-', 'newsdesk_reviews_id' => '-nri-', 'newsdesk_article_id' => '-nra-', 'lPath' => '-links-' ); or maybe add something like products_id=''
  9. Hi Stanislav! Thanks for your instructions! Everything works fine while visitor wants the Greek language! If someone tries to change language nothing happens, he still sees Greek language! Do you have a clue what is wrong? Here is my html_output.php <?php /* $Id: html_output.php 1739 2007-12-20 00:52:16Z hpdl $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2007 osCommerce Released under the GNU General Public License */ //// // The HTML href link wrapper function // Ultimate SEO URLs v2.1 // The HTML href link wrapper function function tep_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) { global $request_type, $session_started, $SID; if (!tep_not_null($page)) { die('</td></tr></table></td></tr></table> <font color="#ff0000"><b>Error!</b></font> <b>Unable to determine the page link! '); } if ($connection == 'NONSSL') { $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG; } elseif ($connection == 'SSL') { if (ENABLE_SSL == true) { $link = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG; } else { $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG; } } else { die('</td></tr></table></td></tr></table> <font color="#ff0000"><b>Error!</b></font> <b>Unable to determine connection method on a link! Known methods: NONSSL SSL</b> '); } if (tep_not_null($parameters)) { $link .= $page . '?' . tep_output_string($parameters); $separator = '&'; } else { $link .= $page; $separator = '?'; } while ( (substr($link, -1) == '&') || (substr($link, -1) == '?') ) $link = substr($link, 0, -1); // Add the session ID when moving from different HTTP and HTTPS servers, or when SID is defined if ( ($add_session_id == true) && ($session_started == true) && (SESSION_FORCE_COOKIE_USE == 'False') ) { if (tep_not_null($SID)) { $_sid = $SID; } elseif ( ( ($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == true) ) || ( ($request_type == 'SSL') && ($connection == 'NONSSL') ) ) { if (HTTP_COOKIE_DOMAIN != HTTPS_COOKIE_DOMAIN) { $_sid = tep_session_name() . '=' . tep_session_id(); } } } if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true) ) { while (strstr($link, '&&')) $link = str_replace('&&', '&', $link); $link = str_replace('?', '/', $link); $link = str_replace('&', '/', $link); $link = str_replace('=', '/', $link); $separator = '?'; } if (isset($_sid)) { $link .= $separator . tep_output_string($_sid); } if (SEO_ENABLED == 'true'){ $link = transform_uri($link); } return $link; } //// // The HTML image wrapper function function tep_image($src, $alt = '', $width = '', $height = '', $parameters = '') { if ( (empty($src) || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED == 'false') ) { return false; } // alt is added to the img tag even if it is null to prevent browsers from outputting // the image filename as default $image = '<img src="' . tep_output_string($src) . '" border="0" alt="' . tep_output_string($alt) . '"'; if (tep_not_null($alt)) { $image .= ' title=" ' . tep_output_string($alt) . ' "'; } if ( (CONFIG_CALCULATE_IMAGE_SIZE == 'true') && (empty($width) || empty($height)) ) { if ($image_size = @getimagesize($src)) { if (empty($width) && tep_not_null($height)) { $ratio = $height / $image_size[1]; $width = intval($image_size[0] * $ratio); } elseif (tep_not_null($width) && empty($height)) { $ratio = $width / $image_size[0]; $height = intval($image_size[1] * $ratio); } elseif (empty($width) && empty($height)) { $width = $image_size[0]; $height = $image_size[1]; } } elseif (IMAGE_REQUIRED == 'false') { return false; } } if (tep_not_null($width) && tep_not_null($height)) { $image .= ' width="' . tep_output_string($width) . '" height="' . tep_output_string($height) . '"'; } if (tep_not_null($parameters)) $image .= ' ' . $parameters; $image .= '>'; return $image; } //// // The HTML form submit button wrapper function // Outputs a button in the selected language function tep_image_submit($image, $alt = '', $parameters = '') { global $language; $image_submit = '<input type="image" src="' . tep_output_string(DIR_WS_LANGUAGES . $language . '/images/buttons/' . $image) . '" border="0" alt="' . tep_output_string($alt) . '"'; if (tep_not_null($alt)) $image_submit .= ' title=" ' . tep_output_string($alt) . ' "'; if (tep_not_null($parameters)) $image_submit .= ' ' . $parameters; $image_submit .= '>'; return $image_submit; } //// // Output a function button in the selected language function tep_image_button($image, $alt = '', $parameters = '') { global $language; return tep_image(DIR_WS_LANGUAGES . $language . '/images/buttons/' . $image, $alt, '', '', $parameters); } //// // Output a separator either through whitespace, or with an image function tep_draw_separator($image = 'pixel_black.gif', $width = '100%', $height = '1') { return tep_image(DIR_WS_IMAGES . $image, '', $width, $height); } //// // Output a form function tep_draw_form($name, $action, $method = 'post', $parameters = '') { $form = '<form name="' . tep_output_string($name) . '" action="' . tep_output_string($action) . '" method="' . tep_output_string($method) . '"'; if (tep_not_null($parameters)) $form .= ' ' . $parameters; $form .= '>'; return $form; } //// // Output a form input field function tep_draw_input_field($name, $value = '', $parameters = '', $type = 'text', $reinsert_value = true) { global $HTTP_GET_VARS, $HTTP_POST_VARS; $field = '<input type="' . tep_output_string($type) . '" name="' . tep_output_string($name) . '"'; if ( ($reinsert_value == true) && ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) ) ) { if (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) { $value = stripslashes($HTTP_GET_VARS[$name]); } elseif (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) { $value = stripslashes($HTTP_POST_VARS[$name]); } } if (tep_not_null($value)) { $field .= ' value="' . tep_output_string($value) . '"'; } if (tep_not_null($parameters)) $field .= ' ' . $parameters; $field .= '>'; return $field; } //// // Output a form password field function tep_draw_password_field($name, $value = '', $parameters = 'maxlength="40"') { return tep_draw_input_field($name, $value, $parameters, 'password', false); } //// // Output a selection field - alias function for tep_draw_checkbox_field() and tep_draw_radio_field() function tep_draw_selection_field($name, $type, $value = '', $checked = false, $parameters = '') { global $HTTP_GET_VARS, $HTTP_POST_VARS; $selection = '<input type="' . tep_output_string($type) . '" name="' . tep_output_string($name) . '"'; if (tep_not_null($value)) $selection .= ' value="' . tep_output_string($value) . '"'; if ( ($checked == true) || (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name]) && (($HTTP_GET_VARS[$name] == 'on') || (stripslashes($HTTP_GET_VARS[$name]) == $value))) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name]) && (($HTTP_POST_VARS[$name] == 'on') || (stripslashes($HTTP_POST_VARS[$name]) == $value))) ) { $selection .= ' CHECKED'; } if (tep_not_null($parameters)) $selection .= ' ' . $parameters; $selection .= '>'; return $selection; } //// // Output a form checkbox field function tep_draw_checkbox_field($name, $value = '', $checked = false, $parameters = '') { return tep_draw_selection_field($name, 'checkbox', $value, $checked, $parameters); } //// // Output a form radio field function tep_draw_radio_field($name, $value = '', $checked = false, $parameters = '') { return tep_draw_selection_field($name, 'radio', $value, $checked, $parameters); } //// // Output a form textarea field function tep_draw_textarea_field($name, $wrap, $width, $height, $text = '', $parameters = '', $reinsert_value = true) { global $HTTP_GET_VARS, $HTTP_POST_VARS; $field = '<textarea name="' . tep_output_string($name) . '" wrap="' . tep_output_string($wrap) . '" cols="' . tep_output_string($width) . '" rows="' . tep_output_string($height) . '"'; if (tep_not_null($parameters)) $field .= ' ' . $parameters; $field .= '>'; if ( ($reinsert_value == true) && ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) ) ) { if (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) { $field .= tep_output_string_protected(stripslashes($HTTP_GET_VARS[$name])); } elseif (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) { $field .= tep_output_string_protected(stripslashes($HTTP_POST_VARS[$name])); } } elseif (tep_not_null($text)) { $field .= tep_output_string_protected($text); } $field .= '</textarea>'; return $field; } //// // Output a form hidden field function tep_draw_hidden_field($name, $value = '', $parameters = '') { global $HTTP_GET_VARS, $HTTP_POST_VARS; $field = '<input type="hidden" name="' . tep_output_string($name) . '"'; if (tep_not_null($value)) { $field .= ' value="' . tep_output_string($value) . '"'; } elseif ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) ) { if ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) ) { $field .= ' value="' . tep_output_string(stripslashes($HTTP_GET_VARS[$name])) . '"'; } elseif ( (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) ) { $field .= ' value="' . tep_output_string(stripslashes($HTTP_POST_VARS[$name])) . '"'; } } if (tep_not_null($parameters)) $field .= ' ' . $parameters; $field .= '>'; return $field; } //// // Hide form elements function tep_hide_session_id() { global $session_started, $SID; if (($session_started == true) && tep_not_null($SID)) { return tep_draw_hidden_field(tep_session_name(), tep_session_id()); } } //// // Output a form pull down menu function tep_draw_pull_down_menu($name, $values, $default = '', $parameters = '', $required = false) { global $HTTP_GET_VARS, $HTTP_POST_VARS; $field = '<select name="' . tep_output_string($name) . '"'; if (tep_not_null($parameters)) $field .= ' ' . $parameters; $field .= '>'; if (empty($default) && ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) ) ) { if (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) { $default = stripslashes($HTTP_GET_VARS[$name]); } elseif (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) { $default = stripslashes($HTTP_POST_VARS[$name]); } } for ($i=0, $n=sizeof($values); $i<$n; $i++) { $field .= '<option value="' . tep_output_string($values[$i]['id']) . '"'; if ($default == $values[$i]['id']) { $field .= ' SELECTED'; } $field .= '>' . tep_output_string($values[$i]['text'], array('"' => '"', '\'' => ''', '<' => '<', '>' => '>')) . '</option>'; } $field .= '</select>'; if ($required == true) $field .= TEXT_FIELD_REQUIRED; return $field; } //// // Creates a pull-down list of countries function tep_get_country_list($name, $selected = '', $parameters = '') { $countries_array = array(array('id' => '', 'text' => PULL_DOWN_DEFAULT)); $countries = tep_get_countries(); for ($i=0, $n=sizeof($countries); $i<$n; $i++) { $countries_array[] = array('id' => $countries[$i]['countries_id'], 'text' => $countries[$i]['countries_name']); } return tep_draw_pull_down_menu($name, $countries_array, $selected, $parameters); } //// // Creates a pull-down list for dates function tep_draw_pull_down_date($name='date', $day='', $month='', $year='', $full=false, $mnth=false, $starty=''){ if ($day=='') {$day=date('d');} if ($month=='') {$month=date('m');} if ($year=='') {$year=date('Y');} $endy=date('Y')-8; if ($starty=='') {$starty=date('Y')-1;$endy=date('Y')+2;} $named = $name . 'd'; $namem = $name . 'm'; // Array for days $days=array(); for($i=1; $i<=31; $i++){ if(strlen($i)!= 2){ $j = '0' . $i; } else { $j = $i; } $days[] = array('id' => $j, 'text' => $j); } if ($mnth) { $months = array(array('id' => '01', 'text' => TEXT_DATE_JAN), array('id' => '02', 'text' => TEXT_DATE_FEB), array('id' => '03', 'text' => TEXT_DATE_MAR), array('id' => '04', 'text' => TEXT_DATE_APR), array('id' => '05', 'text' => TEXT_DATE_MAY), array('id' => '06', 'text' => TEXT_DATE_JUN), array('id' => '07', 'text' => TEXT_DATE_JUL), array('id' => '08', 'text' => TEXT_DATE_AUG), array('id' => '09', 'text' => TEXT_DATE_SEP), array('id' => '10', 'text' => TEXT_DATE_OCT), array('id' => '11', 'text' => TEXT_DATE_NOV), array('id' => '12', 'text' => TEXT_DATE_DEC)); } else { for($i=1; $i<=12; $i++){ if(strlen($i)!= 2){ $j = '0' . $i; } else { $j = $i; } $months[] = array('id' => $j, 'text' => $j); }} for($i=$starty; $i<=$endy; $i++){ $j = $i; if ($full) { $y = $i - 2000; if(strlen($y)!= 2){ $j = '0' . $y; } else { $j = $y; } } $years[] = array('id' => $i, 'text' => $j); } $field=''; if(STORE_COUNTRY == 223 || STORE_COUNTRY == 224) { $field .= tep_draw_pull_down_menu($named, $months, $month); $field .= tep_draw_pull_down_menu($namem, $days, $day); } else { $field .= tep_draw_pull_down_menu($named, $days, $day); $field .= tep_draw_pull_down_menu($namem, $months, $month); } $field .= tep_draw_pull_down_menu($name, $years, $year); return $field; } ?> Also i would prefer not to have the words product, category etc in the url address i think this is easy done by altering .htaccess Thanks again
  10. efxaristo poly patrida ;)
  11. Hi! I have a question to anyone that knows! can i strip out the category_id or the product_id and leave only the category_name or the product_name as the url? I mean i want to convert: http://www.my_store_name.com/product_name-p-1.html to http://www.my_store_name.com/product_name.html do i have to change a rewrite rule to .htaccess or do i have to change anything in seo.class.php? Since i a have unique product names and category names i do not see any use for this info to exist in my product name! I see answers to similar question like mine to use another seo contribution, but this is not what i am looking for! I can not change the ultimate seo since i have tons of contribs in my shop after this one and i am afraid of the unistall results! Can someone point me what i have to change in order to strip out category and product id, i will first backup and check if everything works properly before i make any permanent changes! Can someone help me (us) please?
  12. The newest version includes the small sql fixes!
  13. If you want to center categories images in float style: find in stylesheet.css float: left; /* Don't change this */ change to float: none; hope this helps
  14. hi! I just installed it BUT i can not see the description of each category in the main index page! Checked and double checked everything BUT i can not see it! I see you wrote that something is missing for the current upped package! Is the only thing that is missing what you write above? Also i can not see float as an option in the style in admin section! I recovered everything from my backups and i will wait for your complete contrib! Thanks for the excelent work! Can i also see the same way the subcategories like the main categories? Thanks for your time
  15. How many currencies you have installed? If you prefer only Euros to be shown then REMOVE all other currencies from admin!