Jump to content

mauriziomagnino

Members
  • Content count

    11
  • Joined

  • Last visited

About mauriziomagnino

  • Birthday 03/17/1977

Profile Information

  1. hello... do you have the installation instructions for Credit Class & Gift Voucher. Please can you update on http://addons.oscommerce.com/info/282

  2. mauriziomagnino

    RSS Feed contribution support thread

    resolved <?php /* osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2000 - 2011 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); $navigation->remove_current_page(); // If the language is not specified $lang_query = tep_db_query("select languages_id, code from " . TABLE_LANGUAGES . " where languages_id = '" . (int)$languages_id . "'"); // Recover the code (fr, en, etc) and the id (1, 2, etc) of the current language if (tep_db_num_rows($lang_query)) { $lang_a = tep_db_fetch_array($lang_query); $lang_code = $lang_a['code']; } define('RSS_STRIP_HTML_TAGS', false); // If the default of your catalog is not what you want in your RSS feed, then // please change this three constants: // Enter an appropriate title for your website define('RSS_TITLE', STORE_NAME); // Enter your main shopping cart link define('WEBLINK', HTTP_SERVER); // Enter a description of your shopping cart define('DESCRIPTION', TITLE); ///////////////////////////////////////////////////////////// //That's it. No More Editing (Unless you renamed DB tables or need to switch //to SEO links (Apache Rewrite URL) ///////////////////////////////////////////////////////////// $store_name = STORE_NAME; $rss_title = RSS_TITLE; $weblink = WEBLINK; $description = DESCRIPTION; $email_address = STORE_OWNER_EMAIL_ADDRESS; $subtitle = ''; function replace_problem_characters($text) { $formattags = array("&"); $replacevals = array("&"); $text = str_replace($formattags, $replacevals, $text); $in[] = '@&(amp|#038);@i'; $out[] = '&'; $in[] = '@&(#036);@i'; $out[] = '$'; $in[] = '@&(quot);@i'; $out[] = '"'; $in[] = '@&(#039);@i'; $out[] = '\''; $in[] = '@&(nbsp|#160);@i'; $out[] = ' '; $in[] = '@&(hellip|#8230);@i'; $out[] = '...'; $in[] = '@&(copy|#169);@i'; $out[] = '(c)'; $in[] = '@&(trade|#129);@i'; $out[] = '(tm)'; $in[] = '@&(lt|#60);@i'; $out[] = '<'; $in[] = '@&(gt|#62);@i'; $out[] = '>'; $in[] = '@&(laquo);@i'; $out[] = '«'; $in[] = '@&(raquo);@i'; $out[] = '»'; $in[] = '@&(deg);@i'; $out[] = '°'; $in[] = '@&(mdash);@i'; $out[] = '—'; $in[] = '@&(reg);@i'; $out[] = '®'; $in[] = '@&(–);@i'; $out[] = '-'; $text = preg_replace($in, $out, $text); return $text; } function strip_html_tags($str) { // $document should contain an HTML document. // This will remove HTML tags, javascript sections // and white space. It will also convert some // common HTML entities to their text equivalent. $search = array ("'<script[^>]*?>.*?</script>'si", // Strip out javascript "'<[/!]*?[^<>]*?>'si", // Strip out HTML tags //"'([rn])[s]+'", // Strip out white space "'&(quot|#34);'i", // Replace HTML entities "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'(d+);'e"); // evaluate as php $replace = array ("", "", //"\1", "\"", "&", "<", ">", " ", chr(160), chr(161), chr(162), chr(163), chr(169), "chr(\1)"); return preg_replace($search, $replace, $str); } if(!function_exists('eval_rss_urls')) { function eval_rss_urls($string) { // rewrite all local urls to absolute urls return preg_replace_callback("/(href|src|action)=[\"']{0,1}(\.{0,2}[\\|\/]{1})(.*?)[\"']{0,1}( .*?){0,1}>/is","rewrite_rss_local_urls",$string); //"/(href|src|action)=[\"']{0,1}(\.{2}[\\|\/]{1})(.*?)[\"']{0,1}( .*?){0,1}>/is" } } function rewrite_rss_local_urls($string) { $repl_text = $string[0]; $repl_by = HTTP_SERVER.'\\'; $repl_len = 0; $index_pos = strpos ( $repl_text , '..'); if ($index_pos > -1) { $repl_len = 2; } else { $index_pos = strpos ( $repl_text , '\"\\'); if ($index_pos > -1) { $repl_len = 0; $index_pos+=1; } } if ($index_pos > -1) { substr_replace($repl_text, $repl_by, $index_pos,2 ); } ob_start(); echo $repl_text; $return = ob_get_contents(); ob_end_clean(); return $return; } // to strip html or not to strip html tags if (isset($_GET['html'])) { if ($_GET['html']=='false') { $strip_html_tags = true; } else { $strip_html_tags = false; } } else { $strip_html_tags = RSS_STRIP_HTML_TAGS; } // show the products of a specified manufacturer if (isset($_GET['manufacturers_id'])) { if (isset($_GET['filter_id']) && tep_not_null($_GET['filter_id'])) { // We are asked to show only a specific category $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$_GET['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)$_GET['filter_id'] . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; } else { // We show them all $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='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)$_GET['manufacturers_id'] . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; } $subtitle = tep_db_query("select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'"); $subtitle = tep_db_fetch_array($subtitle); $subtitle = $subtitle['manufacturers_name']; $rss_title = BOX_INFORMATION_RSS_MANUFACTURER; } else if (tep_not_null($current_category_id)) { // show the products in a given categorie if (isset($_GET['filter_id']) && tep_not_null($_GET['filter_id'])) { // We are asked to show only specific catgeory $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$_GET['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 . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; } else { // We show them all $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='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 . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; } $subtitle= tep_db_query("select cd.categories_name, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'"); $subtitle = tep_db_fetch_array($subtitle); $subtitle = $subtitle['categories_name']; $rss_title = BOX_INFORMATION_RSS_CATEGORY; } else { // show realy al products $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; $rss_title = BOX_INFORMATION_RSS; } // echo $listing_sql; // Execute SQL query and get result $query = tep_db_query($listing_sql); /* * If there are returned rows... * Basic sanity check */ if ( tep_db_num_rows($query) > 0 ){ if ($subtitle != '') $rss_title .= ' - '.$subtitle; // Encoding to UTF-8 $store_name = utf8_encode (replace_problem_characters($store_name)); $rss_title = utf8_encode (replace_problem_characters($rss_title)); $weblink = utf8_encode ($weblink); $description = utf8_encode (replace_problem_characters($description)); $email_address = utf8_encode ($email_address); // SQL header(Last-Modified) $last_modified = ''; $sql = "SELECT MAX(products_date_added) as mPla, MAX(products_last_modified) as mPlm FROM " . TABLE_PRODUCTS. " WHERE products_to_rss = '1' ORDER BY products_id DESC LIMIT 1"; $sql_result = tep_db_query($sql); $row = tep_db_fetch_array($sql_result); if ($row['mPlm'] != '') { $last_modified = $row['mPlm']; } else { $last_modified = $row['mpla']; } if(!function_exists('getallheaders')){ function getallheaders(){ settype($headers,'array'); foreach($_SERVER as $h => $v){ if(preg_match('/HTTP_(.+)/',$h,$hp)){ $headers[$hp[1]] = $v; } } return $headers; } } $headers = getallheaders(); $refresh = 1; // refresca por defecto $etag = md5($last_modified); if(isset($headers["If-Modified-Since"])) { // Verificamos fecha enviada por el lector RSS $since = strtotime($headers["If-Modified-Since"]); if($since >= strtotime($last_modified)) { $refresh = 0; } } if(isset($headers["If-None-Match"])) { // Verificamos el ETag if(strcmp($headers["If-None-Match"], $etag) == 0) { $refresh = 0; } else { $refresh = 1; } } if($refresh == 0) { header("HTTP/1.1 304 Not changed"); // La primera línea de los headers debe ser el status // sino el Netcrap se lía y da "No Data" ob_end_clean(); // Descartamos los contenidos del búfer de salida en cola y lo deshabilitamos } // Begin sending of the data @header('Content-Type: application/rss+xml; charset=UTF-8'); //header("Last-Modified: " . tep_date_raw($last_modified)); @header('Last-Modified: ' .gmdate("D, d M Y G:i:s", strtotime($last_modified)). ' GMT'); //header('Last-Modified: ' .gmdate("D, d M Y G:i:s T",strtotime($last_modified)) . ' GMT'); @header("ETag: " . md5($etag)); echo '<!-- RSS for ' . $store_name . ', generated on ' . gmdate("D, d M Y G:i:s", strtotime($last_modified)) . ' GMT'. ' -->' . "\n"; $out = ob_get_contents(); $out = str_replace(array("\n", "\r", "\t", " "), "", $input); ob_end_clean(); echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; ?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:ecommerce="http://shopping.discovery.com/erss/" xmlns:media="http://search.yahoo.com/mrss/"> <channel> <title><?php echo utf8_encode($rss_title); ?></title> <link><?php echo $weblink;?></link> <description><?php echo utf8_encode($description); ?></description> <!--<atom:link href="<?php echo tep_href_link(FILENAME_RSS, $_SERVER['QUERY_STRING'] = str_replace('&','&',$_SERVER['QUERY_STRING']), 'NONSSL', false ); ?>" rel="self" type="application/rss+xml" /> Remove comments if you want this to remain --> <webMaster><?php echo $email_address . ' (' .STORE_OWNER.')'; ?></webMaster> <language><?php echo $lang_code; ?></language> <lastBuildDate><?php echo gmdate("D, d M Y H:i:s", strtotime($last_modified)). ' GMT'; ?></lastBuildDate> <image> <url><?php echo $weblink . DIR_WS_CATALOG . bts_select(images, 'logo_rss.png'); ?></url> <title><?php // echo utf8_encode($rss_title); // ?><?php echo utf8_encode($store_name); ?></title> <link><?php echo $weblink;?></link> <description><?php echo utf8_encode($description); ?></description> <width>100</width> <height>50</height> </image> <copyright>Copyright reserved</copyright> <docs>http://blogs.law.harvard.edu/tech/rss</docs> <?php // Format results by row while( $row = tep_db_fetch_array($query) ){ $id = $row['products_id']; // RSS Links for Ultimate SEO (Gareth Houston 10 May 2005) $link = tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $id, 'NONSSL', false); $model = $row['products_model']; $image = $row['products_image']; $added = date(r,strtotime($row['products_date_added'])); // Setting and cleaning the data $name = $row['products_name']; $desc = eval_rss_urls($row['products_description']); // Encoding to UTF-8 if ($strip_html_tags ==true) { $name = strip_html_tags($name); $desc = strip_html_tags($desc); } $name = utf8_encode(replace_problem_characters($name)); $desc = utf8_encode(replace_problem_characters($desc)); $link = utf8_encode($link); $manufacturer = $row['manufacturers_name']; $manufacturer = utf8_encode ($manufacturer); // $price = tep_add_tax($row['products_price'], tep_get_tax_rate($row['products_tax_class_id'])); // if (tep_not_null($row['specials_new_products_price'])) { // $price = tep_add_tax($row['specials_new_products_price'], tep_get_tax_rate($row['products_tax_class_id'])); // } else { // $price = tep_add_tax($row['products_price'], tep_get_tax_rate($row['products_tax_class_id'])); // } // if( $discount = tep_get_products_special_price($id) ) { // $offer = tep_add_tax($discount, tep_get_tax_rate($row['products_tax_class_id'])); // } else { // $offer = ''; // } //add price limit decimals to 2 //$price = sprintf("%01.2f", $price); $cat_name = $row['categories_name']; // Encoding to UTF-8 $cat_name = utf8_encode (replace_problem_characters(strip_html_tags($cat_name))); // Setting the URLs to the images and buttons $relative_image_url = tep_image(DIR_WS_IMAGES . $image, $name, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT); // usare funzione per il resize la fuzione base non va ! // $relative_image_url = str_replace('/>', '', $relative_image_url); // $relative_image_url = str_replace('<img src="', '', $relative_image_url); $image_url = $relative_image_url; // $relative_buy_url = tep_image_button('button_shopping_cart.gif', IMAGE_BUTTON_IN_CART, 'style="margin: 0px;"'); // $relative_buy_url = str_replace('">', '', $relative_buy_url); // $relative_buy_url = str_replace('<img src="', '', $relative_buy_url); // $buy_url = HTTP_SERVER . DIR_WS_CATALOG . $relative_buy_url; // $relative_button_url = tep_image_button('button_more_info.gif', IMAGE_BUTTON_MORE_INFO, 'style="margin: 0px;"'); // $relative_button_url = str_replace('">', '', $relative_button_url); // $relative_button_url = str_replace('<img src="', '', $relative_button_url); // $button_url = HTTP_SERVER . DIR_WS_CATALOG . $relative_button_url; // http://www.w3.org/TR/REC-xml/#dt-chardata // The ampersand character (&) and the left angle bracket (<) MUST NOT appear in their literal form //$name = str_replace('&','&',$name); //$desc = str_replace('&','&',$desc); //$link = str_replace('&','&',$link); //$cat_name = str_replace('&','&',$cat_name); $name = str_replace('<','<',$name); $desc = str_replace('<','<',$desc); $link = str_replace('<','<',$link); $cat_name = str_replace('<','<',$cat_name); $name = str_replace('>','>',$name); $desc = str_replace('>','>',$desc); $link = str_replace('>','>',$link); $cat_name = str_replace('>','>',$cat_name); // $buy_link = tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $id); // Encoding to UTF-8 // $buy_link = utf8_encode ($buy_link); // $buy_link = str_replace('&','&',$buy_link); // $buy_link = str_replace('<','<',$buy_link); // $buy_link = str_replace('>','>',$buy_link); // Writing the output echo '<item>' . "\n"; echo ' <title>' . $name . '</title>' . "\n"; echo ' <category>' . $cat_name . '</category>' . "\n"; echo ' <link>' . $link . '</link>' . "\n"; echo ' <description>'; // . "\n"; if ($ecommerce=='' && $image != '') { echo '<![CDATA[<a href="' . $link . '">' . $image_url . '</a><br />]]>'; } echo $desc; if ($ecommerce=='') { echo '<![CDATA[<br><b>Manufacturer: </b>' . $manufacturer . ']]>' . "\n"; // delete this line if you do not want to list manufacturer echo '<![CDATA[<br><b>Model #: </b>' . $model . ']]>' . "\n"; // delete this line if you do not want to list model num // echo '<![CDATA[<br><b>Price: </b>$' . $price . '<br>]]>' . "\n"; // delete this line if you do not want to list price, replace $ = dollars with your currency // echo '<![CDATA[<br><br><a href="' .$buy_link. '"><img src="' . $buy_url . '" border="0"</a> ]]>'; // echo '<![CDATA[<a href="' . $link . '"><img src="' . $button_url . '" /border="0"</a>]]>' . "\n"; } echo '</description>' . "\n"; echo ' <guid>' . $link . '</guid>' . "\n"; echo ' <pubDate>' . gmdate("D, d M Y H:i:s", strtotime($added)). ' GMT' . '</pubDate>' . "\n"; if($ecommerce!='') { echo ' <media:thumbnail url="' . $image_url . '">' . $image_url . '</media:thumbnail>' . "\n"; echo ' <ecommerce:SKU>' . $id . '</ecommerce:SKU>' . "\n"; // echo ' <ecommerce:listPrice currency="' . DEFAULT_CURRENCY . '">' . $price . '</ecommerce:listPrice>' . "\n"; // if ($offer) { // echo '<![CDATA[<br><b>Price: </b>$' . $offer . '<br>]]>' . "\n"; // delete this line if you do not want to list price, replace $ = dollars with your currency // echo ' <ecommerce:offerPrice currency="' . DEFAULT_CURRENCY . '">' . $offer . '</ecommerce:offerPrice>' . "\n"; // } echo ' <ecommerce:manufacturer>' . $manufacturer . '</ecommerce:manufacturer>' . "\n"; } echo '</item>' . "\n"; } } echo '</channel>' . "\n"; echo '</rss>' . "\n"; /* * Include the application_bottom.php script */ include_once('includes/application_bottom.php'); ?> I have disabled the prices in how much they didn't interest me
  3. mauriziomagnino

    RSS Feed contribution support thread

    you excuse the grammar, use an on-line translator. I have modified the code this way: <?php /* $Id: rss.php,v 2.0 2007/05/12 19:30:06 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ /* * Include the application_top.php script */ require('includes/application_top.php'); $navigation->remove_current_page(); // If the language is not specified $lang_query = tep_db_query("select languages_id, code from " . TABLE_LANGUAGES . " where languages_id = '" . (int)$languages_id . "'"); // Recover the code (fr, en, etc) and the id (1, 2, etc) of the current language if (tep_db_num_rows($lang_query)) { $lang_a = tep_db_fetch_array($lang_query); $lang_code = $lang_a['code']; } define('RSS_STRIP_HTML_TAGS', false); // If the default of your catalog is not what you want in your RSS feed, then // please change this three constants: // Enter an appropriate title for your website define('RSS_TITLE', STORE_NAME); // Enter your main shopping cart link define('WEBLINK', HTTP_SERVER); // Enter a description of your shopping cart define('DESCRIPTION', TITLE); ///////////////////////////////////////////////////////////// //That's it. No More Editing (Unless you renamed DB tables or need to switch //to SEO links (Apache Rewrite URL) ///////////////////////////////////////////////////////////// $store_name = STORE_NAME; $rss_title = RSS_TITLE; $weblink = WEBLINK; $description = DESCRIPTION; $email_address = STORE_OWNER_EMAIL_ADDRESS; $subtitle = ''; function replace_problem_characters($text) { $formattags = array("&"); $replacevals = array("&"); $text = str_replace($formattags, $replacevals, $text); $in[] = '@&(amp|#038);@i'; $out[] = '&'; $in[] = '@&(#036);@i'; $out[] = '$'; $in[] = '@&(quot);@i'; $out[] = '"'; $in[] = '@&(#039);@i'; $out[] = '\''; $in[] = '@&(nbsp|#160);@i'; $out[] = ' '; $in[] = '@&(hellip|#8230);@i'; $out[] = '...'; $in[] = '@&(copy|#169);@i'; $out[] = '(c)'; $in[] = '@&(trade|#129);@i'; $out[] = '(tm)'; $in[] = '@&(lt|#60);@i'; $out[] = '<'; $in[] = '@&(gt|#62);@i'; $out[] = '>'; $in[] = '@&(laquo);@i'; $out[] = '«'; $in[] = '@&(raquo);@i'; $out[] = '»'; $in[] = '@&(deg);@i'; $out[] = '°'; $in[] = '@&(mdash);@i'; $out[] = '—'; $in[] = '@&(reg);@i'; $out[] = '®'; $in[] = '@&(–);@i'; $out[] = '-'; $text = preg_replace($in, $out, $text); return $text; } function strip_html_tags($str) { // $document should contain an HTML document. // This will remove HTML tags, javascript sections // and white space. It will also convert some // common HTML entities to their text equivalent. $search = array ("'<script[^>]*?>.*?</script>'si", // Strip out javascript "'<[/!]*?[^<>]*?>'si", // Strip out HTML tags //"'([rn])[s]+'", // Strip out white space "'&(quot|#34);'i", // Replace HTML entities // "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'(d+);'e"); // evaluate as php $replace = array ("", "", //"\1", "\"", "&", "<", ">", " ", chr(160), chr(161), chr(162), chr(163), chr(169), "chr(\1)"); return preg_replace($search, $replace, $str); } if(!function_exists('eval_rss_urls')) { function eval_rss_urls($string) { // rewrite all local urls to absolute urls return preg_replace_callback("/(href|src|action)=[\"']{0,1}(\.{0,2}[\\|\/]{1})(.*?)[\"']{0,1}( .*?){0,1}>/is","rewrite_rss_local_urls",$string); //"/(href|src|action)=[\"']{0,1}(\.{2}[\\|\/]{1})(.*?)[\"']{0,1}( .*?){0,1}>/is" } } function rewrite_rss_local_urls($string) { $repl_text = $string[0]; $repl_by = HTTP_SERVER.'\\'; $repl_len = 0; $index_pos = strpos ( $repl_text , '..'); if ($index_pos > -1) { $repl_len = 2; } else { $index_pos = strpos ( $repl_text , '\"\\'); if ($index_pos > -1) { $repl_len = 0; $index_pos+=1; } } if ($index_pos > -1) { substr_replace($repl_text, $repl_by, $index_pos,2 ); } ob_start(); echo $repl_text; $return = ob_get_contents(); ob_end_clean(); return $return; } // to strip html or not to strip html tags if (isset($_GET['html'])) { if ($_GET['html']=='false') { $strip_html_tags = true; } else { $strip_html_tags = false; } } else { $strip_html_tags = RSS_STRIP_HTML_TAGS; } // show the products of a specified manufacturer if (isset($_GET['manufacturers_id'])) { if (isset($_GET['filter_id']) && tep_not_null($_GET['filter_id'])) { // We are asked to show only a specific category $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$_GET['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)$_GET['filter_id'] . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; } else { // We show them all $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='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)$_GET['manufacturers_id'] . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; } $subtitle = tep_db_query("select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'"); $subtitle = tep_db_fetch_array($subtitle); $subtitle = $subtitle['manufacturers_name']; $rss_title = BOX_INFORMATION_RSS_MANUFACTURER; } else if (tep_not_null($current_category_id)) { // show the products in a given categorie if (isset($_GET['filter_id']) && tep_not_null($_GET['filter_id'])) { // We are asked to show only specific catgeory $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$_GET['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 . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; } else { // We show them all $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='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 . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; } $subtitle= tep_db_query("select cd.categories_name, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'"); $subtitle = tep_db_fetch_array($subtitle); $subtitle = $subtitle['categories_name']; $rss_title = BOX_INFORMATION_RSS_CATEGORY; } else { // show realy al products $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_model, p.products_price, p.products_image, p.products_date_added, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, 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 left join " . TABLE_CATEGORIES_DESCRIPTION . " cd on p2c.categories_id = cd.categories_id left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_to_rss='1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' GROUP BY p.products_id ORDER BY p.products_id DESC LIMIT ". (int)MAX_RSS_ARTICLES.""; $rss_title = BOX_INFORMATION_RSS; } // echo $listing_sql; // Execute SQL query and get result $query = tep_db_query($listing_sql); /* * If there are returned rows... * Basic sanity check */ if ( tep_db_num_rows($query) > 0 ){ if ($subtitle != '') $rss_title .= ' - '.$subtitle; // Encoding to UTF-8 $store_name = utf8_encode (replace_problem_characters($store_name)); $rss_title = utf8_encode (replace_problem_characters($rss_title)); $weblink = utf8_encode ($weblink); $description = utf8_encode ($description); $email_address = utf8_encode ($email_address); // SQL header(Last-Modified) $last_modified = ''; $sql = "SELECT MAX(products_date_added) as mPla, MAX(products_last_modified) as mPlm FROM " . TABLE_PRODUCTS. " WHERE products_to_rss = '1' ORDER BY products_id DESC LIMIT 1"; $sql_result = tep_db_query($sql); $row = tep_db_fetch_array($sql_result); if ($row['mPlm'] != '') { $last_modified = $row['mPlm']; } else { $last_modified = $row['mpla']; } if(!function_exists('getallheaders')){ function getallheaders(){ settype($headers,'array'); foreach($_SERVER as $h => $v){ if(preg_match('/HTTP_(.+)/',$h,$hp)){ $headers[$hp[1]] = $v; } } return $headers; } } $headers = getallheaders(); $refresh = 1; // refresca por defecto $etag = md5($last_modified); if(isset($headers["If-Modified-Since"])) { // Verificamos fecha enviada por el lector RSS $since = strtotime($headers["If-Modified-Since"]); if($since >= strtotime($last_modified)) { $refresh = 0; } } if(isset($headers["If-None-Match"])) { // Verificamos el ETag if(strcmp($headers["If-None-Match"], $etag) == 0) { $refresh = 0; } else { $refresh = 1; } } if($refresh == 0) { header("HTTP/1.1 304 Not changed"); // La primera línea de los headers debe ser el status // sino el Netcrap se lía y da "No Data" ob_end_clean(); // Descartamos los contenidos del búfer de salida en cola y lo deshabilitamos } // Begin sending of the data @header('Content-Type: application/rss+xml; charset=UTF-8'); //header("Last-Modified: " . tep_date_raw($last_modified)); @header('Last-Modified: ' .gmdate("D, d M Y G:i:s", strtotime($last_modified)). ' GMT'); //header('Last-Modified: ' .gmdate("D, d M Y G:i:s T",strtotime($last_modified)) . ' GMT'); @header("ETag: " . md5($etag)); echo '<!-- RSS for ' . $store_name . ', generated on ' . gmdate("D, d M Y G:i:s", strtotime($last_modified)) . ' GMT'. ' -->' . "\n"; $out = ob_get_contents(); $out = str_replace(array("\n", "\r", "\t", " "), "", $input); ob_end_clean(); echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; ?> <rss version="2.0"> <channel> <title><?php echo utf8_encode($rss_title); ?></title> <link><?php echo $weblink;?></link> <description><?php echo utf8_encode($description); ?></description> <!--<atom:link href="<?php echo tep_href_link(FILENAME_RSS, $_SERVER['QUERY_STRING'] = str_replace('&','&',$_SERVER['QUERY_STRING']), 'NONSSL', false ); ?>" rel="self" type="application/rss+xml" /> Remove comments if you want this to remain --> <webMaster><?php echo $email_address . ' (' .STORE_OWNER.')'; ?></webMaster> <language><?php echo $lang_code; ?></language> <lastBuildDate><?php echo gmdate("D, d M Y H:i:s", strtotime($last_modified)). ' GMT'; ?></lastBuildDate> <image> <url><?php echo $weblink . DIR_WS_CATALOG . bts_select(images, 'logo_rss.png'); ?></url> <title><?php // echo utf8_encode($rss_title); // ?><?php echo utf8_encode($store_name); ?></title> <link><?php echo $weblink;?></link> <description><?php echo utf8_encode($description); ?></description> <width>100</width> <height>50</height> </image> <copyright>Copyright reserved</copyright> <docs>http://blogs.law.harvard.edu/tech/rss</docs> <?php // Format results by row while( $row = tep_db_fetch_array($query) ){ $id = $row['products_id']; // RSS Links for Ultimate SEO (Gareth Houston 10 May 2005) $link = tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $id, 'NONSSL', false); $model = $row['products_model']; $image = $row['products_image']; $added = date(r,strtotime($row['products_date_added'])); // Setting and cleaning the data $name = $row['products_name']; $desc = eval_rss_urls($row['products_description']); // Encoding to UTF-8 if ($strip_html_tags ==true) { $name = strip_html_tags($name); $desc = strip_html_tags($desc); } $name = utf8_encode($name); $desc = utf8_encode($desc); $link = utf8_encode($link); $manufacturer = $row['manufacturers_name']; $manufacturer = utf8_encode ($manufacturer); // $price = tep_add_tax($row['products_price'], tep_get_tax_rate($row['products_tax_class_id'])); // if (tep_not_null($row['specials_new_products_price'])) { // $price = tep_add_tax($row['specials_new_products_price'], tep_get_tax_rate($row['products_tax_class_id'])); // } else { // $price = tep_add_tax($row['products_price'], tep_get_tax_rate($row['products_tax_class_id'])); // } // if( $discount = tep_get_products_special_price($id) ) { // $offer = tep_add_tax($discount, tep_get_tax_rate($row['products_tax_class_id'])); // } else { // $offer = ''; // } //add price limit decimals to 2 //$price = sprintf("%01.2f", $price); $cat_name = $row['categories_name']; // Encoding to UTF-8 $cat_name = utf8_encode (replace_problem_characters(strip_html_tags($cat_name))); // Setting the URLs to the images and buttons $relative_image_url = tep_image(DIR_WS_IMAGES . $image, $name, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT); // usare funzione per il resize la fuzione base non va ! // $relative_image_url = str_replace('/>', '', $relative_image_url); // $relative_image_url = str_replace('<img src="', '', $relative_image_url); $image_url = $relative_image_url; // $relative_buy_url = tep_image_button('button_shopping_cart.gif', IMAGE_BUTTON_IN_CART, 'style="margin: 0px;"'); // $relative_buy_url = str_replace('">', '', $relative_buy_url); // $relative_buy_url = str_replace('<img src="', '', $relative_buy_url); // $buy_url = HTTP_SERVER . DIR_WS_CATALOG . $relative_buy_url; // $relative_button_url = tep_image_button('button_more_info.gif', IMAGE_BUTTON_MORE_INFO, 'style="margin: 0px;"'); // $relative_button_url = str_replace('">', '', $relative_button_url); // $relative_button_url = str_replace('<img src="', '', $relative_button_url); // $button_url = HTTP_SERVER . DIR_WS_CATALOG . $relative_button_url; // http://www.w3.org/TR/REC-xml/#dt-chardata // The ampersand character (&) and the left angle bracket (<) MUST NOT appear in their literal form //$name = str_replace('&','&',$name); //$desc = str_replace('&','&',$desc); //$link = str_replace('&','&',$link); //$cat_name = str_replace('&','&',$cat_name); $name = str_replace('<','<',$name); $desc = str_replace('<','<',$desc); $link = str_replace('<','<',$link); $cat_name = str_replace('<','<',$cat_name); $name = str_replace('>','>',$name); $desc = str_replace('>','>',$desc); $link = str_replace('>','>',$link); $cat_name = str_replace('>','>',$cat_name); // $buy_link = tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $id); // Encoding to UTF-8 // $buy_link = utf8_encode ($buy_link); // $buy_link = str_replace('&','&',$buy_link); // $buy_link = str_replace('<','<',$buy_link); // $buy_link = str_replace('>','>',$buy_link); // Writing the output echo '<item>' . "\n"; echo ' <title>' . $name . '</title>' . "\n"; echo ' <category>' . $cat_name . '</category>' . "\n"; echo ' <link>' . $link . '</link>' . "\n"; echo ' <description>'; // . "\n"; if ($ecommerce=='' && $image != '') { echo '<![CDATA[<a href="' . $link . '">' . $image_url . '</a><br />]]>'; } echo $desc; if ($ecommerce=='') { echo '<![CDATA[<br><b>Manufacturer: </b>' . $manufacturer . ']]>' . "\n"; // delete this line if you do not want to list manufacturer echo '<![CDATA[<br><b>Model #: </b>' . $model . ']]>' . "\n"; // delete this line if you do not want to list model num // echo '<![CDATA[<br><b>Price: </b>$' . $price . '<br>]]>' . "\n"; // delete this line if you do not want to list price, replace $ = dollars with your currency // echo '<![CDATA[<br><br><a href="' .$buy_link. '"><img src="' . $buy_url . '" border="0"</a> ]]>'; // echo '<![CDATA[<a href="' . $link . '"><img src="' . $button_url . '" /border="0"</a>]]>' . "\n"; } echo '</description>' . "\n"; echo ' <guid>' . $link . '</guid>' . "\n"; echo ' <pubDate>' . gmdate("D, d M Y H:i:s", strtotime($added)). ' GMT' . '</pubDate>' . "\n"; if($ecommerce!='') { echo ' <media:thumbnail url="' . $image_url . '">' . $image_url . '</media:thumbnail>' . "\n"; echo ' <ecommerce:SKU>' . $id . '</ecommerce:SKU>' . "\n"; // echo ' <ecommerce:listPrice currency="' . DEFAULT_CURRENCY . '">' . $price . '</ecommerce:listPrice>' . "\n"; // if ($offer) { // echo '<![CDATA[<br><b>Price: </b>$' . $offer . '<br>]]>' . "\n"; // delete this line if you do not want to list price, replace $ = dollars with your currency // echo ' <ecommerce:offerPrice currency="' . DEFAULT_CURRENCY . '">' . $offer . '</ecommerce:offerPrice>' . "\n"; // } echo ' <ecommerce:manufacturer>' . $manufacturer . '</ecommerce:manufacturer>' . "\n"; } echo '</item>' . "\n"; } } echo '</channel>' . "\n"; echo '</rss>' . "\n"; /* * Include the application_bottom.php script */ include_once('includes/application_bottom.php'); ?> I have removed prices and possiblità of purchase. I have put the possibility to disable the categories in some it serves it goes in others from error. I bring an example of error: w3c feed validator error is .. XML parsing error: <unknown>:27:1: undefined entity does someone have suggestions? thanks
  4. mauriziomagnino

    [CONTRIBUTION] Ultimate SEO URLs v2.1 - by Chemo

    Thanks for the creation and the continuous modernization of this "contrib". I have noticed that on some serveur the option: "Options +FollowSymLinks " It does not work, from error. Removing it all it returns to work, and also SEO_URL works, therefore I wondered to what served, not having found of the bad ones you operations. Excused my English .htaccess : 'only seo add' # Ultimate SEO URLs BEGIN <IfModule mod_rewrite.c> #Options +FollowSymLinks RewriteEngine On RewriteBase /catalog/ RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-m-([0-9]+).html$ index.php?manufacturers_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-pi-([0-9]+).html$ popup_image.php?pID=$2&%{QUERY_STRING} RewriteRule ^(.*)-t-([0-9]+).html$ articles.php?tPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-a-([0-9]+).html$ article_info.php?articles_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-pr-([0-9]+).html$ product_reviews.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-pri-([0-9]+).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-i-([0-9]+).html$ information.php?info_id=$2&%{QUERY_STRING} # Ultimate SEO URLs END # Added to fix article glitch on sub-articles (lonniew at gmail dot com) RewriteRule ^(.*)-t-([0-9]+_[0-9]+).html$ articles.php?tPath=$2&%{QUERY_STRING} </IfModule>
  5. OsCommerce WAI TEAM - www.magnino.net

  6. mauriziomagnino

    ### POINTS AND REWARDS MODULE V1.00 ###

    solved, the patch Register_Globals=off; fix to show points on checkout_confirmation.php - MaNoLiA - 21 Feb 2007 is bad, removed the poin system work
  7. mauriziomagnino

    ### POINTS AND REWARDS MODULE V1.00 ###

    php4/mysql4 & php5/mysql5 (have 2 server) same problem I have a problem with this fantastic module, the total does not appear me points used in the directory orders. new order , checkout_confirmation.php // all OK Payment Sub-Total: $38.99 // sub total OK Free Shipping: $0.00 // shipping VAT 20.0%: $7.80 // VAT Point redeem: -$13.00 // poit OK ! Discount Coupons:6bfdc2: -$6.50 // coupons gift Total: $27.28 // total OK ! my account / my_points.php // all OK 23/04/2007 - #2 In sospeso - Punti riscossi - Riscossi ( -1,000 ) // point redeem OK 23/04/2007 - #2 In sospeso - Punti shopping - Pendenti ( 25 ) // news point OK account_history_info.php // dont work ! Payment Sub-Total: $38.99 // payment sub total OK ! Free Shipping: $0.00 // shipping OK ! VAT 20.0%: $7.80 // VAT OK ! Discount Coupons:6bfdc2: -$6.50 // coupons gift OK ! Total: $40.28 // dont work - - - - - - - - - - - - - - - - missed point redeem ! Point redeem: -$13.00 ????????????????? Total: $27.28 ???????????????????? in the DB table orders_total : INSERT INTO orders_total (orders_total_id, orders_id, title, text, value, class, sort_order) VALUES (6, 2, 'VAT 20.0%:', '$7.80', 5.9980, 'ot_tax', 3), (5, 2, 'Free Shipping:', '$0.00', 0.0000, 'ot_shipping', 2), (4, 2, 'Sub-Total:', '$38.99', 29.9900, 'ot_subtotal', 1), (7, 2, 'Discount Coupons:6bfdc2:', '-$6.50', 5.0000, 'ot_coupon', 9), (8, 2, 'Total:', '$40.28', 30.9880, 'ot_total', 10); dont write the point help my, sorry for my english
  8. mauriziomagnino

    PDF data-sheet v.1.6 error problem

    :'( sorry im have only partial update code for php5 and mysql5 this contrib have problem with php5 and image GIF :(
  9. mauriziomagnino

    QUICK PRICE/STOCK UPDATE

    im downloaded Quick Price Updates v1.1.3 have a problems : Warning: Variable passed to each() is not an array or object in C:\Programmi\xampp\htdocs\catalog\admin\quick_priceupdates.php on line 75 Warning: Variable passed to each() is not an array or object in C:\Programmi\xampp\htdocs\catalog\admin\quick_priceupdates.php on line 94 while (list($key, $value) = each($price_update)) { while (list($key, $value) = each($stock_update)) { dont work on php5 ! tested on php4 work ! you have correct code please ? sorry for my english
  10. I have installed PDF data-sheet v 1.5 with PHP5/Mysql5 it show an error : -------------------------------------- 1054 - Unknown column 'p.products_id' in 'on clause' select p.products_id, pd.products_name, pd.products_description, p.products_image, p.products_model, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.products_status, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, s.expires_date, m.manufacturers_name from products p left join manufacturers m on p.manufacturers_id = m.manufacturers_id, products_description pd left join specials s on p.products_id = s.products_id where p.products_id = '' and p.products_id = pd.products_id and pd.language_id = '4' [TEP STOP] --------------------------------------- Help me :'(
×