Server : Apache System : Linux iZ2vcgyutqttsd1p850kl8Z 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 User : www ( 1000) PHP Version : 5.6.40 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/saimikebio.com/ecshopjcw/ |
<?php /** * ECSHOP 商品分类管理程序 * ============================================================================ * * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。 * 网站地址: http://www.ecshop.com; * ---------------------------------------------------------------------------- * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和 * 使用;不允许对程序代码以任何形式任何目的的再发布。 * ============================================================================ * $Author: liubo $ * $Id: category.php 17217 2011-01-19 06:29:08Z liubo $ */ define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); include_once (ROOT_PATH . 'includes/cls_image.php'); $image = new cls_image($_CFG['bgcolor']); $exc = new exchange($ecs->table("category"), $db, 'cat_id', 'cat_name'); /* act操作项的初始化 */ if (empty($_REQUEST['act'])) { $_REQUEST['act'] = 'list'; } else { $_REQUEST['act'] = trim($_REQUEST['act']); } /*------------------------------------------------------ */ //-- 商品分类列表 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'list') { /* 获取分类列表 */ $cat_list = cat_list(0, 0, false); /* 模板赋值 */ $smarty->assign('ur_here', $_LANG['03_category_list']); $smarty->assign('action_link', array('href' => 'category.php?act=add', 'text' => $_LANG['04_category_add'])); $smarty->assign('full_page', 1); $smarty->assign('cat_info', $cat_list); /* 列表页面 */ assign_query_info(); $smarty->display('category_list.htm'); } /*------------------------------------------------------ */ //-- 排序、分页、查询 /*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'query') { $cat_list = cat_list(0, 0, false); $smarty->assign('cat_info', $cat_list); make_json_result($smarty->fetch('category_list.htm')); } /*------------------------------------------------------ */ //-- 添加商品分类 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'add') { /* 权限检查 */ admin_priv('cat_manage'); /* 模板赋值 */ $smarty->assign('ur_here', $_LANG['04_category_add']); $smarty->assign('action_link', array('href' => 'category.php?act=list', 'text' => $_LANG['03_category_list'])); $smarty->assign('goods_type_list', goods_type_list(0)); // 取得商品类型 $smarty->assign('attr_list', get_attr_list()); // 取得商品属性 $smarty->assign('cat_select', cat_list(0, 0, true)); $smarty->assign('form_act', 'insert'); $smarty->assign('cat_info', array('is_show' => 1)); /* 显示页面 */ assign_query_info(); $smarty->display('category_info.htm'); } /*------------------------------------------------------ */ //-- 商品分类添加时的处理 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'insert') { /* 权限检查 */ admin_priv('cat_manage'); /* 初始化变量 */ $cat['cat_id'] = !empty($_POST['cat_id']) ? intval($_POST['cat_id']) : 0; $cat['parent_id'] = !empty($_POST['parent_id']) ? intval($_POST['parent_id']) : 0; $cat['sort_order'] = !empty($_POST['sort_order']) ? intval($_POST['sort_order']) : 0; $cat['seo_title'] = !empty($_POST['seo_title']) ? trim($_POST['seo_title']) : ''; $cat['keywords'] = !empty($_POST['keywords']) ? trim($_POST['keywords']) : ''; $cat['cat_desc'] = !empty($_POST['cat_desc']) ? $_POST['cat_desc'] : ''; $cat['measure_unit'] = !empty($_POST['measure_unit']) ? trim($_POST['measure_unit']) : ''; $cat['show_in_nav'] = !empty($_POST['show_in_nav']) ? intval($_POST['show_in_nav']): 0; $cat['style'] = !empty($_POST['style']) ? trim($_POST['style']) : ''; $cat['is_show'] = !empty($_POST['is_show']) ? intval($_POST['is_show']) : 0; $cat['grade'] = !empty($_POST['grade']) ? intval($_POST['grade']) : 0; $cat['cat_recommend'] = !empty($_POST['cat_recommend']) ? $_POST['cat_recommend'] : array();$cat['filter_attr'] = !empty($_POST['filter_attr']) ? implode(',', array_unique(array_diff($_POST['filter_attr'],array(0)))) : 0; $cat['cat_name'] = !empty($_POST['cat_name']) ? trim($_POST['cat_name']) : ''; $arrCatName1 = str_replace(' ', '', $cat['cat_name']); $arrCatName2 = nl2br($arrCatName1); $arrCatName = explode("<br />" ,$arrCatName2); foreach($arrCatName as $arrCatNameValue) { $cat['cat_name']=str_replace(PHP_EOL, '', $arrCatNameValue); if (cat_exists($cat['cat_name'], $cat['parent_id'])) { /* 同级别下不能有重复的分类名称 */ $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)'); sys_msg($_LANG['catname_exist'], 0, $link); } if($cat['grade'] > 10 || $cat['grade'] < 0) { /* 价格区间数超过范围 */ $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)'); sys_msg($_LANG['grade_error'], 0, $link); } $img_name = basename($image->upload_image($_FILES['cat_ico'], 'cat_ico')); if ($img_name){ $cat['cat_ico'] = $img_name; } /* 入库的操作 */ if ($db->autoExecute($ecs->table('category'), $cat) !== false) { $cat_id = $db->insert_id(); if($cat['show_in_nav'] == 1) { $vieworder = $db->getOne("SELECT max(vieworder) FROM ". $ecs->table('nav') . " WHERE type = 'middle'"); $vieworder += 2; //显示在自定义导航栏中 $sql = "INSERT INTO " . $ecs->table('nav') . " (name,ctype,cid,ifshow,vieworder,opennew,url,type)". " VALUES('" . $cat['cat_name'] . "', 'c', '".$db->insert_id()."','1','$vieworder','0', '" . build_uri('category', array('cid'=> $cat_id), $cat['cat_name']) . "','middle')"; $db->query($sql); } insert_cat_recommend($cat['cat_recommend'], $cat_id); } } admin_log($_POST['cat_name'], 'add', 'category'); // 记录管理员操作 clear_cache_files(); // 清除缓存 /*添加链接*/ $link[0]['text'] = $_LANG['continue_add']; $link[0]['href'] = 'category.php?act=add'; $link[1]['text'] = $_LANG['back_list']; $link[1]['href'] = 'category.php?act=list'; sys_msg($_LANG['catadd_succed'], 0, $link); } /*------------------------------------------------------ */ //-- 编辑商品分类信息 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'edit') { admin_priv('cat_manage'); // 权限检查 $cat_id = intval($_REQUEST['cat_id']); $cat_info = get_cat_info($cat_id); // 查询分类信息数据 $attr_list = get_attr_list(); $filter_attr_list = array(); if ($cat_info['filter_attr']) { $filter_attr = explode(",", $cat_info['filter_attr']); //把多个筛选属性放到数组中 foreach ($filter_attr AS $k => $v) { $attr_cat_id = $db->getOne("SELECT cat_id FROM " . $ecs->table('attribute') . " WHERE attr_id = '" . intval($v) . "'"); $filter_attr_list[$k]['goods_type_list'] = goods_type_list($attr_cat_id); //取得每个属性的商品类型 $filter_attr_list[$k]['filter_attr'] = $v; $attr_option = array(); if($attr_list[$attr_cat_id]) { foreach ($attr_list[$attr_cat_id] as $val) { $attr_option[key($val)] = current ($val); } } $filter_attr_list[$k]['option'] = $attr_option; } $smarty->assign('filter_attr_list', $filter_attr_list); } else { $attr_cat_id = 0; } /* 模板赋值 */ $smarty->assign('attr_list', $attr_list); // 取得商品属性 $smarty->assign('attr_cat_id', $attr_cat_id); $smarty->assign('ur_here', $_LANG['category_edit']); $smarty->assign('action_link', array('text' => $_LANG['03_category_list'], 'href' => 'category.php?act=list')); //分类是否存在首页推荐 $res = $db->getAll("SELECT recommend_type FROM " . $ecs->table("cat_recommend") . " WHERE cat_id=" . $cat_id); if (!empty($res)) { $cat_recommend = array(); foreach($res as $data) { $cat_recommend[$data['recommend_type']] = 1; } $smarty->assign('cat_recommend', $cat_recommend); } $smarty->assign('cat_info', $cat_info); $smarty->assign('form_act', 'update'); $smarty->assign('cat_select', cat_list(0, $cat_info['parent_id'], true)); $smarty->assign('goods_type_list', goods_type_list(0)); // 取得商品类型 /* 显示页面 */ assign_query_info(); $smarty->display('category_info.htm'); } elseif($_REQUEST['act'] == 'add_category') { $parent_id = empty($_REQUEST['parent_id']) ? 0 : intval($_REQUEST['parent_id']); $category = empty($_REQUEST['cat']) ? '' : json_str_iconv(trim($_REQUEST['cat'])); if(cat_exists($category, $parent_id)) { make_json_error($_LANG['catname_exist']); } else { $sql = "INSERT INTO " . $ecs->table('category') . "(cat_name, parent_id, is_show)" . "VALUES ( '$category', '$parent_id', 1)"; $db->query($sql); $category_id = $db->insert_id(); $arr = array("parent_id"=>$parent_id, "id"=>$category_id, "cat"=>$category); clear_cache_files(); // 清除缓存 make_json_result($arr); } } /*------------------------------------------------------ */ //-- 编辑商品分类信息 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'update') { /* 权限检查 */ admin_priv('cat_manage'); /* 初始化变量 */ $cat_id = !empty($_POST['cat_id']) ? intval($_POST['cat_id']) : 0; $old_cat_name = $_POST['old_cat_name']; $cat['parent_id'] = !empty($_POST['parent_id']) ? intval($_POST['parent_id']) : 0; $cat['sort_order'] = !empty($_POST['sort_order']) ? intval($_POST['sort_order']) : 0; $cat['seo_title'] = !empty($_POST['seo_title']) ? trim($_POST['seo_title']) : ''; $cat['keywords'] = !empty($_POST['keywords']) ? trim($_POST['keywords']) : ''; $cat['cat_desc'] = !empty($_POST['cat_desc']) ? $_POST['cat_desc'] : ''; $cat['measure_unit'] = !empty($_POST['measure_unit']) ? trim($_POST['measure_unit']) : ''; $cat['cat_name'] = !empty($_POST['cat_name']) ? trim($_POST['cat_name']) : ''; $cat['is_show'] = !empty($_POST['is_show']) ? intval($_POST['is_show']) : 0; $cat['show_in_nav'] = !empty($_POST['show_in_nav']) ? intval($_POST['show_in_nav']): 0; $cat['style'] = !empty($_POST['style']) ? trim($_POST['style']) : ''; $cat['grade'] = !empty($_POST['grade']) ? intval($_POST['grade']) : 0; $cat['filter_attr'] = !empty($_POST['filter_attr']) ? implode(',', array_unique(array_diff($_POST['filter_attr'],array(0)))) : 0; $cat['cat_recommend'] = !empty($_POST['cat_recommend']) ? $_POST['cat_recommend'] : array(); /* 判断分类名是否重复 */ if ($cat['cat_name'] != $old_cat_name) { if (cat_exists($cat['cat_name'],$cat['parent_id'], $cat_id)) { $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)'); sys_msg($_LANG['catname_exist'], 0, $link); } } /* 判断上级目录是否合法 */ $children = array_keys(cat_list($cat_id, 0, false)); // 获得当前分类的所有下级分类 if (in_array($cat['parent_id'], $children)) { /* 选定的父类是当前分类或当前分类的下级分类 */ $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)'); sys_msg($_LANG["is_leaf_error"], 0, $link); } if($cat['grade'] > 10 || $cat['grade'] < 0) { /* 价格区间数超过范围 */ $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)'); sys_msg($_LANG['grade_error'], 0, $link); } $dat = $db->getRow("SELECT cat_name, show_in_nav, cat_ico FROM ". $ecs->table('category') . " WHERE cat_id = '$cat_id'"); if (!empty($_FILES['cat_ico']['tmp_name'])) { @unlink('../data/cat_ico/' .$dat['cat_ico']); } $img_name = basename($image->upload_image($_FILES['cat_ico'], 'cat_ico')); if ($img_name){ $cat['cat_ico'] = $img_name; } if ($db->autoExecute($ecs->table('category'), $cat, 'UPDATE', "cat_id='$cat_id'")) { if($cat['cat_name'] != $dat['cat_name']) { //如果分类名称发生了改变 $sql = "UPDATE " . $ecs->table('nav') . " SET name = '" . $cat['cat_name'] . "' WHERE ctype = 'c' AND cid = '" . $cat_id . "' AND type = 'middle'"; $db->query($sql); } if($cat['show_in_nav'] != $dat['show_in_nav']) { //是否显示于导航栏发生了变化 if($cat['show_in_nav'] == 1) { //显示 $nid = $db->getOne("SELECT id FROM ". $ecs->table('nav') . " WHERE ctype = 'c' AND cid = '" . $cat_id . "' AND type = 'middle'"); if(empty($nid)) { //不存在 $vieworder = $db->getOne("SELECT max(vieworder) FROM ". $ecs->table('nav') . " WHERE type = 'middle'"); $vieworder += 2; $uri = build_uri('category', array('cid'=> $cat_id), $cat['cat_name']); $sql = "INSERT INTO " . $ecs->table('nav') . " (name,ctype,cid,ifshow,vieworder,opennew,url,type) VALUES('" . $cat['cat_name'] . "', 'c', '$cat_id','1','$vieworder','0', '" . $uri . "','middle')"; } else { $sql = "UPDATE " . $ecs->table('nav') . " SET ifshow = 1 WHERE ctype = 'c' AND cid = '" . $cat_id . "' AND type = 'middle'"; } $db->query($sql); } else { //去除 $db->query("UPDATE " . $ecs->table('nav') . " SET ifshow = 0 WHERE ctype = 'c' AND cid = '" . $cat_id . "' AND type = 'middle'"); } } //更新首页推荐 insert_cat_recommend($cat['cat_recommend'], $cat_id); /* 更新分类信息成功 */ clear_cache_files(); // 清除缓存 admin_log($_POST['cat_name'], 'edit', 'category'); // 记录管理员操作 /* 提示信息 */ $link[] = array('text' => $_LANG['back_list'], 'href' => 'category.php?act=list'); sys_msg($_LANG['catedit_succed'], 0, $link); } } /*------------------------------------------------------ */ //-- 批量转移商品分类页面 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'move') { /* 权限检查 */ admin_priv('cat_drop'); $cat_id = !empty($_REQUEST['cat_id']) ? intval($_REQUEST['cat_id']) : 0; /* 模板赋值 */ $smarty->assign('ur_here', $_LANG['move_goods']); $smarty->assign('action_link', array('href' => 'category.php?act=list', 'text' => $_LANG['03_category_list'])); $smarty->assign('cat_select', cat_list(0, $cat_id, true)); $smarty->assign('form_act', 'move_cat'); /* 显示页面 */ assign_query_info(); $smarty->display('category_move.htm'); } /*------------------------------------------------------ */ //-- 处理批量转移商品分类的处理程序 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'move_cat') { /* 权限检查 */ admin_priv('cat_drop'); $cat_id = !empty($_POST['cat_id']) ? intval($_POST['cat_id']) : 0; $target_cat_id = !empty($_POST['target_cat_id']) ? intval($_POST['target_cat_id']) : 0; /* 商品分类不允许为空 */ if ($cat_id == 0 || $target_cat_id == 0) { $link[] = array('text' => $_LANG['go_back'], 'href' => 'category.php?act=move'); sys_msg($_LANG['cat_move_empty'], 0, $link); } /* 更新商品分类 */ $sql = "UPDATE " .$ecs->table('goods'). " SET cat_id = '$target_cat_id' ". "WHERE cat_id = '$cat_id'"; if ($db->query($sql)) { /* 清除缓存 */ clear_cache_files(); /* 提示信息 */ $link[] = array('text' => $_LANG['go_back'], 'href' => 'category.php?act=list'); sys_msg($_LANG['move_cat_success'], 0, $link); } } /*------------------------------------------------------ */ //-- 编辑排序序号 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'edit_sort_order') { check_authz_json('cat_manage'); $id = intval($_POST['id']); $val = intval($_POST['val']); if (cat_update($id, array('sort_order' => $val))) { clear_cache_files(); // 清除缓存 make_json_result($val); } else { make_json_error($db->error()); } } /*------------------------------------------------------ */ //-- 编辑数量单位 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'edit_measure_unit') { check_authz_json('cat_manage'); $id = intval($_POST['id']); $val = json_str_iconv($_POST['val']); if (cat_update($id, array('measure_unit' => $val))) { clear_cache_files(); // 清除缓存 make_json_result($val); } else { make_json_error($db->error()); } } /*------------------------------------------------------ */ //-- 编辑分类名称 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'edit_catname') { check_authz_json('cat_manage'); $id = intval($_POST['id']); $val = json_str_iconv($_POST['val']); if (cat_update($id, array('cat_name' => $val))) { clear_cache_files(); // 清除缓存 make_json_result($val); } else { make_json_error($db->error()); } } //-- 编辑排序序号 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'edit_grade') { check_authz_json('cat_manage'); $id = intval($_POST['id']); $val = intval($_POST['val']); if($val > 10 || $val < 0) { /* 价格区间数超过范围 */ make_json_error($_LANG['grade_error']); } if (cat_update($id, array('grade' => $val))) { clear_cache_files(); // 清除缓存 make_json_result($val); } else { make_json_error($db->error()); } } /*------------------------------------------------------ */ //-- 切换是否显示在导航栏 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'toggle_show_in_nav') { check_authz_json('cat_manage'); $id = intval($_POST['id']); $val = intval($_POST['val']); if (cat_update($id, array('show_in_nav' => $val)) != false) { if($val == 1) { //显示 $vieworder = $db->getOne("SELECT max(vieworder) FROM ". $ecs->table('nav') . " WHERE type = 'middle'"); $vieworder += 2; $catname = $db->getOne("SELECT cat_name FROM ". $ecs->table('category') . " WHERE cat_id = '$id'"); //显示在自定义导航栏中 $_CFG['rewrite'] = 0; $uri = build_uri('category', array('cid'=> $id), $catname); $nid = $db->getOne("SELECT id FROM ". $ecs->table('nav') . " WHERE ctype = 'c' AND cid = '" . $id . "' AND type = 'middle'"); if(empty($nid)) { //不存在 $sql = "INSERT INTO " . $ecs->table('nav') . " (name,ctype,cid,ifshow,vieworder,opennew,url,type) VALUES('" . $catname . "', 'c', '$id','1','$vieworder','0', '" . $uri . "','middle')"; } else { $sql = "UPDATE " . $ecs->table('nav') . " SET ifshow = 1 WHERE ctype = 'c' AND cid = '" . $id . "' AND type = 'middle'"; } $db->query($sql); } else { //去除 $db->query("UPDATE " . $ecs->table('nav') . "SET ifshow = 0 WHERE ctype = 'c' AND cid = '" . $id . "' AND type = 'middle'"); } clear_cache_files(); make_json_result($val); } else { make_json_error($db->error()); } } /*------------------------------------------------------ */ //-- 切换是否显示 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'toggle_is_show') { check_authz_json('cat_manage'); $id = intval($_POST['id']); $val = intval($_POST['val']); if (cat_update($id, array('is_show' => $val)) != false) { clear_cache_files(); make_json_result($val); } else { make_json_error($db->error()); } } /*------------------------------------------------------ */ //-- 切换是否热门分类 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'toggle_is_hot_cat') { check_authz_json('cat_manage'); $id = intval($_POST['id']); $val = intval($_POST['val']); if (cat_update($id, array('is_hot_cat' => $val)) != false) { clear_cache_files(); make_json_result($val); } else { make_json_error($db->error()); } } /*------------------------------------------------------ */ //-- 删除商品分类 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'remove') { check_authz_json('cat_manage'); /* 初始化分类ID并取得分类名称 */ $cat_id = intval($_GET['id']); $cat_name = $db->getOne('SELECT cat_name FROM ' .$ecs->table('category'). " WHERE cat_id='$cat_id'"); /* 当前分类下是否有子分类 */ $cat_count = $db->getOne('SELECT COUNT(*) FROM ' .$ecs->table('category'). " WHERE parent_id='$cat_id'"); /* 当前分类下是否存在商品 */ $goods_count = $db->getOne('SELECT COUNT(*) FROM ' .$ecs->table('goods'). " WHERE cat_id='$cat_id'"); /* 如果不存在下级子分类和商品,则删除之 */ if ($cat_count == 0 && $goods_count == 0) { /* 删除分类 */ $sql = 'DELETE FROM ' .$ecs->table('category'). " WHERE cat_id = '$cat_id'"; if ($db->query($sql)) { $db->query("DELETE FROM " . $ecs->table('nav') . "WHERE ctype = 'c' AND cid = '" . $cat_id . "' AND type = 'middle'"); clear_cache_files(); admin_log($cat_name, 'remove', 'category'); } } else { make_json_error($cat_name .' '. $_LANG['cat_isleaf']); } $url = 'category.php?act=query&' . str_replace('act=remove', '', $_SERVER['QUERY_STRING']); ecs_header("Location: $url\n"); exit; } elseif ($_REQUEST['act'] == 'drop_cat_ico') { admin_priv('cat_manage'); $cat_id = isset($_GET['id']) ? intval($_GET['id']) : 0; $sql = "SELECT cat_ico FROM " . $ecs->table('category') . " WHERE cat_id = '$cat_id'"; $thumb_name = $db->getOne($sql); if (!empty($thumb_name)) { @unlink(ROOT_PATH . DATA_DIR . '/cat_ico/' . $thumb_name); $sql = "UPDATE " . $ecs->table('category') . " SET cat_ico = '' WHERE cat_id = '$cat_id'"; $db->query($sql); } $link = array( array( 'text' => '编辑商品分类', 'href' => 'category.php?act=edit&cat_id=' . $cat_id ) , array( 'text' => '商品分类列表', 'href' => 'category.php?act=list' ) ); sys_msg('删除商品分类小图成功', 0, $link); } /*------------------------------------------------------ */ //-- PRIVATE FUNCTIONS /*------------------------------------------------------ */ // ///** // * 检查分类是否已经存在 // * // * @param string $cat_name 分类名称 // * @param integer $parent_cat 上级分类 // * @param integer $exclude 排除的分类ID // * // * @return boolean // */ //function cat_exists($cat_name, $parent_cat, $exclude = 0) //{ // $sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('category'). // " WHERE parent_id = '$parent_cat' AND cat_name = '$cat_name' AND cat_id<>'$exclude'"; // return ($GLOBALS['db']->getOne($sql) > 0) ? true : false; //} /** * 获得商品分类的所有信息 * * @param integer $cat_id 指定的分类ID * * @return mix */ function get_cat_info($cat_id) { $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('category'). " WHERE cat_id='$cat_id' LIMIT 1"; return $GLOBALS['db']->getRow($sql); } /** * 添加商品分类 * * @param integer $cat_id * @param array $args * * @return mix */ function cat_update($cat_id, $args) { if (empty($args) || empty($cat_id)) { return false; } return $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('category'), $args, 'update', "cat_id='$cat_id'"); } /** * 获取属性列表 * * @access public * @param * * @return void */ function get_attr_list() { $sql = "SELECT a.attr_id, a.cat_id, a.attr_name ". " FROM " . $GLOBALS['ecs']->table('attribute'). " AS a, ". $GLOBALS['ecs']->table('goods_type') . " AS c ". " WHERE a.cat_id = c.cat_id AND c.enabled = 1 ". " ORDER BY a.cat_id , a.sort_order"; $arr = $GLOBALS['db']->getAll($sql); $list = array(); foreach ($arr as $val) { $list[$val['cat_id']][] = array($val['attr_id']=>$val['attr_name']); } return $list; } /** * 插入首页推荐扩展分类 * * @access public * @param array $recommend_type 推荐类型 * @param integer $cat_id 分类ID * * @return void */ function insert_cat_recommend($recommend_type, $cat_id) { //检查分类是否为首页推荐 if (!empty($recommend_type)) { //取得之前的分类 $recommend_res = $GLOBALS['db']->getAll("SELECT recommend_type FROM " . $GLOBALS['ecs']->table("cat_recommend") . " WHERE cat_id=" . $cat_id); if (empty($recommend_res)) { foreach($recommend_type as $data) { $data = intval($data); $GLOBALS['db']->query("INSERT INTO " . $GLOBALS['ecs']->table("cat_recommend") . "(cat_id, recommend_type) VALUES ('$cat_id', '$data')"); } } else { $old_data = array(); foreach($recommend_res as $data) { $old_data[] = $data['recommend_type']; } $delete_array = array_diff($old_data, $recommend_type); if (!empty($delete_array)) { $GLOBALS['db']->query("DELETE FROM " . $GLOBALS['ecs']->table("cat_recommend") . " WHERE cat_id=$cat_id AND recommend_type " . db_create_in($delete_array)); } $insert_array = array_diff($recommend_type, $old_data); if (!empty($insert_array)) { foreach($insert_array as $data) { $data = intval($data); $GLOBALS['db']->query("INSERT INTO " . $GLOBALS['ecs']->table("cat_recommend") . "(cat_id, recommend_type) VALUES ('$cat_id', '$data')"); } } } } else { $GLOBALS['db']->query("DELETE FROM ". $GLOBALS['ecs']->table("cat_recommend") . " WHERE cat_id=" . $cat_id); } } ?>