示例#1
0
 /**
  * 复制商品表
  **/
 private function copy_goods()
 {
     $goods_res = $this->db->getRow("SELECT cat_id,goods_sn,goods_name,goods_number," . "market_price,shop_price,keywords,goods_desc,goods_thumb,goods_img," . "original_img,goods_type,wholesale_price,costing_price,supply_sign_id,is_on_sale,admin_agency_id FROM " . $this->ecs->table('goods') . " WHERE goods_id = {$this->goods_id}");
     #代理商添加商品
     if ($this->admin_agency_id && $this->shop_price) {
         $shop_price = $this->shop_price;
         $market_price = $goods_res['shop_price'] * $GLOBALS['_CFG']['market_price_rate'];
         $costing_price = $goods_res['shop_price'];
         $host_goods_id = $this->goods_id;
     } else {
         $shop_price = $this->shop_price;
         $market_price = $goods_res['market_price'];
         $costing_price = $goods_res['costing_price'];
         $host_goods_id = 0;
     }
     $Arr = array('cat_id' => $goods_res['cat_id'], 'goods_sn' => generate_goods_sn($this->db->getOne("SELECT MAX(goods_id) + 1 FROM " . $this->ecs->table('goods'))), 'goods_name' => preg_replace("/['`<> ]/", '', $goods_res['goods_name']), 'goods_number' => $goods_res['goods_number'], 'market_price' => $market_price, 'shop_price' => $shop_price, 'keywords' => $goods_res['keywords'], 'goods_desc' => $goods_res['goods_desc'], 'goods_thumb' => $goods_res['goods_thumb'], 'goods_img' => $goods_res['goods_img'], 'original_img' => $goods_res['original_img'], 'add_time' => time(), 'last_update' => time(), 'goods_type' => $goods_res['goods_type'], 'wholesale_price' => $goods_res['wholesale_price'], 'costing_price' => $costing_price, 'supply_sign_id' => (int) $goods_res['supply_sign_id'], 'is_on_sale' => $goods_res['is_on_sale'], 'admin_agency_id' => $this->admin_agency_id, 'host_goods_id' => $host_goods_id);
     $this->db->autoExecute($this->ecs->table('goods'), $Arr, 'INSERT');
     return $this->db->insert_id();
 }
示例#2
0
     }
 }
 $brand_id = 0;
 if (!empty($good_brand)) {
     $sql = 'INSERT INTO ' . $ecs->table('brand') . " (brand_name, is_show)" . " values('" . $good_brand . "', '1')";
     $db->query($sql);
     $brand_id = $db->insert_Id();
 }
 if (!empty($good_category)) {
     $sql = 'INSERT INTO ' . $ecs->table('category') . " (cat_name, parent_id, is_show)" . " values('" . $good_category . "', '0', '1')";
     $db->query($sql);
     $cat_id = $db->insert_Id();
     //货号
     require_once ROOT_PATH . 'admin/includes/lib_goods.php';
     $max_id = $db->getOne("SELECT MAX(goods_id) + 1 FROM " . $ecs->table('goods'));
     $goods_sn = generate_goods_sn($max_id);
     include_once ROOT_PATH . 'includes/cls_image.php';
     $image = new cls_image($_CFG['bgcolor']);
     if (!empty($good_name)) {
         /* 检查图片:如果有错误,检查尺寸是否超过最大值;否则,检查文件类型 */
         if (isset($_FILES['goods_img']['error'])) {
             // 最大上传文件大小
             $php_maxsize = ini_get('upload_max_filesize');
             $htm_maxsize = '2M';
             // 商品图片
             if ($_FILES['goods_img']['error'] == 0) {
                 if (!$image->check_img_type($_FILES['goods_img']['type'])) {
                     sys_msg($_LANG['invalid_goods_img'], 1, array(), false);
                 }
             } elseif ($_FILES['goods_img']['error'] == 1) {
                 sys_msg(sprintf($_LANG['goods_img_too_big'], $php_maxsize), 1, array(), false);
示例#3
0
文件: lib_api.php 项目: Ryan007/mybb
/**
 * 添加商品
 *
 * @param array $post
 */
function API_AddGoods($post)
{
    //debug_text();
    global $_CFG;
    /* 加载后台操作类与函数 */
    require_once ROOT_PATH . ADMIN_PATH . '/includes/lib_main.php';
    require_once ROOT_PATH . ADMIN_PATH . '/includes/lib_goods.php';
    require_once ROOT_PATH . 'includes/cls_image.php';
    /* 检查权限 */
    admin_privilege('goods_manage');
    $image = new cls_image($GLOBALS['_CFG']['bgcolor']);
    $code = empty($_POST['extension_code']) ? '' : trim($_POST['extension_code']);
    /* 插入还是更新的标识 */
    $is_insert = $_POST['act'] == 'insert';
    /* 如果是更新,先检查该商品是否存在,不存在,则退出。 */
    if (!$is_insert) {
        $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('goods') . " WHERE goods_id = '{$_POST['goods_id']}' AND is_delete = 0";
        if ($GLOBALS['db']->getOne($sql) <= 0) {
            client_show_message(240);
            //货号重复
        }
    }
    /* 检查货号是否重复 */
    if ($_POST['goods_sn']) {
        $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('goods') . " WHERE goods_sn = '{$_POST['goods_sn']}' AND is_delete = 0 AND goods_id <> '{$_POST['goods_id']}'";
        if ($GLOBALS['db']->getOne($sql) > 0) {
            client_show_message(200);
            //货号重复
        }
    }
    /* 处理商品图片 */
    $goods_img = '';
    // 初始化商品图片
    $goods_thumb = '';
    // 初始化商品缩略图
    $original_img = '';
    // 初始化原始图片
    $old_original_img = '';
    // 初始化原始图片旧图
    $allow_file_type = array('jpg', 'jpeg', 'png', 'gif');
    if (!empty($_POST['goods_img']['Data'])) {
        if (!in_array($_POST['goods_img']['Type'], $allow_file_type)) {
            client_show_message(201);
        }
        if (client_check_image_size($_POST['goods_img']['Data']) === false) {
            client_show_message(202);
        }
        if ($_POST['goods_id'] > 0) {
            /* 删除原来的图片文件 */
            $sql = "SELECT goods_thumb, goods_img, original_img " . " FROM " . $GLOBALS['ecs']->table('goods') . " WHERE goods_id = '{$_POST['goods_id']}'";
            $row = $GLOBALS['db']->getRow($sql);
            if ($row['goods_thumb'] != '' && is_file(ROOT_PATH . '/' . $row['goods_thumb'])) {
                @unlink(ROOT_PATH . '/' . $row['goods_thumb']);
            }
            if ($row['goods_img'] != '' && is_file(ROOT_PATH . '/' . $row['goods_img'])) {
                @unlink(ROOT_PATH . '/' . $row['goods_img']);
            }
            if ($row['original_img'] != '' && is_file(ROOT_PATH . '/' . $row['original_img'])) {
                /* 先不处理,以防止程序中途出错停止 */
                //$old_original_img = $row['original_img']; //记录旧图路径
            }
        }
        $original_img = upload_image($_POST['goods_img']);
        // 原始图片
        if ($original_img === false) {
            client_show_message(210);
            // 写入商品图片出错
        }
        $goods_img = $original_img;
        // 商品图片
        /* 复制一份相册图片 */
        $img = $original_img;
        // 相册图片
        $pos = strpos(basename($img), '.');
        $newname = dirname($img) . '/' . random_filename() . substr(basename($img), $pos);
        if (!copy(ROOT_PATH . '/' . $img, ROOT_PATH . '/' . $newname)) {
            client_show_message(211);
            // 复制相册图片时出错
        }
        $img = $newname;
        $gallery_img = $img;
        $gallery_thumb = $img;
        /* 图片属性 */
        $img_property = $image->gd_version() > 0 ? getimagesize(ROOT_PATH . '/' . $goods_img) : array();
        // 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印
        if ($image->gd_version() > 0 && $image->check_img_function($img_property[2])) {
            // 如果设置大小不为0,缩放图片
            if ($GLOBALS['_CFG']['image_width'] != 0 || $GLOBALS['_CFG']['image_height'] != 0) {
                $goods_img = $image->make_thumb(ROOT_PATH . '/' . $goods_img, $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);
                if ($goods_img === false) {
                    client_show_message(212);
                }
            }
            // 加水印
            if (intval($GLOBALS['_CFG']['watermark_place']) > 0 && !empty($GLOBALS['_CFG']['watermark'])) {
                if ($image->add_watermark(ROOT_PATH . '/' . $goods_img, '', $GLOBALS['_CFG']['watermark'], $GLOBALS['_CFG']['watermark_place'], $GLOBALS['_CFG']['watermark_alpha']) === false) {
                    client_show_message(213);
                }
                $newname = dirname($img) . '/' . random_filename() . substr(basename($img), $pos);
                if (!copy(ROOT_PATH . '/' . $img, ROOT_PATH . '/' . $newname)) {
                    client_show_message(214);
                }
                $gallery_img = $newname;
                if ($image->add_watermark(ROOT_PATH . '/' . $gallery_img, '', $GLOBALS['_CFG']['watermark'], $GLOBALS['_CFG']['watermark_place'], $GLOBALS['_CFG']['watermark_alpha']) === false) {
                    client_show_message(213);
                }
            }
            // 相册缩略图
            if ($_CFG['thumb_width'] != 0 || $_CFG['thumb_height'] != 0) {
                $gallery_thumb = $image->make_thumb(ROOT_PATH . '/' . $img, $GLOBALS['_CFG']['thumb_width'], $GLOBALS['_CFG']['thumb_height']);
                if ($gallery_thumb === false) {
                    client_show_message(215);
                }
            }
        }
    }
    if (!empty($_POST['goods_thumb']['Data'])) {
        if (!in_array($_POST['goods_thumb']['Type'], $allow_file_type)) {
            client_show_message(203);
        }
        if (client_check_image_size($_POST['goods_thumb']['Data']) === false) {
            client_show_message(204);
        }
        $goods_thumb = upload_image($_POST['goods_thumb']);
        if ($goods_thumb === false) {
            client_show_message(217);
        }
    } else {
        // 未上传,如果自动选择生成,且上传了商品图片,生成所略图
        if (isset($_POST['auto_thumb']) && !empty($original_img)) {
            // 如果设置缩略图大小不为0,生成缩略图
            if ($_CFG['thumb_width'] != 0 || $_CFG['thumb_height'] != 0) {
                $goods_thumb = $image->make_thumb(ROOT_PATH . '/' . $original_img, $GLOBALS['_CFG']['thumb_width'], $GLOBALS['_CFG']['thumb_height']);
                if ($goods_thumb === false) {
                    client_show_message(218);
                }
            } else {
                $goods_thumb = $original_img;
            }
        }
    }
    /* 如果没有输入商品货号则自动生成一个商品货号 */
    if (empty($_POST['goods_sn'])) {
        $max_id = $is_insert ? $GLOBALS['db']->getOne("SELECT MAX(goods_id) + 1 FROM " . $GLOBALS['ecs']->table('goods')) : $_POST['goods_id'];
        $goods_sn = generate_goods_sn($max_id);
    } else {
        $goods_sn = $_POST['goods_sn'];
    }
    /* 处理商品数据 */
    $is_promote = isset($_POST['is_promote']) && $_POST['is_promote'] ? 1 : 0;
    $shop_price = !empty($_POST['shop_price']) ? $_POST['shop_price'] : 0;
    $market_price = !empty($_POST['market_price']) ? $_POST['market_price'] : $GLOBALS['_CFG']['market_price_rate'] * $shop_price;
    $promote_price = !empty($_POST['promote_price']) ? floatval($_POST['promote_price']) : 0;
    $promote_start_date = $is_promote && !empty($_POST['promote_start_date']) ? local_strtotime($_POST['promote_start_date']) : 0;
    $promote_end_date = $is_promote && !empty($_POST['promote_end_date']) ? local_strtotime($_POST['promote_end_date']) : 0;
    $goods_weight = !empty($_POST['goods_weight']) ? $_POST['goods_weight'] * $_POST['weight_unit'] : 0;
    $is_best = isset($_POST['is_best']) && $_POST['is_best'] ? 1 : 0;
    $is_new = isset($_POST['is_new']) && $_POST['is_new'] ? 1 : 0;
    $is_hot = isset($_POST['is_hot']) && $_POST['is_hot'] ? 1 : 0;
    $is_on_sale = isset($_POST['is_on_sale']) && $_POST['is_on_sale'] ? 1 : 0;
    $is_alone_sale = isset($_POST['is_alone_sale']) && $_POST['is_alone_sale'] ? 1 : 0;
    $goods_number = isset($_POST['goods_number']) ? $_POST['goods_number'] : 0;
    $warn_number = isset($_POST['warn_number']) ? $_POST['warn_number'] : 0;
    $goods_type = isset($_POST['goods_type']) ? $_POST['goods_type'] : 0;
    $goods_name_style = $_POST['goods_name_color'] . '+' . $_POST['goods_name_style'];
    $catgory_id = empty($_POST['cat_id']) ? '' : intval($_POST['cat_id']);
    $brand_id = empty($_POST['brand_id']) ? '' : intval($_POST['brand_id']);
    $new_brand_name = empty($_POST['new_brand_name']) ? '' : trim($_POST['new_brand_name']);
    $new_cat_name = empty($_POST['new_cat_name']) ? '' : trim($_POST['new_cat_name']);
    if ($catgory_id == '' && $new_cat_name != '') {
        if (cat_exists($new_cat_name, $_POST['parent_cat'])) {
            /* 同级别下不能有重复的分类名称 */
            client_show_message(219);
        }
    }
    if ($brand_id == '' && $new_brand_name != '') {
        if (brand_exists($new_brand_name)) {
            /* 同级别下不能有重复的品牌名称 */
            client_show_message(220);
        }
    }
    //处理快速添加分类
    if ($catgory_id == '' && $new_cat_name != '') {
        $sql = "INSERT INTO " . $GLOBALS['ecs']->table('category') . "(cat_name, parent_id, is_show)" . "VALUES ( '{$new_cat_name}', '{$_POST['parent_cat']}', 1)";
        $GLOBALS['db']->query($sql);
        $catgory_id = $GLOBALS['db']->insert_id();
    }
    //处理快速添加品牌
    if ($brand_id == '' && $new_brand_name != '') {
        $sql = "INSERT INTO " . $GLOBALS['ecs']->table('brand') . "(brand_name) " . "VALUES ('{$new_brand_name}')";
        $GLOBALS['db']->query($sql);
        $brand_id = $GLOBALS['db']->insert_id();
    }
    /* 处理商品详细描述 */
    $_POST['goods_desc'] = htmlspecialchars_decode($_POST['goods_desc']);
    /* 入库 */
    if ($is_insert) {
        if ($code == '') {
            $sql = "INSERT INTO " . $GLOBALS['ecs']->table('goods') . " (goods_name, goods_name_style, goods_sn, " . "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " . "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, keywords, goods_brief, " . "seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, " . "is_on_sale, is_alone_sale, goods_desc, add_time, last_update, goods_type)" . "VALUES ('{$_POST['goods_name']}', '{$goods_name_style}', '{$goods_sn}', '{$catgory_id}', " . "'{$brand_id}', '{$shop_price}', '{$market_price}', '{$is_promote}','{$promote_price}', " . "'{$promote_start_date}', '{$promote_end_date}', '{$goods_img}', '{$goods_thumb}', '{$original_img}', " . "'{$_POST['keywords']}', '{$_POST['goods_brief']}', '{$_POST['seller_note']}', '{$goods_weight}', '{$goods_number}'," . " '{$warn_number}', '{$_POST['integral']}', '" . intval($_POST['give_integral']) . "', '{$is_best}', '{$is_new}', '{$is_hot}', '{$is_on_sale}', '{$is_alone_sale}', " . " '{$_POST['goods_desc']}', '" . gmtime() . "', '" . gmtime() . "', '{$goods_type}')";
        } else {
            $sql = "INSERT INTO " . $GLOBALS['ecs']->table('goods') . " (goods_name, goods_name_style, goods_sn, " . "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " . "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, keywords, goods_brief, " . "seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, is_real, " . "is_on_sale, is_alone_sale, goods_desc, add_time, last_update, goods_type, extension_code)" . "VALUES ('{$_POST['goods_name']}', '{$goods_name_style}', '{$goods_sn}', '{$catgory_id}', " . "'{$brand_id}', '{$shop_price}', '{$market_price}', '{$is_promote}', '{$promote_price}', " . "'{$promote_start_date}', '{$promote_end_date}', '{$goods_img}', '{$goods_thumb}', '{$original_img}', " . "'{$_POST['keywords']}', '{$_POST['goods_brief']}', '{$_POST['seller_note']}', '{$goods_weight}', '{$goods_number}'," . " '{$warn_number}', '{$_POST['integral']}', '" . intval($_POST['give_integral']) . "', '{$is_best}', '{$is_new}', '{$is_hot}', 0, '{$is_on_sale}', '{$is_alone_sale}', " . " '{$_POST['goods_desc']}', '" . gmtime() . "', '" . gmtime() . "', '{$goods_type}', '{$code}')";
        }
    } else {
        /* 将上传的新图片图片名改为原图片 */
        if ($goods_img && $row['goods_img']) {
            if (is_file(ROOT_PATH . $row['goods_img'])) {
                @unlink(ROOT_PATH . $row['goods_img']);
            }
            @rename(ROOT_PATH . $goods_img, ROOT_PATH . $row['goods_img']);
            if (is_file(ROOT_PATH . $row['original_img'])) {
                @unlink(ROOT_PATH . $row['original_img']);
            }
            @rename(ROOT_PATH . $original_img, ROOT_PATH . $row['original_img']);
        }
        if ($goods_thumb && $row['goods_thumb']) {
            if (is_file(ROOT_PATH . $row['goods_thumb'])) {
                @unlink(ROOT_PATH . $row['goods_thumb']);
            }
            @rename(ROOT_PATH . $goods_thumb, ROOT_PATH . $row['goods_thumb']);
        }
        $sql = "UPDATE " . $GLOBALS['ecs']->table('goods') . " SET " . "goods_name = '{$_POST['goods_name']}', " . "goods_name_style = '{$goods_name_style}', " . "goods_sn = '{$goods_sn}', " . "cat_id = '{$catgory_id}', " . "brand_id = '{$brand_id}', " . "shop_price = '{$shop_price}', " . "market_price = '{$market_price}', " . "is_promote = '{$is_promote}', " . "promote_price = '{$promote_price}', " . "promote_start_date = '{$promote_start_date}', " . "promote_end_date = '{$promote_end_date}', ";
        /* 如果以前没上传过图片,需要更新数据库 */
        if ($goods_img && empty($row['goods_img'])) {
            $sql .= "goods_img = '{$goods_img}', original_img = '{$original_img}', ";
        }
        if (!empty($goods_thumb)) {
            $sql .= "goods_thumb = '{$goods_thumb}', ";
        }
        if ($code != '') {
            $sql .= "is_real=0, extension_code='{$code}', ";
        }
        $sql .= "keywords = '{$_POST['keywords']}', " . "goods_brief = '{$_POST['goods_brief']}', " . "seller_note = '{$_POST['seller_note']}', " . "goods_weight = '{$goods_weight}'," . "goods_number = '{$goods_number}', " . "warn_number = '{$warn_number}', " . "integral = '{$_POST['integral']}', " . "give_integral = '" . $_POST['give_integral'] . "', " . "is_best = '{$is_best}', " . "is_new = '{$is_new}', " . "is_hot = '{$is_hot}', " . "is_on_sale = '{$is_on_sale}', " . "is_alone_sale = '{$is_alone_sale}', " . "goods_desc = '{$_POST['goods_desc']}', " . "last_update = '" . gmtime() . "', " . "goods_type = '{$goods_type}' " . "WHERE goods_id = '{$_POST['goods_id']}' LIMIT 1";
    }
    $GLOBALS['db']->query($sql);
    /* 商品编号 */
    $goods_id = $is_insert ? $GLOBALS['db']->insert_id() : $_POST['goods_id'];
    /* 记录日志 */
    if ($is_insert) {
        admin_log($_POST['goods_name'], 'add', 'goods');
    } else {
        admin_log($_POST['goods_name'], 'edit', 'goods');
    }
    /* 处理属性 */
    if (isset($_POST['attr_id_list']) && isset($_POST['attr_value_list'])) {
        // 取得原有的属性值
        $goods_attr_list = array();
        $keywords_arr = explode(" ", $_POST['keywords']);
        $keywords_arr = array_flip($keywords_arr);
        if (isset($keywords_arr[''])) {
            unset($keywords_arr['']);
        }
        $sql = "SELECT attr_id, attr_index FROM " . $GLOBALS['ecs']->table('attribute') . " WHERE cat_id = '{$goods_type}' ";
        $attr_res = $GLOBALS['db']->query($sql);
        $attr_list = array();
        while ($row = $GLOBALS['db']->fetchRow($attr_res)) {
            $attr_list[$row['attr_id']] = $row['attr_index'];
        }
        $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('goods_attr') . " WHERE goods_id = '{$goods_id}' ";
        $res = $GLOBALS['db']->query($sql);
        while ($row = $GLOBALS['db']->fetchRow($res)) {
            $goods_attr_list[$row['attr_id']][$row['attr_value']] = array('sign' => 'delete', 'goods_attr_id' => $row['goods_attr_id']);
        }
        // 循环现有的,根据原有的做相应处理
        foreach ($_POST['attr_id_list'] as $key => $attr_id) {
            $attr_value = $_POST['attr_value_list'][$key];
            $attr_price = $_POST['attr_price_list'][$key];
            if (!empty($attr_value)) {
                if (isset($goods_attr_list[$attr_id][$attr_value])) {
                    // 如果原来有,标记为更新
                    $goods_attr_list[$attr_id][$attr_value]['sign'] = 'update';
                    $goods_attr_list[$attr_id][$attr_value]['attr_price'] = $attr_price;
                } else {
                    // 如果原来没有,标记为新增
                    $goods_attr_list[$attr_id][$attr_value]['sign'] = 'insert';
                    $goods_attr_list[$attr_id][$attr_value]['attr_price'] = $attr_price;
                }
                $val_arr = explode(' ', $attr_value);
                foreach ($val_arr as $k => $v) {
                    if (!isset($keywords_arr[$v]) && $attr_list[$attr_id] == "1") {
                        $keywords_arr[$v] = $v;
                    }
                }
            }
        }
        $keywords = join(' ', array_flip($keywords_arr));
        $sql = "UPDATE " . $GLOBALS['ecs']->table('goods') . " SET keywords = '{$keywords}' WHERE goods_id = '{$goods_id}' LIMIT 1";
        $GLOBALS['db']->query($sql);
        /* 插入、更新、删除数据 */
        foreach ($goods_attr_list as $attr_id => $attr_value_list) {
            foreach ($attr_value_list as $attr_value => $info) {
                if ($info['sign'] == 'insert') {
                    $sql = "INSERT INTO " . $GLOBALS['ecs']->table('goods_attr') . " (attr_id, goods_id, attr_value, attr_price)" . "VALUES ('{$attr_id}', '{$goods_id}', '{$attr_value}', '{$info['attr_price']}')";
                } elseif ($info['sign'] == 'update') {
                    $sql = "UPDATE " . $GLOBALS['ecs']->table('goods_attr') . " SET attr_price = '{$info['attr_price']}' WHERE goods_attr_id = '{$info['goods_attr_id']}' LIMIT 1";
                } else {
                    $sql = "DELETE FROM " . $GLOBALS['ecs']->table('goods_attr') . " WHERE goods_attr_id = '{$info['goods_attr_id']}' LIMIT 1";
                }
                $GLOBALS['db']->query($sql);
            }
        }
    }
    /* 处理会员价格 */
    if (isset($_POST['user_rank']) && isset($_POST['user_price'])) {
        handle_member_price($goods_id, $_POST['user_rank'], $_POST['user_price']);
    }
    /* 处理扩展分类 */
    if (isset($_POST['other_cat'])) {
        handle_other_cat($goods_id, array_unique($_POST['other_cat']));
    }
    if ($is_insert) {
        /* 处理关联商品 */
        handle_link_goods($goods_id);
        /* 处理组合商品 */
        handle_group_goods($goods_id);
        /* 处理关联文章 */
        handle_goods_article($goods_id);
    }
    /* 如果有图片,把商品图片加入图片相册 */
    if (isset($img)) {
        $sql = "INSERT INTO " . $GLOBALS['ecs']->table('goods_gallery') . " (goods_id, img_url, img_desc, thumb_url, img_original) " . "VALUES ('{$goods_id}', '{$gallery_img}', '', '{$gallery_thumb}', '{$img}')";
        $GLOBALS['db']->query($sql);
    }
    /* 处理相册图片
       handle_gallery_image($goods_id, $_FILES['img_url'], $_POST['img_desc']);
       */
    if (!empty($_POST['img_url'])) {
        foreach ($_POST['img_url'] as $key => $img_url) {
            if (!in_array($img_url['Type'], $allow_file_type)) {
                client_show_message(205);
            }
            if (client_check_image_size($img_url['Data']) === false) {
                client_show_message(206);
            }
            $img_original = upload_image($img_url);
            if ($img_original === false) {
                continue;
            }
            // 暂停生成缩略图
            /*
            $thumb_url = $image->make_thumb(ROOT_PATH . $img_original, $GLOBALS['_CFG']['thumb_width'],  $GLOBALS['_CFG']['thumb_height']);
            $thumb_url = is_string($thumb_url) ? $thumb_url : '';
            
            $img_url = $img_original;
            
            // 如果服务器支持GD 则添加水印
            if (gd_version() > 0)
            {
                $pos        = strpos(basename($img_original), '.');
                $newname    = dirname($img_original) . '/' . random_filename() . substr(basename($img_original), $pos);
                copy(ROOT_PATH . '/' . $img_original, ROOT_PATH . '/' . $newname);
                $img_url    = $newname;
            
                $image->add_watermark(ROOT_PATH . $img_url,'',$GLOBALS['_CFG']['watermark'], $GLOBALS['_CFG']['watermark_place'], $GLOBALS['_CFG']['watermark_alpha']);
            }
            */
            $img_url = $thumb_url = $img_original;
            $img_desc = $_POST['img_desc'][$key];
            $sql = "INSERT INTO " . $GLOBALS['ecs']->table('goods_gallery') . " (goods_id, img_url, img_desc, thumb_url, img_original) " . "VALUES ('{$goods_id}', '{$img_url}', '{$img_desc}', '{$thumb_url}', '{$img_original}')";
            $GLOBALS['db']->query($sql);
        }
    }
    /* 编辑时处理相册图片描述 */
    if (!$is_insert && isset($_POST['old_img_desc'])) {
        foreach ($_POST['old_img_desc'] as $img_id => $img_desc) {
            $sql = "UPDATE " . $GLOBALS['ecs']->table('goods_gallery') . " SET img_desc = '{$img_desc}' WHERE img_id = '{$img_id}' LIMIT 1";
            $GLOBALS['db']->query($sql);
        }
    }
    /* 清空缓存 */
    clear_cache_files();
    /* 提示页面 */
    client_show_message(0, true, '', $goods_id);
}
示例#4
0
                 $field_arr['brand_id'] = $brand_id;
             }
         } elseif (in_array($field, array('goods_number', 'warn_number', 'integral'))) {
             $field_arr[$field] = intval($field_value);
         } elseif (in_array($field, array('goods_weight', 'market_price', 'shop_price'))) {
             $field_arr[$field] = floatval($field_value);
         } elseif (in_array($field, array('is_best', 'is_new', 'is_hot', 'is_on_sale', 'is_alone_sale', 'is_real'))) {
             $field_arr[$field] = intval($field_value) > 0 ? 1 : 0;
         }
     }
     if ($field == 'is_real') {
         $field_arr[$field] = intval($_POST['goods_class'][$key]);
     }
 }
 if (empty($field_arr['goods_sn'])) {
     $field_arr['goods_sn'] = generate_goods_sn($max_id);
 }
 /* 如果是虚拟商品,库存为0 */
 if ($field_arr['is_real'] == 0) {
     $field_arr['goods_number'] = 0;
 }
 $db->autoExecute($ecs->table('goods'), $field_arr, 'INSERT');
 $max_id = $db->insert_id() + 1;
 /* 如果图片不为空,修改商品图片,插入商品相册*/
 if (!empty($field_arr['original_img']) || !empty($field_arr['goods_img']) || !empty($field_arr['goods_thumb'])) {
     $goods_img = '';
     $goods_thumb = '';
     $original_img = '';
     $goods_gallery = array();
     $goods_gallery['goods_id'] = $db->insert_id();
     if (!empty($field_arr['original_img'])) {
示例#5
0
文件: tm_goods.php 项目: dlpc/ecshop
    /* 排序标记 */
    $sort_flag = sort_flag($tm_goods_list['filter']);
    $smarty->assign($sort_flag['tag'], $sort_flag['img']);
    make_json_result($smarty->fetch('tm_goods_list.htm'), '', array('filter' => $tm_goods_list['filter'], 'page_count' => $tm_goods_list['page_count']));
} elseif ($_REQUEST['act'] == 'batch') {
    if (!empty($_POST['checkboxes']) && !empty($_POST['type'])) {
        foreach ($_POST['checkboxes'] as $k => $v) {
            $Arr = array();
            $ArrImg = array();
            $tm_res = $db->getRow("select product_title,product_price,price,parameter,colour_sort,image,detail_imgs,tmall_product_id from " . $ecs->table('tm_goods') . "where id = {$v} AND and_add = 0");
            if (!$tm_res) {
                continue;
            }
            //商品表
            $Arr['cat_id'] = $_POST['type'];
            $goods_sn = generate_goods_sn($db->getOne("SELECT MAX(goods_id) + 1 FROM " . $ecs->table('goods')));
            $Arr['goods_sn'] = $goods_sn;
            $Arr['goods_name'] = $tm_res['product_title'];
            $Arr['goods_number'] = '9999';
            $Arr['market_price'] = $tm_res['product_price'];
            $Arr['shop_price'] = $tm_res['price'];
            $Arr['keywords'] = $tm_res['product_title'];
            //商品详情图片
            if ($tm_res['detail_imgs']) {
                $Arr['goods_desc'] = tm_goods_desc(unserialize($tm_res['detail_imgs']));
            }
            //商品图片
            $new_goods_img = tm_goods_image(unserialize($tm_res['image']));
            $Arr['goods_thumb'] = $new_goods_img[0]['goods_thumb'];
            $Arr['goods_img'] = $new_goods_img[0]['goods_img'];
            $Arr['original_img'] = $new_goods_img[0]['goods_img'];