2022-11-14 17:31:15 +00:00
< ? php
if ( ! defined ( 'IN_ECS' ))
{
die ( 'Hacking attempt' );
}
/**
* 获得所有模块的名称以及链接地址
*
* @ access public
* @ param string $directory 插件存放的目录
* @ return array
*/
function read_modules ( $directory = '.' )
{
global $_LANG ;
$dir = @ opendir ( $directory );
$set_modules = true ;
$modules = array ();
while ( false !== ( $file = @ readdir ( $dir )))
{
if ( preg_match ( " /^.*? \ .php $ / " , $file ))
{
include_once ( $directory . '/' . $file );
}
}
@ closedir ( $dir );
unset ( $set_modules );
foreach ( $modules AS $key => $value )
{
ksort ( $modules [ $key ]);
}
ksort ( $modules );
return $modules ;
}
/**
* 系统提示信息
*
* @ access public
* @ param string msg_detail 消息内容
* @ param int msg_type 消息类型, 0 消息, 1错误, 2询问
* @ param array links 可选的链接
* @ param boolen $auto_redirect 是否需要自动跳转
* @ return void
*/
function sys_msg ( $msg_detail , $msg_type = 0 , $links = array (), $auto_redirect = true )
{
if ( count ( $links ) == 0 )
{
$links [ 0 ][ 'text' ] = $GLOBALS [ '_LANG' ][ 'go_back' ];
$links [ 0 ][ 'href' ] = 'javascript:history.go(-1)' ;
}
assign_query_info ();
$GLOBALS [ 'smarty' ] -> assign ( 'ur_here' , $GLOBALS [ '_LANG' ][ 'system_message' ]);
$GLOBALS [ 'smarty' ] -> assign ( 'msg_detail' , $msg_detail );
$GLOBALS [ 'smarty' ] -> assign ( 'msg_type' , $msg_type );
$GLOBALS [ 'smarty' ] -> assign ( 'links' , $links );
$GLOBALS [ 'smarty' ] -> assign ( 'default_url' , $links [ 0 ][ 'href' ]);
$GLOBALS [ 'smarty' ] -> assign ( 'auto_redirect' , $auto_redirect );
$GLOBALS [ 'smarty' ] -> display ( 'message.htm' );
exit ;
}
/**
* 记录管理员的操作内容
*
* @ access public
* @ param string $sn 数据的唯一值
* @ param string $action 操作的类型
* @ param string $content 操作的内容
* @ return void
*/
function admin_log ( $sn = '' , $action , $content )
{
$log_info = $GLOBALS [ '_LANG' ][ 'log_action' ][ $action ] . $GLOBALS [ '_LANG' ][ 'log_action' ][ $content ] . ': ' . addslashes ( $sn );
$sql = 'INSERT INTO ' . $GLOBALS [ 'ecs' ] -> table ( 'admin_log' ) . ' (log_time, user_id, log_info, ip_address) ' .
" VALUES (' " . gmtime () . " ', $_SESSION[admin_id] , ' " . stripslashes ( $log_info ) . " ', ' " . real_ip () . " ') " ;
$GLOBALS [ 'db' ] -> query ( $sql );
}
/**
* 将通过表单提交过来的年月日变量合成为 " 2004-05-10 " 的格式。
*
* 此函数适用于通过smarty函数html_select_date生成的下拉日期。
*
* @ param string $prefix 年月日变量的共同的前缀。
* @ return date 日期变量。
*/
function sys_joindate ( $prefix )
{
/* 返回年-月-日的日期格式 */
$year = empty ( $_POST [ $prefix . 'Year' ]) ? '0' : $_POST [ $prefix . 'Year' ];
$month = empty ( $_POST [ $prefix . 'Month' ]) ? '0' : $_POST [ $prefix . 'Month' ];
$day = empty ( $_POST [ $prefix . 'Day' ]) ? '0' : $_POST [ $prefix . 'Day' ];
return $year . '-' . $month . '-' . $day ;
}
/**
* 设置管理员的session内容
*
* @ access public
* @ param integer $user_id 管理员编号
* @ param string $username 管理员姓名
* @ param string $action_list 权限列表
* @ param string $last_time 最后登录时间
* @ return void
*/
function set_admin_session ( $user_id , $username , $action_list , $last_time )
{
$_SESSION [ 'admin_id' ] = $user_id ;
$_SESSION [ 'admin_name' ] = $username ;
$_SESSION [ 'action_list' ] = $action_list ;
$_SESSION [ 'last_check' ] = $last_time ; // 用于保存最后一次检查订单的时间
}
/**
* 插入一个配置信息
*
* @ access public
* @ param string $parent 分组的code
* @ param string $code 该配置信息的唯一标识
* @ param string $value 该配置信息值
* @ return void
*/
function insert_config ( $parent , $code , $value )
{
global $ecs , $db , $_LANG ;
$sql = 'SELECT id FROM ' . $ecs -> table ( 'shop_config' ) . " WHERE code = ' $parent ' AND type = 1 " ;
$parent_id = $db -> getOne ( $sql );
$sql = 'INSERT INTO ' . $ecs -> table ( 'shop_config' ) . ' (parent_id, code, value) ' .
" VALUES(' $parent_id ', ' $code ', ' $value ') " ;
$db -> query ( $sql );
}
/**
* 判断管理员对某一个操作是否有权限。
*
* 根据当前对应的action_code, 然后再和用户session里面的action_list做匹配, 以此来决定是否可以继续执行。
* @ param string $priv_str 操作对应的priv_str
* @ param string $msg_type 返回的类型
* @ return true / false
*/
function admin_priv ( $priv_str , $msg_type = '' , $msg_output = true )
{
global $_LANG ;
if ( $_SESSION [ 'action_list' ] == 'all' )
{
return true ;
}
if ( strpos ( ',' . $_SESSION [ 'action_list' ] . ',' , ',' . $priv_str . ',' ) === false )
{
$link [] = array ( 'text' => $_LANG [ 'go_back' ], 'href' => 'javascript:history.back(-1)' );
if ( $msg_output )
{
sys_msg ( $_LANG [ 'priv_error' ], 0 , $link );
}
return false ;
}
else
{
return true ;
}
}
/**
* 检查管理员权限
*
* @ access public
* @ param string $authz
* @ return boolean
*/
function check_authz ( $authz )
{
return ( preg_match ( '/,*' . $authz . ',*/' , $_SESSION [ 'action_list' ]) || $_SESSION [ 'action_list' ] == 'all' );
}
/**
* 检查管理员权限, 返回JSON格式数剧
*
* @ access public
* @ param string $authz
* @ return void
*/
function check_authz_json ( $authz )
{
if ( ! check_authz ( $authz ))
{
make_json_error ( $GLOBALS [ '_LANG' ][ 'priv_error' ]);
}
}
/**
* 取得红包类型数组(用于生成下拉列表)
*
* @ return array 分类数组 bonus_typeid => bonus_type_name
*/
function get_bonus_type ()
{
$bonus = array ();
$sql = 'SELECT type_id, type_name, type_money FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'bonus_type' ) .
' WHERE send_type = 3' ;
$res = $GLOBALS [ 'db' ] -> query ( $sql );
while ( $row = $GLOBALS [ 'db' ] -> fetchRow ( $res ))
{
$bonus [ $row [ 'type_id' ]] = $row [ 'type_name' ] . ' [' . sprintf ( $GLOBALS [ '_CFG' ][ 'currency_format' ], $row [ 'type_money' ]) . ']' ;
}
return $bonus ;
}
/**
* 取得用户等级数组 , 按用户级别排序
* @ param bool $is_special 是否只显示特殊会员组
* @ return array rank_id => rank_name
*/
function get_rank_list ( $is_special = false )
{
$rank_list = array ();
$sql = 'SELECT rank_id, rank_name, min_points FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'user_rank' );
if ( $is_special )
{
$sql .= ' WHERE special_rank = 1' ;
}
$sql .= ' ORDER BY min_points' ;
$res = $GLOBALS [ 'db' ] -> query ( $sql );
while ( $row = $GLOBALS [ 'db' ] -> fetchRow ( $res ))
{
$rank_list [ $row [ 'rank_id' ]] = $row [ 'rank_name' ];
}
return $rank_list ;
}
/**
* 按等级取得用户列表(用于生成下拉列表)
*
* @ return array 分类数组 user_id => user_name
*/
function get_user_rank ( $rankid , $where )
{
$user_list = array ();
$sql = 'SELECT user_id, user_name FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'users' ) . $where .
' ORDER BY user_id DESC' ;
$res = $GLOBALS [ 'db' ] -> query ( $sql );
while ( $row = $GLOBALS [ 'db' ] -> fetchRow ( $res ))
{
$user_list [ $row [ 'user_id' ]] = $row [ 'user_name' ];
}
return $user_list ;
}
/**
* 取得广告位置数组(用于生成下拉列表)
*
* @ return array 分类数组 position_id => position_name
*/
function get_position_list ()
{
$position_list = array ();
$sql = 'SELECT position_id, position_name, ad_width, ad_height ' .
'FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'ad_position' );
$res = $GLOBALS [ 'db' ] -> query ( $sql );
while ( $row = $GLOBALS [ 'db' ] -> fetchRow ( $res ))
{
$position_list [ $row [ 'position_id' ]] = addslashes ( $row [ 'position_name' ]) . ' [' . $row [ 'ad_width' ] . 'x' . $row [ 'ad_height' ] . ']' ;
}
return $position_list ;
}
/**
* 生成编辑器
* @ param string input_name 输入框名称
* @ param string input_value 输入框值
*/
function create_html_editor ( $input_name , $input_value = '' , $smartyVar = 'FCKeditor' )
{
global $smarty ;
$editor = new FCKeditor ( $input_name );
$editor -> BasePath = '../includes/fckeditor/' ;
$editor -> ToolbarSet = 'Normal' ;
$editor -> Width = '100%' ;
$editor -> Height = '320' ;
$editor -> Value = $input_value ;
$FCKeditor = $editor -> CreateHtml ();
$smarty -> assign ( $smartyVar , $FCKeditor );
}
/**
* 取得商品列表:用于把商品添加到组合、关联类、赠品类
* @ param object $filters 过滤条件
*/
function get_goods_list ( $filter )
{
$filter -> keyword = json_str_iconv ( $filter -> keyword );
$where = get_where_sql ( $filter ); // 取得过滤条件
/* 取得数据 */
$sql = 'SELECT goods_id, goods_name, shop_price ' .
'FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'goods' ) . ' AS g ' . $where .
'LIMIT 50' ;
$row = $GLOBALS [ 'db' ] -> getAll ( $sql );
return $row ;
}
/**
* 取得文章列表:用于商品关联文章
* @ param object $filters 过滤条件
*/
function get_article_list ( $filter )
{
/* 创建数据容器对象 */
$ol = new OptionList ();
/* 取得过滤条件 */
$where = ' WHERE a.cat_id = c.cat_id AND c.cat_type = 1 ' ;
$where .= isset ( $filter -> title ) ? " AND a.title LIKE '% " . mysql_like_quote ( $filter -> title ) . " %' " : '' ;
/* 取得数据 */
$sql = 'SELECT a.article_id, a.title ' .
'FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'article' ) . ' AS a, ' . $GLOBALS [ 'ecs' ] -> table ( 'article_cat' ) . ' AS c ' . $where ;
$res = $GLOBALS [ 'db' ] -> query ( $sql );
while ( $row = $GLOBALS [ 'db' ] -> fetchRow ( $res ))
{
$ol -> add_option ( $row [ 'article_id' ], $row [ 'title' ]);
}
/* 生成列表 */
$ol -> build_select ();
}
/**
* 返回是否
* @ param int $var 变量 1 , 0
*/
function get_yes_no ( $var )
{
return empty ( $var ) ? '<img src="images/no.gif" border="0" />' : '<img src="images/yes.gif" border="0" />' ;
}
/**
* 生成过滤条件:用于 get_goodslist 和 get_goods_list
* @ param object $filter
* @ return string
*/
function get_where_sql ( $filter )
{
$time = date ( 'Y-m-d' );
$where = isset ( $filter -> is_delete ) && $filter -> is_delete == '1' ?
' WHERE is_delete = 1 ' : ' WHERE is_delete = 0 ' ;
$where .= ( isset ( $filter -> real_goods ) && ( $filter -> real_goods > - 1 )) ? ' AND is_real = ' . intval ( $filter -> real_goods ) : '' ;
$where .= isset ( $filter -> cat_id ) && $filter -> cat_id > 0 ? ' AND ' . get_children ( $filter -> cat_id ) : '' ;
$where .= isset ( $filter -> brand_id ) && $filter -> brand_id > 0 ? " AND brand_id = ' " . $filter -> brand_id . " ' " : '' ;
$where .= isset ( $filter -> intro_type ) && $filter -> intro_type != '0' ? ' AND ' . $filter -> intro_type . " = '1' " : '' ;
$where .= isset ( $filter -> intro_type ) && $filter -> intro_type == 'is_promote' ?
" AND promote_start_date <= ' $time ' AND promote_end_date >= ' $time ' " : '' ;
$where .= isset ( $filter -> keyword ) && trim ( $filter -> keyword ) != '' ?
" AND (goods_name LIKE '% " . mysql_like_quote ( $filter -> keyword ) . " %' OR goods_sn LIKE '% " . mysql_like_quote ( $filter -> keyword ) . " %' OR goods_id LIKE '% " . mysql_like_quote ( $filter -> keyword ) . " %') " : '' ;
$where .= isset ( $filter -> suppliers_id ) && trim ( $filter -> suppliers_id ) != '' ?
" AND (suppliers_id = ' " . $filter -> suppliers_id . " ') " : '' ;
$where .= isset ( $filter -> in_ids ) ? ' AND goods_id ' . db_create_in ( $filter -> in_ids ) : '' ;
$where .= isset ( $filter -> exclude ) ? ' AND goods_id NOT ' . db_create_in ( $filter -> exclude ) : '' ;
$where .= isset ( $filter -> stock_warning ) ? ' AND goods_number <= warn_number' : '' ;
return $where ;
}
/**
* 获取地区列表的函数。
*
* @ access public
* @ param int $region_id 上级地区id
* @ return void
*/
function area_list ( $region_id )
{
$area_arr = array ();
$sql = 'SELECT * FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'region' ) .
" WHERE parent_id = ' $region_id ' ORDER BY region_id " ;
$res = $GLOBALS [ 'db' ] -> query ( $sql );
while ( $row = $GLOBALS [ 'db' ] -> fetchRow ( $res ))
{
$row [ 'type' ] = ( $row [ 'region_type' ] == 0 ) ? $GLOBALS [ '_LANG' ][ 'country' ] : '' ;
$row [ 'type' ] .= ( $row [ 'region_type' ] == 1 ) ? $GLOBALS [ '_LANG' ][ 'province' ] : '' ;
$row [ 'type' ] .= ( $row [ 'region_type' ] == 2 ) ? $GLOBALS [ '_LANG' ][ 'city' ] : '' ;
$row [ 'type' ] .= ( $row [ 'region_type' ] == 3 ) ? $GLOBALS [ '_LANG' ][ 'cantonal' ] : '' ;
$area_arr [] = $row ;
}
return $area_arr ;
}
/**
* 取得图表颜色
*
* @ access public
* @ param integer $n 颜色顺序
* @ return void
*/
function chart_color ( $n )
{
/* 随机显示颜色代码 */
$arr = array ( '33FF66' , 'FF6600' , '3399FF' , '009966' , 'CC3399' , 'FFCC33' , '6699CC' , 'CC3366' , '33FF66' , 'FF6600' , '3399FF' );
if ( $n > 8 )
{
$n = $n % 8 ;
}
return $arr [ $n ];
}
/**
* 获得商品类型的列表
*
* @ access public
* @ param integer $selected 选定的类型编号
* @ return string
*/
function goods_type_list ( $selected )
{
$sql = 'SELECT cat_id, cat_name FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'goods_type' ) . ' WHERE enabled = 1' ;
$res = $GLOBALS [ 'db' ] -> query ( $sql );
$lst = '' ;
while ( $row = $GLOBALS [ 'db' ] -> fetchRow ( $res ))
{
$lst .= " <option value=' $row[cat_id] ' " ;
$lst .= ( $selected == $row [ 'cat_id' ]) ? ' selected="true"' : '' ;
$lst .= '>' . htmlspecialchars ( $row [ 'cat_name' ]) . '</option>' ;
}
return $lst ;
}
/**
* 清空表数据
* @ param string $table_name 表名称
*/
function truncate_table ( $table_name )
{
$sql = 'TRUNCATE TABLE ' . $GLOBALS [ 'ecs' ] -> table ( $table_name );
return $GLOBALS [ 'db' ] -> query ( $sql );
}
/**
* 返回字符集列表数组
*
* @ access public
* @ param
*
* @ return void
*/
function get_charset_list ()
{
return array (
'UTF8' => 'UTF-8' ,
'GB2312' => 'GB2312/GBK' ,
'BIG5' => 'BIG5' ,
);
}
/**
* 创建一个JSON格式的数据
*
* @ access public
* @ param string $content
* @ param integer $error
* @ param string $message
* @ param array $append
* @ return void
*/
function make_json_response ( $content = '' , $error = " 0 " , $message = '' , $append = array ())
{
include_once ( ROOT_PATH . 'includes/cls_json.php' );
$json = new JSON ;
$res = array ( 'error' => $error , 'message' => $message , 'content' => $content );
if ( ! empty ( $append ))
{
foreach ( $append AS $key => $val )
{
$res [ $key ] = $val ;
}
}
$val = $json -> encode ( $res );
exit ( $val );
}
/**
*
*
* @ access public
* @ param
* @ return void
*/
function make_json_result ( $content , $message = '' , $append = array ())
{
make_json_response ( $content , 0 , $message , $append );
}
/**
* 创建一个JSON格式的错误信息
*
* @ access public
* @ param string $msg
* @ return void
*/
function make_json_error ( $msg )
{
make_json_response ( '' , 1 , $msg );
}
/**
* 根据过滤条件获得排序的标记
*
* @ access public
* @ param array $filter
* @ return array
*/
function sort_flag ( $filter )
{
$flag [ 'tag' ] = 'sort_' . preg_replace ( '/^.*\./' , '' , $filter [ 'sort_by' ]);
$flag [ 'img' ] = '<img src="images/' . ( $filter [ 'sort_order' ] == " DESC " ? 'sort_desc.gif' : 'sort_asc.gif' ) . '"/>' ;
return $flag ;
}
/**
* 分页的信息加入条件的数组
*
* @ access public
* @ return array
*/
function page_and_size ( $filter )
{
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 ;
}
/* 每页显示 */
$filter [ 'page' ] = ( empty ( $_REQUEST [ 'page' ]) || intval ( $_REQUEST [ 'page' ]) <= 0 ) ? 1 : intval ( $_REQUEST [ 'page' ]);
/* page 总数 */
$filter [ 'page_count' ] = ( ! empty ( $filter [ 'record_count' ]) && $filter [ 'record_count' ] > 0 ) ? ceil ( $filter [ 'record_count' ] / $filter [ 'page_size' ]) : 1 ;
/* 边界处理 */
if ( $filter [ 'page' ] > $filter [ 'page_count' ])
{
$filter [ 'page' ] = $filter [ 'page_count' ];
}
$filter [ 'start' ] = ( $filter [ 'page' ] - 1 ) * $filter [ 'page_size' ];
return $filter ;
}
/**
* 将含有单位的数字转成字节
*
* @ access public
* @ param string $val 带单位的数字
*
* @ return int $val
*/
function return_bytes ( $val )
{
$val = trim ( $val );
$last = strtolower ( $val { strlen ( $val ) - 1 });
switch ( $last )
{
case 'g' :
$val *= 1024 ;
case 'm' :
$val *= 1024 ;
case 'k' :
$val *= 1024 ;
}
return $val ;
}
/**
* 获得指定的商品类型下所有的属性分组
*
* @ param integer $cat_id 商品类型ID
*
* @ return array
*/
function get_attr_groups ( $cat_id )
{
$sql = " SELECT attr_group FROM " . $GLOBALS [ 'ecs' ] -> table ( 'goods_type' ) . " WHERE cat_id=' $cat_id ' " ;
$grp = str_replace ( " \r " , '' , $GLOBALS [ 'db' ] -> getOne ( $sql ));
if ( $grp )
{
return explode ( " \n " , $grp );
}
else
{
return array ();
}
}
/**
* 生成链接后缀
*/
function list_link_postfix ()
{
return 'uselastfilter=1' ;
}
/**
* 保存过滤条件
* @ param array $filter 过滤条件
* @ param string $sql 查询语句
* @ param string $param_str 参数字符串, 由list函数的参数组成
*/
function set_filter ( $filter , $sql , $param_str = '' )
{
$filterfile = basename ( PHP_SELF , '.php' );
if ( $param_str )
{
$filterfile .= $param_str ;
}
setcookie ( 'ECSCP[lastfilterfile]' , sprintf ( '%X' , crc32 ( $filterfile )), time () + 600 );
setcookie ( 'ECSCP[lastfilter]' , urlencode ( serialize ( $filter )), time () + 600 );
setcookie ( 'ECSCP[lastfiltersql]' , base64_encode ( $sql ), time () + 600 );
}
/**
* 取得上次的过滤条件
* @ param string $param_str 参数字符串, 由list函数的参数组成
* @ return 如果有, 返回array ( 'filter' => $filter , 'sql' => $sql ) ; 否则返回false
*/
function get_filter ( $param_str = '' )
{
$filterfile = basename ( PHP_SELF , '.php' );
if ( $param_str )
{
$filterfile .= $param_str ;
}
if ( isset ( $_GET [ 'uselastfilter' ]) && isset ( $_COOKIE [ 'ECSCP' ][ 'lastfilterfile' ])
&& $_COOKIE [ 'ECSCP' ][ 'lastfilterfile' ] == sprintf ( '%X' , crc32 ( $filterfile )))
{
return array (
'filter' => unserialize ( urldecode ( $_COOKIE [ 'ECSCP' ][ 'lastfilter' ])),
'sql' => base64_decode ( $_COOKIE [ 'ECSCP' ][ 'lastfiltersql' ])
);
}
else
{
return false ;
}
}
/**
* URL过滤
* @ param string $url 参数字符串, 一个urld地址 , 对url地址进行校正
* @ return 返回校正过的url ;
*/
function sanitize_url ( $url , $check = 'http://' )
{
if ( strpos ( $url , $check ) === false )
{
$url = $check . $url ;
}
return $url ;
}
/**
* 检查分类是否已经存在
*
* @ 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 ;
}
function brand_exists ( $brand_name )
{
$sql = " SELECT COUNT(*) FROM " . $GLOBALS [ 'ecs' ] -> table ( 'brand' ) .
" WHERE brand_name = ' " . $brand_name . " ' " ;
return ( $GLOBALS [ 'db' ] -> getOne ( $sql ) > 0 ) ? true : false ;
}
/**
* 获取当前管理员信息
*
* @ access public
* @ param
*
* @ return Array
*/
function admin_info ()
{
$sql = " SELECT * FROM " . $GLOBALS [ 'ecs' ] -> table ( 'admin_user' ) . "
WHERE user_id = '$_SESSION[admin_id]'
LIMIT 0 , 1 " ;
$admin_info = $GLOBALS [ 'db' ] -> getRow ( $sql );
if ( empty ( $admin_info ))
{
return $admin_info = array ();
}
return $admin_info ;
}
/**
* 供货商列表信息
*
* @ param string $conditions
* @ return array
*/
function suppliers_list_info ( $conditions = '' )
{
$where = '' ;
if ( ! empty ( $conditions ))
{
$where .= 'WHERE ' ;
$where .= $conditions ;
}
/* 查询 */
$sql = " SELECT suppliers_id, suppliers_name, suppliers_desc
FROM " . $GLOBALS['ecs'] ->table( " suppliers " ) . "
$where " ;
return $GLOBALS [ 'db' ] -> getAll ( $sql );
}
/**
* 供货商名
*
* @ return array
*/
function suppliers_list_name ()
{
/* 查询 */
$suppliers_list = suppliers_list_info ( ' is_check = 1 ' );
/* 供货商名字 */
$suppliers_name = array ();
if ( count ( $suppliers_list ) > 0 )
{
foreach ( $suppliers_list as $suppliers )
{
$suppliers_name [ $suppliers [ 'suppliers_id' ]] = $suppliers [ 'suppliers_name' ];
}
}
return $suppliers_name ;
}
function get_agent_tree ( $id ){
if ( $id > 0 ){
$c_id = " ( " ;
$c_id .= build_agent_tree ( $id );
$c_id .= " ' " . $id . " ') " ;
} elseif ( $id == 0 ){
$c_id = " ('0') " ;
}
return $c_id ;
}
function build_agent_tree ( $id ){
$p_rs = $GLOBALS [ 'db' ] -> query ( " SELECT user_id FROM " . $GLOBALS [ 'ecs' ] -> table ( 'agent_user' ) . " WHERE parent_id= " . $id );
$c_id = '' ;
while ( $row = $GLOBALS [ 'db' ] -> FetchRow ( $p_rs )){
$c_id .= " ' " . $row [ 'user_id' ] . " ', " ;
$c_id .= build_agent_tree ( $row [ 'user_id' ]);
}
return $c_id ;
}
2022-11-14 15:49:28 +00:00
?>