Advertisement
zero50x

Скрытые товары

Aug 17th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.34 KB | None | 0 0
  1. Файл Googs.class.php
  2.  
  3.     // Узнать скрытый это товар или нет. NULL - скрытый, true - не скрытый
  4.     public function getHideStatus($goods_path) {
  5.         $setting = $GLOBALS['sql']->get_arr("SELECT `goods_hide` FROM `goods` WHERE `site_id`='".intval($GLOBALS['sites']->work_site_id)."' AND `goods_path`='".$goods_path."' ");
  6.         return ($setting[0]["goods_hide"] === NULL) ? NULL : true;
  7.     }
  8.  
  9.     // Выбрать все категории склада для текущего сайта
  10.     public function getAllStoreCat() {
  11.         return array_column($GLOBALS['sql']->get_arr("SELECT `goods_cat_id` FROM `goods_cat` WHERE `site_id`='".intval($GLOBALS['sites']->work_site_id)."' AND `goods_cat_is_warehouse`='1' "), 'goods_cat_id');
  12.     }
  13.  
  14.     // Узнать находится ли товар в любой из категорий склада
  15.     public function getStoreCatStatus($goods_path) {
  16.         $setting = $GLOBALS['sql']->get_arr("SELECT `goods_hide` FROM `goods` WHERE `site_id`='".intval($GLOBALS['sites']->work_site_id)."' AND `goods_path`='".$goods_path."' ");
  17.  
  18.         echo '<pre>'; var_dump($this->getAllStoreCat()); echo '</pre>';
  19.         die('проверка категорий склада');
  20.  
  21.  
  22.     }
  23.  
  24.  
  25.  
  26.  
  27.  
  28. Файл Links.class.php
  29.  
  30.     // Заточенная под скорость функция генерации ссылки на товар, для списка товаров
  31.     // Нужны следующие поля: goods_id, site_id, goods_name, use_subdomain, goods_path, необязательный: goods_subdomain
  32.     public function get_goods_url_for_sitemap () {
  33.         global $sites;
  34.  
  35.         /*
  36.         // Получим настройки sitemap. Перве значение - отображать ли скрытые, второе - на складе (1 - не отображать, 0 - отображать)
  37.         $settings = $sites->sitemap->getSitemapVal();
  38.  
  39.         //echo '<pre>НАСТРОЙКИ '; var_dump($settings); echo '</pre>';
  40.  
  41.         $storeCats = $GLOBALS['goods']->getAllStoreCat();
  42.         $storeCatsString = implode(',', $storeCats);
  43.  
  44.         //echo '<pre>КАТЕГОРИИ СКЛАДА '; var_dump($storeCats); echo '</pre>';
  45.  
  46.         if($settings[0] === 1){
  47.             $hide = " AND `goods_hide`!='1'";
  48.         } else {
  49.             $hide = '';
  50.         }
  51.  
  52.         if($settings[1] === 1){
  53.             $store = " AND `goods_cat_id` NOT IN (".$storeCatsString.")";
  54.         } else {
  55.             $store = '';
  56.         }
  57.  
  58.         $res = $GLOBALS['sql']->get_arr("SELECT `goods_path` FROM `goods` WHERE `site_id`='".intval($GLOBALS['sites']->work_site_id)."' $hide  $store ");
  59.         $res = array_column($res, 'goods_path');
  60.  
  61.         //echo '<pre>ТОВАРЫ '; var_dump($res); echo '</pre>'; die('стопчик');
  62.  
  63.         // Определяем основной домен
  64.         $domain = $sites->get_by_site_id($GLOBALS['sites']->work_site_id);
  65.  
  66.         for($i = 0; $i < count($res); $i++){
  67.             $res[$i] = '<url><loc>'.h($this->https_or_http . '://' . $domain . '/goods/' . urlencode($res[$i])).'</loc></url>';
  68.         }
  69.  
  70.         return $res;
  71.         */
  72.  
  73.         //die('get_goods_url_without_from');
  74.         return true;
  75.     }
  76.  
  77.  
  78.  
  79.  
  80. ######################
  81. SitesSiteMap.class.php
  82. ######################
  83.  
  84.     // Запрос настроек sitemap из БД
  85.     public function getSitemapVal() {
  86.         $setting = $GLOBALS['sql']->get_arr("SELECT `sites_settings_value` FROM `sites_settings` WHERE `site_id`='".intval($GLOBALS['sites']->work_site_id)."' AND `sites_settings_name` IN ('form_hide_goods', 'form_store_goods') ");
  87.         $var1 = isset($setting[0]['sites_settings_value']) ? intval($setting[0]['sites_settings_value']) : 0;
  88.         $var2 = isset($setting[1]['sites_settings_value']) ? intval($setting[0]['sites_settings_value']) : 0;
  89.         return array($var1, $var2);
  90.     }
  91.  
  92.     // Запрос настроек sitemap из БД
  93.     public function getSitemapSetting($set) {
  94.         return $GLOBALS['sql']->get_arr("SELECT `sites_settings_name`, `sites_settings_value` FROM `sites_settings` WHERE `site_id`='".intval($GLOBALS['sites']->work_site_id)."' AND `sites_settings_name`='".$set."' ");
  95.     }
  96.  
  97.     // Добавление настроек sitemap если их ещй нет у сайта и обновление если есть
  98.     public function startSitemapSet($name, $value) {
  99.         if($this->getSitemapSetting($name)){
  100.             $res = $GLOBALS['sql']->query("UPDATE `sites_settings` SET `sites_settings_value`='".intval($value)."' WHERE `site_id`='".intval($GLOBALS['sites']->work_site_id)."' AND `sites_settings_name`='".$name."' ");
  101.         } else {
  102.             $res = $GLOBALS['sql']->query("INSERT INTO `sites_settings` (`site_id`,`sites_settings_name`, `sites_settings_value`, `created_at`, `updated_at`) VALUES('".intval($GLOBALS['sites']->work_site_id)."', '".$name."', ".intval($value).", ".time().", NULL) ");
  103.         }
  104.         return ($res) ? true : false;
  105.     }
  106.  
  107.     // Обновление Sitemap
  108.     public function updateSitemapSetting($hide_goods, $store_goods) {
  109.       if($this->startSitemapSet('form_hide_goods', $hide_goods) && $this->startSitemapSet('form_store_goods', $store_goods)){
  110.           return true;
  111.       } else {
  112.           return false;
  113.       }
  114.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement