CI = & get_instance(); $this->CI->load->model( array('User_model')); $this->CI->load->helper( array('array')); } /** * 접속한 유저가 회원인지 아닌지를 판단합니다 */ public function is_user() { if ($this->CI->session->userdata('user_id')) { return $this->CI->session->userdata('user_id'); } else { return false; } } /** * 접속한 유저가 관리자인지 아닌지를 판단합니다 */ public function is_admin($check = array()) { if ($this->item('user_is_admin') == '1') { return 'super'; } if ($this->item('user_is_admin') == '2') { return 'general'; } return false; } /** * user, user_meta 테이블에서 정보를 가져옵니다 */ public function get_user() { if ($this->is_user()) { if (empty($this->mb)) { $user = $this->CI->User_model->get_by_id($this->is_user()); $metas = $this->get_all_meta(element('user_id', $user)); if (is_array($metas)) { $user = array_merge($user, $metas); } $user['social'] = $this->get_all_social_meta(element('user_id', $user)); $this->mb = $user; } return $this->mb; } else { return false; } } /** * get_user 에서 가져온 데이터의 item 을 보여줍니다 */ public function item($column = '') { if (empty($column)) { return false; } if (empty($this->mb)) { $this->get_user(); } if (empty($this->mb)) { return false; } $user = $this->mb; return isset($user[$column]) ? $user[$column] : false; } /** * get_user 에서 가져온 데이터의 item 을 보여줍니다 */ public function socialitem($column = '') { if (empty($column)) { return false; } if (empty($this->mb)) { $this->get_user(); } if (empty($this->mb)) { return false; } $user = $this->mb; return isset($user['social']) && isset($user['social'][$column]) ? $user['social'][$column] : false; } /** * user_meta 테이블에서 가져옵니다 */ public function get_all_meta($user_id = 0) { $user_id = (int) $user_id; if (empty($user_id) OR $user_id < 1) { return false; } $this->CI->load->model('User_meta_model'); $result = $this->CI->User_meta_model->get_all_meta($user_id); return $result; } /** * social_meta 테이블에서 가져옵니다 */ public function get_all_social_meta($user_id = 0) { $user_id = (int) $user_id; if (empty($user_id) OR $user_id < 1) { return false; } if ($this->CI->db->table_exists('social_meta') === false) { return; } $this->CI->load->model('Social_meta_model'); $result = $this->CI->Social_meta_model->get_all_meta($user_id); return $result; } /** * 회원삭제 남깁니다 */ public function delete_user($user_id = 0) { $user_id = (int) $user_id; if (empty($user_id) OR $user_id < 1) { return false; } $this->CI->load->model( array( 'User_model', 'User_auth_email_model', 'User_meta_model', 'Social_meta_model', ) ); $deletewhere = array( 'user_id' => $user_id, ); $this->CI->User_model->delete_where($deletewhere); $this->CI->User_auth_email_model->delete_where($deletewhere); $this->CI->User_meta_model->delete_where($deletewhere); $this->CI->Social_meta_model->delete_where($deletewhere); return true; } }