public function login($email, $pwd, $mode = 'password') { if (empty($pwd)) { return false; } if ($mode == 'password') { $result = $this->where(array('email' => $email, 'password' => md5($pwd)))->find(); } else { if ($mode == 'api') { $result = $this->where(array('api_vendor' => $email, 'api_id' => $pwd))->find(); } } if (!$result || empty($result)) { return false; } elseif ($result['enabled'] == 0) { return false; } else { //login successfully //fetch other user information $user_model = new UsersModel(); $user_data = $user_model->where(array('account_id' => $result['id']))->find(); $user_data['local_maps'] = T('local_map')->with('admin_id', $user_data['id'])->select(); $_SESSION['login_user'] = array_merge($user_data, $result); $_SESSION['login_user']['id'] = $user_data['id']; $this->where(array('id' => $result['id']))->data(array('last_login' => date('Y-m-d h:i:s')))->save(); $this->query("update users set login_count=login_count+1 where id={$user_id}"); return true; } }
public function add_related_org_to_user($user_id, $related_org_name) { need_login(); if (!user('is_admin')) { $user_id = user('id'); } $user_model = new UsersModel(); $related_ngo_model = M('Related_ngos'); $result = $user_model->where(array('name' => $related_org_name))->find(); if ($result) { $related_ngo_model->add(array('user_id' => $user_id, 'user_name' => $result['name'], 'related_user_id' => $result['id'], 'type' => $result['type'])); echo json_encode(array('name' => $related_org_name, 'id' => $result['id'], 'image' => $result['image'])); return; } else { $related_ngo_model->add(array('user_id' => $user_id, 'user_name' => $related_org_name)); echo json_encode(array('name' => $related_org_name)); return; } }
public function set_creator_by_name($name) { $user_model = new UsersModel(); $creator = $user_model->where(array('name' => $name))->find(); if (!$creator) { return false; } $this->user_id = $creator['id']; return true; }