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/agency.php
<?php



/**

 * ECSHOP 管理中心办事处管理

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

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

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

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

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

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

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

 * $Author: liubo $

 * $Id: agency.php 17217 2011-01-19 06:29:08Z liubo $

 */



define('IN_ECTOUCH', true);



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



$exc = new exchange($ecs->table('agency'), $db, 'agency_id', 'agency_name');



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

//-- 办事处列表

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

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

{

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

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

    $smarty->assign('full_page',    1);



    $agency_list = get_agencylist();

    $smarty->assign('agency_list',  $agency_list['agency']);

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

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

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



    /* 排序标记 */

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

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



    assign_query_info();

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

}



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

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

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

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

{

    $agency_list = get_agencylist();

    $smarty->assign('agency_list',  $agency_list['agency']);

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

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

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



    /* 排序标记 */

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

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



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

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

}



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

//-- 列表页编辑名称

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

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

{

    check_authz_json('agency_manage');



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

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



    /* 检查名称是否重复 */

    if ($exc->num("agency_name", $name, $id) != 0)

    {

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

    }

    else

    {

        if ($exc->edit("agency_name = '$name'", $id))

        {

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

            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('agency_manage');



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

    $name = $exc->get_name($id);

    $exc->drop($id);



    /* 更新管理员、配送地区、发货单、退货单和订单关联的办事处 */

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

    foreach ($table_array as $value)

    {

        $sql = "UPDATE " . $ecs->table($value) . " SET agency_id = 0 WHERE agency_id = '$id'";

        $db->query($sql);

    }



    /* 记日志 */

    admin_log($name, 'remove', 'agency');



    /* 清除缓存 */

    clear_cache_files();



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



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

    exit;

}



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

//-- 批量操作

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

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

{

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

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

    {

        sys_msg($_LANG['no_record_selected']);

    }

    else

    {

        /* 检查权限 */

        admin_priv('agency_manage');



        $ids = $_POST['checkboxes'];



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

        {

            /* 删除记录 */

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

                    " WHERE agency_id " . db_create_in($ids);

            $db->query($sql);



            /* 更新管理员、配送地区、发货单、退货单和订单关联的办事处 */

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

            foreach ($table_array as $value)

            {

                $sql = "UPDATE " . $ecs->table($value) . " SET agency_id = 0 WHERE agency_id " . db_create_in($ids) . " ";

                $db->query($sql);

            }



            /* 记日志 */

            admin_log('', 'batch_remove', 'agency');



            /* 清除缓存 */

            clear_cache_files();



            sys_msg($_LANG['batch_drop_ok']);

        }

    }

}



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

//-- 添加、编辑办事处

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

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

{

    /* 检查权限 */

    admin_priv('agency_manage');



    /* 是否添加 */

    $is_add = $_REQUEST['act'] == 'add';

    $smarty->assign('form_action', $is_add ? 'insert' : 'update');



    /* 初始化、取得办事处信息 */

    if ($is_add)

    {

        $agency = array(

            'agency_id'     => 0,

            'agency_name'   => '',

            'agency_desc'   => '',

            'region_list'   => array()

        );

    }

    else

    {

        if (empty($_GET['id']))

        {

            sys_msg('invalid param');

        }



        $id = $_GET['id'];

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

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

        if (empty($agency))

        {

            sys_msg('agency does not exist');

        }



        /* 关联的地区 */

        $sql = "SELECT region_id, region_name FROM " . $ecs->table('region') .

                " WHERE agency_id = '$id'";

        $agency['region_list'] = $db->getAll($sql);

    }



    /* 取得所有管理员,标注哪些是该办事处的('this'),哪些是空闲的('free'),哪些是别的办事处的('other') */

    $sql = "SELECT user_id, user_name, CASE " .

            "WHEN agency_id = 0 THEN 'free' " .

            "WHEN agency_id = '$agency[agency_id]' THEN 'this' " .

            "ELSE 'other' END " .

            "AS type " .

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

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



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



    /* 取得地区 */

    $country_list = get_regions();

    $smarty->assign('countries', $country_list);



    /* 显示模板 */

    if ($is_add)

    {

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

    }

    else

    {

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

    }

    if ($is_add)

    {

        $href = 'agency.php?act=list';

    }

    else

    {

        $href = 'agency.php?act=list&' . list_link_postfix();

    }

    $smarty->assign('action_link', array('href' => $href, 'text' => $_LANG['agency_list']));

    assign_query_info();

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

}



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

//-- 提交添加、编辑办事处

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

elseif ($_REQUEST['act'] == 'insert' || $_REQUEST['act'] == 'update')

{

    /* 检查权限 */

    admin_priv('agency_manage');



    /* 是否添加 */

    $is_add = $_REQUEST['act'] == 'insert';



    /* 提交值 */

    $agency = array(

        'agency_id'     => intval($_POST['id']),

        'agency_name'   => sub_str($_POST['agency_name'], 255, false),

        'agency_desc'   => $_POST['agency_desc']

    );



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

    if (!$exc->is_only('agency_name', $agency['agency_name'], $agency['agency_id']))

    {

        sys_msg($_LANG['agency_name_exist']);

    }



    /* 检查是否选择了地区 */

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

    {

        sys_msg($_LANG['no_regions']);

    }



    /* 保存办事处信息 */

    if ($is_add)

    {

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

        $agency['agency_id'] = $db->insert_id();

    }

    else

    {

        $db->autoExecute($ecs->table('agency'), $agency, 'UPDATE', "agency_id = '$agency[agency_id]'");

    }



    /* 更新管理员表和地区表 */

    if (!$is_add)

    {

        $sql = "UPDATE " . $ecs->table('admin_user') . " SET agency_id = 0 WHERE agency_id = '$agency[agency_id]'";

        $db->query($sql);



        $sql = "UPDATE " . $ecs->table('region') . " SET agency_id = 0 WHERE agency_id = '$agency[agency_id]'";

        $db->query($sql);

    }



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

    {

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

        $db->query($sql);

    }



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

    {

        $sql = "UPDATE " . $ecs->table('region') . " SET agency_id = '$agency[agency_id]' WHERE region_id " . db_create_in($_POST['regions']);

        $db->query($sql);

    }



    /* 记日志 */

    if ($is_add)

    {

        admin_log($agency['agency_name'], 'add', 'agency');

    }

    else

    {

        admin_log($agency['agency_name'], 'edit', 'agency');

    }



    /* 清除缓存 */

    clear_cache_files();



    /* 提示信息 */

    if ($is_add)

    {

        $links = array(

            array('href' => 'agency.php?act=add', 'text' => $_LANG['continue_add_agency']),

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

        );

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

    }

    else

    {

        $links = array(

            array('href' => 'agency.php?act=list&' . list_link_postfix(), 'text' => $_LANG['back_agency_list'])

        );

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

    }

}



/**

 * 取得办事处列表

 * @return  array

 */

function get_agencylist()

{

    $result = get_filter();

    if ($result === false)

    {

        /* 初始化分页参数 */

        $filter = array();

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

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



        /* 查询记录总数,计算分页数 */

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

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

        $filter = page_and_size($filter);



        /* 查询记录 */

        $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('agency') . " ORDER BY $filter[sort_by] $filter[sort_order]";



        set_filter($filter, $sql);

    }

    else

    {

        $sql    = $result['sql'];

        $filter = $result['filter'];

    }

    $res = $GLOBALS['db']->selectLimit($sql, $filter['page_size'], $filter['start']);



    $arr = array();

    while ($rows = $GLOBALS['db']->fetchRow($res))

    {

        $arr[] = $rows;

    }



    return array('agency' => $arr, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']);

}



?>