ecshop 后台添加 成本价 利润

时间:2023-03-08 16:16:30

ecshop后台admin中的商品操作php文件,goods.php替换为下面的代码,

还要在数据库商品本店售价后门添加  cost  字段 为 商品成本价

ecs_goods表中添加  cost  字段

将字段添加到 goods_id  之后

ALTER TABLE `ecs_goods` ADD `cost` decimal(10,2) NOT NULL AFTER `shop_price`;  //添加 成本价 字段
ALTER TABLE `ecs_goods` ADD `profit` decimal(10,2) NOT NULL AFTER `cost`;  //添加 利润 字段

在  后台 商品列表模板文件( admin/templates/goods_list.htm )加上  成本价 列表

在  后台 商品列表模板文件( admin/templates/goods_list.htm )加上  利润 列表

下面代码主要为:商品入库时将商品原价一并写入数据库

还有就是  后台  模板文件( admin/templates/goods_info.htm )  记得添加成本价的  文本框

aaarticlea/png;base64,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" alt="" />

admin/includes/lib_goods.php 修改为下面代码    【主要为:(列表页获取商品成本价)】

【 911 ~ 916 行 SQL 修改】

       $sql = "SELECT goods_id, goods_name, goods_type, goods_sn, shop_price, cost, profit is_on_sale, is_best, is_new, is_hot, sort_order, goods_number, integral, " .
" (promote_price > 0 AND promote_start_date <= '$today' AND promote_end_date >= '$today') AS is_promote ".
" FROM " . $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" .
" ORDER BY $filter[sort_by] $filter[sort_order] ".
" LIMIT " . $filter['start'] . ",$filter[page_size]";

admin/goods.php 全部替换为下面的代码    【主要为:(添加商品时,商品入库)】

<?php

/**
* ECSHOP 商品管理程序
* ============================================================================
* * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。
* 网站地址: http://www.ecshop.com;
* ----------------------------------------------------------------------------
* 这不是一个*软件!您只能在不用于商业目的的前提下对程序代码进行修改和
* 使用;不允许对程序代码以任何形式任何目的的再发布。
* ============================================================================
* $Author: liubo $
* $Id: goods.php 17217 2011-01-19 06:29:08Z liubo $
*/ define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php');
require_once(ROOT_PATH . '/' . ADMIN_PATH . '/includes/lib_goods.php');
include_once(ROOT_PATH . '/includes/cls_image.php');
$image = new cls_image($_CFG['bgcolor']);
$exc = new exchange($ecs->table('goods'), $db, 'goods_id', 'goods_name'); /*------------------------------------------------------ */
//-- 商品列表,商品回收站
/*------------------------------------------------------ */ if ($_REQUEST['act'] == 'list' || $_REQUEST['act'] == 'trash')
{
admin_priv('goods_manage'); $cat_id = empty($_REQUEST['cat_id']) ? 0 : intval($_REQUEST['cat_id']);
$code = empty($_REQUEST['extension_code']) ? '' : trim($_REQUEST['extension_code']);
$suppliers_id = isset($_REQUEST['suppliers_id']) ? (empty($_REQUEST['suppliers_id']) ? '' : trim($_REQUEST['suppliers_id'])) : '';
$is_on_sale = isset($_REQUEST['is_on_sale']) ? ((empty($_REQUEST['is_on_sale']) && $_REQUEST['is_on_sale'] === 0) ? '' : trim($_REQUEST['is_on_sale'])) : ''; $handler_list = array();
$handler_list['virtual_card'][] = array('url'=>'virtual_card.php?act=card', 'title'=>$_LANG['card'], 'img'=>'icon_send_bonus.gif');
$handler_list['virtual_card'][] = array('url'=>'virtual_card.php?act=replenish', 'title'=>$_LANG['replenish'], 'img'=>'icon_add.gif');
$handler_list['virtual_card'][] = array('url'=>'virtual_card.php?act=batch_card_add', 'title'=>$_LANG['batch_card_add'], 'img'=>'icon_output.gif'); if ($_REQUEST['act'] == 'list' && isset($handler_list[$code]))
{
$smarty->assign('add_handler', $handler_list[$code]);
} /* 供货商名 */
$suppliers_list_name = suppliers_list_name();
$suppliers_exists = 1;
if (empty($suppliers_list_name))
{
$suppliers_exists = 0;
}
$smarty->assign('is_on_sale', $is_on_sale);
$smarty->assign('suppliers_id', $suppliers_id);
$smarty->assign('suppliers_exists', $suppliers_exists);
$smarty->assign('suppliers_list_name', $suppliers_list_name);
unset($suppliers_list_name, $suppliers_exists); /* 模板赋值 */
$goods_ur = array('' => $_LANG['01_goods_list'], 'virtual_card'=>$_LANG['50_virtual_card_list']);
$ur_here = ($_REQUEST['act'] == 'list') ? $goods_ur[$code] : $_LANG['11_goods_trash'];
$smarty->assign('ur_here', $ur_here); $action_link = ($_REQUEST['act'] == 'list') ? add_link($code) : array('href' => 'goods.php?act=list', 'text' => $_LANG['01_goods_list']);
$smarty->assign('action_link', $action_link);
$smarty->assign('code', $code);
$smarty->assign('cat_list', cat_list(0, $cat_id));
$smarty->assign('brand_list', get_brand_list());
$smarty->assign('intro_list', get_intro_list());
$smarty->assign('lang', $_LANG);
$smarty->assign('list_type', $_REQUEST['act'] == 'list' ? 'goods' : 'trash');
$smarty->assign('use_storage', empty($_CFG['use_storage']) ? 0 : 1); $suppliers_list = suppliers_list_info(' is_check = 1 ');
$suppliers_list_count = count($suppliers_list);
$smarty->assign('suppliers_list', ($suppliers_list_count == 0 ? 0 : $suppliers_list)); // 取供货商列表 $goods_list = goods_list($_REQUEST['act'] == 'list' ? 0 : 1, ($_REQUEST['act'] == 'list') ? (($code == '') ? 1 : 0) : -1);
$smarty->assign('goods_list', $goods_list['goods']);
$smarty->assign('filter', $goods_list['filter']);
$smarty->assign('record_count', $goods_list['record_count']);
$smarty->assign('page_count', $goods_list['page_count']);
$smarty->assign('full_page', 1); /* 排序标记 */
$sort_flag = sort_flag($goods_list['filter']);
$smarty->assign($sort_flag['tag'], $sort_flag['img']); /* 获取商品类型存在规格的类型 */
$specifications = get_goods_type_specifications();
$smarty->assign('specifications', $specifications); /* 显示商品列表页面 */
assign_query_info();
$htm_file = ($_REQUEST['act'] == 'list') ?
'goods_list.htm' : (($_REQUEST['act'] == 'trash') ? 'goods_trash.htm' : 'group_list.htm');
$smarty->display($htm_file);
} /*------------------------------------------------------ */
//-- 添加新商品 编辑商品
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'add' || $_REQUEST['act'] == 'edit' || $_REQUEST['act'] == 'copy')
{
include_once(ROOT_PATH . 'includes/fckeditor/fckeditor.php'); // 包含 html editor 类文件 $is_add = $_REQUEST['act'] == 'add'; // 添加还是编辑的标识
$is_copy = $_REQUEST['act'] == 'copy'; //是否复制
$code = empty($_REQUEST['extension_code']) ? '' : trim($_REQUEST['extension_code']);
$code=$code=='virual_card' ? 'virual_card': '';
if ($code == 'virual_card')
{
admin_priv('virualcard'); // 检查权限
}
else
{
admin_priv('goods_manage'); // 检查权限
} /* 供货商名 */
$suppliers_list_name = suppliers_list_name();
$suppliers_exists = 1;
if (empty($suppliers_list_name))
{
$suppliers_exists = 0;
}
$smarty->assign('suppliers_exists', $suppliers_exists);
$smarty->assign('suppliers_list_name', $suppliers_list_name);
unset($suppliers_list_name, $suppliers_exists); /* 如果是安全模式,检查目录是否存在 */
if (ini_get('safe_mode') == 1 && (!file_exists('../' . IMAGE_DIR . '/'.date('Ym')) || !is_dir('../' . IMAGE_DIR . '/'.date('Ym'))))
{
if (@!mkdir('../' . IMAGE_DIR . '/'.date('Ym'), 0777))
{
$warning = sprintf($_LANG['safe_mode_warning'], '../' . IMAGE_DIR . '/'.date('Ym'));
$smarty->assign('warning', $warning);
}
} /* 如果目录存在但不可写,提示用户 */
elseif (file_exists('../' . IMAGE_DIR . '/'.date('Ym')) && file_mode_info('../' . IMAGE_DIR . '/'.date('Ym')) < 2)
{
$warning = sprintf($_LANG['not_writable_warning'], '../' . IMAGE_DIR . '/'.date('Ym'));
$smarty->assign('warning', $warning);
} /* 取得商品信息 */
if ($is_add)
{
/* 默认值 */
$last_choose = array(0, 0);
if (!empty($_COOKIE['ECSCP']['last_choose']))
{
$last_choose = explode('|', $_COOKIE['ECSCP']['last_choose']);
}
$goods = array(
'goods_id' => 0,
'goods_desc' => '',
'cat_id' => $last_choose[0],
'brand_id' => $last_choose[1],
'is_on_sale' => '1',
'is_alone_sale' => '1',
'is_shipping' => '0',
'other_cat' => array(), // 扩展分类
'goods_type' => 0, // 商品类型
'shop_price' => 0,
'cost' => 0,
'profit' => 0,
'promote_price' => 0,
'market_price' => 0,
'integral' => 0,
'goods_number' => $_CFG['default_storage'],
'warn_number' => 1,
'promote_start_date' => local_date('Y-m-d'),
'promote_end_date' => local_date('Y-m-d', local_strtotime('+1 month')),
'goods_weight' => 0,
'give_integral' => -1,
'rank_integral' => -1
); if ($code != '')
{
$goods['goods_number'] = 0;
} /* 关联商品 */
$link_goods_list = array();
$sql = "DELETE FROM " . $ecs->table('link_goods') .
" WHERE (goods_id = 0 OR link_goods_id = 0)" .
" AND admin_id = '$_SESSION[admin_id]'";
$db->query($sql); /* 组合商品 */
$group_goods_list = array();
$sql = "DELETE FROM " . $ecs->table('group_goods') .
" WHERE parent_id = 0 AND admin_id = '$_SESSION[admin_id]'";
$db->query($sql); /* 关联文章 */
$goods_article_list = array();
$sql = "DELETE FROM " . $ecs->table('goods_article') .
" WHERE goods_id = 0 AND admin_id = '$_SESSION[admin_id]'";
$db->query($sql); /* 属性 */
$sql = "DELETE FROM " . $ecs->table('goods_attr') . " WHERE goods_id = 0";
$db->query($sql); /* 图片列表 */
$img_list = array();
}
else
{
/* 商品信息 */
$sql = "SELECT * FROM " . $ecs->table('goods') . " WHERE goods_id = '$_REQUEST[goods_id]'";
$goods = $db->getRow($sql); /* 虚拟卡商品复制时, 将其库存置为0*/
if ($is_copy && $code != '')
{
$goods['goods_number'] = 0;
} if (empty($goods) === true)
{
/* 默认值 */
$goods = array(
'goods_id' => 0,
'goods_desc' => '',
'cat_id' => 0,
'is_on_sale' => '1',
'is_alone_sale' => '1',
'is_shipping' => '0',
'other_cat' => array(), // 扩展分类
'goods_type' => 0, // 商品类型
'shop_price' => 0,
'cost' => 0,
'profit' => 0,
'promote_price' => 0,
'market_price' => 0,
'integral' => 0,
'goods_number' => 1,
'warn_number' => 1,
'promote_start_date' => local_date('Y-m-d'),
'promote_end_date' => local_date('Y-m-d', gmstr2tome('+1 month')),
'goods_weight' => 0,
'give_integral' => -1,
'rank_integral' => -1
);
} /* 获取商品类型存在规格的类型 */
$specifications = get_goods_type_specifications();
$goods['specifications_id'] = $specifications[$goods['goods_type']];
$_attribute = get_goods_specifications_list($goods['goods_id']);
$goods['_attribute'] = empty($_attribute) ? '' : 1; /* 根据商品重量的单位重新计算 */
if ($goods['goods_weight'] > 0)
{
$goods['goods_weight_by_unit'] = ($goods['goods_weight'] >= 1) ? $goods['goods_weight'] : ($goods['goods_weight'] / 0.001);
} if (!empty($goods['goods_brief']))
{
//$goods['goods_brief'] = trim_right($goods['goods_brief']);
$goods['goods_brief'] = $goods['goods_brief'];
}
if (!empty($goods['keywords']))
{
//$goods['keywords'] = trim_right($goods['keywords']);
$goods['keywords'] = $goods['keywords'];
} /* 如果不是促销,处理促销日期 */
if (isset($goods['is_promote']) && $goods['is_promote'] == '0')
{
unset($goods['promote_start_date']);
unset($goods['promote_end_date']);
}
else
{
$goods['promote_start_date'] = local_date('Y-m-d', $goods['promote_start_date']);
$goods['promote_end_date'] = local_date('Y-m-d', $goods['promote_end_date']);
} /* 如果是复制商品,处理 */
if ($_REQUEST['act'] == 'copy')
{
// 商品信息
$goods['goods_id'] = 0;
$goods['goods_sn'] = '';
$goods['goods_name'] = '';
$goods['goods_img'] = '';
$goods['goods_thumb'] = '';
$goods['original_img'] = ''; // 扩展分类不变 // 关联商品
$sql = "DELETE FROM " . $ecs->table('link_goods') .
" WHERE (goods_id = 0 OR link_goods_id = 0)" .
" AND admin_id = '$_SESSION[admin_id]'";
$db->query($sql); $sql = "SELECT '0' AS goods_id, link_goods_id, is_double, '$_SESSION[admin_id]' AS admin_id" .
" FROM " . $ecs->table('link_goods') .
" WHERE goods_id = '$_REQUEST[goods_id]' ";
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$db->autoExecute($ecs->table('link_goods'), $row, 'INSERT');
} $sql = "SELECT goods_id, '0' AS link_goods_id, is_double, '$_SESSION[admin_id]' AS admin_id" .
" FROM " . $ecs->table('link_goods') .
" WHERE link_goods_id = '$_REQUEST[goods_id]' ";
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$db->autoExecute($ecs->table('link_goods'), $row, 'INSERT');
} // 配件
$sql = "DELETE FROM " . $ecs->table('group_goods') .
" WHERE parent_id = 0 AND admin_id = '$_SESSION[admin_id]'";
$db->query($sql); $sql = "SELECT 0 AS parent_id, goods_id, goods_price, '$_SESSION[admin_id]' AS admin_id " .
"FROM " . $ecs->table('group_goods') .
" WHERE parent_id = '$_REQUEST[goods_id]' ";
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$db->autoExecute($ecs->table('group_goods'), $row, 'INSERT');
} // 关联文章
$sql = "DELETE FROM " . $ecs->table('goods_article') .
" WHERE goods_id = 0 AND admin_id = '$_SESSION[admin_id]'";
$db->query($sql); $sql = "SELECT 0 AS goods_id, article_id, '$_SESSION[admin_id]' AS admin_id " .
"FROM " . $ecs->table('goods_article') .
" WHERE goods_id = '$_REQUEST[goods_id]' ";
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$db->autoExecute($ecs->table('goods_article'), $row, 'INSERT');
} // 图片不变 // 商品属性
$sql = "DELETE FROM " . $ecs->table('goods_attr') . " WHERE goods_id = 0";
$db->query($sql); $sql = "SELECT 0 AS goods_id, attr_id, attr_value, attr_price " .
"FROM " . $ecs->table('goods_attr') .
" WHERE goods_id = '$_REQUEST[goods_id]' ";
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$db->autoExecute($ecs->table('goods_attr'), addslashes_deep($row), 'INSERT');
}
} // 扩展分类
$other_cat_list = array();
$sql = "SELECT cat_id FROM " . $ecs->table('goods_cat') . " WHERE goods_id = '$_REQUEST[goods_id]'";
$goods['other_cat'] = $db->getCol($sql);
foreach ($goods['other_cat'] AS $cat_id)
{
$other_cat_list[$cat_id] = cat_list(0, $cat_id);
}
$smarty->assign('other_cat_list', $other_cat_list); $link_goods_list = get_linked_goods($goods['goods_id']); // 关联商品
$group_goods_list = get_group_goods($goods['goods_id']); // 配件
$goods_article_list = get_goods_articles($goods['goods_id']); // 关联文章 /* 商品图片路径 */
if (isset($GLOBALS['shop_id']) && ($GLOBALS['shop_id'] > 10) && !empty($goods['original_img']))
{
$goods['goods_img'] = get_image_path($_REQUEST['goods_id'], $goods['goods_img']);
$goods['goods_thumb'] = get_image_path($_REQUEST['goods_id'], $goods['goods_thumb'], true);
} /* 图片列表 */
$sql = "SELECT * FROM " . $ecs->table('goods_gallery') . " WHERE goods_id = '$goods[goods_id]'";
$img_list = $db->getAll($sql); /* 格式化相册图片路径 */
if (isset($GLOBALS['shop_id']) && ($GLOBALS['shop_id'] > 0))
{
foreach ($img_list as $key => $gallery_img)
{
$gallery_img[$key]['img_url'] = get_image_path($gallery_img['goods_id'], $gallery_img['img_original'], false, 'gallery');
$gallery_img[$key]['thumb_url'] = get_image_path($gallery_img['goods_id'], $gallery_img['img_original'], true, 'gallery');
}
}
else
{
foreach ($img_list as $key => $gallery_img)
{
$gallery_img[$key]['thumb_url'] = '../' . (empty($gallery_img['thumb_url']) ? $gallery_img['img_url'] : $gallery_img['thumb_url']);
}
}
} /* 拆分商品名称样式 */
$goods_name_style = explode('+', empty($goods['goods_name_style']) ? '+' : $goods['goods_name_style']); /* 创建 html editor */
create_html_editor('goods_desc', $goods['goods_desc']); /* 模板赋值 */
$smarty->assign('code', $code);
$smarty->assign('ur_here', $is_add ? (empty($code) ? $_LANG['02_goods_add'] : $_LANG['51_virtual_card_add']) : ($_REQUEST['act'] == 'edit' ? $_LANG['edit_goods'] : $_LANG['copy_goods']));
$smarty->assign('action_link', list_link($is_add, $code));
$smarty->assign('goods', $goods);
$smarty->assign('goods_name_color', $goods_name_style[0]);
$smarty->assign('goods_name_style', $goods_name_style[1]);
$smarty->assign('cat_list', cat_list(0, $goods['cat_id']));
$smarty->assign('brand_list', get_brand_list());
$smarty->assign('unit_list', get_unit_list());
$smarty->assign('user_rank_list', get_user_rank_list());
$smarty->assign('weight_unit', $is_add ? '1' : ($goods['goods_weight'] >= 1 ? '1' : '0.001'));
$smarty->assign('cfg', $_CFG);
$smarty->assign('form_act', $is_add ? 'insert' : ($_REQUEST['act'] == 'edit' ? 'update' : 'insert'));
if ($_REQUEST['act'] == 'add' || $_REQUEST['act'] == 'edit')
{
$smarty->assign('is_add', true);
}
if(!$is_add)
{
$smarty->assign('member_price_list', get_member_price_list($_REQUEST['goods_id']));
}
$smarty->assign('link_goods_list', $link_goods_list);
$smarty->assign('group_goods_list', $group_goods_list);
$smarty->assign('goods_article_list', $goods_article_list);
$smarty->assign('img_list', $img_list);
$smarty->assign('goods_type_list', goods_type_list($goods['goods_type']));
$smarty->assign('gd', gd_version());
$smarty->assign('thumb_width', $_CFG['thumb_width']);
$smarty->assign('thumb_height', $_CFG['thumb_height']);
$smarty->assign('goods_attr_html', build_attr_html($goods['goods_type'], $goods['goods_id']));
$volume_price_list = '';
if(isset($_REQUEST['goods_id']))
{
$volume_price_list = get_volume_price_list($_REQUEST['goods_id']);
}
if (empty($volume_price_list))
{
$volume_price_list = array('0'=>array('number'=>'','price'=>''));
}
$smarty->assign('volume_price_list', $volume_price_list);
/* 显示商品信息页面 */
assign_query_info();
$smarty->display('goods_info.htm');
} /*------------------------------------------------------ */
//-- 插入商品 更新商品
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'insert' || $_REQUEST['act'] == 'update')
{
$code = empty($_REQUEST['extension_code']) ? '' : trim($_REQUEST['extension_code']); /* 是否处理缩略图 */
$proc_thumb = (isset($GLOBALS['shop_id']) && $GLOBALS['shop_id'] > 0)? false : true;
if ($code == 'virtual_card')
{
admin_priv('virualcard'); // 检查权限
}
else
{
admin_priv('goods_manage'); // 检查权限
} /* 检查货号是否重复 */
if ($_POST['goods_sn'])
{
$sql = "SELECT COUNT(*) FROM " . $ecs->table('goods') .
" WHERE goods_sn = '$_POST[goods_sn]' AND is_delete = 0 AND goods_id <> '$_POST[goods_id]'";
if ($db->getOne($sql) > 0)
{
sys_msg($_LANG['goods_sn_exists'], 1, array(), false);
}
} /* 检查图片:如果有错误,检查尺寸是否超过最大值;否则,检查文件类型 */
if (isset($_FILES['goods_img']['error'])) // php 4.2 版本才支持 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);
}
elseif ($_FILES['goods_img']['error'] == 2)
{
sys_msg(sprintf($_LANG['goods_img_too_big'], $htm_maxsize), 1, array(), false);
} // 商品缩略图
if (isset($_FILES['goods_thumb']))
{
if ($_FILES['goods_thumb']['error'] == 0)
{
if (!$image->check_img_type($_FILES['goods_thumb']['type']))
{
sys_msg($_LANG['invalid_goods_thumb'], 1, array(), false);
}
}
elseif ($_FILES['goods_thumb']['error'] == 1)
{
sys_msg(sprintf($_LANG['goods_thumb_too_big'], $php_maxsize), 1, array(), false);
}
elseif ($_FILES['goods_thumb']['error'] == 2)
{
sys_msg(sprintf($_LANG['goods_thumb_too_big'], $htm_maxsize), 1, array(), false);
}
} // 相册图片
foreach ($_FILES['img_url']['error'] AS $key => $value)
{
if ($value == 0)
{
if (!$image->check_img_type($_FILES['img_url']['type'][$key]))
{
sys_msg(sprintf($_LANG['invalid_img_url'], $key + 1), 1, array(), false);
}
}
elseif ($value == 1)
{
sys_msg(sprintf($_LANG['img_url_too_big'], $key + 1, $php_maxsize), 1, array(), false);
}
elseif ($_FILES['img_url']['error'] == 2)
{
sys_msg(sprintf($_LANG['img_url_too_big'], $key + 1, $htm_maxsize), 1, array(), false);
}
}
}
/* 4.1版本 */
else
{
// 商品图片
if ($_FILES['goods_img']['tmp_name'] != 'none')
{
if (!$image->check_img_type($_FILES['goods_img']['type']))
{ sys_msg($_LANG['invalid_goods_img'], 1, array(), false);
}
} // 商品缩略图
if (isset($_FILES['goods_thumb']))
{
if ($_FILES['goods_thumb']['tmp_name'] != 'none')
{
if (!$image->check_img_type($_FILES['goods_thumb']['type']))
{
sys_msg($_LANG['invalid_goods_thumb'], 1, array(), false);
}
}
} // 相册图片
foreach ($_FILES['img_url']['tmp_name'] AS $key => $value)
{
if ($value != 'none')
{
if (!$image->check_img_type($_FILES['img_url']['type'][$key]))
{
sys_msg(sprintf($_LANG['invalid_img_url'], $key + 1), 1, array(), false);
}
}
}
} /* 插入还是更新的标识 */
$is_insert = $_REQUEST['act'] == 'insert'; /* 处理商品图片 */
$goods_img = ''; // 初始化商品图片
$goods_thumb = ''; // 初始化商品缩略图
$original_img = ''; // 初始化原始图片
$old_original_img = ''; // 初始化原始图片旧图 // 如果上传了商品图片,相应处理
if (($_FILES['goods_img']['tmp_name'] != '' && $_FILES['goods_img']['tmp_name'] != 'none') or (($_POST['goods_img_url'] != $_LANG['lab_picture_url'] && $_POST['goods_img_url'] != 'http://') && $is_url_goods_img = 1))
{
if ($_REQUEST['goods_id'] > 0)
{
/* 删除原来的图片文件 */
$sql = "SELECT goods_thumb, goods_img, original_img " .
" FROM " . $ecs->table('goods') .
" WHERE goods_id = '$_REQUEST[goods_id]'";
$row = $db->getRow($sql);
if ($row['goods_thumb'] != '' && is_file('../' . $row['goods_thumb']))
{
@unlink('../' . $row['goods_thumb']);
}
if ($row['goods_img'] != '' && is_file('../' . $row['goods_img']))
{
@unlink('../' . $row['goods_img']);
}
if ($row['original_img'] != '' && is_file('../' . $row['original_img']))
{
/* 先不处理,以防止程序中途出错停止 */
//$old_original_img = $row['original_img']; //记录旧图路径
}
/* 清除原来商品图片 */
if ($proc_thumb === false)
{
get_image_path($_REQUEST[goods_id], $row['goods_img'], false, 'goods', true);
get_image_path($_REQUEST[goods_id], $row['goods_thumb'], true, 'goods', true);
}
} if (empty($is_url_goods_img))
{
$original_img = $image->upload_image($_FILES['goods_img']); // 原始图片
}
elseif ($_POST['goods_img_url'])
{ if(preg_match('/(.jpg|.png|.gif|.jpeg)$/',$_POST['goods_img_url']) && copy(trim($_POST['goods_img_url']), ROOT_PATH . 'temp/' . basename($_POST['goods_img_url'])))
{
$original_img = 'temp/' . basename($_POST['goods_img_url']);
} } if ($original_img === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
$goods_img = $original_img; // 商品图片 /* 复制一份相册图片 */
/* 添加判断是否自动生成相册图片 */
if ($_CFG['auto_generate_gallery'])
{
$img = $original_img; // 相册图片
$pos = strpos(basename($img), '.');
$newname = dirname($img) . '/' . $image->random_filename() . substr(basename($img), $pos);
if (!copy('../' . $img, '../' . $newname))
{
sys_msg('fail to copy file: ' . realpath('../' . $img), 1, array(), false);
}
$img = $newname; $gallery_img = $img;
$gallery_thumb = $img;
} // 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印
if ($proc_thumb && $image->gd_version() > 0 && $image->check_img_function($_FILES['goods_img']['type']) || $is_url_goods_img)
{ if (empty($is_url_goods_img))
{
// 如果设置大小不为0,缩放图片
if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)
{
$goods_img = $image->make_thumb('../'. $goods_img , $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);
if ($goods_img === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
} /* 添加判断是否自动生成相册图片 */
if ($_CFG['auto_generate_gallery'])
{
$newname = dirname($img) . '/' . $image->random_filename() . substr(basename($img), $pos);
if (!copy('../' . $img, '../' . $newname))
{
sys_msg('fail to copy file: ' . realpath('../' . $img), 1, array(), false);
}
$gallery_img = $newname;
} // 加水印
if (intval($_CFG['watermark_place']) > 0 && !empty($GLOBALS['_CFG']['watermark']))
{
if ($image->add_watermark('../'.$goods_img,'',$GLOBALS['_CFG']['watermark'], $GLOBALS['_CFG']['watermark_place'], $GLOBALS['_CFG']['watermark_alpha']) === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
/* 添加判断是否自动生成相册图片 */
if ($_CFG['auto_generate_gallery'])
{
if ($image->add_watermark('../'. $gallery_img,'',$GLOBALS['_CFG']['watermark'], $GLOBALS['_CFG']['watermark_place'], $GLOBALS['_CFG']['watermark_alpha']) === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
}
} // 相册缩略图
/* 添加判断是否自动生成相册图片 */
if ($_CFG['auto_generate_gallery'])
{
if ($_CFG['thumb_width'] != 0 || $_CFG['thumb_height'] != 0)
{
$gallery_thumb = $image->make_thumb('../' . $img, $GLOBALS['_CFG']['thumb_width'], $GLOBALS['_CFG']['thumb_height']);
if ($gallery_thumb === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
}
}
/* 取消该原图复制流程 */
// else
// {
// /* 复制一份原图 */
// $pos = strpos(basename($img), '.');
// $gallery_img = dirname($img) . '/' . $image->random_filename() . // substr(basename($img), $pos);
// if (!copy('../' . $img, '../' . $gallery_img))
// {
// sys_msg('fail to copy file: ' . realpath('../' . $img), 1, array(), false);
// }
// $gallery_thumb = '';
// }
} // 是否上传商品缩略图
if (isset($_FILES['goods_thumb']) && $_FILES['goods_thumb']['tmp_name'] != '' &&
isset($_FILES['goods_thumb']['tmp_name']) &&$_FILES['goods_thumb']['tmp_name'] != 'none')
{
// 上传了,直接使用,原始大小
$goods_thumb = $image->upload_image($_FILES['goods_thumb']);
if ($goods_thumb === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
else
{
// 未上传,如果自动选择生成,且上传了商品图片,生成所略图
if ($proc_thumb && isset($_POST['auto_thumb']) && !empty($original_img))
{
// 如果设置缩略图大小不为0,生成缩略图
if ($_CFG['thumb_width'] != 0 || $_CFG['thumb_height'] != 0)
{
$goods_thumb = $image->make_thumb('../' . $original_img, $GLOBALS['_CFG']['thumb_width'], $GLOBALS['_CFG']['thumb_height']);
if ($goods_thumb === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
else
{
$goods_thumb = $original_img;
}
}
} /* 删除下载的外链原图 */
if (!empty($is_url_goods_img))
{
unlink(ROOT_PATH . $original_img);
empty($newname) || unlink(ROOT_PATH . $newname);
$url_goods_img = $goods_img = $original_img = htmlspecialchars(trim($_POST['goods_img_url']));
} /* 如果没有输入商品货号则自动生成一个商品货号 */
if (empty($_POST['goods_sn']))
{
$max_id = $is_insert ? $db->getOne("SELECT MAX(goods_id) + 1 FROM ".$ecs->table('goods')) : $_REQUEST['goods_id'];
$goods_sn = generate_goods_sn($max_id);
}
else
{
$goods_sn = $_POST['goods_sn'];
} /* 处理商品数据 */
$shop_price = !empty($_POST['shop_price']) ? $_POST['shop_price'] : 0;
$cost = !empty($_POST['cost']) ? $_POST['cost'] : 0;
$profit = $shop_price - $cost;
$market_price = !empty($_POST['market_price']) ? $_POST['market_price'] : 0;
$promote_price = !empty($_POST['promote_price']) ? floatval($_POST['promote_price'] ) : 0;
$is_promote = empty($promote_price) ? 0 : 1;
$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']) ? 1 : 0;
$is_new = isset($_POST['is_new']) ? 1 : 0;
$is_hot = isset($_POST['is_hot']) ? 1 : 0;
$is_on_sale = isset($_POST['is_on_sale']) ? 1 : 0;
$is_alone_sale = isset($_POST['is_alone_sale']) ? 1 : 0;
$is_shipping = isset($_POST['is_shipping']) ? 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;
$give_integral = isset($_POST['give_integral']) ? intval($_POST['give_integral']) : '-1';
$rank_integral = isset($_POST['rank_integral']) ? intval($_POST['rank_integral']) : '-1';
$suppliers_id = isset($_POST['suppliers_id']) ? intval($_POST['suppliers_id']) : '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']); $goods_thumb = (empty($goods_thumb) && !empty($_POST['goods_thumb_url']) && goods_parse_url($_POST['goods_thumb_url'])) ? htmlspecialchars(trim($_POST['goods_thumb_url'])) : $goods_thumb;
$goods_thumb = (empty($goods_thumb) && isset($_POST['auto_thumb']))? $goods_img : $goods_thumb; /* 入库 */
if ($is_insert)
{
if ($code == '')
{
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " .
"cat_id, brand_id, shop_price, cost, profit, 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, is_shipping, goods_desc, add_time, last_update, goods_type, rank_integral, suppliers_id)" .
"VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .
"'$brand_id', '$shop_price', '$cost', $profit, '$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]', '$give_integral', '$is_best', '$is_new', '$is_hot', '$is_on_sale', '$is_alone_sale', $is_shipping, ".
" '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$rank_integral', '$suppliers_id')";
}
else
{
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " .
"cat_id, brand_id, shop_price, cost, profit, 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, is_shipping, goods_desc, add_time, last_update, goods_type, extension_code, rank_integral)" .
"VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .
"'$brand_id', '$shop_price', '$cost', $profit, '$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]', '$give_integral', '$is_best', '$is_new', '$is_hot', 0, '$is_on_sale', '$is_alone_sale', $is_shipping, ".
" '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$code', '$rank_integral')";
}
}
else
{
/* 如果有上传图片,删除原来的商品图 */
$sql = "SELECT goods_thumb, goods_img, original_img " .
" FROM " . $ecs->table('goods') .
" WHERE goods_id = '$_REQUEST[goods_id]'";
$row = $db->getRow($sql);
if ($proc_thumb && $goods_img && $row['goods_img'] && !goods_parse_url($row['goods_img']))
{
@unlink(ROOT_PATH . $row['goods_img']);
@unlink(ROOT_PATH . $row['original_img']);
} if ($proc_thumb && $goods_thumb && $row['goods_thumb'] && !goods_parse_url($row['goods_thumb']))
{
@unlink(ROOT_PATH . $row['goods_thumb']);
} $sql = "UPDATE " . $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', " .
"cost = '$cost', " .
"profit = '$profit', " .
"market_price = '$market_price', " .
"is_promote = '$is_promote', " .
"promote_price = '$promote_price', " .
"promote_start_date = '$promote_start_date', " .
"suppliers_id = '$suppliers_id', " .
"promote_end_date = '$promote_end_date', "; /* 如果有上传图片,需要更新数据库 */
if ($goods_img)
{
$sql .= "goods_img = '$goods_img', original_img = '$original_img', ";
}
if ($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 = '$give_integral', " .
"rank_integral = '$rank_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', " .
"is_shipping = '$is_shipping', " .
"goods_desc = '$_POST[goods_desc]', " .
"last_update = '". gmtime() ."', ".
"goods_type = '$goods_type' " .
"WHERE goods_id = '$_REQUEST[goods_id]' LIMIT 1";
}
$db->query($sql); /* 商品编号 */
$goods_id = $is_insert ? $db->insert_id() : $_REQUEST['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'])) || (empty($_POST['attr_id_list']) && empty($_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 " . $ecs->table('attribute') . " WHERE cat_id = '$goods_type'"; $attr_res = $db->query($sql); $attr_list = array(); while ($row = $db->fetchRow($attr_res))
{
$attr_list[$row['attr_id']] = $row['attr_index'];
} $sql = "SELECT g.*, a.attr_type
FROM " . $ecs->table('goods_attr') . " AS g
LEFT JOIN " . $ecs->table('attribute') . " AS a
ON a.attr_id = g.attr_id
WHERE g.goods_id = '$goods_id'"; $res = $db->query($sql); while ($row = $db->fetchRow($res))
{
$goods_attr_list[$row['attr_id']][$row['attr_value']] = array('sign' => 'delete', 'goods_attr_id' => $row['goods_attr_id']);
}
// 循环现有的,根据原有的做相应处理
if(isset($_POST['attr_id_list']))
{
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 " .$ecs->table('goods'). " SET keywords = '$keywords' WHERE goods_id = '$goods_id' LIMIT 1"; $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 " .$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 " .$ecs->table('goods_attr'). " SET attr_price = '$info[attr_price]' WHERE goods_attr_id = '$info[goods_attr_id]' LIMIT 1";
}
else
{
$sql = "DELETE FROM " .$ecs->table('goods_attr'). " WHERE goods_attr_id = '$info[goods_attr_id]' LIMIT 1";
}
$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['volume_number']) && isset($_POST['volume_price']))
{
$temp_num = array_count_values($_POST['volume_number']);
foreach($temp_num as $v)
{
if ($v > 1)
{
sys_msg($_LANG['volume_number_continuous'], 1, array(), false);
break;
}
}
handle_volume_price($goods_id, $_POST['volume_number'], $_POST['volume_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);
} /* 重新格式化图片名称 */
$original_img = reformat_image_name('goods', $goods_id, $original_img, 'source');
$goods_img = reformat_image_name('goods', $goods_id, $goods_img, 'goods');
$goods_thumb = reformat_image_name('goods_thumb', $goods_id, $goods_thumb, 'thumb');
if ($goods_img !== false)
{
$db->query("UPDATE " . $ecs->table('goods') . " SET goods_img = '$goods_img' WHERE goods_id='$goods_id'");
} if ($original_img !== false)
{
$db->query("UPDATE " . $ecs->table('goods') . " SET original_img = '$original_img' WHERE goods_id='$goods_id'");
} if ($goods_thumb !== false)
{
$db->query("UPDATE " . $ecs->table('goods') . " SET goods_thumb = '$goods_thumb' WHERE goods_id='$goods_id'");
} /* 如果有图片,把商品图片加入图片相册 */
if (isset($img))
{
/* 重新格式化图片名称 */
if (empty($is_url_goods_img))
{
$img = reformat_image_name('gallery', $goods_id, $img, 'source');
$gallery_img = reformat_image_name('gallery', $goods_id, $gallery_img, 'goods');
}
else
{
$img = $url_goods_img;
$gallery_img = $url_goods_img;
} $gallery_thumb = reformat_image_name('gallery_thumb', $goods_id, $gallery_thumb, 'thumb');
$sql = "INSERT INTO " . $ecs->table('goods_gallery') . " (goods_id, img_url, img_desc, thumb_url, img_original) " .
"VALUES ('$goods_id', '$gallery_img', '', '$gallery_thumb', '$img')";
$db->query($sql);
} /* 处理相册图片 */
handle_gallery_image($goods_id, $_FILES['img_url'], $_POST['img_desc'], $_POST['img_file']); /* 编辑时处理相册图片描述 */
if (!$is_insert && isset($_POST['old_img_desc']))
{
foreach ($_POST['old_img_desc'] AS $img_id => $img_desc)
{
$sql = "UPDATE " . $ecs->table('goods_gallery') . " SET img_desc = '$img_desc' WHERE img_id = '$img_id' LIMIT 1";
$db->query($sql);
}
} /* 不保留商品原图的时候删除原图 */
if ($proc_thumb && !$_CFG['retain_original_img'] && !empty($original_img))
{
$db->query("UPDATE " . $ecs->table('goods') . " SET original_img='' WHERE `goods_id`='{$goods_id}'");
$db->query("UPDATE " . $ecs->table('goods_gallery') . " SET img_original='' WHERE `goods_id`='{$goods_id}'");
@unlink('../' . $original_img);
@unlink('../' . $img);
} /* 记录上一次选择的分类和品牌 */
setcookie('ECSCP[last_choose]', $catgory_id . '|' . $brand_id, gmtime() + 86400);
/* 清空缓存 */
clear_cache_files(); /* 提示页面 */
$link = array();
if (check_goods_specifications_exist($goods_id))
{
$link[0] = array('href' => 'goods.php?act=product_list&goods_id=' . $goods_id, 'text' => $_LANG['product']);
}
if ($code == 'virtual_card')
{
$link[1] = array('href' => 'virtual_card.php?act=replenish&goods_id=' . $goods_id, 'text' => $_LANG['add_replenish']);
}
if ($is_insert)
{
$link[2] = add_link($code);
}
$link[3] = list_link($is_insert, $code); //$key_array = array_keys($link);
for($i=0;$i<count($link);$i++)
{
$key_array[]=$i;
}
krsort($link);
$link = array_combine($key_array, $link); sys_msg($is_insert ? $_LANG['add_goods_ok'] : $_LANG['edit_goods_ok'], 0, $link);
} /*------------------------------------------------------ */
//-- 批量操作
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'batch')
{
$code = empty($_REQUEST['extension_code'])? '' : trim($_REQUEST['extension_code']); /* 取得要操作的商品编号 */
$goods_id = !empty($_POST['checkboxes']) ? join(',', $_POST['checkboxes']) : 0; if (isset($_POST['type']))
{
/* 放入回收站 */
if ($_POST['type'] == 'trash')
{
/* 检查权限 */
admin_priv('remove_back'); update_goods($goods_id, 'is_delete', '1'); /* 记录日志 */
admin_log('', 'batch_trash', 'goods');
}
/* 上架 */
elseif ($_POST['type'] == 'on_sale')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'is_on_sale', '1');
} /* 下架 */
elseif ($_POST['type'] == 'not_on_sale')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'is_on_sale', '0');
} /* 设为精品 */
elseif ($_POST['type'] == 'best')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'is_best', '1');
} /* 取消精品 */
elseif ($_POST['type'] == 'not_best')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'is_best', '0');
} /* 设为新品 */
elseif ($_POST['type'] == 'new')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'is_new', '1');
} /* 取消新品 */
elseif ($_POST['type'] == 'not_new')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'is_new', '0');
} /* 设为热销 */
elseif ($_POST['type'] == 'hot')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'is_hot', '1');
} /* 取消热销 */
elseif ($_POST['type'] == 'not_hot')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'is_hot', '0');
} /* 转移到分类 */
elseif ($_POST['type'] == 'move_to')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'cat_id', $_POST['target_cat']);
} /* 转移到供货商 */
elseif ($_POST['type'] == 'suppliers_move_to')
{
/* 检查权限 */
admin_priv('goods_manage');
update_goods($goods_id, 'suppliers_id', $_POST['suppliers_id']);
} /* 还原 */
elseif ($_POST['type'] == 'restore')
{
/* 检查权限 */
admin_priv('remove_back'); update_goods($goods_id, 'is_delete', '0'); /* 记录日志 */
admin_log('', 'batch_restore', 'goods');
}
/* 删除 */
elseif ($_POST['type'] == 'drop')
{
/* 检查权限 */
admin_priv('remove_back'); delete_goods($goods_id); /* 记录日志 */
admin_log('', 'batch_remove', 'goods');
}
} /* 清除缓存 */
clear_cache_files(); if ($_POST['type'] == 'drop' || $_POST['type'] == 'restore')
{
$link[] = array('href' => 'goods.php?act=trash', 'text' => $_LANG['11_goods_trash']);
}
else
{
$link[] = list_link(true, $code);
}
sys_msg($_LANG['batch_handle_ok'], 0, $link);
} /*------------------------------------------------------ */
//-- 显示图片
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'show_image')
{ if (isset($GLOBALS['shop_id']) && $GLOBALS['shop_id'] > 0)
{
$img_url = $_GET['img_url'];
}
else
{
if (strpos($_GET['img_url'], 'http://') === 0)
{
$img_url = $_GET['img_url'];
}
else
{
$img_url = '../' . $_GET['img_url'];
}
}
$smarty->assign('img_url', $img_url);
$smarty->display('goods_show_image.htm');
} /*------------------------------------------------------ */
//-- 修改商品名称
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit_goods_name')
{
check_authz_json('goods_manage'); $goods_id = intval($_POST['id']);
$goods_name = json_str_iconv(trim($_POST['val'])); if ($exc->edit("goods_name = '$goods_name', last_update=" .gmtime(), $goods_id))
{
clear_cache_files();
make_json_result(stripslashes($goods_name));
}
} /*------------------------------------------------------ */
//-- 修改商品货号
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit_goods_sn')
{
check_authz_json('goods_manage'); $goods_id = intval($_POST['id']);
$goods_sn = json_str_iconv(trim($_POST['val'])); /* 检查是否重复 */
if (!$exc->is_only('goods_sn', $goods_sn, $goods_id))
{
make_json_error($_LANG['goods_sn_exists']);
}
$sql="SELECT goods_id FROM ". $ecs->table('products')."WHERE product_sn='$goods_sn'";
if($db->getOne($sql))
{
make_json_error($_LANG['goods_sn_exists']);
}
if ($exc->edit("goods_sn = '$goods_sn', last_update=" .gmtime(), $goods_id))
{
clear_cache_files();
make_json_result(stripslashes($goods_sn));
}
} elseif ($_REQUEST['act'] == 'check_goods_sn')
{
check_authz_json('goods_manage'); $goods_id = intval($_REQUEST['goods_id']);
$goods_sn = htmlspecialchars(json_str_iconv(trim($_REQUEST['goods_sn']))); /* 检查是否重复 */
if (!$exc->is_only('goods_sn', $goods_sn, $goods_id))
{
make_json_error($_LANG['goods_sn_exists']);
}
if(!empty($goods_sn))
{
$sql="SELECT goods_id FROM ". $ecs->table('products')."WHERE product_sn='$goods_sn'";
if($db->getOne($sql))
{
make_json_error($_LANG['goods_sn_exists']);
}
}
make_json_result('');
}
elseif ($_REQUEST['act'] == 'check_products_goods_sn')
{
check_authz_json('goods_manage'); $goods_id = intval($_REQUEST['goods_id']);
$goods_sn = json_str_iconv(trim($_REQUEST['goods_sn']));
$products_sn=explode('||',$goods_sn);
if(!is_array($products_sn))
{
make_json_result('');
}
else
{
foreach ($products_sn as $val)
{
if(empty($val))
{
continue;
}
if(is_array($int_arry))
{
if(in_array($val,$int_arry))
{
make_json_error($val.$_LANG['goods_sn_exists']);
}
}
$int_arry[]=$val;
if (!$exc->is_only('goods_sn', $val, '0'))
{
make_json_error($val.$_LANG['goods_sn_exists']);
}
$sql="SELECT goods_id FROM ". $ecs->table('products')."WHERE product_sn='$val'";
if($db->getOne($sql))
{
make_json_error($val.$_LANG['goods_sn_exists']);
}
}
}
/* 检查是否重复 */
make_json_result('');
} /*------------------------------------------------------ */
//-- 修改商品价格
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit_goods_price')
{
check_authz_json('goods_manage'); $goods_id = intval($_POST['id']);
$goods_price = floatval($_POST['val']);
$price_rate = floatval($_CFG['market_price_rate'] * $goods_price); if ($goods_price < 0 || $goods_price == 0 && $_POST['val'] != "$goods_price")
{
make_json_error($_LANG['shop_price_invalid']);
}
else
{
if ($exc->edit("shop_price = '$goods_price', market_price = '$price_rate', last_update=" .gmtime(), $goods_id))
{
clear_cache_files();
make_json_result(number_format($goods_price, 2, '.', ''));
}
}
} /*------------------------------------------------------ */
//-- 修改商品库存数量
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit_goods_number')
{
check_authz_json('goods_manage'); $goods_id = intval($_POST['id']);
$goods_num = intval($_POST['val']); if($goods_num < 0 || $goods_num == 0 && $_POST['val'] != "$goods_num")
{
make_json_error($_LANG['goods_number_error']);
} if(check_goods_product_exist($goods_id) == 1)
{
make_json_error($_LANG['sys']['wrong'] . $_LANG['cannot_goods_number']);
} if ($exc->edit("goods_number = '$goods_num', last_update=" .gmtime(), $goods_id))
{
clear_cache_files();
make_json_result($goods_num);
}
} /*------------------------------------------------------ */
//-- 修改上架状态
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'toggle_on_sale')
{
check_authz_json('goods_manage'); $goods_id = intval($_POST['id']);
$on_sale = intval($_POST['val']); if ($exc->edit("is_on_sale = '$on_sale', last_update=" .gmtime(), $goods_id))
{
clear_cache_files();
make_json_result($on_sale);
}
} /*------------------------------------------------------ */
//-- 修改精品推荐状态
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'toggle_best')
{
check_authz_json('goods_manage'); $goods_id = intval($_POST['id']);
$is_best = intval($_POST['val']); if ($exc->edit("is_best = '$is_best', last_update=" .gmtime(), $goods_id))
{
clear_cache_files();
make_json_result($is_best);
}
} /*------------------------------------------------------ */
//-- 修改新品推荐状态
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'toggle_new')
{
check_authz_json('goods_manage'); $goods_id = intval($_POST['id']);
$is_new = intval($_POST['val']); if ($exc->edit("is_new = '$is_new', last_update=" .gmtime(), $goods_id))
{
clear_cache_files();
make_json_result($is_new);
}
} /*------------------------------------------------------ */
//-- 修改热销推荐状态
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'toggle_hot')
{
check_authz_json('goods_manage'); $goods_id = intval($_POST['id']);
$is_hot = intval($_POST['val']); if ($exc->edit("is_hot = '$is_hot', last_update=" .gmtime(), $goods_id))
{
clear_cache_files();
make_json_result($is_hot);
}
} /*------------------------------------------------------ */
//-- 修改商品排序
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit_sort_order')
{
check_authz_json('goods_manage'); $goods_id = intval($_POST['id']);
$sort_order = intval($_POST['val']); if ($exc->edit("sort_order = '$sort_order', last_update=" .gmtime(), $goods_id))
{
clear_cache_files();
make_json_result($sort_order);
}
} /*------------------------------------------------------ */
//-- 排序、分页、查询
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'query')
{
$is_delete = empty($_REQUEST['is_delete']) ? 0 : intval($_REQUEST['is_delete']);
$code = empty($_REQUEST['extension_code']) ? '' : trim($_REQUEST['extension_code']);
$goods_list = goods_list($is_delete, ($code=='') ? 1 : 0); $handler_list = array();
$handler_list['virtual_card'][] = array('url'=>'virtual_card.php?act=card', 'title'=>$_LANG['card'], 'img'=>'icon_send_bonus.gif');
$handler_list['virtual_card'][] = array('url'=>'virtual_card.php?act=replenish', 'title'=>$_LANG['replenish'], 'img'=>'icon_add.gif');
$handler_list['virtual_card'][] = array('url'=>'virtual_card.php?act=batch_card_add', 'title'=>$_LANG['batch_card_add'], 'img'=>'icon_output.gif'); if (isset($handler_list[$code]))
{
$smarty->assign('add_handler', $handler_list[$code]);
}
$smarty->assign('code', $code);
$smarty->assign('goods_list', $goods_list['goods']);
$smarty->assign('filter', $goods_list['filter']);
$smarty->assign('record_count', $goods_list['record_count']);
$smarty->assign('page_count', $goods_list['page_count']);
$smarty->assign('list_type', $is_delete ? 'trash' : 'goods');
$smarty->assign('use_storage', empty($_CFG['use_storage']) ? 0 : 1); /* 排序标记 */
$sort_flag = sort_flag($goods_list['filter']);
$smarty->assign($sort_flag['tag'], $sort_flag['img']); /* 获取商品类型存在规格的类型 */
$specifications = get_goods_type_specifications();
$smarty->assign('specifications', $specifications); $tpl = $is_delete ? 'goods_trash.htm' : 'goods_list.htm'; make_json_result($smarty->fetch($tpl), '',
array('filter' => $goods_list['filter'], 'page_count' => $goods_list['page_count']));
} /*------------------------------------------------------ */
//-- 放入回收站
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'remove')
{
$goods_id = intval($_REQUEST['id']); /* 检查权限 */
check_authz_json('remove_back'); if ($exc->edit("is_delete = 1", $goods_id))
{
clear_cache_files();
$goods_name = $exc->get_name($goods_id); admin_log(addslashes($goods_name), 'trash', 'goods'); // 记录日志 $url = 'goods.php?act=query&' . str_replace('act=remove', '', $_SERVER['QUERY_STRING']); ecs_header("Location: $url\n");
exit;
}
} /*------------------------------------------------------ */
//-- 还原回收站中的商品
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'restore_goods')
{
$goods_id = intval($_REQUEST['id']); check_authz_json('remove_back'); // 检查权限 $exc->edit("is_delete = 0, add_time = '" . gmtime() . "'", $goods_id);
clear_cache_files(); $goods_name = $exc->get_name($goods_id); admin_log(addslashes($goods_name), 'restore', 'goods'); // 记录日志 $url = 'goods.php?act=query&' . str_replace('act=restore_goods', '', $_SERVER['QUERY_STRING']); ecs_header("Location: $url\n");
exit;
} /*------------------------------------------------------ */
//-- 彻底删除商品
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'drop_goods')
{
// 检查权限
check_authz_json('remove_back'); // 取得参数
$goods_id = intval($_REQUEST['id']);
if ($goods_id <= 0)
{
make_json_error('invalid params');
} /* 取得商品信息 */
$sql = "SELECT goods_id, goods_name, is_delete, is_real, goods_thumb, " .
"goods_img, original_img " .
"FROM " . $ecs->table('goods') .
" WHERE goods_id = '$goods_id'";
$goods = $db->getRow($sql);
if (empty($goods))
{
make_json_error($_LANG['goods_not_exist']);
} if ($goods['is_delete'] != 1)
{
make_json_error($_LANG['goods_not_in_recycle_bin']);
} /* 删除商品图片和轮播图片 */
if (!empty($goods['goods_thumb']))
{
@unlink('../' . $goods['goods_thumb']);
}
if (!empty($goods['goods_img']))
{
@unlink('../' . $goods['goods_img']);
}
if (!empty($goods['original_img']))
{
@unlink('../' . $goods['original_img']);
}
/* 删除商品 */
$exc->drop($goods_id); /* 删除商品的货品记录 */
$sql = "DELETE FROM " . $ecs->table('products') .
" WHERE goods_id = '$goods_id'";
$db->query($sql); /* 记录日志 */
admin_log(addslashes($goods['goods_name']), 'remove', 'goods'); /* 删除商品相册 */
$sql = "SELECT img_url, thumb_url, img_original " .
"FROM " . $ecs->table('goods_gallery') .
" WHERE goods_id = '$goods_id'";
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
if (!empty($row['img_url']))
{
@unlink('../' . $row['img_url']);
}
if (!empty($row['thumb_url']))
{
@unlink('../' . $row['thumb_url']);
}
if (!empty($row['img_original']))
{
@unlink('../' . $row['img_original']);
}
} $sql = "DELETE FROM " . $ecs->table('goods_gallery') . " WHERE goods_id = '$goods_id'";
$db->query($sql); /* 删除相关表记录 */
$sql = "DELETE FROM " . $ecs->table('collect_goods') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('goods_article') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('goods_attr') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('goods_cat') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('member_price') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('group_goods') . " WHERE parent_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('group_goods') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('link_goods') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('link_goods') . " WHERE link_goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('tag') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('comment') . " WHERE comment_type = 0 AND id_value = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('collect_goods') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('booking_goods') . " WHERE goods_id = '$goods_id'";
$db->query($sql);
$sql = "DELETE FROM " . $ecs->table('goods_activity') . " WHERE goods_id = '$goods_id'";
$db->query($sql); /* 如果不是实体商品,删除相应虚拟商品记录 */
if ($goods['is_real'] != 1)
{
$sql = "DELETE FROM " . $ecs->table('virtual_card') . " WHERE goods_id = '$goods_id'";
if (!$db->query($sql, 'SILENT') && $db->errno() != 1146)
{
die($db->error());
}
} clear_cache_files();
$url = 'goods.php?act=query&' . str_replace('act=drop_goods', '', $_SERVER['QUERY_STRING']); ecs_header("Location: $url\n"); exit;
} /*------------------------------------------------------ */
//-- 切换商品类型
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'get_attr')
{
check_authz_json('goods_manage'); $goods_id = empty($_GET['goods_id']) ? 0 : intval($_GET['goods_id']);
$goods_type = empty($_GET['goods_type']) ? 0 : intval($_GET['goods_type']); $content = build_attr_html($goods_type, $goods_id); make_json_result($content);
} /*------------------------------------------------------ */
//-- 删除图片
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'drop_image')
{
check_authz_json('goods_manage'); $img_id = empty($_REQUEST['img_id']) ? 0 : intval($_REQUEST['img_id']); /* 删除图片文件 */
$sql = "SELECT img_url, thumb_url, img_original " .
" FROM " . $GLOBALS['ecs']->table('goods_gallery') .
" WHERE img_id = '$img_id'";
$row = $GLOBALS['db']->getRow($sql); if ($row['img_url'] != '' && is_file('../' . $row['img_url']))
{
@unlink('../' . $row['img_url']);
}
if ($row['thumb_url'] != '' && is_file('../' . $row['thumb_url']))
{
@unlink('../' . $row['thumb_url']);
}
if ($row['img_original'] != '' && is_file('../' . $row['img_original']))
{
@unlink('../' . $row['img_original']);
} /* 删除数据 */
$sql = "DELETE FROM " . $GLOBALS['ecs']->table('goods_gallery') . " WHERE img_id = '$img_id' LIMIT 1";
$GLOBALS['db']->query($sql); clear_cache_files();
make_json_result($img_id);
} /*------------------------------------------------------ */
//-- 搜索商品,仅返回名称及ID
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'get_goods_list')
{
include_once(ROOT_PATH . 'includes/cls_json.php');
$json = new JSON; $filters = $json->decode($_GET['JSON']); $arr = get_goods_list($filters);
$opt = array(); foreach ($arr AS $key => $val)
{
$opt[] = array('value' => $val['goods_id'],
'text' => $val['goods_name'],
'data' => $val['shop_price']);
} make_json_result($opt);
} /*------------------------------------------------------ */
//-- 把商品加入关联
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'add_link_goods')
{
include_once(ROOT_PATH . 'includes/cls_json.php');
$json = new JSON; check_authz_json('goods_manage'); $linked_array = $json->decode($_GET['add_ids']);
$linked_goods = $json->decode($_GET['JSON']);
$goods_id = $linked_goods[0];
$is_double = $linked_goods[1] == true ? 0 : 1; foreach ($linked_array AS $val)
{
if ($is_double)
{
/* 双向关联 */
$sql = "INSERT INTO " . $ecs->table('link_goods') . " (goods_id, link_goods_id, is_double, admin_id) " .
"VALUES ('$val', '$goods_id', '$is_double', '$_SESSION[admin_id]')";
$db->query($sql, 'SILENT');
} $sql = "INSERT INTO " . $ecs->table('link_goods') . " (goods_id, link_goods_id, is_double, admin_id) " .
"VALUES ('$goods_id', '$val', '$is_double', '$_SESSION[admin_id]')";
$db->query($sql, 'SILENT');
} $linked_goods = get_linked_goods($goods_id);
$options = array(); foreach ($linked_goods AS $val)
{
$options[] = array('value' => $val['goods_id'],
'text' => $val['goods_name'],
'data' => '');
} clear_cache_files();
make_json_result($options);
} /*------------------------------------------------------ */
//-- 删除关联商品
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'drop_link_goods')
{
include_once(ROOT_PATH . 'includes/cls_json.php');
$json = new JSON; check_authz_json('goods_manage'); $drop_goods = $json->decode($_GET['drop_ids']);
$drop_goods_ids = db_create_in($drop_goods);
$linked_goods = $json->decode($_GET['JSON']);
$goods_id = $linked_goods[0];
$is_signle = $linked_goods[1]; if (!$is_signle)
{
$sql = "DELETE FROM " .$ecs->table('link_goods') .
" WHERE link_goods_id = '$goods_id' AND goods_id " . $drop_goods_ids;
}
else
{
$sql = "UPDATE " .$ecs->table('link_goods') . " SET is_double = 0 ".
" WHERE link_goods_id = '$goods_id' AND goods_id " . $drop_goods_ids;
}
if ($goods_id == 0)
{
$sql .= " AND admin_id = '$_SESSION[admin_id]'";
}
$db->query($sql); $sql = "DELETE FROM " .$ecs->table('link_goods') .
" WHERE goods_id = '$goods_id' AND link_goods_id " . $drop_goods_ids;
if ($goods_id == 0)
{
$sql .= " AND admin_id = '$_SESSION[admin_id]'";
}
$db->query($sql); $linked_goods = get_linked_goods($goods_id);
$options = array(); foreach ($linked_goods AS $val)
{
$options[] = array(
'value' => $val['goods_id'],
'text' => $val['goods_name'],
'data' => '');
} clear_cache_files();
make_json_result($options);
} /*------------------------------------------------------ */
//-- 增加一个配件
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'add_group_goods')
{
include_once(ROOT_PATH . 'includes/cls_json.php');
$json = new JSON; check_authz_json('goods_manage'); $fittings = $json->decode($_GET['add_ids']);
$arguments = $json->decode($_GET['JSON']);
$goods_id = $arguments[0];
$price = $arguments[1]; foreach ($fittings AS $val)
{
$sql = "INSERT INTO " . $ecs->table('group_goods') . " (parent_id, goods_id, goods_price, admin_id) " .
"VALUES ('$goods_id', '$val', '$price', '$_SESSION[admin_id]')";
$db->query($sql, 'SILENT');
} $arr = get_group_goods($goods_id);
$opt = array(); foreach ($arr AS $val)
{
$opt[] = array('value' => $val['goods_id'],
'text' => $val['goods_name'],
'data' => '');
} clear_cache_files();
make_json_result($opt);
} /*------------------------------------------------------ */
//-- 删除一个配件
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'drop_group_goods')
{
include_once(ROOT_PATH . 'includes/cls_json.php');
$json = new JSON; check_authz_json('goods_manage'); $fittings = $json->decode($_GET['drop_ids']);
$arguments = $json->decode($_GET['JSON']);
$goods_id = $arguments[0];
$price = $arguments[1]; $sql = "DELETE FROM " .$ecs->table('group_goods') .
" WHERE parent_id='$goods_id' AND " .db_create_in($fittings, 'goods_id');
if ($goods_id == 0)
{
$sql .= " AND admin_id = '$_SESSION[admin_id]'";
}
$db->query($sql); $arr = get_group_goods($goods_id);
$opt = array(); foreach ($arr AS $val)
{
$opt[] = array('value' => $val['goods_id'],
'text' => $val['goods_name'],
'data' => '');
} clear_cache_files();
make_json_result($opt);
} /*------------------------------------------------------ */
//-- 搜索文章
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'get_article_list')
{
include_once(ROOT_PATH . 'includes/cls_json.php');
$json = new JSON; $filters =(array) $json->decode(json_str_iconv($_GET['JSON'])); $where = " WHERE cat_id > 0 ";
if (!empty($filters['title']))
{
$keyword = trim($filters['title']);
$where .= " AND title LIKE '%" . mysql_like_quote($keyword) . "%' ";
} $sql = 'SELECT article_id, title FROM ' .$ecs->table('article'). $where.
'ORDER BY article_id DESC LIMIT 50';
$res = $db->query($sql);
$arr = array(); while ($row = $db->fetchRow($res))
{
$arr[] = array('value' => $row['article_id'], 'text' => $row['title'], 'data'=>'');
} make_json_result($arr);
} /*------------------------------------------------------ */
//-- 添加关联文章
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'add_goods_article')
{
include_once(ROOT_PATH . 'includes/cls_json.php');
$json = new JSON; check_authz_json('goods_manage'); $articles = $json->decode($_GET['add_ids']);
$arguments = $json->decode($_GET['JSON']);
$goods_id = $arguments[0]; foreach ($articles AS $val)
{
$sql = "INSERT INTO " . $ecs->table('goods_article') . " (goods_id, article_id, admin_id) " .
"VALUES ('$goods_id', '$val', '$_SESSION[admin_id]')";
$db->query($sql);
} $arr = get_goods_articles($goods_id);
$opt = array(); foreach ($arr AS $val)
{
$opt[] = array('value' => $val['article_id'],
'text' => $val['title'],
'data' => '');
} clear_cache_files();
make_json_result($opt);
} /*------------------------------------------------------ */
//-- 删除关联文章
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'drop_goods_article')
{
include_once(ROOT_PATH . 'includes/cls_json.php');
$json = new JSON; check_authz_json('goods_manage'); $articles = $json->decode($_GET['drop_ids']);
$arguments = $json->decode($_GET['JSON']);
$goods_id = $arguments[0]; $sql = "DELETE FROM " .$ecs->table('goods_article') . " WHERE " . db_create_in($articles, "article_id") . " AND goods_id = '$goods_id'";
$db->query($sql); $arr = get_goods_articles($goods_id);
$opt = array(); foreach ($arr AS $val)
{
$opt[] = array('value' => $val['article_id'],
'text' => $val['title'],
'data' => '');
} clear_cache_files();
make_json_result($opt);
} /*------------------------------------------------------ */
//-- 货品列表
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'product_list')
{
admin_priv('goods_manage'); /* 是否存在商品id */
if (empty($_GET['goods_id']))
{
$link[] = array('href' => 'goods.php?act=list', 'text' => $_LANG['cannot_found_goods']);
sys_msg($_LANG['cannot_found_goods'], 1, $link);
}
else
{
$goods_id = intval($_GET['goods_id']);
} /* 取出商品信息 */
$sql = "SELECT goods_sn, goods_name, goods_type, shop_price, cost FROM " . $ecs->table('goods') . " WHERE goods_id = '$goods_id'";
$goods = $db->getRow($sql);
if (empty($goods))
{
$link[] = array('href' => 'goods.php?act=list', 'text' => $_LANG['01_goods_list']);
sys_msg($_LANG['cannot_found_goods'], 1, $link);
}
$smarty->assign('sn', sprintf($_LANG['good_goods_sn'], $goods['goods_sn']));
$smarty->assign('price', sprintf($_LANG['good_shop_price'], $goods['shop_price']));
$smarty->assign('cost', sprintf($_LANG['good_cost'], $goods['cost']));
$smarty->assign('profit', sprintf($_LANG['good_profit'], $goods['profit']));
$smarty->assign('goods_name', sprintf($_LANG['products_title'], $goods['goods_name']));
$smarty->assign('goods_sn', sprintf($_LANG['products_title_2'], $goods['goods_sn'])); /* 获取商品规格列表 */
$attribute = get_goods_specifications_list($goods_id);
if (empty($attribute))
{
$link[] = array('href' => 'goods.php?act=edit&goods_id=' . $goods_id, 'text' => $_LANG['edit_goods']);
sys_msg($_LANG['not_exist_goods_attr'], 1, $link);
}
foreach ($attribute as $attribute_value)
{
//转换成数组
$_attribute[$attribute_value['attr_id']]['attr_values'][] = $attribute_value['attr_value'];
$_attribute[$attribute_value['attr_id']]['attr_id'] = $attribute_value['attr_id'];
$_attribute[$attribute_value['attr_id']]['attr_name'] = $attribute_value['attr_name'];
}
$attribute_count = count($_attribute); $smarty->assign('attribute_count', $attribute_count);
$smarty->assign('attribute_count_3', ($attribute_count + 3));
$smarty->assign('attribute', $_attribute);
$smarty->assign('product_sn', $goods['goods_sn'] . '_');
$smarty->assign('product_number', $_CFG['default_storage']); /* 取商品的货品 */
$product = product_list($goods_id, ''); $smarty->assign('ur_here', $_LANG['18_product_list']);
$smarty->assign('action_link', array('href' => 'goods.php?act=list', 'text' => $_LANG['01_goods_list']));
$smarty->assign('product_list', $product['product']);
$smarty->assign('product_null', empty($product['product']) ? 0 : 1);
$smarty->assign('use_storage', empty($_CFG['use_storage']) ? 0 : 1);
$smarty->assign('goods_id', $goods_id);
$smarty->assign('filter', $product['filter']);
$smarty->assign('full_page', 1); /* 显示商品列表页面 */
assign_query_info(); $smarty->display('product_info.htm');
} /*------------------------------------------------------ */
//-- 货品排序、分页、查询
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'product_query')
{
/* 是否存在商品id */
if (empty($_REQUEST['goods_id']))
{
make_json_error($_LANG['sys']['wrong'] . $_LANG['cannot_found_goods']);
}
else
{
$goods_id = intval($_REQUEST['goods_id']);
} /* 取出商品信息 */
$sql = "SELECT goods_sn, goods_name, goods_type, shop_price FROM " . $ecs->table('goods') . " WHERE goods_id = '$goods_id'";
$goods = $db->getRow($sql);
if (empty($goods))
{
make_json_error($_LANG['sys']['wrong'] . $_LANG['cannot_found_goods']);
}
$smarty->assign('sn', sprintf($_LANG['good_goods_sn'], $goods['goods_sn']));
$smarty->assign('price', sprintf($_LANG['good_shop_price'], $goods['shop_price']));
$smarty->assign('goods_name', sprintf($_LANG['products_title'], $goods['goods_name']));
$smarty->assign('goods_sn', sprintf($_LANG['products_title_2'], $goods['goods_sn'])); /* 获取商品规格列表 */
$attribute = get_goods_specifications_list($goods_id);
if (empty($attribute))
{
make_json_error($_LANG['sys']['wrong'] . $_LANG['cannot_found_goods']);
}
foreach ($attribute as $attribute_value)
{
//转换成数组
$_attribute[$attribute_value['attr_id']]['attr_values'][] = $attribute_value['attr_value'];
$_attribute[$attribute_value['attr_id']]['attr_id'] = $attribute_value['attr_id'];
$_attribute[$attribute_value['attr_id']]['attr_name'] = $attribute_value['attr_name'];
}
$attribute_count = count($_attribute); $smarty->assign('attribute_count', $attribute_count);
$smarty->assign('attribute', $_attribute);
$smarty->assign('attribute_count_3', ($attribute_count + 3));
$smarty->assign('product_sn', $goods['goods_sn'] . '_');
$smarty->assign('product_number', $_CFG['default_storage']); /* 取商品的货品 */
$product = product_list($goods_id, ''); $smarty->assign('ur_here', $_LANG['18_product_list']);
$smarty->assign('action_link', array('href' => 'goods.php?act=list', 'text' => $_LANG['01_goods_list']));
$smarty->assign('product_list', $product['product']);
$smarty->assign('use_storage', empty($_CFG['use_storage']) ? 0 : 1);
$smarty->assign('goods_id', $goods_id);
$smarty->assign('filter', $product['filter']); /* 排序标记 */
$sort_flag = sort_flag($product['filter']);
$smarty->assign($sort_flag['tag'], $sort_flag['img']); make_json_result($smarty->fetch('product_info.htm'), '',
array('filter' => $product['filter'], 'page_count' => $product['page_count']));
} /*------------------------------------------------------ */
//-- 货品删除
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'product_remove')
{
/* 检查权限 */
check_authz_json('remove_back'); /* 是否存在商品id */
if (empty($_REQUEST['id']))
{
make_json_error($_LANG['product_id_null']);
}
else
{
$product_id = intval($_REQUEST['id']);
} /* 货品库存 */
$product = get_product_info($product_id, 'product_number, goods_id'); /* 删除货品 */
$sql = "DELETE FROM " . $ecs->table('products') . " WHERE product_id = '$product_id'";
$result = $db->query($sql);
if ($result)
{
/* 修改商品库存 */
if (update_goods_stock($product['goods_id'], $product_number - $product['product_number']))
{
//记录日志
admin_log('', 'update', 'goods');
} //记录日志
admin_log('', 'trash', 'products'); $url = 'goods.php?act=product_query&' . str_replace('act=product_remove', '', $_SERVER['QUERY_STRING']); ecs_header("Location: $url\n");
exit;
}
} /*------------------------------------------------------ */
//-- 修改货品价格
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit_product_sn')
{
check_authz_json('goods_manage'); $product_id = intval($_POST['id']);
$product_sn = json_str_iconv(trim($_POST['val']));
$product_sn = ($_LANG['n_a'] == $product_sn) ? '' : $product_sn; if (check_product_sn_exist($product_sn, $product_id))
{
make_json_error($_LANG['sys']['wrong'] . $_LANG['exist_same_product_sn']);
} /* 修改 */
$sql = "UPDATE " . $ecs->table('products') . " SET product_sn = '$product_sn' WHERE product_id = '$product_id'";
$result = $db->query($sql);
if ($result)
{
clear_cache_files();
make_json_result($product_sn);
}
} /*------------------------------------------------------ */
//-- 修改货品库存
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit_product_number')
{
check_authz_json('goods_manage'); $product_id = intval($_POST['id']);
$product_number = intval($_POST['val']); /* 货品库存 */
$product = get_product_info($product_id, 'product_number, goods_id'); /* 修改货品库存 */
$sql = "UPDATE " . $ecs->table('products') . " SET product_number = '$product_number' WHERE product_id = '$product_id'";
$result = $db->query($sql);
if ($result)
{
/* 修改商品库存 */
if (update_goods_stock($product['goods_id'], $product_number - $product['product_number']))
{
clear_cache_files();
make_json_result($product_number);
}
}
} /*------------------------------------------------------ */
//-- 货品添加 执行
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'product_add_execute')
{
admin_priv('goods_manage'); $product['goods_id'] = intval($_POST['goods_id']);
$product['attr'] = $_POST['attr'];
$product['product_sn'] = $_POST['product_sn'];
$product['product_number'] = $_POST['product_number']; /* 是否存在商品id */
if (empty($product['goods_id']))
{
sys_msg($_LANG['sys']['wrong'] . $_LANG['cannot_found_goods'], 1, array(), false);
} /* 判断是否为初次添加 */
$insert = true;
if (product_number_count($product['goods_id']) > 0)
{
$insert = false;
} /* 取出商品信息 */
$sql = "SELECT goods_sn, goods_name, goods_type, shop_price FROM " . $ecs->table('goods') . " WHERE goods_id = '" . $product['goods_id'] . "'";
$goods = $db->getRow($sql);
if (empty($goods))
{
sys_msg($_LANG['sys']['wrong'] . $_LANG['cannot_found_goods'], 1, array(), false);
} /* */
foreach($product['product_sn'] as $key => $value)
{
//过滤
$product['product_number'][$key] = empty($product['product_number'][$key]) ? (empty($_CFG['use_storage']) ? 0 : $_CFG['default_storage']) : trim($product['product_number'][$key]); //库存 //获取规格在商品属性表中的id
foreach($product['attr'] as $attr_key => $attr_value)
{
/* 检测:如果当前所添加的货品规格存在空值或0 */
if (empty($attr_value[$key]))
{
continue 2;
} $is_spec_list[$attr_key] = 'true'; $value_price_list[$attr_key] = $attr_value[$key] . chr(9) . ''; //$key,当前 $id_list[$attr_key] = $attr_key;
}
$goods_attr_id = handle_goods_attr($product['goods_id'], $id_list, $is_spec_list, $value_price_list); /* 是否为重复规格的货品 */
$goods_attr = sort_goods_attr_id_array($goods_attr_id);
$goods_attr = implode('|', $goods_attr['sort']);
if (check_goods_attr_exist($goods_attr, $product['goods_id']))
{
continue;
//sys_msg($_LANG['sys']['wrong'] . $_LANG['exist_same_goods_attr'], 1, array(), false);
}
//货品号不为空
if (!empty($value))
{
/* 检测:货品货号是否在商品表和货品表中重复 */
if (check_goods_sn_exist($value))
{
continue;
//sys_msg($_LANG['sys']['wrong'] . $_LANG['exist_same_goods_sn'], 1, array(), false);
}
if (check_product_sn_exist($value))
{
continue;
//sys_msg($_LANG['sys']['wrong'] . $_LANG['exist_same_product_sn'], 1, array(), false);
}
} /* 插入货品表 */
$sql = "INSERT INTO " . $GLOBALS['ecs']->table('products') . " (goods_id, goods_attr, product_sn, product_number) VALUES ('" . $product['goods_id'] . "', '$goods_attr', '$value', '" . $product['product_number'][$key] . "')";
if (!$GLOBALS['db']->query($sql))
{
continue;
//sys_msg($_LANG['sys']['wrong'] . $_LANG['cannot_add_products'], 1, array(), false);
} //货品号为空 自动补货品号
if (empty($value))
{
$sql = "UPDATE " . $GLOBALS['ecs']->table('products') . "
SET product_sn = '" . $goods['goods_sn'] . "g_p" . $GLOBALS['db']->insert_id() . "'
WHERE product_id = '" . $GLOBALS['db']->insert_id() . "'";
$GLOBALS['db']->query($sql);
} /* 修改商品表库存 */
$product_count = product_number_count($product['goods_id']);
if (update_goods($product['goods_id'], 'goods_number', $product_count))
{
//记录日志
admin_log($product['goods_id'], 'update', 'goods');
}
} clear_cache_files(); /* 返回 */
if ($insert)
{
$link[] = array('href' => 'goods.php?act=add', 'text' => $_LANG['02_goods_add']);
$link[] = array('href' => 'goods.php?act=list', 'text' => $_LANG['01_goods_list']);
$link[] = array('href' => 'goods.php?act=product_list&goods_id=' . $product['goods_id'], 'text' => $_LANG['18_product_list']);
}
else
{
$link[] = array('href' => 'goods.php?act=list&uselastfilter=1', 'text' => $_LANG['01_goods_list']);
$link[] = array('href' => 'goods.php?act=edit&goods_id=' . $product['goods_id'], 'text' => $_LANG['edit_goods']);
$link[] = array('href' => 'goods.php?act=product_list&goods_id=' . $product['goods_id'], 'text' => $_LANG['18_product_list']);
}
sys_msg($_LANG['save_products'], 0, $link);
} /*------------------------------------------------------ */
//-- 货品批量操作
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'batch_product')
{
/* 定义返回 */
$link[] = array('href' => 'goods.php?act=product_list&goods_id=' . $_POST['goods_id'], 'text' => $_LANG['item_list']); /* 批量操作 - 批量删除 */
if ($_POST['type'] == 'drop')
{
//检查权限
admin_priv('remove_back'); //取得要操作的商品编号
$product_id = !empty($_POST['checkboxes']) ? join(',', $_POST['checkboxes']) : 0;
$product_bound = db_create_in($product_id); //取出货品库存总数
$sum = 0;
$goods_id = 0;
$sql = "SELECT product_id, goods_id, product_number FROM " . $GLOBALS['ecs']->table('products') . " WHERE product_id $product_bound";
$product_array = $GLOBALS['db']->getAll($sql);
if (!empty($product_array))
{
foreach ($product_array as $value)
{
$sum += $value['product_number'];
}
$goods_id = $product_array[0]['goods_id']; /* 删除货品 */
$sql = "DELETE FROM " . $ecs->table('products') . " WHERE product_id $product_bound";
if ($db->query($sql))
{
//记录日志
admin_log('', 'delete', 'products');
} /* 修改商品库存 */
if (update_goods_stock($goods_id, -$sum))
{
//记录日志
admin_log('', 'update', 'goods');
} /* 返回 */
sys_msg($_LANG['product_batch_del_success'], 0, $link);
}
else
{
/* 错误 */
sys_msg($_LANG['cannot_found_products'], 1, $link);
}
} /* 返回 */
sys_msg($_LANG['no_operation'], 1, $link);
} /**
* 列表链接
* @param bool $is_add 是否添加(插入)
* @param string $extension_code 虚拟商品扩展代码,实体商品为空
* @return array('href' => $href, 'text' => $text)
*/
function list_link($is_add = true, $extension_code = '')
{
$href = 'goods.php?act=list';
if (!empty($extension_code))
{
$href .= '&extension_code=' . $extension_code;
}
if (!$is_add)
{
$href .= '&' . list_link_postfix();
} if ($extension_code == 'virtual_card')
{
$text = $GLOBALS['_LANG']['50_virtual_card_list'];
}
else
{
$text = $GLOBALS['_LANG']['01_goods_list'];
} return array('href' => $href, 'text' => $text);
} /**
* 添加链接
* @param string $extension_code 虚拟商品扩展代码,实体商品为空
* @return array('href' => $href, 'text' => $text)
*/
function add_link($extension_code = '')
{
$href = 'goods.php?act=add';
if (!empty($extension_code))
{
$href .= '&extension_code=' . $extension_code;
} if ($extension_code == 'virtual_card')
{
$text = $GLOBALS['_LANG']['51_virtual_card_add'];
}
else
{
$text = $GLOBALS['_LANG']['02_goods_add'];
} return array('href' => $href, 'text' => $text);
} /**
* 检查图片网址是否合法
*
* @param string $url 网址
*
* @return boolean
*/
function goods_parse_url($url)
{
$parse_url = @parse_url($url);
return (!empty($parse_url['scheme']) && !empty($parse_url['host']));
} /**
* 保存某商品的优惠价格
* @param int $goods_id 商品编号
* @param array $number_list 优惠数量列表
* @param array $price_list 价格列表
* @return void
*/
function handle_volume_price($goods_id, $number_list, $price_list)
{
$sql = "DELETE FROM " . $GLOBALS['ecs']->table('volume_price') .
" WHERE price_type = '1' AND goods_id = '$goods_id'";
$GLOBALS['db']->query($sql); /* 循环处理每个优惠价格 */
foreach ($price_list AS $key => $price)
{
/* 价格对应的数量上下限 */
$volume_number = $number_list[$key]; if (!empty($price))
{
$sql = "INSERT INTO " . $GLOBALS['ecs']->table('volume_price') .
" (price_type, goods_id, volume_number, volume_price) " .
"VALUES ('1', '$goods_id', '$volume_number', '$price')";
$GLOBALS['db']->query($sql);
}
}
} /**
* 修改商品库存
* @param string $goods_id 商品编号,可以为多个,用 ',' 隔开
* @param string $value 字段值
* @return bool
*/
function update_goods_stock($goods_id, $value)
{
if ($goods_id)
{
/* $res = $goods_number - $old_product_number + $product_number; */
$sql = "UPDATE " . $GLOBALS['ecs']->table('goods') . "
SET goods_number = goods_number + $value,
last_update = '". gmtime() ."'
WHERE goods_id = '$goods_id'";
$result = $GLOBALS['db']->query($sql); /* 清除缓存 */
clear_cache_files(); return $result;
}
else
{
return false;
}
}
?>