Example #1
0
 /**
  * @return LibCatalog
  */
 static function getInstance()
 {
     if (empty(self::$instance)) {
         self::$instance = new self();
     }
     return self::$instance;
 }
 function actGoodsEdit()
 {
     global $ST, $get;
     $id = $get->getInt('id');
     $field = array('id' => $id, 'name' => '', 'product' => '', 'manufacturer' => '', 'manufacturer_id' => 0, 'category' => $get->getInt('category'), 'description' => '', 'html' => '', 'html2' => '', 'html3' => '', 'html4' => '', 'img' => '', 'img_add' => '', 'img_format' => 0, 'price' => 0, 'old_price' => 0, 'awards' => 0, 'unit' => '', 'ext_id' => '', 'in_stock' => 1, 'weight_flg' => 0, 'sort3' => 1, 'sort1' => 0);
     if ($this->cfg('SHOP_GOODS_NEED_CONFIRM')) {
         //Настройка показывать только в подтверждённые
         $field['confirm'] = 0;
     }
     if ($id) {
         $rs = $ST->select("SELECT " . join(',', array_keys($field)) . " FROM sc_shop_item WHERE id='" . $id . "'");
         if ($rs->next()) {
             $field = $rs->getRow();
         }
     }
     $field['imgList'] = array();
     if (trim($field['img'])) {
         $field['imgList'][] = $field['img'];
     }
     if ($img = trim($field['img_add'])) {
         $img = explode(',', $img);
         foreach ($img as $i) {
             $field['imgList'][] = $i;
         }
     }
     $field['img_format_list'] = Img::getFormatList();
     $field['unit_list'] = $this->enum('sh_unit');
     $field['catalog'] = $this->getCatalog();
     $field['catalogs'] = $this->getCatalog();
     $field['actions'] = LibNews::getActions();
     $field['categories'] = array();
     $rs = $ST->select("SELECT * FROM sc_shop_item2cat WHERE itemid={$id}");
     while ($rs->next()) {
         $field['categories'][] = $rs->getInt('catid');
     }
     $field['offerList'] = array();
     /*
               Разбивка по предложениям (регион или магазин)
               $reg=$this->getUser('region');
               if($reg){
               $reg=explode(',',$reg);
               }
     
               $q="SELECT * FROM sc_enum r
               LEFT JOIN (SELECT * FROM sc_shop_offer WHERE itemid={$id}) AS so ON so.region=r.field_value
               WHERE r.field_name='regions'
               ORDER BY r.position
               ";
               $rs=$ST->select($q);
               while ($rs->next()) {
               if($reg && !in_array($rs->get('field_value'),$reg)){
               continue;
               }
     
               $field['offerList'][$rs->get('field_value')]=array('in_stock'=>$rs->get('in_stock'),'price'=>$rs->get('price'),'reg'=>$rs->get('value_desc'));
               } */
     //
     //		$q="SELECT *,p.id as prop_id FROM sc_shop_prop p
     //			LEFT JOIN (SELECT * FROM sc_shop_prop_val WHERE item_id={$id}) AS v ON v.prop_id=p.id
     //			WHERE (p.id IN(SELECT DISTINCT prop_id FROM sc_shop_prop_val v,sc_shop_item i WHERE i.id=v.item_id AND i.category={$field['category']}) OR p.grp=1 OR p.grp=2)
     //			ORDER BY p.grp";
     //		$rs=$ST->select($q);
     $field['propList'] = $this->getGoodsPropList($id, $field['category']);
     $field['nmnList'] = array();
     $rs = $ST->select("SELECT * FROM sc_shop_item_nmn WHERE itemid={$id} AND hidden=0 ORDER BY sort, price");
     while ($rs->next()) {
         $field['nmnList'][$rs->get('id')] = $rs->getRow();
     }
     $field['prop_grp'] = $this->enum('sh_prop_grp');
     $field['prop_grp'] = printJSON($field['prop_grp']);
     $field['shop_relation'] = $this->enum('shop_relation');
     $field['manList'] = $this->getGoodsManList();
     //Список производителей
     $vendorList = array();
     $this->setTitle('Редактировать ' . $field['name']);
     $this->explorer[] = array('name' => 'Редактировать ' . $field['name']);
     $this->explorer[] = array('name' => 'Товары', 'url' => $this->mod_uri . 'goods/');
     $this->display($field, dirname(__FILE__) . '/admin_goods_edit.tpl.php');
 }