$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_menu_info(); 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['supplier_action_list'] == 'all') { return true; } if (strpos(',' . $_SESSION['supplier_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['supplier_action_list']) || $_SESSION['supplier_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 AND supplier_id='.$_SESSION['supplier_id']; $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 = '') { global $smarty; /* 修改 by www.68ecshop.com 百度编辑器 begin */ $HTML=' '; $smarty->assign('FCKeditor', $HTML); /* 修改 by www.68ecshop.com 百度编辑器 end */ } /** * 取得商品列表:用于把商品添加到组合、关联类、赠品类 * @param object $filters 过滤条件 */ function get_goods_list($filter) { $filter->keyword = json_str_iconv($filter->keyword); $where = get_where_sql($filter); // 取得过滤条件 $suppid = (isset($_GET['suppId']) && intval($_GET['suppId'])>0) ? intval($_GET['suppId']) : $_SESSION['supplier_id']; $where .= ' AND sgc.supplier_id='.$suppid.' group by g.goods_id '; /* 取得数据 */ // $sql = 'SELECT goods_id, goods_name, shop_price '. // 'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' . $where . // 'LIMIT 50'; $sql = 'select g.goods_id,g.goods_name,g.shop_price '. 'from ' . $GLOBALS['ecs']->table('supplier_goods_cat') . 'as sgc '. 'left join ' . $GLOBALS['ecs']->table('goods') . 'as g on sgc.goods_id = g.goods_id' . $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) ? '' : ''; } /** * 生成过滤条件:用于 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_supplier($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 g.goods_id LIKE '%" . mysql_like_quote($filter->keyword) . "%') " : ''; $where .= isset($filter->suppliers_id) && trim($filter->suppliers_id) != '' ? " AND (g.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 .= "'; } return $select; } else { foreach ($options AS $key => $value) { $options[$key]['url'] = build_uri('supplier', array('go'=>'category','suppid'=>$_SESSION['supplier_id'],'cid' => $value['cat_id']), $value['cat_name']); } return $options; } } /** * 过滤和排序所有分类,返回一个带有缩进级别的数组 * * @access private * @param int $cat_id 上级分类ID * @param array $arr 含有所有分类的数组 * @param int $level 级别 * @return void */ function cat_options_2($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id])) { return $cat_options[$spec_cat_id]; } if (!isset($cat_options[0])) { $level = $last_cat_id = 0; $options = $cat_id_array = $level_array = array(); while (!empty($arr)) { foreach ($arr AS $key => $value) { $cat_id = $value['cat_id']; if ($level == 0 && $last_cat_id == 0) { if ($value['parent_id'] > 0) { break; } $options[$cat_id] = $value; $options[$cat_id]['level'] = $level; $options[$cat_id]['id'] = $cat_id; $options[$cat_id]['name'] = $value['cat_name']; unset($arr[$key]); if ($value['has_children'] == 0) { continue; } $last_cat_id = $cat_id; $cat_id_array = array($cat_id); $level_array[$last_cat_id] = ++$level; continue; } if ($value['parent_id'] == $last_cat_id) { $options[$cat_id] = $value; $options[$cat_id]['level'] = $level; $options[$cat_id]['id'] = $cat_id; $options[$cat_id]['name'] = $value['cat_name']; unset($arr[$key]); if ($value['has_children'] > 0) { if (end($cat_id_array) != $last_cat_id) { $cat_id_array[] = $last_cat_id; } $last_cat_id = $cat_id; $cat_id_array[] = $cat_id; $level_array[$last_cat_id] = ++$level; } } elseif ($value['parent_id'] > $last_cat_id) { break; } } $count = count($cat_id_array); if ($count > 1) { $last_cat_id = array_pop($cat_id_array); } elseif ($count == 1) { if ($last_cat_id != end($cat_id_array)) { $last_cat_id = end($cat_id_array); } else { $level = 0; $last_cat_id = 0; $cat_id_array = array(); continue; } } if ($last_cat_id && isset($level_array[$last_cat_id])) { $level = $level_array[$last_cat_id]; } else { $level = 0; } } $cat_options[0] = $options; } else { $options = $cat_options[0]; } if (!$spec_cat_id) { return $options; } else { if (empty($options[$spec_cat_id])) { return array(); } $spec_cat_id_level = $options[$spec_cat_id]['level']; foreach ($options AS $key => $value) { if ($key != $spec_cat_id) { unset($options[$key]); } else { break; } } $spec_cat_id_array = array(); foreach ($options AS $key => $value) { if (($spec_cat_id_level == $value['level'] && $value['cat_id'] != $spec_cat_id) || ($spec_cat_id_level > $value['level'])) { break; } else { $spec_cat_id_array[$key] = $value; } } $cat_options[$spec_cat_id] = $spec_cat_id_array; return $spec_cat_id_array; } } /** * 为每一个创建店铺的商家创建基本信息的保存记录,如果之前没有创建过 * */ function create_shop_settiongs() { global $db, $ecs, $_LANG; if(!isset($_SESSION['supplier_id']) || intval($_SESSION['supplier_id'])<=0){ return; } $sql = "SELECT count(id) FROM " . $ecs->table('supplier_shop_config') ." WHERE supplier_id=".$_SESSION['supplier_id']; $num = $db->getOne($sql); if($num>0){ return; }else{ $insql = "INSERT INTO ". $ecs->table('supplier_shop_config') ." (`id`, `parent_id`, `code`, `type`, `store_range`, `store_dir`, `value`, `sort_order`, `supplier_id`) VALUES (1, 0, 'shop_info', 'group', '', '', '', 1, ".$_SESSION['supplier_id']."), (2, 0, 'hidden', 'hidden', '', '', '', 1, ".$_SESSION['supplier_id']."), (8, 0, 'sms', 'group', '', '', '', 1, ".$_SESSION['supplier_id']."), (101, 1, 'shop_name', 'text', '', '', '商家店铺名称', 1, ".$_SESSION['supplier_id']."), (102, 1, 'shop_title', 'text', '', '', '商家店铺标题', 1, ".$_SESSION['supplier_id']."), (103, 1, 'shop_desc', 'hidden', '', '', '商家店铺描述', 1, ".$_SESSION['supplier_id']."), (104, 1, 'shop_keywords', 'text', '', '', '商家店铺关键字', 1, ".$_SESSION['supplier_id']."), (105, 1, 'shop_country', 'manual', '', '', '1', 1, ".$_SESSION['supplier_id']."), (106, 1, 'shop_province', 'manual', '', '', '0', 2, ".$_SESSION['supplier_id']."), (107, 1, 'shop_city', 'manual', '', '', '0', 52, ".$_SESSION['supplier_id']."), (108, 1, 'shop_address', 'text', '', '', '', 1, ".$_SESSION['supplier_id']."), (109, 1, 'qq', 'text', '', '', '', 1, ".$_SESSION['supplier_id']."), (110, 1, 'ww', 'text', '', '', '', 1, ".$_SESSION['supplier_id']."), (111, 1, 'skype', 'hidden', '', '', '', 1, ".$_SESSION['supplier_id']."), (112, 1, 'ym', 'hidden', '', '', '', 1, ".$_SESSION['supplier_id']."), (113, 1, 'msn', 'hidden', '', '', '', 1, ".$_SESSION['supplier_id']."), (114, 1, 'service_email', 'text', '', '', '', 1, ".$_SESSION['supplier_id']."), (115, 1, 'service_phone', 'text', '', '', '', 1, ".$_SESSION['supplier_id']."), (116, 1, 'shop_closed', 'select', '0,1', '', '0', 1, ".$_SESSION['supplier_id']."), (117, 1, 'close_comment', 'hidden', '', '', '', 1, ".$_SESSION['supplier_id']."), (118, 1, 'shop_logo', 'file', '', '../themes/".'{$template}'."/images/', '', 1, ".$_SESSION['supplier_id']."), (119, 1, 'licensed', 'hidden', '0,1', '', '1', 1, ".$_SESSION['supplier_id']."), (120, 1, 'user_notice', 'hidden', '', '', '用户中心公告!', 1, ".$_SESSION['supplier_id']."), (121, 1, 'shop_notice', 'textarea', '', '', '商家店铺介绍:欢迎光临手机网,我们的宗旨:诚信经营、服务客户!\r\n\r\n

咨询电话010-10124444 010-21252454 8465544

', 1, ".$_SESSION['supplier_id']."), (122, 1, 'shop_reg_closed', 'hidden', '1,0', '', '0', 1, ".$_SESSION['supplier_id']."), (123, 1, 'shop_index_num', 'textarea', '', '', '8\r\n6\r\n4', 1, ".$_SESSION['supplier_id']."), (124, 1, 'shop_search_price', 'textarea', '', '', '0-1000元\r\n1000-2000元\r\n2000-4000元', 1, ".$_SESSION['supplier_id']."), (125, 1, 'close_comment', 'textarea', '', '', '该店铺正在装修', 1, ".$_SESSION['supplier_id']."), (201, 2, 'shop_header_color', 'hidden', '', '', '#E4368F', 1, ".$_SESSION['supplier_id']."), (202, 2, 'shop_header_text', 'hidden', '', '', '请上传logo和banner', 1, ".$_SESSION['supplier_id']."), (203, 2, 'template', 'hidden', '', '', 'dianpu', 1, ".$_SESSION['supplier_id']."), (204, 2, 'stylename', 'hidden', '', '', '', 1, ".$_SESSION['supplier_id']."), (205, 2, 'flash_theme', 'hidden', '', '', '".$_SESSION['supplier_name'].$_SESSION['supplier_id']."', 1, ".$_SESSION['supplier_id']."), (801, 8, 'sms_shop_mobile', 'text', '', '', '', 1, ".$_SESSION['supplier_id']."), (802, 8, 'sms_order_placed', 'select', '1,0', '', '0', 1, ".$_SESSION['supplier_id']."), (803, 8, 'sms_order_payed', 'hidden', '1,0', '', '0', 1, ".$_SESSION['supplier_id']."), (804, 8, 'sms_order_shipped', 'hidden', '1,0', '', '0', 1, ".$_SESSION['supplier_id'].");"; if($db->query($insql) === false){ $links[] = array('text' => $_LANG['navigator'], 'href' => 'navigator.php?act=list'); sys_msg('店铺设置信息创建失败!', 1); } return; } } /* 代码增加_start By morestock_morecity */ function get_ssid_list($sid) { $sql="select store_id from ". $GLOBALS['ecs']->table('store_main') ." where supplier_id=".$_REQUEST['storetypeid']." and parent_id = '$sid' "; $ssid_res = $GLOBALS['db']->query($sql); $arr=array(); while ($ssid_row=$GLOBALS['db']->fetchRow($ssid_res)) { $arr[]=$ssid_row['store_id']; } if (count($arr)) { return "(".implode(',', $arr).")"; } else { return "(0)"; } } /* 获取库房完整名称(两级) */ function get_store_fullname($store_id) { if(!$store_id){return '';} $store_row = $GLOBALS['db']->getRow("select parent_id, store_name from ". $GLOBALS['ecs']->table('store_main') ." where store_id='$store_id' "); $store_name = $store_row['store_name']; if($store_row['parent_id']) { $store_name_p = $GLOBALS['db']->getOne("select store_name from ". $GLOBALS['ecs']->table('store_main') ." where store_id='$store_row[parent_id]' "); $store_name = $store_name_p ? $store_name_p."
".$store_name : $store_name; } return $store_name; } function get_inout_type_name($typeid) { if (empty($typeid)) { return ''; } else { $return = $GLOBALS['db']->getOne("select type_name from ". $GLOBALS['ecs']->table('store_inout_type') ." where type_id='$typeid' "); return $return; } } function get_attr_name($attr_list) { if(trim($attr_list)) { $attr_list = str_replace("|", ",", $attr_list ); $sql= "select attr_value from ". $GLOBALS['ecs']->table('goods_attr') ." where goods_attr_id in ($attr_list) ORDER BY FIND_IN_SET(goods_attr_id,'$attr_list') "; $attr_name_arr = $GLOBALS['db']->query($sql); while ($row_attr_name = $GLOBALS['db']->fetchRow($attr_name_arr )) { $attr_name_list .= $row_attr_name['attr_value']." "; } return $attr_name_list; } else { return ''; } } function get_goods_attr_id($goods_id, $attr_str) { if (empty($attr_str)) { return ''; } else { $attr_str =str_replace("\r", "", $attr_str); $attr_array = explode("\n", $attr_str); if (!is_array($attr_array)){return '';} $attr_array = array_filter($attr_array); $return = ""; foreach($attr_array AS $attr_temp) { $attr_temp = preg_replace("/\[.+\]/", "", $attr_temp); if($attr_temp) { $attr_arr = explode(":", $attr_temp); $sql="SELECT a.attr_id FROM ". $GLOBALS['ecs']->table('goods') ." AS g left join ". $GLOBALS['ecs']->table('attribute') ." AS a on g.goods_type=a.cat_id WHERE g.goods_id='$goods_id' and a.attr_name='$attr_arr[0]' "; $attr_id = $GLOBALS['db']->getOne($sql); $sql="SELECT goods_attr_id FROM ". $GLOBALS['ecs']->table('goods_attr') ." WHERE goods_id='$goods_id' and attr_id='$attr_id' and attr_value='$attr_arr[1]' "; $goods_attr_id = $GLOBALS['db']->getOne($sql); $return .= $return ? "|" : ""; $return .= $goods_attr_id; } } if($return) { $goods_attr =explode("|", $return); $goods_attr = sort_goods_attr_id_array($goods_attr); $goods_attr = implode('|', $goods_attr['sort']); $return = $goods_attr; } return $return; } } /* 更新库存表(出库) */ function update_stock_out($rec_id, $store_id) { $sql = "select goods_id, attr_value, number_shishou, supplier_id, store_type_id from ". $GLOBALS['ecs']->table('store_inout_goods') ." where inout_rec_id='$rec_id' "; $res = $GLOBALS['db']->query($sql); $no_jian=0; $no_jian_item="商品ID:"; $update_arr =array(); while ($row= $GLOBALS['db']->fetchRow($res)) { $sql = "select stock_id, goods_id, goods_attr, store_number from ". $GLOBALS['ecs']->table('store_goods_stock') ." where supplier_id=".$row['supplier_id']." and goods_id='$row[goods_id]' and store_id='$store_id' and goods_attr='$row[attr_value]' limit 0,1"; $row_stock = $GLOBALS['db']->getRow($sql); if ($row_stock['store_number'] < $row['number_shishou']) { $no_jian++; $no_jian_item .= $row['goods_id']." "; } else { $update_arr[]=array( 'stock_id'=>$row_stock['stock_id'], 'number_shishou'=>$row['number_shishou'], 'goods_id'=>$row_stock['goods_id'], 'attr_value'=>$row_stock['goods_attr'], 'store_number'=>$row_stock['store_number'] ); } } if (!$no_jian) { foreach($update_arr AS $upd) { $sql = "update ". $GLOBALS['ecs']->table('store_goods_stock') ." set store_number=store_number-".$upd['number_shishou']." where stock_id='$upd[stock_id]' "; $GLOBALS['db']->query($sql); //序时簿 $number_stock= $upd['store_number']- $upd['number_shishou']; $sql = "insert into ".$GLOBALS['ecs']->table('store_inout_xushibu')."(inout_rec_id, goods_id, attr_value, inout_mode, number_shishou, number_stock, supplier_id, store_type_id) ". " values('$rec_id', '$upd[goods_id]', '$upd[attr_value]', '1', '$upd[number_shishou]', '$number_stock', '$_SESSION[supplier_id]', '$_REQUEST[storetypeid]' )"; $GLOBALS['db']->query($sql); update_old_stock($upd['goods_id'], $upd['attr_value']); } } return array('error'=>$no_jian, 'error_item'=>$no_jian_item.' 库存不足!'); } /* 更新库存表(入库) */ function update_stock_in($rec_id, $store_id) { $sql = "select goods_id, attr_value, number_shishou, supplier_id, store_type_id from ". $GLOBALS['ecs']->table('store_inout_goods') ." where inout_rec_id='$rec_id' "; $res = $GLOBALS['db']->query($sql); while ($row= $GLOBALS['db']->fetchRow($res)) { $sql = "select stock_id, store_number from ". $GLOBALS['ecs']->table('store_goods_stock') ." where supplier_id=".$row['supplier_id']." and goods_id='$row[goods_id]' and store_id='$store_id' and goods_attr='$row[attr_value]' limit 0,1"; $stock_row = $GLOBALS['db']->getRow($sql); if ($stock_row['stock_id']) { $sql = "update ".$GLOBALS['ecs']->table('store_goods_stock')." set store_number=store_number+".$row['number_shishou']." where stock_id='$stock_row[stock_id]' "; } else { $sql = "insert into ".$GLOBALS['ecs']->table('store_goods_stock')."(goods_id, store_id, goods_attr, store_number, supplier_id, store_type_id) ". " values('$row[goods_id]', '$store_id', '$row[attr_value]', '$row[number_shishou]', '$row[supplier_id]', '$row[store_type_id]')"; } $GLOBALS['db']->query($sql); //序时簿 $number_stock= $stock_row['store_number']+ $row['number_shishou']; $sql = "insert into ".$GLOBALS['ecs']->table('store_inout_xushibu')."(inout_rec_id, goods_id, attr_value, inout_mode, number_shishou, number_stock, supplier_id, store_type_id) ". " values('$rec_id', '$row[goods_id]', '$row[attr_value]', '2', '$row[number_shishou]', '$number_stock', '$_SESSION[supplier_id]', '$_REQUEST[storetypeid]' )"; $GLOBALS['db']->query($sql); update_old_stock($row['goods_id'], $row['attr_value']); } } function update_old_stock($goods_id, $attr_id) { $sql="select sum(store_number) from ". $GLOBALS['ecs']->table('store_goods_stock') ." where goods_id='$goods_id'"; $all_count = $GLOBALS['db']->getOne($sql); $sql="update ". $GLOBALS['ecs']->table('goods') ." set goods_number='$all_count' where goods_id='$goods_id'"; $GLOBALS['db']->query($sql); if($attr_id) { $sql="select sum(store_number) from ". $GLOBALS['ecs']->table('store_goods_stock') ." where goods_attr = '$attr_id' and goods_id='$goods_id'"; $attr_count = $GLOBALS['db']->getOne($sql); $sql="select product_id from ". $GLOBALS['ecs']->table('products') ." where goods_attr = '$attr_id' and goods_id='$goods_id' "; $product_id = $GLOBALS['db']->getOne($sql); if($product_id) { $sql="update ". $GLOBALS['ecs']->table('products') ." set product_number='$attr_count' where product_id='$product_id' "; } else { $sql="insert into ". $GLOBALS['ecs']->table('products') ."(goods_id, goods_attr, product_number) values('$goods_id', '$attr_id', '$attr_count' ) "; } $GLOBALS['db']->query($sql); } } /* 代码增加_end By morestock_morecity */ /* 姓名遮罩 */ function name_cut($user_name){ $strlen = mb_strlen($user_name, 'utf-8'); $firstStr = mb_substr($user_name, 0, 1, 'utf-8'); $lastStr = mb_substr($user_name, -1, 1, 'utf-8'); return $strlen == 2 ? $firstStr . str_repeat('*', mb_strlen($user_name, 'utf-8') - 1) : $firstStr . str_repeat("*", $strlen - 2) . $lastStr; } function id_cut($user_id){ $strlen = mb_strlen($user_id, 'utf-8'); $firstStr = mb_substr($user_id, 0, 2, 'utf-8'); $middleStr = mb_substr($user_id, 4, 2, 'utf-8'); $lastStr = mb_substr($user_id, -1, 1, 'utf-8'); if($strlen<5){ return $firstStr . "**"; }elseif($strlen>=5 && $strlen<7){ return $firstStr . "**" .$middleStr; }elseif($strlen==7 ){ return $firstStr . "**" . $middleStr .str_repeat("*", $strlen - 6) . $lastStr; }elseif($strlen>7){ return $firstStr . "**" . $middleStr ."*"; } } function phone_cut($phone){ $strlen = strlen($phone); $firstStr = substr($phone, 0, 5); $middleStr = substr($phone, 7, 1); $lastStr = substr($phone, 9, 1); return $firstStr . "**" . $middleStr . "*" . $lastStr; } 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; } ?>