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/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/saimikebio.com/ecshopjcw/category.php
<?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);

    }

}



?>