コード例 #1
0
ファイル: store_setting.php プロジェクト: 1290800466/mac_win
 public function store_mobileOp()
 {
     Tpl::output('max_mb_sliders', self::MAX_MB_SLIDERS);
     $store_info = Model('store')->getStoreInfoByID($_SESSION['store_id']);
     // 页头背景图
     $mb_title_img = $store_info['mb_title_img'] ? UPLOAD_SITE_URL . '/' . ATTACH_STORE . '/' . $store_info['mb_title_img'] : '';
     // 轮播
     $mbSliders = $this->getStoreMbSliders();
     if (chksubmit()) {
         $update_array = array();
         $upload = new UploadFile();
         // mb_title_img
         if ($mb_title_img_del = !empty($_POST['mb_title_img_del'])) {
             $update_array['mb_title_img'] = '';
         }
         if (!empty($_FILES['mb_title_img']['name'])) {
             $upload->set('default_dir', ATTACH_STORE);
             $upload->set('thumb_ext', '');
             $upload->set('file_name', '');
             $upload->set('ifremove', false);
             $result = $upload->upfile('mb_title_img');
             if ($result) {
                 $mb_title_img_del = true;
                 $update_array['mb_title_img'] = $upload->file_name;
             } else {
                 showDialog($upload->error);
             }
         }
         if ($mb_title_img_del && $mb_title_img && file_exists($mb_title_img)) {
             unlink($mb_title_img);
         }
         // mb_sliders
         $skuToValid = array();
         foreach ((array) $_POST['mb_sliders_links'] as $k => $v) {
             if ($k < 1 || $k > self::MAX_MB_SLIDERS) {
                 showDialog('参数错误');
             }
             $type = (int) $_POST['mb_sliders_type'][$k];
             switch ($type) {
                 case 1:
                     // 链接URL
                     $v = (string) $v;
                     if (!preg_match('#^https?://#', $v)) {
                         $v = '';
                     }
                     break;
                 case 2:
                     // 商品ID
                     $v = (int) $v;
                     if ($v < 1) {
                         $v = '';
                     } else {
                         $skuToValid[$k] = $v;
                     }
                     break;
                 default:
                     $type = 1;
                     $v = '';
                     break;
             }
             $mbSliders[$k]['type'] = $type;
             $mbSliders[$k]['link'] = $v;
         }
         if ($skuToValid) {
             $validSkus = (array) Model()->table('goods')->field('goods_id')->where(array('goods_id' => array('in', $skuToValid), 'store_id' => $_SESSION['store_id']))->key('goods_id')->select();
             foreach ($skuToValid as $k => $v) {
                 if (!isset($validSkus[$v])) {
                     $mbSliders[$k]['link'] = '';
                 }
             }
         }
         // sort
         for ($i = 0; $i < self::MAX_MB_SLIDERS; $i++) {
             $sortedMbSliders[$i + 1] = $mbSliders[$_POST['mb_sliders_sort'][$i]];
         }
         $update_array['mb_sliders'] = serialize($sortedMbSliders);
         Model('store')->editStore($update_array, array('store_id' => $_SESSION['store_id']));
         showDialog('保存成功', 'index.php?act=store_setting&op=store_mobile', 'succ');
     }
     $mbSliderUrls = array();
     foreach ($mbSliders as $v) {
         if ($v['img']) {
             $mbSliderUrls[] = UPLOAD_SITE_URL . DS . ATTACH_STORE . DS . $v['img'];
         }
     }
     Tpl::output('mb_title_img', $mb_title_img);
     Tpl::output('mbSliders', $mbSliders);
     Tpl::output('mbSliderUrls', $mbSliderUrls);
     $this->profile_menu('store_mobile');
     Tpl::showPage('store_setting.store_mobile');
 }