function use_meta() { if (!$this->use_meta) { $meta_schema = dbeav_meta::get_meta_column($this->table_name(true)); if (!is_array($meta_schema)) { return false; } $this->use_meta = true; $this->schema = array_merge_recursive($this->schema, $meta_schema); $this->metaColumn = $this->schema['metaColumn']; } }
function use_meta() { if (!$this->use_meta) { $meta_schema = dbeav_meta::get_meta_column($this->table_name(true)); if (!is_array($meta_schema)) { return false; } $this->use_meta = true; $this->schema = array_merge_recursive($this->schema, $meta_schema); foreach ($meta_schema['columns'] as $c => $a) { if ($a['in_list']) { $this->schema['in_list'][] = $c; } } $this->metaColumn = $this->schema['metaColumn']; } }
private function load_info() { #获取会员基本信息 $obj_member =& $this->app->model('members'); $obj_pam_account = app::get('pam')->model('account'); $member_info = $obj_member->getList('*', array('member_id' => $this->app->member_id)); $pam_account = $obj_pam_account->getList('*', array('account_id' => $this->app->member_id)); //$member_sdf = $obj_member->dump($this->app->member_id,"*",array(':account@pam'=>array('*'))); if (!$member_info || !$pam_account) { return; } /** 重新组合sdf **/ $member_info[0]['birthday'] = $member_info[0]['b_year'] . '-' . $member_info[0]['b_month'] . '-' . $member_info[0]['b_day']; $member_sdf = array('pam_account' => array('account_id' => $pam_account[0]['account_id'], 'account_type' => $pam_account[0]['account_type'], 'login_name' => $pam_account[0]['login_name'], 'login_password' => $pam_account[0]['login_password'], 'disabled' => $pam_account[0]['disabled'], 'createtime' => $pam_account[0]['createtime']), 'member_lv' => array('member_group_id' => $member_info[0]['member_lv_id']), 'contact' => array('name' => $member_info[0]['name'], 'lastname' => $member_info[0]['lastname'], 'firstname' => $member_info[0]['firstname'], 'area' => $member_info[0]['area'], 'addr' => $member_info[0]['addr'], 'phone' => array('mobile' => $member_info[0]['mobile'], 'telephone' => $member_info[0]['tel']), 'email' => $member_info[0]['email'], 'zipcode' => $member_info[0]['zip']), 'score' => array('total' => $member_info[0]['point'], 'freeze' => $member_info[0]['point_freeze']), 'order_num' => $member_info[0]['order_num'], 'refer_id' => $member_info[0]['refer_id'], 'refer_url' => $member_info[0]['refer_url'], 'b_year' => $member_info[0]['b_year'], 'b_month' => $member_info[0]['b_month'], 'b_day' => $member_info[0]['b_day'], 'profile' => array('gender' => $member_info[0]['sex'], 'birthday' => $member_info[0]['birthday']), 'addon' => $member_info[0]['addon'], 'wedlock' => $member_info[0]['wedlock'], 'education' => $member_info[0]['education'], 'vocation' => $member_info[0]['vocation'], 'interest' => $member_info[0]['interest'], 'advance' => array('total' => $member_info[0]['advance'], 'freeze' => $member_info[0]['advance_freeze']), 'point_history' => $member_info[0]['point_history'], 'score_rate' => $member_info[0]['score_rate'], 'reg_ip' => $member_info[0]['reg_ip'], 'vocation' => $member_info[0]['vocation'], 'regtime' => $member_info[0]['regtime'], 'state' => $member_info[0]['state'], 'vocation' => $member_info[0]['vocation'], 'pay_time' => $member_info[0]['pay_time'], 'biz_money' => $member_info[0]['biz_money'], 'fav_tags' => $member_info[0]['fav_tags'], 'custom' => $member_info[0]['custom'], 'currency' => $member_info[0]['cur'], 'vocation' => $member_info[0]['vocation'], 'lang' => $member_info[0]['lang'], 'unreadmsg' => $member_info[0]['unreadmsg'], 'disabled' => $member_info[0]['disabled'], 'remark' => $member_info[0]['remark'], 'vocation' => $member_info[0]['vocation'], 'remark_type' => $member_info[0]['remark_type'], 'login_count' => $member_info[0]['login_count'], 'experience' => $member_info[0]['experience'], 'foreign_id' => $member_info[0]['foreign_id'], 'member_refer' => $member_info[0]['member_refer'], 'source' => $member_info[0]['source']); /** 访问member相关的meta **/ $member_meta = dbeav_meta::get_meta_column($obj_member->table_name(1)); foreach ((array) $member_meta['metaColumn'] as $meta_column) { $obj_meta_value = new dbeav_meta($obj_member->table_name(1), $meta_column); $arr_meta_value = $obj_meta_value->value->db->select('SELECT * FROM ' . $obj_meta_value->value->table . ' WHERE `mr_id`=' . $obj_meta_value->mr_id . ' AND `pk`=' . $this->app->member_id); if ($arr_meta_value) { $member_sdf['contact'][$meta_column] = $arr_meta_value[0]['value']; } else { $member_sdf['contact'][$meta_column] = ''; } } $service = kernel::service('pam_account_login_name'); if (is_object($service)) { if (method_exists($service, 'get_login_name')) { $member_sdf['pam_account']['login_name'] = $service->get_login_name($member_sdf['pam_account']); } } $this->member['member_id'] = $member_sdf['pam_account']['account_id']; $this->member['uname'] = $member_sdf['pam_account']['login_name']; $this->member['name'] = $member_sdf['contact']['name']; $this->member['sex'] = $member_sdf['profile']['gender']; $this->member['point'] = $member_sdf['score']['total']; $this->member['usage_point'] = $this->member['point']; $obj_extend_point = kernel::service('b2c.member_extend_point_info'); if ($obj_extend_point) { // 当前会员拥有的积分 $obj_extend_point->get_real_point($this->member['member_id'], $this->member['point']); // 当前会员实际可以使用的积分 $obj_extend_point->get_usage_point($this->member['member_id'], $this->member['usage_point']); } $this->member['experience'] = $member_sdf['experience']; $this->member['email'] = $member_sdf['contact']['email']; $this->member['member_lv'] = $member_sdf['member_lv']['member_group_id']; $this->member['advance'] = $member_sdf['advance']; #获取会员等级 $obj_mem_lv =& $this->app->model('member_lv'); $levels = $obj_mem_lv->getList('name,disabled', array('member_lv_id' => $member_sdf['member_lv']['member_group_id'])); //$levels = $obj_mem_lv->dump($member_sdf['member_lv']['member_group_id']); if ($levels[0]['disabled'] == 'false') { $this->member['levelname'] = $levels[0]['name']; } #获取待付款订单数 $orders = $this->app->model('orders'); $un_pay_orders = $orders->getList('order_id', array('member_id' => $this->member['member_id'], 'pay_status' => 0, 'status' => 'active')); $this->member['un_pay_orders'] = count($un_pay_orders); #获取回复信息 $mem_msg = $this->app->model('member_comments'); $object_type = array('msg', 'discuss', 'ask'); $aData = $mem_msg->getList('*', array('to_id' => $this->member['member_id'], 'for_comment_id' => 'all', 'object_type' => $object_type, 'has_sent' => 'true', 'inbox' => 'true', 'mem_read_status' => 'false', 'display' => 'true')); unset($mem_msg); $this->member['un_readmsg'] = count($aData); }