Exemple #1
0
 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'];
     }
 }
Exemple #2
0
 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'];
     }
 }
Exemple #3
0
 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);
 }