Example #1
5
File: Word.php Project: pumi11/aau
 /**
  * @throws \PhpOffice\PhpWord\Exception\Exception
  * Создание word для юр вопросов
  */
 public static function ur_questions($row)
 {
     $user = User::findOne(\Yii::$app->user->identity->id);
     $file = \Yii::$app->basePath . '/temp/ur_questions/' . $row['qid'] . '.docx';
     $template = \Yii::$app->basePath . '/temp/ur_questions/Template.docx';
     $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor($template);
     // Variables on different parts of document
     $row['question'] = str_replace("\n", "<w:br/>", $row['question']);
     //Для пробелов
     $templateProcessor->setValue('vopros', $row['question']);
     $templateProcessor->setValue('date', date("d.m.Y"));
     $templateProcessor->setValue('ur_name', $row['uname']);
     $templateProcessor->setValue('ur_ruk', $row['contact_face']);
     $templateProcessor->setValue('ur_phone', $row['contact_phone']);
     $templateProcessor->setValue('ur_mail', $row['contact_mail']);
     $templateProcessor->setValue('ur_region', $row['rname']);
     //$templateProcessor->setValue('serverName', realpath(__DIR__)); // On header
     $templateProcessor->saveAs($file);
     $qf = explode("|", $row['qfiles']);
     if (!isset($qf[0])) {
         $qf[0] = $qf;
     }
     $mail = \Yii::$app->mail->compose('ur_questions', ['uname' => $row['uname'], 'username' => $user['username'], 'mail' => $user['mail']])->setFrom([\Yii::$app->params['infoEmail'] => 'СоюзФарма'])->setTo(\Yii::$app->params['uristEmail'])->setSubject('Юридический вопрос')->attach($file);
     foreach ($qf as $q) {
         if ($q != "") {
             $mail->attach($q);
         }
     }
     $mail->send();
     // if($templateProcessor->saveAs('results/Sample_07_TemplateCloneRow.docx')) {
     //      return true;
     //  }else{
     //    return false;
     // }
 }
 public function doOauthLogin($oauthClient)
 {
     $code = Yii::$app->request->get('code', false);
     if (!$code) {
         $url = $oauthClient->buildAuthUrl();
         // Build authorization URL
         Yii::$app->getResponse()->redirect($url);
         // Redirect to authorization URL.
     }
     // After user returns at our site:
     $accessToken = $oauthClient->fetchAccessToken($code);
     // Get access token
     $res = $oauthClient->api('index');
     $parts = parse_url($oauthClient->tokenUrl);
     $User = User::findOne(['username' => $res['username'], 'host' => $parts['host']]);
     if (!$User) {
         $User = new User();
         $User->username = $res['username'];
         $User->host = $parts['host'];
         $User->save();
     }
     $success = Yii::$app->user->login($User, 3600 * 24 * 30);
     //var_dump($success, Yii::$app->user);
     if (Yii::$app->session["_last_game"]) {
         return $this->redirect(Yii::$app->session["_last_game"]);
     } else {
         return $this->goHome();
     }
 }
 /**
  * Shows user's profile.
  * @param  integer $id
  * @return \yii\web\Response
  * @throws \yii\web\NotFoundHttpException
  */
 public function actionShow($id)
 {
     $this->enableCsrfValidation = false;
     $profile = $this->finder->findProfileById($id);
     if ($profile === null) {
         throw new NotFoundHttpException();
     }
     $query = Comments::find()->where(['deleted' => Comments::NO_DELETED, 'user_id' => $id])->orderBy('created_at');
     $countQuery = clone $query;
     $pages = new Pagination(['totalCount' => $countQuery->count()]);
     $pages->setPageSize(10);
     $comments = $query->offset($pages->offset)->limit($pages->limit)->all();
     $model = new Comments();
     $this->performAjaxValidation($model);
     $user = User::findOne(Yii::$app->user->getId());
     if ($model->load(Yii::$app->request->post())) {
         $model->created_at = time();
         $model->user_id = $profile->user->getId();
         $model->sender_id = Yii::$app->user->getId();
         $model->save();
         return $this->refresh();
     } else {
         return $this->render('show', ['profile' => $profile, 'model' => $model, 'user' => $user, 'comments' => $comments, 'pages' => $pages]);
     }
     return $this->render('show', ['profile' => $profile]);
 }
 /**
  * @param string $username
  * @throws \yii\console\Exception
  * @return User the loaded model
  */
 private function findModel($username)
 {
     if (!($model = User::findOne(['username' => $username]))) {
         throw new Exception('User not found');
     }
     return $model;
 }
Example #5
0
 /**
  * Finds user by [[username]]
  *
  * @return User|null
  */
 public function getUser()
 {
     if ($this->_user === false) {
         $this->_user = User::findOne(['username' => $this->username], ['password_hash' => $this->password_hash]);
     }
     return $this->_user;
 }
 public function sendMail()
 {
     /* @var $user User */
     $user = User::findOne(['status' => User::STATUS_ACTIVE, 'email' => $this->email]);
     if ($user) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             $setting = Setting::find()->where(['id' => 1])->one();
             $username = $setting->sendgridUsername;
             $password = $setting->sendgridPassword;
             $mail_admin = $setting->emailAdmin;
             $sendgrid = new \SendGrid($username, $password, array("turn_off_ssl_verification" => true));
             $email = new \SendGrid\Email();
             $mail = $user->email;
             //echo $user->email;exit(0);
             $resetLink = \Yii::$app->urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]);
             $body_message = 'Hello ' . Html::encode($user->username) . ', <br>
             Follow the link below to reset your password:  <br>
             ' . Html::a(Html::encode($resetLink), $resetLink);
             $email->addTo($user->email)->setFrom($mail_admin)->setSubject('Password reset for ' . \Yii::$app->name)->setHtml($body_message);
             $response = $sendgrid->send($email);
             //print_r($response); exit(0);
             return $response;
         }
     }
     return false;
 }
 public function save()
 {
     $this->deletedIdList = [];
     $this->errorIdList = [];
     if ($this->hasErrors()) {
         return false;
     }
     if (!($user = User::findOne(['api_key' => $this->apikey]))) {
         $this->addError('apikey', 'User does not exist.');
         return false;
     }
     foreach ($this->id as $id) {
         $battle = Battle::findOne(['id' => (int) (string) $id]);
         if (!$battle) {
             $this->errorIdList[] = ['id' => $id, 'error' => 'not found'];
             continue;
         }
         if ($battle->user_id != $user->id) {
             $this->errorIdList[] = ['id' => $id, 'error' => 'user not match'];
             continue;
         }
         if ($battle->is_automated) {
             $this->errorIdList[] = ['id' => $id, 'error' => 'automated result'];
             continue;
         }
         if (!$this->test) {
             $battle->delete();
         }
         $this->deletedIdList[] = ['id' => $id, 'error' => null];
     }
     return true;
 }
Example #8
0
 /**
  * Finds user by [[username]]
  *
  * @return User|null
  */
 public function getUser()
 {
     if ($this->_user === false) {
         $this->_user = $user = User::findOne(['username' => $this->username]);
     }
     return $this->_user;
 }
Example #9
0
 public function validateEmail()
 {
     $user = User::findOne(['email' => $this->email]);
     if ($user != null) {
         $this->addError('email', 'E-mail znajduje się już w bazie');
     }
 }
 public function testTimestampBehavior()
 {
     $this->specify('create and update time are set on creation', function () {
         $user = new User(['username' => 'test', 'email' => '*****@*****.**', 'password' => 'testpw']);
         $time = time();
         expect('new record can be saved', $user->save())->true();
         $user = User::findOne($user->id);
         expect('saved record can be found', $user)->notNull();
         expect('creation time is a datetime string', preg_match(self::DATE_PATTERN, $user->created_at))->equals(1);
         expect('update time is a datetime string', preg_match(self::DATE_PATTERN, $user->updated_at))->equals(1);
         expect('creation time is set correctly', strtotime($user->created_at))->greaterOrEquals($time);
         expect('update time is set correctly', strtotime($user->updated_at))->greaterOrEquals($time);
     });
     $this->specify('only update time is set on update', function () {
         $user = $this->users('default');
         $user->username = '******';
         $created_at = $user->created_at;
         $updated_at = $user->updated_at;
         $time = time();
         expect('user record can be updated', $user->save())->true();
         $user = User::findOne($user->id);
         expect('updated record can be found', $user)->notNull();
         expect('creation time is unchanged', $user->created_at)->equals($created_at);
         expect('update time is updated', $user->updated_at)->notEquals($updated_at);
         expect('update time is a datetime string', preg_match(self::DATE_PATTERN, $user->updated_at))->equals(1);
         expect('update time is set correctly', strtotime($user->updated_at))->greaterOrEquals($time);
     });
 }
 /**
  *
  */
 public function actionInit()
 {
     // assign roles
     $oAuthManager = \Yii::$app->authManager;
     $oAuthManager->removeAll();
     // role user
     $oRoleUser = $oAuthManager->createRole('user');
     $oRoleUser->description = 'Registered user';
     $oAuthManager->add($oRoleUser);
     // create default users
     $aDefaultUser = \Yii::$app->params['aDefaultUser'];
     $oSecurity = \Yii::$app->security;
     foreach ($aDefaultUser as $sUsername => $aUserData) {
         $mUser = User::findOne(['username' => $aUserData['username']]);
         if (!$mUser) {
             $mUser = new User();
             $mUser->username = $sUsername;
             $mUser->password = $oSecurity->generatePasswordHash($aUserData['password']);
             $mUser->email = $aUserData['email'];
             $mUser->authKey = $oSecurity->generateRandomString();
         }
         if ($mUser->validate()) {
             $mUser->save();
             // assign role to each
             $oAuthManager->assign($oAuthManager->getRole($aUserData['role']), $mUser->id);
         }
     }
 }
Example #12
0
 public function run()
 {
     Yii::$app->response->format = 'json';
     $request = Yii::$app->getRequest();
     $screenName = $request->get('screen_name');
     $user = null;
     if ($screenName != '') {
         if (is_scalar($screenName) && ($user = User::findOne(['screen_name' => $screenName]))) {
             // ok
         } else {
             return ['error' => ['screen_name' => ['not found']]];
         }
     }
     $now = @$_SERVER['REQUEST_TIME'] ?: time();
     $subQuery = (new \yii\db\Query())->select(['id' => 'MAX({{battle}}.[[id]])'])->from('battle')->andWhere(['>=', '{{battle}}.[[at]]', gmdate('Y-m-d H:i:sO', $now - 60 * 86400)])->groupBy('{{battle}}.[[user_id]]');
     if ($user) {
         $subQuery->andWhere(['{{battle}}.[[user_id]]' => $user->id]);
     }
     $battles = Battle::find()->andWhere(['in', '{{battle}}.[[id]]', $subQuery])->with(['user', 'user.userStat', 'lobby', 'rule', 'map', 'weapon', 'weapon.subweapon', 'weapon.special', 'rank', 'battleImageResult', 'battleImageJudge'])->limit(500)->orderBy('{{battle}}.[[id]] DESC');
     $ret = [];
     foreach ($battles->each() as $model) {
         $json = $model->user->toJsonArray();
         $json['latest_battle'] = $model->toJsonArray(['user', 'death_reasons']);
         $ret[] = $json;
     }
     if ($user) {
         return count($ret) >= 1 ? array_shift($ret) : null;
     }
     return $ret;
 }
Example #13
0
 public function run()
 {
     $request = Yii::$app->getRequest();
     $user = User::findOne(['screen_name' => $request->get('screen_name')]);
     if (!$user) {
         throw new NotFoundHttpException(Yii::t('app', 'Could not find user'));
     }
     // リスト表示モード切替
     if ($request->get('v') != '') {
         $view = $request->get('v');
         if ($view === 'simple' || $view === 'standard') {
             Yii::$app->response->cookies->add(new Cookie(['name' => 'battle-list', 'value' => $view, 'expire' => time() + 86400 * 366]));
         }
         $next = $_GET;
         unset($next['v']);
         $next[0] = 'show/user';
         $this->controller->redirect(Url::to($next));
         return;
     }
     $battle = Battle::find()->with(['lobby', 'rule', 'rule.mode', 'map', 'weapon', 'weapon.subweapon', 'weapon.special', 'rank', 'rankAfter']);
     $filter = new BattleFilterForm();
     $filter->load($_GET);
     $filter->screen_name = $user->screen_name;
     if ($filter->validate()) {
         $battle->filter($filter);
     }
     $summary = $battle->summary;
     $permLink = Url::to(array_merge(['show/user', 'screen_name' => $user->screen_name], $filter->hasErrors() ? [] : $filter->toPermLink()), true);
     $isPjax = $request->isPjax;
     $template = $this->viewMode === 'simple' ? 'user.simple.tpl' : 'user.tpl';
     return $this->controller->render($template, array_merge(['user' => $user, 'battleDataProvider' => new ActiveDataProvider(['query' => $battle, 'pagination' => ['pageSize' => 100]]), 'summary' => $summary, 'filter' => $filter, 'permLink' => $permLink], $this->makeFilterFormData($user)));
 }
Example #14
0
 /**
  * Finds user by [[id]]
  *
  * @return User|null
  */
 public function getUser()
 {
     if ($this->_user === false) {
         $this->_user = User::findOne(\Yii::$app->user->id);
     }
     return $this->_user;
 }
Example #15
0
 public function actionEditUser()
 {
     $user = Yii::$app->user->identity;
     $user_pass = User::findOne($user->id);
     $user->scenario = 'edit-user';
     $user_pass->scenario = 'edit-password';
     $user_pass->password = "";
     $session = Yii::$app->session;
     $post = Yii::$app->request->post();
     $msg = false;
     if (isset($post['editUser'])) {
         // Безопасное присваивание значений атрибутам
         $user->attributes = $post['User'];
         if ($user->validate()) {
             $user->save(false);
             $session->setFlash('successEditUser', "Учетные данные успешно сохранены!");
         }
     }
     if (isset($post['editPassword'])) {
         $user_pass->attributes = $post['User'];
         if ($user_pass->validate()) {
             $user_pass->save(false);
             $session->setFlash('successEditUser', "Пароль успешно изменен!");
         }
     }
     if ($session->hasFlash('successEditUser')) {
         $msg = $session->getFlash('successEditUser');
     }
     $user_pass->password = "";
     $user_pass->password_repeat = "";
     return $this->render('editUser', ['user' => $user, 'user_pass' => $user_pass, 'msg' => $msg]);
 }
Example #16
0
 /**
  *  Get mode User with tocken
  * 
  * @return mixed
 */
 public static function getUser()
 {
     $model = new Albom();
     $tocken = $model->getTockenUser();
     $user = User::findOne(['tocken' => $tocken]);
     return ['login' => $user->login, 'email' => $user->email];
 }
Example #17
0
 public function getUser()
 {
     if (!$this->_user) {
         $this->_user = User::findOne(['name' => $this->user_name]);
     }
     return $this->_user;
 }
 public function actionEdit()
 {
     $request = Yii::$app->request;
     if ($request->isPost) {
         $id = (int) $request->post('userId');
         $user = User::findOne($id);
         if (!$user) {
             return $this->goHome();
         }
         if ($user->load($request->post()) && $user->validate()) {
             if (isset($_POST['password']) && isset($_POST['password-repeat'])) {
                 $password = $request->post('password');
                 $passwordRepeat = $request->post('password-repeat');
                 if ($password !== $passwordRepeat) {
                     Yii::$app->getSession()->setFlash('passwordRepeat', 'Паролите не съвпадат');
                     return $this->render('edit', ['user' => $user]);
                 }
                 $user->password = $password;
                 $user->setScenario('selfupdate');
             }
             if ($user->save()) {
                 return $this->render('profile', ['user' => $user]);
             } else {
                 Yii::info($user->getErrors());
             }
         }
     }
     $userId = $request->get('id');
     $user = User::findOne($userId);
     $user->isAdmin();
     if (!$user) {
         return $this->goHome();
     }
     return $this->render('edit', ['user' => $user]);
 }
Example #19
0
 public function checkPassword($attribute, $params)
 {
     $user = User::findOne(Yii::$app->user->id);
     if (!$user->validatePassword($this->password)) {
         $this->addError('password', 'Mật khẩu hiện tại không chính xác.');
     }
 }
Example #20
0
 public function existUser()
 {
     $this->_user = User::findOne(['email' => $this->email]);
     if (!$this->user || !Yii::$app->security->validatePassword($this->password, $this->user->password)) {
         $this->addError('email', 'Неверный email или пароль');
     }
 }
Example #21
0
 public function changePortrait()
 {
     $user = User::findOne(Yii::$app->user->identity->id);
     if (is_null($user)) {
         $this->addError('portrait', '用户不存在');
         return false;
     }
     $path = Yii::getAlias("@webroot/portrait/");
     $largePath = Yii::getAlias("@webroot/portrait/large/");
     $mediumPath = Yii::getAlias("@webroot/portrait/medium/");
     $smallPath = Yii::getAlias("@webroot/portrait/small/");
     //保存新头像
     $filename = date('H.i.s') . '-' . md5($this->portrait->name) . '.' . $this->portrait->extension;
     $this->portrait->saveAs($path . $filename);
     //large
     Image::thumbnail($path . $filename, 220, 220)->save($largePath . $filename);
     //medium
     Image::thumbnail($path . $filename, 128, 128)->save($mediumPath . $filename);
     //small
     Image::thumbnail($path . $filename, 64, 64)->save($smallPath . $filename);
     //删除原头像
     $oldFilename = $user->portrait;
     @unlink($path . $oldFilename);
     @unlink($largePath . $oldFilename);
     @unlink($mediumPath . $oldFilename);
     @unlink($smallPath . $oldFilename);
     //保存新头像名到数据库
     $user->portrait = $filename;
     if (!$user->save(false)) {
         $this->addError('portrait', '头像修改失败');
         return false;
     }
     return true;
 }
Example #22
0
 public function getUser()
 {
     if ($this->user === false) {
         $this->user = User::findOne(['[[screen_name]]' => $this->screen_name]);
     }
     return $this->user;
 }
Example #23
0
 public static function findByPasswordResetToken($key)
 {
     if (!static::isPasswordResetTokenExpire($key)) {
         return NULL;
     }
     return User::findOne(['password_reset_token' => $key]);
 }
Example #24
0
 private function unitPay($param)
 {
     $unitpayId = $param["unitpayId"];
     $RTableUnitpay = RTableUnitpay::findOne(['unitpayId' => $unitpayId]);
     if ($RTableUnitpay) {
         if ($RTableUnitpay->status == 1) {
             $id_user = $param["account"];
             $user = User::findOne($id_user);
             $sum = $param["sum"];
             $user->scenario = "money";
             $STypeMoney = STypeMoney::findOne(['name' => $param['paymentType']]);
             if ($STypeMoney) {
                 $id_type = $STypeMoney->id;
             } else {
                 $id_type = 12;
             }
             $user->addMoney($sum, $id_type);
             $RTableUnitpay->status = 2;
             $RTableUnitpay->save();
             $result["result"]["message"] = "Платеж прошел успешно! Спасибо!";
         } else {
             $result["error"]["message"] = "По данному чеку уже были начисления!";
         }
     } else {
         $result["error"]["message"] = "Не выполнялся данный запрос пользователем!";
     }
     return $result;
 }
Example #25
0
 /**
  * @return User|null
  */
 public function getUser()
 {
     if ($this->_user === false) {
         $this->_user = User::findOne(['email' => $this->email]);
     }
     return $this->_user;
 }
 private function _addOrUpdate($params)
 {
     if ($params['id']) {
         $user = User::findOne(['id' => $params['id']]);
         if (!$user) {
             return ['success' => 0, 'message' => 'No such user exist'];
         }
     } else {
         $user = new User();
     }
     $user->username = $params['username'];
     $user->email = $params['email'];
     $user->phone = $params['phone'];
     $user->password = $params['password'];
     if (!$user->validate()) {
         return ['success' => 0, 'message' => $user->getErrors()];
     }
     if (count($_FILES)) {
         $uploader = new FileUploader($_FILES['profile_picture']);
         $fileName = md5($user->email . Yii::$app->security->generateRandomString());
         $path = Yii::$app->basePath . '/web/images/profile/' . $fileName . '.' . $uploader->extension();
         $uploadStatus = $uploader->save($path);
         if (!$uploadStatus['success']) {
             return ['success' => 0, 'message' => $uploadStatus['error']];
         }
         $user->profile_picture = $file_name . '.' . $uploader->extension();
     }
     if (!$user->save()) {
         return ['success' => 0, 'message' => 'Some error occurred'];
     }
     return ['success' => 1, 'payload' => $user];
 }
Example #27
0
 public function checkUser()
 {
     $user = User::findOne(['username' => $this->username]);
     if ($user) {
         $this->addError($this->username, 'Такой пользователь уже сущесвует');
     }
 }
 /**
  * Finds a User model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Room the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = User::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested user does not exist.');
     }
 }
 /**
  * Creates a form model given a token.
  *
  * @param  string                          $token
  * @param  array                           $config name-value pairs that will be used to initialize the object properties
  * @throws \yii\base\InvalidParamException if token is empty or not valid
  */
 public function __construct($uid, $config = [])
 {
     $this->_user = User::findOne($uid);
     if (!$this->_user) {
         throw new InvalidParamException('找不到该用户.');
     }
     parent::__construct($config);
 }
Example #30
0
 public function fields()
 {
     return ['id', 'name', 'surname', 'gender', 'age', 'username' => function () {
         return User::findOne($this->id)->username;
     }, 'email' => function () {
         return User::findOne($this->id)->email;
     }];
 }