コード例 #1
0
ファイル: Users.php プロジェクト: bozhich/PHP-on-Rails
 public function saveAction()
 {
     $id = $this->getRequest()->getParam('id');
     if (!$id) {
         $this->getResponse()->setStatus(0)->setBody(__('user does not exist'))->toJson();
     }
     $user_rs = Admin_UsersModel::get(array('id' => $id));
     if (!$user_rs) {
         $this->getResponse()->setStatus(0)->setBody(__('user does not exist'))->toJson();
     }
     if ($id != s()->user->id && $user_rs->is_developer) {
         $this->getResponse()->setStatus(0)->setBody('how about no?')->toJson();
     }
     $update_data = array('user' => strip_tags(strtolower($this->getRequest()->getPost('user'))), 'email' => strip_tags(strtolower($this->getRequest()->getPost('email'))), 'role_id' => $this->getRequest()->getPost('role'), 'company' => $this->getRequest()->getPost('company'));
     if ($update_data['user'] == '' || $update_data['email'] == '' || $update_data['role_id'] == '') {
         $this->getResponse()->setStatus(0)->setBody(__('invalid data submited. Username, Email and Role are mandatory'))->toJson();
     }
     // check for duplicates on user/ email
     $check_username = Admin_UsersModel::get(array('user' => $update_data['user']));
     if ($check_username && $check_username['id'] != $id) {
         $this->getResponse()->setStatus(0)->setBody(__('user with the same name exist'))->toJson();
     }
     $check_email = Admin_UsersModel::get(array('email' => $update_data['email']));
     if ($check_email && $check_email['id'] != $id) {
         $this->getResponse()->setStatus(0)->setBody(__('user with the same email exist'))->toJson();
     }
     Admin_UsersModel::set($update_data, array('id' => $id));
     // Refresh the user's session
     if ($id == s()->user->id) {
         Cms_UserData::refresh(array(Cms_UserData::ATTR_ALL));
     } else {
         Cms_UserData::injectRefresh($id, array(Cms_UserData::ATTR_ALL));
     }
     $this->getResponse()->setStatus(1)->setBody(__('user updated'))->toJson();
 }
コード例 #2
0
ファイル: Users.php プロジェクト: bozhich/PHP-on-Rails
 public static function login($user_id, $persistent = false)
 {
     s()->flush();
     if ($persistent) {
         s()->setPersistent();
     }
     // Load user data
     s()->user->id = $user_id;
     // Set user session
     Admin_UsersModel::set(array('session_id' => s()->getId()), array('id' => s()->user->id));
     Admin_LogsModel::insert(array('user_id' => $user_id, 'ip' => Core_Request::getInstance()->getServer('REMOTE_ADDR')), Admin_LogsModel::USER_LOGIN);
     Cms_UserData::refresh(array(Cms_UserData::ATTR_ALL));
     return s()->user->id ? true : false;
 }