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


Current File : /www/wwwroot/saimikebio.com/mobile/ecshopjcw/suppliers.php
<?php



/**

 * ECSHOP 管理中心供货商管理

 * ============================================================================

 * * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。

 * 网站地址: http://www.ecshop.com;

 * ----------------------------------------------------------------------------

 * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和

 * 使用;不允许对程序代码以任何形式任何目的的再发布。

 * ============================================================================

 * $Author: wanglei $

 * $Id: suppliers.php 15013 2009-05-13 09:31:42Z wanglei $

 */



define('IN_ECTOUCH', true);



require(dirname(__FILE__) . '/includes/init.php');



define('SUPPLIERS_ACTION_LIST', 'delivery_view,back_view');

/*------------------------------------------------------ */

//-- 供货商列表

/*------------------------------------------------------ */

if ($_REQUEST['act'] == 'list')

{

     /* 检查权限 */

     admin_priv('suppliers_manage');



    /* 查询 */

    $result = suppliers_list();



    /* 模板赋值 */

    $smarty->assign('ur_here', $_LANG['suppliers_list']); // 当前导航

    $smarty->assign('action_link', array('href' => 'suppliers.php?act=add', 'text' => $_LANG['add_suppliers']));



    $smarty->assign('full_page',        1); // 翻页参数



    $smarty->assign('suppliers_list',    $result['result']);

    $smarty->assign('filter',       $result['filter']);

    $smarty->assign('record_count', $result['record_count']);

    $smarty->assign('page_count',   $result['page_count']);

    $smarty->assign('sort_suppliers_id', '<img src="images/sort_desc.gif">');



    /* 显示模板 */

    assign_query_info();

    $smarty->display('suppliers_list.htm');

}



/*------------------------------------------------------ */

//-- 排序、分页、查询

/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'query')

{

    check_authz_json('suppliers_manage');



    $result = suppliers_list();



    $smarty->assign('suppliers_list',    $result['result']);

    $smarty->assign('filter',       $result['filter']);

    $smarty->assign('record_count', $result['record_count']);

    $smarty->assign('page_count',   $result['page_count']);



    /* 排序标记 */

    $sort_flag  = sort_flag($result['filter']);

    $smarty->assign($sort_flag['tag'], $sort_flag['img']);



    make_json_result($smarty->fetch('suppliers_list.htm'), '',

        array('filter' => $result['filter'], 'page_count' => $result['page_count']));

}



/*------------------------------------------------------ */

//-- 列表页编辑名称

/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'edit_suppliers_name')

{

    check_authz_json('suppliers_manage');



    $id     = intval($_POST['id']);

    $name   = json_str_iconv(trim($_POST['val']));



    /* 判断名称是否重复 */

    $sql = "SELECT suppliers_id

            FROM " . $ecs->table('suppliers') . "

            WHERE suppliers_name = '$name'

            AND suppliers_id <> '$id' ";

    if ($db->getOne($sql))

    {

        make_json_error(sprintf($_LANG['suppliers_name_exist'], $name));

    }

    else

    {

        /* 保存供货商信息 */

        $sql = "UPDATE " . $ecs->table('suppliers') . "

                SET suppliers_name = '$name'

                WHERE suppliers_id = '$id'";

        if ($result = $db->query($sql))

        {

            /* 记日志 */

            admin_log($name, 'edit', 'suppliers');



            clear_cache_files();



            make_json_result(stripslashes($name));

        }

        else

        {

            make_json_result(sprintf($_LANG['agency_edit_fail'], $name));

        }

    }

}



/*------------------------------------------------------ */

//-- 删除供货商

/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'remove')

{

    check_authz_json('suppliers_manage');



    $id = intval($_REQUEST['id']);

    $sql = "SELECT *

            FROM " . $ecs->table('suppliers') . "

            WHERE suppliers_id = '$id'";

    $suppliers = $db->getRow($sql, TRUE);



    if ($suppliers['suppliers_id'])

    {

        /* 判断供货商是否存在订单 */

        $sql = "SELECT COUNT(*)

                FROM " . $ecs->table('order_info') . "AS O, " . $ecs->table('order_goods') . " AS OG, " . $ecs->table('goods') . " AS G

                WHERE O.order_id = OG.order_id

                AND OG.goods_id = G.goods_id

                AND G.suppliers_id = '$id'";

        $order_exists = $db->getOne($sql, TRUE);

        if ($order_exists > 0)

        {

            $url = 'suppliers.php?act=query&' . str_replace('act=remove', '', $_SERVER['QUERY_STRING']);

            ecs_header("Location: $url\n");

            exit;

        }



        /* 判断供货商是否存在商品 */

        $sql = "SELECT COUNT(*)

                FROM " . $ecs->table('goods') . "AS G

                WHERE G.suppliers_id = '$id'";

        $goods_exists = $db->getOne($sql, TRUE);

        if ($goods_exists > 0)

        {

            $url = 'suppliers.php?act=query&' . str_replace('act=remove', '', $_SERVER['QUERY_STRING']);

            ecs_header("Location: $url\n");

            exit;

        }



        $sql = "DELETE FROM " . $ecs->table('suppliers') . "

            WHERE suppliers_id = '$id'";

        $db->query($sql);



        /* 删除管理员、发货单关联、退货单关联和订单关联的供货商 */

        $table_array = array('admin_user', 'delivery_order', 'back_order');

        foreach ($table_array as $value)

        {

            $sql = "DELETE FROM " . $ecs->table($value) . " WHERE suppliers_id = '$id'";

            $db->query($sql, 'SILENT');

        }



        /* 记日志 */

        admin_log($suppliers['suppliers_name'], 'remove', 'suppliers');



        /* 清除缓存 */

        clear_cache_files();

    }



    $url = 'suppliers.php?act=query&' . str_replace('act=remove', '', $_SERVER['QUERY_STRING']);

    ecs_header("Location: $url\n");



    exit;

}



/*------------------------------------------------------ */

//-- 修改供货商状态

/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'is_check')

{

    check_authz_json('suppliers_manage');



    $id = intval($_REQUEST['id']);

    $sql = "SELECT suppliers_id, is_check

            FROM " . $ecs->table('suppliers') . "

            WHERE suppliers_id = '$id'";

    $suppliers = $db->getRow($sql, TRUE);



    if ($suppliers['suppliers_id'])

    {

        $_suppliers['is_check'] = empty($suppliers['is_check']) ? 1 : 0;

        $db->autoExecute($ecs->table('suppliers'), $_suppliers, '', "suppliers_id = '$id'");

        clear_cache_files();

        make_json_result($_suppliers['is_check']);

    }



    exit;

}



/*------------------------------------------------------ */

//-- 批量操作

/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'batch')

{

    /* 取得要操作的记录编号 */

    if (empty($_POST['checkboxes']))

    {

        sys_msg($_LANG['no_record_selected']);

    }

    else

    {

        /* 检查权限 */

        admin_priv('suppliers_manage');



        $ids = $_POST['checkboxes'];



        if (isset($_POST['remove']))

        {

            $sql = "SELECT *

                    FROM " . $ecs->table('suppliers') . "

                    WHERE suppliers_id " . db_create_in($ids);

            $suppliers = $db->getAll($sql);



            foreach ($suppliers as $key => $value)

            {

                /* 判断供货商是否存在订单 */

                $sql = "SELECT COUNT(*)

                        FROM " . $ecs->table('order_info') . "AS O, " . $ecs->table('order_goods') . " AS OG, " . $ecs->table('goods') . " AS G

                        WHERE O.order_id = OG.order_id

                        AND OG.goods_id = G.goods_id

                        AND G.suppliers_id = '" . $value['suppliers_id'] . "'";

                $order_exists = $db->getOne($sql, TRUE);

                if ($order_exists > 0)

                {

                    unset($suppliers[$key]);

                }



                /* 判断供货商是否存在商品 */

                $sql = "SELECT COUNT(*)

                        FROM " . $ecs->table('goods') . "AS G

                        WHERE G.suppliers_id = '" . $value['suppliers_id'] . "'";

                $goods_exists = $db->getOne($sql, TRUE);

                if ($goods_exists > 0)

                {

                    unset($suppliers[$key]);

                }

            }

            if (empty($suppliers))

            {

                sys_msg($_LANG['batch_drop_no']);

            }





            $sql = "DELETE FROM " . $ecs->table('suppliers') . "

                WHERE suppliers_id " . db_create_in($ids);

            $db->query($sql);



            /* 更新管理员、发货单关联、退货单关联和订单关联的供货商 */

            $table_array = array('admin_user', 'delivery_order', 'back_order');

            foreach ($table_array as $value)

            {

                $sql = "DELETE FROM " . $ecs->table($value) . " WHERE suppliers_id " . db_create_in($ids) . " ";

                $db->query($sql, 'SILENT');

            }



            /* 记日志 */

            $suppliers_names = '';

            foreach ($suppliers as $value)

            {

                $suppliers_names .= $value['suppliers_name'] . '|';

            }

            admin_log($suppliers_names, 'remove', 'suppliers');



            /* 清除缓存 */

            clear_cache_files();



            sys_msg($_LANG['batch_drop_ok']);

        }

    }

}



/*------------------------------------------------------ */

//-- 添加、编辑供货商

/*------------------------------------------------------ */

elseif (in_array($_REQUEST['act'], array('add', 'edit')))

{

    /* 检查权限 */

    admin_priv('suppliers_manage');



    if ($_REQUEST['act'] == 'add')

    {

        $suppliers = array();



        /* 取得所有管理员,*/

        /* 标注哪些是该供货商的('this'),哪些是空闲的('free'),哪些是别的供货商的('other') */

        /* 排除是办事处的管理员 */

        $sql = "SELECT user_id, user_name, CASE

                WHEN suppliers_id = 0 THEN 'free'

                ELSE 'other' END AS type

                FROM " . $ecs->table('admin_user') . "

                WHERE agency_id = 0

                AND action_list <> 'all'";

        $suppliers['admin_list'] = $db->getAll($sql);



        $smarty->assign('ur_here', $_LANG['add_suppliers']);

        $smarty->assign('action_link', array('href' => 'suppliers.php?act=list', 'text' => $_LANG['suppliers_list']));



        $smarty->assign('form_action', 'insert');

        $smarty->assign('suppliers', $suppliers);



        assign_query_info();



        $smarty->display('suppliers_info.htm');



    }

    elseif ($_REQUEST['act'] == 'edit')

    {

        $suppliers = array();



        /* 取得供货商信息 */

        $id = $_REQUEST['id'];

        $sql = "SELECT * FROM " . $ecs->table('suppliers') . " WHERE suppliers_id = '$id'";

        $suppliers = $db->getRow($sql);

        if (count($suppliers) <= 0)

        {

            sys_msg('suppliers does not exist');

        }



        /* 取得所有管理员,*/

        /* 标注哪些是该供货商的('this'),哪些是空闲的('free'),哪些是别的供货商的('other') */

        /* 排除是办事处的管理员 */

        $sql = "SELECT user_id, user_name, CASE

                WHEN suppliers_id = '$id' THEN 'this'

                WHEN suppliers_id = 0 THEN 'free'

                ELSE 'other' END AS type

                FROM " . $ecs->table('admin_user') . "

                WHERE agency_id = 0

                AND action_list <> 'all'";

        $suppliers['admin_list'] = $db->getAll($sql);



        $smarty->assign('ur_here', $_LANG['edit_suppliers']);

        $smarty->assign('action_link', array('href' => 'suppliers.php?act=list', 'text' => $_LANG['suppliers_list']));



        $smarty->assign('form_action', 'update');

        $smarty->assign('suppliers', $suppliers);



        assign_query_info();



        $smarty->display('suppliers_info.htm');

    }



}



/*------------------------------------------------------ */

//-- 提交添加、编辑供货商

/*------------------------------------------------------ */

elseif (in_array($_REQUEST['act'], array('insert', 'update')))

{

    /* 检查权限 */

    admin_priv('suppliers_manage');



    if ($_REQUEST['act'] == 'insert')

    {

        /* 提交值 */

        $suppliers = array('suppliers_name'   => trim($_POST['suppliers_name']),

                           'suppliers_desc'   => trim($_POST['suppliers_desc']),

                           'parent_id'        => 0

                           );



        /* 判断名称是否重复 */

        $sql = "SELECT suppliers_id

                FROM " . $ecs->table('suppliers') . "

                WHERE suppliers_name = '" . $suppliers['suppliers_name'] . "' ";

        if ($db->getOne($sql))

        {

            sys_msg($_LANG['suppliers_name_exist']);

        }



        $db->autoExecute($ecs->table('suppliers'), $suppliers, 'INSERT');

        $suppliers['suppliers_id'] = $db->insert_id();



        if (isset($_POST['admins']))

        {

            $sql = "UPDATE " . $ecs->table('admin_user') . " SET suppliers_id = '" . $suppliers['suppliers_id'] . "', action_list = '" . SUPPLIERS_ACTION_LIST . "' WHERE user_id " . db_create_in($_POST['admins']);

            $db->query($sql);

        }



        /* 记日志 */

        admin_log($suppliers['suppliers_name'], 'add', 'suppliers');



        /* 清除缓存 */

        clear_cache_files();



        /* 提示信息 */

        $links = array(array('href' => 'suppliers.php?act=add',  'text' => $_LANG['continue_add_suppliers']),

                       array('href' => 'suppliers.php?act=list', 'text' => $_LANG['back_suppliers_list'])

                       );

        sys_msg($_LANG['add_suppliers_ok'], 0, $links);



    }



    if ($_REQUEST['act'] == 'update')

    {

        /* 提交值 */

        $suppliers = array('id'   => trim($_POST['id']));



        $suppliers['new'] = array('suppliers_name'   => trim($_POST['suppliers_name']),

                           'suppliers_desc'   => trim($_POST['suppliers_desc'])

                           );



        /* 取得供货商信息 */

        $sql = "SELECT * FROM " . $ecs->table('suppliers') . " WHERE suppliers_id = '" . $suppliers['id'] . "'";

        $suppliers['old'] = $db->getRow($sql);

        if (empty($suppliers['old']['suppliers_id']))

        {

            sys_msg('suppliers does not exist');

        }



        /* 判断名称是否重复 */

        $sql = "SELECT suppliers_id

                FROM " . $ecs->table('suppliers') . "

                WHERE suppliers_name = '" . $suppliers['new']['suppliers_name'] . "'

                AND suppliers_id <> '" . $suppliers['id'] . "'";

        if ($db->getOne($sql))

        {

            sys_msg($_LANG['suppliers_name_exist']);

        }



        /* 保存供货商信息 */

        $db->autoExecute($ecs->table('suppliers'), $suppliers['new'], 'UPDATE', "suppliers_id = '" . $suppliers['id'] . "'");



        /* 清空供货商的管理员 */

        $sql = "UPDATE " . $ecs->table('admin_user') . " SET suppliers_id = 0, action_list = '" . SUPPLIERS_ACTION_LIST . "' WHERE suppliers_id = '" . $suppliers['id'] . "'";

        $db->query($sql);



        /* 添加供货商的管理员 */

        if (isset($_POST['admins']))

        {

            $sql = "UPDATE " . $ecs->table('admin_user') . " SET suppliers_id = '" . $suppliers['old']['suppliers_id'] . "' WHERE user_id " . db_create_in($_POST['admins']);

            $db->query($sql);

        }



        /* 记日志 */

        admin_log($suppliers['old']['suppliers_name'], 'edit', 'suppliers');



        /* 清除缓存 */

        clear_cache_files();



        /* 提示信息 */

        $links[] = array('href' => 'suppliers.php?act=list', 'text' => $_LANG['back_suppliers_list']);

        sys_msg($_LANG['edit_suppliers_ok'], 0, $links);

    }



}



/**

 *  获取供应商列表信息

 *

 * @access  public

 * @param

 *

 * @return void

 */

function suppliers_list()

{

    $result = get_filter();

    if ($result === false)

    {

        $aiax = isset($_GET['is_ajax']) ? $_GET['is_ajax'] : 0;



        /* 过滤信息 */

        $filter['sort_by'] = empty($_REQUEST['sort_by']) ? 'suppliers_id' : trim($_REQUEST['sort_by']);

        $filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'ASC' : trim($_REQUEST['sort_order']);



        $where = 'WHERE 1 ';



        /* 分页大小 */

        $filter['page'] = empty($_REQUEST['page']) || (intval($_REQUEST['page']) <= 0) ? 1 : intval($_REQUEST['page']);



        if (isset($_REQUEST['page_size']) && intval($_REQUEST['page_size']) > 0)

        {

            $filter['page_size'] = intval($_REQUEST['page_size']);

        }

        elseif (isset($_COOKIE['ECSCP']['page_size']) && intval($_COOKIE['ECSCP']['page_size']) > 0)

        {

            $filter['page_size'] = intval($_COOKIE['ECSCP']['page_size']);

        }

        else

        {

            $filter['page_size'] = 15;

        }



        /* 记录总数 */

        $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('suppliers') . $where;

        $filter['record_count']   = $GLOBALS['db']->getOne($sql);

        $filter['page_count']     = $filter['record_count'] > 0 ? ceil($filter['record_count'] / $filter['page_size']) : 1;



        /* 查询 */

        $sql = "SELECT suppliers_id, suppliers_name, suppliers_desc, is_check

                FROM " . $GLOBALS['ecs']->table("suppliers") . "

                $where

                ORDER BY " . $filter['sort_by'] . " " . $filter['sort_order']. "

                LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ", " . $filter['page_size'] . " ";



        set_filter($filter, $sql);

    }

    else

    {

        $sql    = $result['sql'];

        $filter = $result['filter'];

    }



    $row = $GLOBALS['db']->getAll($sql);



    $arr = array('result' => $row, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']);



    return $arr;

}

?>