[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
Zen Cart 源代码 meta_tags.php

Zen Cart 源代码 meta_tags.php




下载文件

文件名: meta_tags.php
文件类型: PHP文件
文件大小: 21.55 KiB
MD5: 078785f148e7540884f43543e69c8bbf

meta_tags.php - 关闭高亮
  1. <?php
  2. /**
  3.  * meta_tags module
  4.  *
  5.  * @package modules
  6.  * @copyright Copyright 2003-2008 Zen Cart Development Team
  7.  * @copyright Portions Copyright 2003 osCommerce
  8.  * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
  9.  * @version $Id: meta_tags.php 11202 2008-11-23 09:18:34Z drbyte $
  10.  */
  11. if (!defined('IS_ADMIN_FLAG')) {
  12.   die('Illegal Access');
  13. }
  14. // This should be first line of the script:
  15. $zco_notifier->notify('NOTIFY_MODULE_START_META_TAGS');
  16.  
  17. // Add tertiary section to site tagline
  18. if (strlen(SITE_TAGLINE) > 1) {
  19.   define('TAGLINE', TERTIARY_SECTION . SITE_TAGLINE);
  20. } else {
  21.   define('TAGLINE', '');
  22. }
  23.  
  24. $review_on = "";
  25. $keywords_string_metatags = "";
  26. $meta_tags_over_ride = false;
  27. if (!defined('METATAGS_DIVIDER')) define('METATAGS_DIVIDER', ', ');
  28.  
  29. // Get all top category names for use with web site keywords
  30. $sql = "select cd.categories_name from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = 0 and c.categories_id = cd.categories_id and cd.language_id='" . (int)$_SESSION['languages_id'] . "' and c.categories_status=1";
  31. $keywords_metatags = $db->Execute($sql);
  32. while (!$keywords_metatags->EOF) {
  33.   $keywords_string_metatags .= zen_clean_html($keywords_metatags->fields['categories_name']) . METATAGS_DIVIDER;
  34.   $keywords_metatags->MoveNext();
  35. }
  36. define('KEYWORDS', str_replace('"','',zen_clean_html($keywords_string_metatags) . CUSTOM_KEYWORDS));
  37.  
  38. // if per-page metatags overrides have been defined, use those, otherwise use usual defaults:
  39. if ($current_page_base != 'index') {
  40.   if (defined('META_TAG_TITLE_' . strtoupper($current_page_base))) define('META_TAG_TITLE', constant('META_TAG_TITLE_' . strtoupper($current_page_base)));
  41.   if (defined('META_TAG_DESCRIPTION_' . strtoupper($current_page_base))) define('META_TAG_DESCRIPTION', constant('META_TAG_DESCRIPTION_' . strtoupper($current_page_base)));
  42.   if (defined('META_TAG_KEYWORDS_' . strtoupper($current_page_base))) define('META_TAG_KEYWORDS', constant('META_TAG_KEYWORDS_' . strtoupper($current_page_base)));
  43. }
  44.  
  45. // Get different meta tag values depending on main_page values
  46. switch ($_GET['main_page']) {
  47.   case 'advanced_search':
  48.   case 'account_edit':
  49.   case 'account_history':
  50.   case 'account_history_info':
  51.   case 'account_newsletters':
  52.   case 'account_notifications':
  53.   case 'account_password':
  54.   case 'address_book':
  55.   define('META_TAG_TITLE', HEADING_TITLE . PRIMARY_SECTION . TITLE . TAGLINE);
  56.   define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE_1 . SECONDARY_SECTION . KEYWORDS);
  57.   define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . NAVBAR_TITLE_1);
  58.   break;
  59.  
  60.   case 'address_book_process':
  61.   define('META_TAG_TITLE', NAVBAR_TITLE_ADD_ENTRY . PRIMARY_SECTION . TITLE . TAGLINE);
  62.   define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE_ADD_ENTRY . SECONDARY_SECTION . KEYWORDS);
  63.   define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . NAVBAR_TITLE_ADD_ENTRY);
  64.   break;
  65.  
  66.   case 'advanced_search_result':
  67.   case 'password_forgotten':
  68.   define('META_TAG_TITLE', NAVBAR_TITLE_2 . PRIMARY_SECTION . TITLE . TAGLINE);
  69.   define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE_2 . SECONDARY_SECTION . KEYWORDS);
  70.   define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . NAVBAR_TITLE_2);
  71.   break;
  72.  
  73.   case 'checkout_confirmation':
  74.   case 'checkout_payment':
  75.   case 'checkout_payment_address':
  76.   case 'checkout_shipping':
  77.   case 'checkout_success':
  78.   case 'create_account_success':
  79.   define('META_TAG_TITLE', HEADING_TITLE . PRIMARY_SECTION . TITLE . TAGLINE);
  80.   define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . HEADING_TITLE . SECONDARY_SECTION . KEYWORDS);
  81.   define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . HEADING_TITLE);
  82.   break;
  83.  
  84.   case ($this_is_home_page):
  85.   define('META_TAG_TITLE', (defined('HOME_PAGE_TITLE') && HOME_PAGE_TITLE != '' ? HOME_PAGE_TITLE : (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . PRIMARY_SECTION : '') . TITLE . TAGLINE));
  86.   define('META_TAG_DESCRIPTION', (defined('HOME_PAGE_META_DESCRIPTION') && HOME_PAGE_META_DESCRIPTION != '') ? HOME_PAGE_META_DESCRIPTION : TITLE . PRIMARY_SECTION . (defined('NAVBAR_TITLE') ? NAVBAR_TITLE : '' ) . SECONDARY_SECTION . KEYWORDS);
  87.   define('META_TAG_KEYWORDS', (defined('HOME_PAGE_META_KEYWORDS') && HOME_PAGE_META_KEYWORDS != '') ? HOME_PAGE_META_KEYWORDS : KEYWORDS . METATAGS_DIVIDER . (defined('NAVBAR_TITLE') ? NAVBAR_TITLE : '' ) );
  88.   break;
  89.  
  90.   case 'index':
  91.   // bof: categories meta tags
  92.   // run custom categories meta tags
  93.   $sql = "select * from " . TABLE_METATAGS_CATEGORIES_DESCRIPTION . " mcd where mcd.categories_id = '" . (int)$current_category_id . "' and mcd.language_id = '" . (int)$_SESSION['languages_id'] . "'";
  94.   $category_metatags = $db->Execute($sql);
  95.   if (!$category_metatags->EOF) {
  96.     define('META_TAG_TITLE', str_replace('"','',$category_metatags->fields['metatags_title']));
  97.     define('META_TAG_DESCRIPTION', str_replace('"','',$category_metatags->fields['metatags_description']));
  98.     define('META_TAG_KEYWORDS', str_replace('"','',$category_metatags->fields['metatags_keywords']));
  99.   } else {
  100.     // build categories meta tags
  101.     // eof: categories meta tags
  102.     if ($category_depth == 'nested') {
  103.       $sql = "select cd.categories_name from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$_SESSION['languages_id'] . "' and c.categories_status=1";
  104.       $category_metatags = $db->Execute($sql);
  105.       if ($category_metatags->EOF) {
  106.         $meta_tags_over_ride = true;
  107.       } else {
  108.         define('META_TAG_TITLE', str_replace('"','', zen_clean_html($category_metatags->fields['categories_name']) . PRIMARY_SECTION . TITLE . TAGLINE));
  109.         define('META_TAG_DESCRIPTION', str_replace('"','',TITLE . PRIMARY_SECTION . zen_clean_html($category_metatags->fields['categories_name']) . SECONDARY_SECTION . KEYWORDS));
  110.         define('META_TAG_KEYWORDS', str_replace('"','',KEYWORDS . METATAGS_DIVIDER . zen_clean_html($category_metatags->fields['categories_name'])));
  111.       } // EOF
  112.     } elseif ($category_depth == 'products') {
  113.       if (isset($_GET['manufacturers_id']) || ((isset($_GET['filter_id']) && $_GET['filter_id'] > 0) && isset($_GET['cPath'])) ) {
  114.         if ((isset($_GET['filter_id']) && isset($_GET['cPath'])) ) {
  115.           $include_manufacturers_id = $_GET['filter_id'];
  116.         } else {
  117.           $include_manufacturers_id = $_GET['manufacturers_id'];
  118.         }
  119.         $sql = "select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$include_manufacturers_id . "'";
  120.         $manufacturer_metatags = $db->Execute($sql);
  121.         if ($manufacturer_metatags->EOF) {
  122.           $meta_tags_over_ride = true;
  123.         } else {
  124.           define('META_TAG_TITLE', str_replace('"','',$manufacturer_metatags->fields['manufacturers_name'] . PRIMARY_SECTION . TITLE . TAGLINE));
  125.           define('META_TAG_DESCRIPTION', str_replace('"','',TITLE . PRIMARY_SECTION . $manufacturer_metatags->fields['manufacturers_name'] . SECONDARY_SECTION . KEYWORDS));
  126.           define('META_TAG_KEYWORDS', str_replace('"','', $manufacturer_metatags->fields['manufacturers_name'] . METATAGS_DIVIDER . KEYWORDS));
  127.         } // EOF
  128.       } else {
  129.         $sql = "select cd.categories_name from " . TABLE_CATEGORIES . ' c, ' . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$_SESSION['languages_id'] . "' and c.categories_status=1";
  130.         $category_metatags = $db->Execute($sql);
  131.         if ($category_metatags->EOF) {
  132.           $meta_tags_over_ride = true;
  133.         } else {
  134.           define('META_TAG_TITLE', str_replace('"','', zen_clean_html($category_metatags->fields['categories_name']) . PRIMARY_SECTION . TITLE . TAGLINE));
  135.           define('META_TAG_DESCRIPTION', str_replace('"','',TITLE . PRIMARY_SECTION . zen_clean_html($category_metatags->fields['categories_name']) . SECONDARY_SECTION . KEYWORDS));
  136.           define('META_TAG_KEYWORDS', str_replace('"','',KEYWORDS . METATAGS_DIVIDER . zen_clean_html($category_metatags->fields['categories_name'])));
  137.         } // EOF
  138.       }
  139.     } else {
  140.       if (isset($_GET['manufacturers_id'])) {
  141.         $sql = "select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'";
  142.         $manufacturer_metatags = $db->Execute($sql);
  143.         if ($manufacturer_metatags->EOF) {
  144.           define('META_TAG_TITLE', TITLE . TAGLINE);
  145.           define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . str_replace(array("'",'"'),'',strip_tags(HEADING_TITLE)) . SECONDARY_SECTION . KEYWORDS);
  146.           define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . str_replace(array("'",'"'),'',strip_tags(HEADING_TITLE)));
  147.         } else {
  148.           define('META_TAG_TITLE', str_replace('"','', $manufacturer_metatags->fields['manufacturers_name'] . PRIMARY_SECTION . TITLE . TAGLINE));
  149.           define('META_TAG_DESCRIPTION', str_replace('"','',TITLE . PRIMARY_SECTION . $manufacturer_metatags->fields['manufacturers_name'] . SECONDARY_SECTION . KEYWORDS));
  150.           define('META_TAG_KEYWORDS', str_replace('"','', $manufacturer_metatags->fields['manufacturers_name'] . METATAGS_DIVIDER . KEYWORDS));
  151.         }
  152.       } else {
  153.         // nothing custom main page
  154.         $meta_tags_over_ride = true;
  155.       }
  156.     }
  157.   } // custom meta tags
  158.   break;
  159.   // eof: categories meta tags
  160.  
  161.   case 'popup_image':
  162.   $meta_products_name = str_replace('"','',zen_clean_html($products_values->fields['products_name']));
  163.   define('META_TAG_TITLE', $meta_products_name . PRIMARY_SECTION . TITLE . TAGLINE);
  164.   define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . $meta_products_name . SECONDARY_SECTION . KEYWORDS);
  165.   define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . $meta_products_name);
  166.   break;
  167.  
  168.   case 'popup_image_additional':
  169.   $meta_products_name = str_replace('"','',zen_clean_html($products_values->fields['products_name']));
  170.   define('META_TAG_TITLE', $meta_products_name . PRIMARY_SECTION . TITLE . TAGLINE);
  171.   define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . $meta_products_name . SECONDARY_SECTION . KEYWORDS);
  172.   define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . $meta_products_name);
  173.   break;
  174.  
  175.   case 'popup_search_help':
  176.   define('META_TAG_TITLE', HEADING_SEARCH_HELP . PRIMARY_SECTION . TITLE . TAGLINE);
  177.   define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . HEADING_SEARCH_HELP . SECONDARY_SECTION . KEYWORDS);
  178.   define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . HEADING_SEARCH_HELP);
  179.   break;
  180.  
  181.   // unless otherwise required product_reviews uses the same settings as product_reviews_info and other _info pages
  182.   case 'product_reviews':
  183.   // unless otherwise required product_reviews_info uses the same settings as reviews and other _info pages
  184.   case 'product_reviews_info':
  185.   $review_on = META_TAGS_REVIEW;
  186.   //  case 'product_info':
  187.   case (strstr($_GET['main_page'], 'product_') or strstr($_GET['main_page'], 'document_')):
  188.   /*
  189.   $sql = "select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_price, p.products_tax_class_id, p.product_is_free, p.products_price_sorter,
  190.   p.metatags_title_status, p.metatags_products_name_status, p.metatags_model_status, p.metatags_price_status, p.metatags_title_tagline_status,
  191.   mtpd.metatags_title, mtpd.metatags_keywords, mtpd.metatags_description from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_META_TAGS_PRODUCTS_DESCRIPTION . " mtpd where p.products_status = 1 and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$_SESSION['languages_id'] . "' and mtpd.products_id = p.products_id and mtpd.language_id = '" . (int)$_SESSION['languages_id'] . "'";
  192.   */
  193.  
  194.   $sql= "select pd.products_name, p.products_model, p.products_price_sorter, p.products_tax_class_id,
  195.                                      p.metatags_title_status, p.metatags_products_name_status, p.metatags_model_status,
  196.                                      p.products_id, p.metatags_price_status, p.metatags_title_tagline_status,
  197.                                      pd.products_description, p.product_is_free, p.product_is_call,
  198.                                      mtpd.metatags_title, mtpd.metatags_keywords, mtpd.metatags_description
  199.                              from (" . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd) left join " . TABLE_META_TAGS_PRODUCTS_DESCRIPTION . " mtpd on mtpd.products_id = p.products_id and mtpd.language_id = '" . (int)$_SESSION['languages_id'] . "'
  200.                              where p.products_id = '" . (int)$_GET['products_id'] . "'
  201.                              and p.products_id = pd.products_id
  202.                              and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'";
  203.  
  204.   $product_info_metatags = $db->Execute($sql);
  205.   if ($product_info_metatags->EOF) {
  206.     $meta_tags_over_ride = true;
  207.   } else {
  208.     // custom meta tags per product
  209.     if (!empty($product_info_metatags->fields['metatags_keywords']) or !empty($product_info_metatags->fields['metatags_description'])) {
  210.       $meta_products_name = '';
  211.       $meta_products_price = '';
  212.       $metatags_keywords = '';
  213.  
  214.       $meta_products_price = ($product_info_metatags->fields['metatags_price_status'] == '1' ? SECONDARY_SECTION . ($product_info_metatags->fields['products_price_sorter'] > 0 ? $currencies->display_price($product_info_metatags->fields['products_price_sorter'], zen_get_tax_rate($product_info_metatags->fields['products_tax_class_id'])) : SECONDARY_SECTION . META_TAG_PRODUCTS_PRICE_IS_FREE_TEXT) : '');
  215.  
  216.       $meta_products_name .= ($product_info_metatags->fields['metatags_products_name_status'] == '1' ? $product_info_metatags->fields['products_name'] : '');
  217.       $meta_products_name .= ($product_info_metatags->fields['metatags_title_status'] == '1' ? ' ' . $product_info_metatags->fields['metatags_title'] : '');
  218.       $meta_products_name .= ($product_info_metatags->fields['metatags_model_status'] == '1' ? ' [' . $product_info_metatags->fields['products_model'] . ']' : '');
  219.       if (zen_check_show_prices() == true) {
  220.         $meta_products_name .= $meta_products_price;
  221.       }
  222.       $meta_products_name .= ($product_info_metatags->fields['metatags_title_tagline_status'] == '1' ? PRIMARY_SECTION . TITLE . TAGLINE : '');
  223.  
  224.       if (!empty($product_info_metatags->fields['metatags_description'])) {
  225.         // use custom description
  226.         $metatags_description = $product_info_metatags->fields['metatags_description'];
  227.       } else {
  228.         // no custom description defined use product_description
  229.         $metatags_description = zen_truncate_paragraph(strip_tags(stripslashes($product_info_metatags->fields['products_description'])), MAX_META_TAG_DESCRIPTION_LENGTH);
  230.       }
  231.  
  232.       $metatags_description = zen_clean_html($metatags_description);
  233.  
  234.       if (!empty($product_info_metatags->fields['metatags_keywords'])) {
  235.         // use custom keywords
  236.         $metatags_keywords = $product_info_metatags->fields['metatags_keywords'] . METATAGS_DIVIDER . CUSTOM_KEYWORDS;  // CUSTOM skips categories
  237.       } else {
  238.         // no custom keywords defined use product_description
  239.         $metatags_keywords = KEYWORDS . METATAGS_DIVIDER . $meta_products_name . METATAGS_DIVIDER;
  240.       }
  241.  
  242.       define('META_TAG_TITLE', str_replace('"','',zen_clean_html($review_on . $meta_products_name)));
  243.       define('META_TAG_DESCRIPTION', str_replace('"','',zen_clean_html($metatags_description . ' ')));
  244.       define('META_TAG_KEYWORDS', str_replace('"','',zen_clean_html($metatags_keywords)));  // KEYWORDS and CUSTOM_KEYWORDS are added above
  245.  
  246.     } else {
  247.       // build un-customized meta tag
  248.       if (META_TAG_INCLUDE_PRICE == '1' and !strstr($_GET['main_page'], 'document_general')) {
  249.         if ($product_info_metatags->fields['product_is_free'] != '1') {
  250.           if (zen_check_show_prices() == true) {
  251.             $meta_products_price = zen_get_products_actual_price($product_info_metatags->fields['products_id']);
  252.             $prod_is_call_and_no_price = ($product_info_metatags->fields['product_is_call'] == '1' && $meta_products_price == 0);
  253.             $meta_products_price = (!$prod_is_call_and_no_price ? SECONDARY_SECTION . $currencies->display_price($meta_products_price, zen_get_tax_rate($product_info_metatags->fields['products_tax_class_id'])) : '');
  254.           }
  255.         } else {
  256.           $meta_products_price = SECONDARY_SECTION . META_TAG_PRODUCTS_PRICE_IS_FREE_TEXT;
  257.         }
  258.       } else {
  259.         $meta_products_price = '';
  260.       }
  261.  
  262.       if (META_TAG_INCLUDE_MODEL == '1' && zen_not_null($product_info_metatags->fields['products_model'])) {
  263.         $meta_products_name = $product_info_metatags->fields['products_name'] . ' [' . $product_info_metatags->fields['products_model'] . ']';
  264.       } else {
  265.         $meta_products_name = $product_info_metatags->fields['products_name'];
  266.       }
  267.       $meta_products_name = zen_clean_html($meta_products_name);
  268.  
  269.       $meta_products_description = zen_truncate_paragraph(strip_tags(stripslashes($product_info_metatags->fields['products_description'])), MAX_META_TAG_DESCRIPTION_LENGTH);
  270.  
  271.       $meta_products_description = zen_clean_html($meta_products_description);
  272.  
  273.       define('META_TAG_TITLE', str_replace('"','',$review_on . $meta_products_name . $meta_products_price . PRIMARY_SECTION . TITLE . TAGLINE));
  274.       define('META_TAG_DESCRIPTION', str_replace('"','',TITLE . ' ' . $meta_products_name . SECONDARY_SECTION . $meta_products_description . ' '));
  275.       define('META_TAG_KEYWORDS', str_replace('"','',$meta_products_name . METATAGS_DIVIDER . KEYWORDS));
  276.  
  277.     } // CUSTOM META TAGS
  278.   } // EOF
  279.   break;
  280.  
  281.   case 'product_reviews_info_OFF':
  282.   $sql = "select rd.reviews_text, r.reviews_rating, r.reviews_id, r.customers_name, p.products_id, p.products_price, p.products_tax_class_id, p.products_model, pd.products_name, p.product_is_free from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where r.reviews_id = '" . (int)$_GET['reviews_id'] . "' and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$_SESSION['languages_id'] . "' and r.products_id = p.products_id and p.products_status = 1 and p.products_id = pd.products_id and pd.language_id = '". (int)$_SESSION['languages_id'] . "'";
  283.   $review_metatags = $db->Execute($sql);
  284.   if ($review_metatags->EOF) {
  285.     $meta_tags_over_ride = true;
  286.   } else {
  287.     if (META_TAG_INCLUDE_PRICE == '1') {
  288.       if ($review_metatags->fields['product_is_free'] != '1') {
  289.         $meta_products_price = zen_get_products_actual_price($review_metatags->fields['products_id']);
  290.         $meta_products_price = SECONDARY_SECTION . $currencies->display_price($meta_products_price, zen_get_tax_rate($review_metatags->fields['products_tax_class_id']));
  291.       } else {
  292.         $meta_products_price = SECONDARY_SECTION . META_TAG_PRODUCTS_PRICE_IS_FREE_TEXT;
  293.       }
  294.     } else {
  295.       $meta_products_price = '';
  296.     }
  297.  
  298.     if (zen_not_null($review_metatags->fields['products_model'])) {
  299.       $meta_products_name = $review_metatags->fields['products_name'] . ' [' . $review_metatags->fields['products_model'] . ']';
  300.     } else {
  301.       $meta_products_name = $review_metatags->fields['products_name'];
  302.     }
  303.  
  304.     $meta_products_name = zen_clean_html($meta_products_name);
  305.  
  306.     $review_text_metatags = substr(strip_tags(stripslashes($review_metatags->fields['reviews_text'])), 0, 60);
  307.     $reviews_rating_metatags = SUB_TITLE_RATING . ' ' . sprintf(TEXT_OF_5_STARS, $review_metatags->fields['reviews_rating']);
  308.     define('META_TAG_TITLE', str_replace('"','',$meta_products_name . $meta_products_price . PRIMARY_SECTION . TITLE . TERTIARY_SECTION . NAVBAR_TITLE));
  309.     define('META_TAG_DESCRIPTION', str_replace('"','',TITLE . PRIMARY_SECTION . NAVBAR_TITLE . SECONDARY_SECTION . $meta_products_name . SECONDARY_SECTION . $review_metatags->fields['customers_name'] . SECONDARY_SECTION . $review_text_metatags . ' ' . SECONDARY_SECTION . $reviews_rating_metatags));
  310.     define('META_TAG_KEYWORDS', str_replace('"','',KEYWORDS . METATAGS_DIVIDER . $meta_products_name . METATAGS_DIVIDER . $review_metatags->fields['customers_name'] . METATAGS_DIVIDER . $reviews_rating_metatags));
  311.   } // EOF
  312.   break;
  313. // EZ-Pages:
  314.   case 'page':
  315.   $ezpage_id = (int)$_GET['id'];
  316.   $chapter_id = (int)$_GET['chapter'];
  317.   if (defined('META_TAG_TITLE_EZPAGE_'.$ezpage_id)) define('META_TAG_TITLE', constant('META_TAG_TITLE_EZPAGE_'.$ezpage_id));
  318.   if (defined('META_TAG_DESCRIPTION_EZPAGE_'.$ezpage_id)) define('META_TAG_DESCRIPTION', constant('META_TAG_DESCRIPTION_EZPAGE_'.$ezpage_id));
  319.   if (defined('META_TAG_KEYWORDS_EZPAGE_'.$ezpage_id)) define('META_TAG_KEYWORDS', constant('META_TAG_KEYWORDS_EZPAGE_'.$ezpage_id));
  320. // NO "break" here. Allow defaults if not overridden at the per-page level
  321.   default:
  322.   define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . PRIMARY_SECTION : '') . TITLE . TAGLINE);
  323.   define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . (defined('NAVBAR_TITLE') ? NAVBAR_TITLE : '' ) . SECONDARY_SECTION . KEYWORDS);
  324.   define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . (defined('NAVBAR_TITLE') ? NAVBAR_TITLE : '' ) );
  325. }
  326.  
  327. // meta tags override due to 404, missing products_id, cPath or other EOF issues
  328. if ($meta_tags_over_ride == true) {
  329.   define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . PRIMARY_SECTION : '') . TITLE . TAGLINE);
  330.   define('META_TAG_DESCRIPTION', TITLE . (defined('NAVBAR_TITLE') ? PRIMARY_SECTION . NAVBAR_TITLE : '') . SECONDARY_SECTION . KEYWORDS);
  331.   define('META_TAG_KEYWORDS', KEYWORDS . METATAGS_DIVIDER . (defined('NAVBAR_TITLE') ? NAVBAR_TITLE : ''));
  332. }
  333.  
  334. // This should be last line of the script:
  335. $zco_notifier->notify('NOTIFY_MODULE_END_META_TAGS');
  336. ?>