/**
  * Initiate join date and last activity value
  */
 public function afterConstruct()
 {
     if ($this->scenario == 'insert') {
         $this->joinDate = date('Y-m-d H:i:s');
     }
     return parent::afterConstruct();
 }
Exemple #2
0
 /**
  * 单例模式,实例化对象
  * @return type
  */
 public static function instance()
 {
     if (self::$instance == NULL) {
         self::$instance = new self();
     }
     return self::$instance;
 }
 private function accountCheck($account)
 {
     $accountData = BUser::where('email', '=', $account)->orWhere('mobile', '=', $account)->first();
     if (!$accountData) {
         return 400;
         //若账户不存在,返回错误码400
     } else {
         return $accountData;
     }
 }
 public function actionImportUsers()
 {
     set_time_limit(0);
     $count = 0;
     $users = BUser::model()->findAll();
     foreach ($users as $user) {
         $group = BUserGroup::model()->find('USER_ID=' . $user->ID);
         if ($group && $group->GROUP_ID != 0) {
             $username = '';
             $user->LOGIN = $this->sql_valid($user->LOGIN);
             $model = UserGroupsUser::model()->find("username='******'");
             if ($model) {
                 if ($user->EXTERNAL_AUTH_ID && $user->XML_ID) {
                     $username = $user->LOGIN . '_' . $user->EXTERNAL_AUTH_ID;
                     $username = substr($username, 0, 110);
                     $model = new UserGroupsUser('import');
                     $model->username = $username;
                 } elseif ($model->external_auth_id && $model->xml_id) {
                     $model->username = $model->username . '_' . $model->xml_id;
                     $model->update();
                     $model = new UserGroupsUser('import');
                 }
             }
             if (!$model) {
                 $model = new UserGroupsUser('import');
             }
             $group_id = 2;
             if ($group->GROUP_ID == 1) {
                 $group_id = 5;
             }
             if ($group->GROUP_ID == 4) {
                 $group_id = 3;
             }
             if ($user->LOGIN == 'admin') {
                 $group_id = 1;
             }
             if ($user->EXTERNAL_AUTH_ID && $user->XML_ID) {
                 $user->PASSWORD = '';
             }
             $model->attributes = array('id' => $user->ID, 'group_id' => $group_id, 'username' => $username ? $username : $user->LOGIN, 'password' => $user->PASSWORD, 'email' => trim($user->EMAIL) ? trim($user->EMAIL) : null, 'name' => $user->NAME, 'second_name' => $user->SECOND_NAME, 'last_name' => $user->LAST_NAME, 'home' => '', 'status' => 4, 'creation_date' => $user->DATE_REGISTER, 'activation_code' => null, 'activation_time' => $user->CHECKWORD_TIME, 'last_login' => $user->LAST_LOGIN, 'params' => array_keys($model->ParamsFields), 'xml_id' => $user->XML_ID, 'external_auth_id' => $user->EXTERNAL_AUTH_ID, 'is_bitrix_pass' => 1);
             $model->id = $user->ID;
             if ($model->save()) {
                 $count++;
                 if (!$model->relProfile) {
                     $profile = new Profile();
                     $profile->ug_id = $model->id;
                     $profile->birthday = $user->PERSONAL_BIRTHDAY;
                     $profile->site = $user->PERSONAL_WWW;
                     $profile->save();
                 }
                 $model->creation_date = $user->DATE_REGISTER;
                 $model->status = 4;
                 $model->update();
             } else {
                 echo "Пользователь " . $user->ID . "(" . $user->LOGIN . ")" . " не добавлен из-за : \n";
                 print_r($model->errors);
             }
         }
     }
     echo "Добавлено {$count} пользователей.";
 }
Exemple #5
0
 public function editAjaxAction()
 {
     \BUser::instance()->checkLogin();
     if ($this->request->isAjax()) {
         $headimg = $this->request->getPost('headimg', 'string') ? $this->request->getPost('headimg', 'string') : '';
         $sex = $this->request->getPost('sex', 'string') ? $this->request->getPost('sex', 'string') : '';
         $qq = $this->request->getPost('qq', 'string') ? $this->request->getPost('qq', 'string') : '';
         $email = $this->request->getPost('email', 'string') ? $this->request->getPost('email', 'string') : '';
         $nickname = $this->request->getPost('nickname', 'string') ? $this->request->getPost('nickname', 'string') : '';
     }
     $uid = $this->session->get('uid');
     $userInfo = \User::findFirst("id = {$uid}");
     //imgbase64转URL
     if (preg_match('/^(data:\\s*image\\/(\\w+);base64,)/', $headimg, $result)) {
         $type = $result[2];
         $new_file = __DIR__ . '/../../public/upload/head/haed_' . $uid . '.' . $type;
         if (!file_exists($new_file)) {
             //如果文件不存在(默认为当前目录下)
             $fh = fopen($new_file, "w");
             fclose($fh);
             //关闭文件
         }
         if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $headimg)))) {
             $new_file = '/upload/head/haed_' . $uid . '.' . $type;
         } else {
             $new_file = '';
         }
     } else {
         $new_file = '';
     }
     $sql = 'UPDATE `ys_user` SET ';
     if ($userInfo) {
         if ($new_file) {
             $sql .= "headimg = '" . $new_file . "',";
         }
         if ($sex) {
             $sql .= "sex = '" . $sex . "',";
         }
         if ($qq) {
             if (!is_numeric($qq)) {
                 \ToolFlash::error("请输入正确的QQ号码");
             }
             if (\User::findFirst("id != {$uid} AND qq={$qq}")) {
                 \ToolFlash::error("QQ号码已存在");
             }
             $sql .= "qq = '" . $qq . "',";
         }
         if ($email) {
             if (!\ToolCheck::is_email($email)) {
                 \ToolFlash::error("邮箱格式不正确");
             }
             if (\User::findFirst("id != {$uid} AND email='{$email}'")) {
                 \ToolFlash::error("邮箱已存在");
             }
             $sql .= "email = '" . $email . "',";
         }
         if ($nickname) {
             $sql .= "nickname = '" . $nickname . "',";
         }
         $sql .= "utime = '" . time() . "' WHERE id = {$uid}";
         $db = \BalanceDb::instance();
         if ($db->execute($sql)) {
             $userInfo = \User::findFirst("id = {$uid}");
             \BUser::instance()->setLoginSession($userInfo->toArray());
             \ToolFlash::success("修改成功");
         } else {
             foreach ($userInfo->getMessages() as $message) {
                 error_log(print_r($message, true));
             }
             \ToolFlash::error("修改失败");
         }
     } else {
         \ToolFlash::error("找不到用户信息");
     }
 }