Example #1
0
 protected function _after_update($data, $option)
 {
     /**************** 处理商品的扩展分类 ********************/
     $eci = I('post.ext_cat_id');
     $gcModel = M('GoodsCat');
     // 先清除商品原扩展分类数据
     $gcModel->where(array('goods_id' => array('eq', $option['where']['id'])))->delete();
     // 如果有新的数据就再添加一遍
     if ($eci) {
         foreach ($eci as $v) {
             // 如果分类为空就跳过处理下一个
             if (empty($v)) {
                 continue;
             }
             $gcModel->add(array('goods_id' => $option['where']['id'], 'cat_id' => $v));
         }
     }
     /************* 处理会员价格 ************************/
     $mpModel = M('MemberPrice');
     $mpModel->where(array('goods_id' => array('eq', $option['where']['id'])))->delete();
     $mp = I('post.mp');
     if ($mp) {
         foreach ($mp as $k => $v) {
             if (empty($v)) {
                 continue;
             }
             $mpModel->add(array('goods_id' => $option['where']['id'], 'level_id' => $k, 'price' => $v));
         }
     }
     /************************* 处理商品图片的代码 ***********************/
     // 判断有没有图片
     if (hasImage('pics')) {
         $gpModel = M('GoodsPics');
         // 批量上传之后的图片数组,改造成每个图片一个一维数组的形式
         $pics = array();
         foreach ($_FILES['pics']['name'] as $k => $v) {
             if ($_FILES['pics']['size'][$k] == 0) {
                 continue;
             }
             $pics[] = array('name' => $v, 'type' => $_FILES['pics']['type'][$k], 'tmp_name' => $_FILES['pics']['tmp_name'][$k], 'error' => $_FILES['pics']['error'][$k], 'size' => $_FILES['pics']['size'][$k]);
         }
         // 在后面调用uploadOne方法时会使用$_FILES数组上传图片,所以我们要把我们处理好的数组赎给$_FILES这样上传时使用的就是我们处理好的数组
         $_FILES = $pics;
         // 循环每张图片一个一个的上传
         foreach ($pics as $k => $v) {
             $ret = uploadOne($k, 'Goods', array(array(150, 150)));
             if ($ret['ok'] == 1) {
                 $gpModel->add(array('goods_id' => $option['where']['id'], 'pic' => $ret['images'][0], 'sm_pic' => $ret['images'][1]));
             }
         }
     }
     /****************************** 修改商品属性的代码 ***************************/
     // 处理新属性
     $ga = I('post.ga');
     $ap = I('post.attr_price');
     $gaModel = M('GoodsAttr');
     if ($ga) {
         foreach ($ga as $k => $v) {
             foreach ($v as $k1 => $v1) {
                 if (empty($v1)) {
                     continue;
                 }
                 $price = isset($ap[$k][$k1]) ? $ap[$k][$k1] : '';
                 $gaModel->add(array('goods_id' => $option['where']['id'], 'attr_id' => $k, 'attr_value' => $v1, 'attr_price' => $price));
             }
         }
     }
     // 处理原属性
     $oldga = I('post.old_ga');
     $oldap = I('post.old_attr_price');
     // 循环所更新一遍所有的旧属性
     foreach ($oldga as $k => $v) {
         foreach ($v as $k1 => $v1) {
             // 要修改的字段
             $oldField = array('attr_value' => $v1);
             // 如果有对应的价格就把价格也修改
             if (isset($oldap[$k])) {
                 $oldField['attr_price'] = $oldap[$k][$k1];
             }
             $gaModel->where(array('id' => array('eq', $k1)))->save($oldField);
         }
     }
 }
Example #2
0
 protected function _after_update($data, $option)
 {
     /*************** 处理商品的扩展分类 *******************/
     $exi = I('post.ext_cat_id');
     $gcModel = M('GoodsCat');
     //先清除商品原扩展的分类的数据
     $gcModel->where(array('goods_id' => array('eq', $option['where']['id'])))->delete();
     //如果有新的数据有在添加一遍
     if ($exi) {
         foreach ($exi as $k => $v) {
             if (empty($v)) {
                 continue;
             }
             $gcModel->add(array('goods_id' => $option['where']['id'], 'cat_id' => $v));
         }
     }
     /********** 处理会员价格 ***********/
     $mpModel = M('MemberPrice');
     $mpModel->where(array('goods_id' => array('eq', $option['where']['id'])))->delete();
     $mp = I('post.mp');
     if ($mp) {
         foreach ($mp as $k => $v) {
             if (empty($v)) {
                 continue;
             }
             $mpModel->add(array('goods_id' => $option['where']['id'], 'level_id' => $k, 'price' => $v));
         }
     }
     /*************** 处理商品的图片 ******************/
     //判断有没有图片
     if (hasImage('pics')) {
         $gpModel = M('GoodsPics');
         //批量上传
         $pics = array();
         foreach ($_FILES['pics']['name'] as $k => $v) {
             if ($_FILES['pics']['size'] == 0) {
                 continue;
             }
             $pics[] = array('name' => $v, 'type' => $_FILES['pics']['type'][$k], 'tmp_name' => $_FILES['pics']['tmp_name'][$k], 'error' => $_FILES['pics']['error'][$k], 'size' => $_FILES['pics']['size'][$k]);
         }
         // 在后面的调用uploadOne 方法会使用$_FILES 数组上传图片 我们要把我们处理好的数组给$_FILES 这样子上传时候就是使用我们处理好的数组
         $_FILES = $pics;
         foreach ($pics as $k => $v) {
             $ret = uploadOne($k, 'Goods', array(array(150, 150)));
             if ($ret['ok'] == 1) {
                 $gpModel->add(array('goods_id' => $data['id'], 'pic' => $ret['images'][0], 'sm_pic' => $ret['images'][1]));
             }
         }
     }
     /************** 处理商品属性 *************/
     //处理新属性
     $ga = I('post.ga');
     $ap = I('post.attr_price');
     $gaModel = M('GoodsAttr');
     foreach ($ga as $k => $v) {
         foreach ($v as $k1 => $v1) {
             if (empty($v1)) {
                 continue;
             }
             $price = isset($ap[$k][$k1]) ? $ap[$k][$k1] : '';
             $gaModel->add(array('goods_id' => $option['where']['id'], 'attr_id' => $k, 'attr_value' => $v1, 'attr_price' => $price));
         }
     }
     // 处理原属性
     $oldga = I('post.old_ga');
     $oldap = I('post.old_attr_price');
     //循环遍历更新一边所有的旧属性
     foreach ($oldga as $k => $v) {
         foreach ($v as $k1 => $v1) {
             # 要修改的字段
             $oldField = array('attr_value' => $v1);
             # 如果有对应的价格就把价格也修改
             if (isset($oldap[$k])) {
                 $oldField['attr_price'] = $oldap[$k][$k1];
             }
             $gaModel->where(array('id' => array('eq', $k1)))->save($oldField);
         }
     }
 }
Example #3
0
 protected function _after_insert($data, $options)
 {
     $goods_id = $data['goods_id'];
     $attr = I('post.attr');
     foreach ($attr as $key => $value) {
         if (is_array($value)) {
             //是数组,代表添加的是单选属性,比如同一个商品好几个颜色
             foreach ($value as $v) {
                 //实例化it_goods_attr对象(首字母大写,下划线去掉后面单词首字母也要大写)
                 M('GoodsAttr')->add(array('goods_id' => $goods_id, 'attr_value' => $v, 'attr_id' => $key));
             }
         } else {
             //不是数组
             M('GoodsAttr')->add(array('goods_id' => $goods_id, 'attr_value' => $value, 'attr_id' => $key));
         }
     }
     //商品添加相册要在商品添加完成后紧跟进行
     if (hasImage('goods_photo')) {
         $result = uploadMoreImages('goods_photo', 'Photo', array(array(150, 150)));
         //相册入库
         if ($result['ok'] == 1) {
             //上传成功
             foreach ($result['img'] as $value) {
                 M('GoodsPhoto')->add(array('goods_id' => $goods_id, 'photo_ori' => $value[0], 'photo_thumb' => $value[1]));
             }
         } else {
             //上传失败
             $this->error = $result['error'];
             return false;
         }
     }
 }
if ($album || $artist) {
    require_once dirname(__FILE__) . '/amazon/amazonsearch.php';
    $res = amazon_search($term, $associate_id, $dev_key);
    // if no result on $album and $artist, then just search for $album (if not sound track, as we just searched for $album)
    if (!$res && $genre != "Soundtrack") {
        $res = amazon_search($album, $associate_id, $dev_key);
    }
    // if still no results, then just search for $artist, don't care if soundtrack, we need to find anything!
    if (!$res) {
        $res = amazon_search($artist, $associate_id, $dev_key);
    }
    // if we found something
    if ($res) {
        $amazon_image = $res->ImageUrlSmall;
        $amazon_url = $res->url;
        $image_size = hasImage($amazon_image);
        if (!$image_size) {
            $amazon_image = NULL;
        }
    } else {
        $amazon_image = NULL;
        $amazon_url = NULL;
    }
}
$amazon_url = str_replace("amazon.com", "amazon.ca", $amazon_url);
$output['track'] = $song;
$output['artist'] = $artist;
$output['album'] = $album;
$output['genre'] = $genre;
$output['filetime'] = $filetime;
$output['tracktime'] = $tracktime;