/** * Creates a new Message model. * If creation is successful, the browser will be redirected to the 'view' page. * @param $receiver : to some body send a msg * @return mixed * @throws BadRequestHttpException */ public function actionCreate($receiver) { $this->layout = '//i'; if ($receiver == Yii::$app->user->id) { throw new BadRequestHttpException('给自己发消息有意思不', 403); } $receiverUser = User::findOne($receiver); $model = new Message(); $model->receiver = $receiver; $model->sender = Yii::$app->user->id; $model->user_id = $receiver; $model->friend_id = Yii::$app->user->id; if ($model->load(Yii::$app->request->post()) && $model->save()) { $msg = new Message(); $msg->receiver = $receiver; $msg->sender = Yii::$app->user->id; $msg->user_id = $model->sender; $msg->friend_id = $model->receiver; $msg->content = $model->content; $msg->save(false); return $this->redirect(['index']); } else { var_dump($model->errors); return $this->render('create', ['model' => $model, 'receiverUser' => $receiverUser]); } }
public function actionLogin() { $result = false; $token = ''; $accessToken = Yii::$app->request->get('access_token'); if ($accessToken) { if (User::findOne(['access_token' => $accessToken])) { $result = true; } } elseif (Yii::$app->request->post('username') && Yii::$app->request->post('password')) { $user = User::findByUsername(Yii::$app->request->post('username')); if ($user && $user->validatePassword(Yii::$app->request->post('password'))) { if ($user->access_token) { $token = $user->access_token; } else { $token = hash('sha256', Yii::$app->request->get('username')); Yii::$app->db->createCommand()->update("user", ['access_token' => $token], 'id = ' . $user->id)->execute(); } $result = true; } } if ($result) { return ['result' => 'success', 'access_token' => $token]; } else { return ['result' => 'failed']; } }
public function create() { $isValid = false; $this->imageFile = UploadedFile::getInstance($this, 'imageFile'); $user = User::findOne(Yii::$app->user->getId()); $bulletin = new Bulletin(); if (isset($this->imageFile)) { $imagePath = '/uploads/' . $this->imageFile->baseName . '.' . $this->imageFile->extension; $this->imageFile->saveAs(Yii::getAlias('@webroot') . $imagePath); $m_image = new Image(); $m_image->url = $imagePath; if ($m_image->save()) { $image = Image::findOne($m_image->getPrimaryKey()); $bulletin->link('image', $image); $bulletin->link('user', $user); $isValid = true; } else { $isValid = false; } } $bulletin->title = $this->title; $bulletin->description = $this->description; if ($bulletin->save()) { $isValid = true; } else { $isValid = false; } return $isValid; }
private function isAdminSelfEdit() { if (!Yii::$app->user->isGuest) { return $this->username === User::findOne(Yii::$app->user->id)->username; } return false; }
public function actionComment() { if (Yii::$app->request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; $data = Yii::$app->request->post(); $user = User::findOne(Yii::$app->user->getId()); $whom = User::findOne($data['whom_id']); $rate = $whom->profile->rate; if ($rate == 0) { $whom->profile->rate = (double) $data['rate']; } else { $whom->profile->rate = ($rate + (double) $data['rate']) / 2; } $whom->profile->save(); $comment = new Comment(); $comment->rate = $data['rate']; $comment->description = $data['comment']; $comment->whom_id = $data['whom_id']; $comment->link('owner', $user); if ($comment->save()) { return array('success' => true); } return array('success' => false); } }
public function actionCreateuser() { $userModel = User::findOne(['user_name' => yii::$app->request->post('user_name')]); if ($userModel === null) { $userModel = new User(); $userModel->load(yii::$app->request->post()); if ($userModel->save()) { yii::$app->AjaxResponse->error = false; yii::$app->AjaxResponse->message = ['User has been created']; yii::$app->UserComponent->sendWelcomeEmail($userModel->first_name, $userModel->email); } else { yii::$app->AjaxResponse->message = array_values($userModel->getErrors()); } } else { // user exits but is not active if ($userModel->status_id != Types::$status['active']['id']) { $userModel->status_id = Types::$status['active']['id']; $userModel->save(); yii::$app->AjaxResponse->error = false; yii::$app->AjaxResponse->message = ['User reactivated']; } else { yii::$app->AjaxResponse->message = ['User already exists']; } } yii::$app->AjaxResponse->sendContent(); }
/** * Finds user by [[email]] * * @return User|null */ public function getUser() { if ($this->_user === false) { $this->_user = User::findOne(['email' => $this->email]); } return $this->_user; }
public function finishReg($id) { /* @var $modelUser \common\models\User */ /* @var $modelPlaceCountry \common\models\PlaceCountry */ $modelUser = User::findOne($id); if ($this->scenario === 'phoneFinish') { $modelUser->phone = $this->getPhoneNumber(); $modelUser->status = User::STATUS_ACTIVE; $modelUser->country_id = $this->country_id; $modelUser->setPassword(time()); $modelUser->generateAuthKey(); $modelUser->save(); return RbacHelper::assignRole($modelUser->getId()) ? $modelUser : null; } elseif ($this->scenario === 'phoneAndEmailFinish') { $modelUser->phone = $this->getPhoneNumber(); $modelUser->email = $this->email; $modelUser->country_id = $this->country_id; $modelUser->setPassword($this->password); $modelUser->generateAuthKey(); $modelUser->generateSecretKey(); $modelUser->validate(); $modelUser->save(); return RbacHelper::assignRole($modelUser->getId()) ? $modelUser : null; } return false; }
/** * Lists all Acts models. * @return mixed */ public function actionIndex() { $searchModel = new ActsSearch(); $usr = User::findOne(Yii::$app->user->id); $dataProvider = $searchModel->search(Yii::$app->request->queryParams, $usr->_1c_id); return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }
/** * @param $id * @return $this */ public function findOne($id) { $user = User::findOne($id); $this->username = $user->username; $this->email = $user->email; return $this; }
public function execute($user, $item, $params) { //Получаем массив пользователя из базы $cacheUser = '******' . Yii::$app->user->id; if (false === ($_user = Yii::$app->cache->get($cacheUser))) { if (null === ($_user = User::findOne($user))) { return FALSE; //throw new NotFoundHttpException; } Yii::$app->cache->set($cacheUser, $_user, 86400); } $user = ArrayHelper::getValue($params, 'user', $_user); if ($user) { $role = $user->role; //Значение из поля role базы данных if ($item->name === 'admin') { return $role == User::ROLE_ADMIN; } elseif ($item->name === 'moder') { //moder является потомком admin, который получает его права return $role == User::ROLE_ADMIN || $role == User::ROLE_MODER; } elseif ($item->name === 'user') { return $role == User::ROLE_ADMIN || $role == User::ROLE_MODER || $role == User::ROLE_USER; } } return false; }
/** * @return null|User */ protected function getUser() { if ($this->_user === null) { $this->_user = User::findOne($this->user_id); } return $this->_user; }
public function actionCreateEvent() { $model = new EventCreateForm(); $model->own_id = \Yii::$app->user->getId(); $model->create_at = date('Y-m-d h:i'); if ($model->load(\Yii::$app->request->post())) { if (!$model->validate()) { return $this->render('error'); } if (sizeof($model->friend) > 0) { $title = $model->title . ' (Member: ' . User::findOne(['id' => \Yii::$app->user->getId()])->username; foreach ($model->friend as $userId) { $title = $title . ', ' . User::findOne(['id' => $userId])->username; } $title = $title . ')'; } else { $title = $model->title; } $eventId = $model->addEvent($title); if (sizeof($model->friend) > 0) { foreach ($model->friend as $userId) { $scheduleNotify = new ScheduleNotification(); $scheduleNotify['schedule_id'] = $eventId; $scheduleNotify['receiver_id'] = $userId; $scheduleNotify['action_id'] = \Yii::$app->user->getId(); $scheduleNotify['create_at'] = $model->create_at; $scheduleNotify->save(); } } $this->refresh(); } return $this->render('show', ['model' => $model]); }
public function actionIndex() { $user = \Yii::$app->user->identity; $parent = null; $child = null; if (!\Yii::$app->user->can('admin')) { $user->parent_id ? $parent = \common\models\User::findOne(['id' => $user->parent_id]) : ''; $child = new \yii\data\ActiveDataProvider(['query' => \common\models\User::find()->where(['parent_id' => $user->id])]); } else { $userList = \common\models\User::find()->where(['parent_id' => null])->orderBy('id')->all(); $tree = []; foreach ($userList as $key => $item) { $tree[] = $item; $branch = $this->makeTree($item->id, 0, array()); $tree = array_merge($tree, $branch); } $userList = $tree; // print_r('<pre>'); // print_r($userList); // print_r('</pre>'); // die(); } $crypt = openssl_encrypt($user->email, 'aes-128-ecb', '304c6528f659c77866a510d9c1d6ae5e', false); return $this->render('index', ['parent' => $parent, 'child' => $child, 'crypt' => $crypt, 'userList' => $userList]); }
/** * добавляет в базу новую ставку * @param Model $fantasy */ public function addRate($fantasy) { $draftModel = new PokerDraft(); $PokerDraftPlayer = new PokerDraftPlayer(); $draftModel->attributes = $this->attributes; $draftModel->save(); //echo'<pre>'; print_r($draftModel);echo'</pre>';die; $PokerDraftPlayer->addPlayersRows($this->players, $draftModel->id); //снимаем взнос+комиссия у игрока $user = User::findOne(Yii::$app->user->id); $deposit_before = $user->deposit; $user->deposit = $user->deposit - $fantasy->deposit - $fantasy->fee; if ($user->save()) { //заносим в лог $data = ['fantasy_id' => $fantasy->id, 'game' => Transaction::TR_GAME_POKER]; $trans_descr = Transaction::buildTransactionDescrForSave(Transaction::TR_TYPE_FANTASY_PAYMENT, $data); Transaction::saveTransaction($user->id, $deposit_before, -($fantasy->deposit + $fantasy->fee), $trans_descr); } //если нужно - увеличиваем призовой фонд //$total_sum_rates = PokerDraft::getCountFantasyDrafts($fantasy->id) * $fantasy->deposit; $total_sum_rates = $draftModel->getCountFantasyDrafts($fantasy->id) * $fantasy->deposit; if ($total_sum_rates > $fantasy->prize_pool_real) { PokerFantasy::upateRealPrizePool($fantasy->id, $total_sum_rates); } }
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); return $response; } } return false; }
/** * Уведомления при подписке на человека */ public function actionSubscriptionUserNotifications() { $date_minus_six_hours = new \DateTime(); $date_minus_six_hours = $date_minus_six_hours->modify('-2 hours'); $email_queue = []; $wall_events = Wall::find()->where('created >= ' . $date_minus_six_hours->getTimestamp() . ' AND created <= ' . time())->all(); foreach ($wall_events as $event) { if ($event->type == 2) { $event_data = json_decode($event->mem); $User = User::findOne(['id' => $event_data->to]); $Subscriber = User::find()->where(['id' => $event_data->from])->asArray()->one(); if ($Subscriber) { $email_queue[$User->email][$event_data->from] = ['subscriber' => User::find()->where(['id' => $event_data->from])->asArray()->one(), 'data' => $event->created, 'status' => $event_data->status]; } } } foreach ($email_queue as $email => $recipient) { $subscribed = []; $unsubscribed = []; foreach ($recipient as $person) { if ($person['status']) { $subscribed[] = $person; } else { $unsubscribed[] = $person; } } $messages[] = \Yii::$app->mailer->compose('user-subscribe', ['subscribed' => $subscribed, 'unsubscribed' => $unsubscribed])->setFrom('*****@*****.**')->setTo($email)->setSubject('Для Вас есть новые уведомления на сайте http://findspree.ru'); } if (isset($messages) && !empty($messages)) { \Yii::$app->mailer->sendMultiple($messages); } }
public function actionActivate($id) { $user = User::findOne($id); $user->status = 10; $user->save(); return $this->redirect(['view', 'id' => $id]); }
/** * Finds the User model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * * @param string $username Username * @return User the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModelByUsername($username) { if (($model = User::findOne(['username' => $username])) !== null) { return $model; } throw new NotFoundHttpException(Yii::t('writesdown', 'The requested page does not exist.')); }
public function run() { $user = User::findOne(Yii::$app->user->id); echo Nav::widget(['items' => [['label' => 'Контактная информация', 'url' => ['/tor/profile']], ['label' => 'Добавить лот на продажу', 'url' => ['/tor/mng-ad']], ['label' => 'Мои объявления <span class="badge">' . TorAds::find()->count() . '</span>', 'url' => ['/tor/my-ads']], ['label' => 'Пополнить баланс ', 'url' => ['/']], ['label' => 'История платежей', 'url' => ['/']], ['label' => 'Реферальная ссылка', 'url' => ['/']]], 'options' => ['class' => 'account-nav'], 'encodeLabels' => false]); $view = $this->view; NavAsset::register($view); }
/** * Sends an email with a link, for resetting the password. * * @return boolean whether the email was send */ public function sendEmail() { /* @var $user User */ $user = \common\models\User::findOne(['status' => ['active', 'inactive'], 'email' => $this->email]); // \yii\helpers\VarDumper::dump($user); // die; $data = array(); $user->generatePasswordResetToken(); $userProfile = \common\models\UserProfile::findOne(['user_id' => $user->id]); if ($user->user_type == 'admin') { $resetLink = Yii::$app->urlManager->createAbsoluteUrl(['auth/login/reset-password', 'token' => $user->ud_temp_password]); $data['user'] = $userProfile->first_name . ' ' . $userProfile->last_name; } else { $resetLink = Yii::$app->urlManager->createAbsoluteUrl(['auth/login/reset-password', 'token' => $user->ud_temp_password]); $data['user'] = $userProfile->first_name . ' ' . $userProfile->last_name; } if ($user->save(false)) { $resetLink = $resetLink; $data['to'] = $user->email; $data['link'] = $resetLink; $data['request'] = "forget_password"; Utility::sendMail($data); return true; } return false; }
/** * Logs in a user. * * @return mixed */ public function actionLogin() { /** @var $eauth \nodge\eauth\ServiceBase */ $eauth = Yii::$app->get('eauth')->getIdentity('steam'); $eauth->setRedirectUrl(Yii::$app->getUser()->getReturnUrl()); $eauth->setCancelUrl(Yii::$app->getUrlManager()->createAbsoluteUrl('site/login')); try { if ($eauth->authenticate()) { $identity = User::findByEAuth($eauth); $user = User::findOne(['steamid' => $identity->steamid]); if (!$user) { $user = new User(); } $user->username = $identity->username; $user->steamid = $identity->steamid; $user->profile_url = $identity->profile_url; $user->avatar = $identity->avatar; $user->avatar_md = $identity->avatar_md; $user->avatar_lg = $identity->avatar_lg; $user->generateAuthKey(); $user->save(); Yii::$app->getUser()->login($identity); $eauth->redirect(); } else { $eauth->cancel(); } } catch (ErrorException $e) { Yii::$app->getSession()->setFlash('error', 'EAuthException: ' . $e->getMessage()); $eauth->redirect($eauth->getCancelUrl()); } }
public function save() { $user = User::findOne($this->id); $user->setPassword($this->confirmPassword); $this->success = $user->save(); return $this->success; }
/** * 上传头像 */ public function actionUploadFace() { //@todo $model = new UploadForm(); if (Yii::$app->request->isPost) { $model->file = UploadedFile::getInstance($model, 'file'); if ($model->file && $model->validate()) { $path = time() . '_' . Yii::$app->security->generateRandomString(8) . '.' . $model->file->extension; $model->file->saveAs(Yii::$app->basePath . '/web/uploads/' . $path); $uploadFile = new UploadFile(); $uploadFile->path = $path; $uploadFile->user_id = Yii::$app->user->id; $uploadFile->mime_type = $model->file->type; if ($uploadFile->save()) { $user = User::findOne(['id' => Yii::$app->user->id]); if ($user->face) { $user->face = null; $user->save(); } $user->face = $path; if ($user->save()) { return $this->redirect('index'); } else { error_log(print_r($user->errors, true)); $uploadFile->delete(); } } else { error_log(print_r($uploadFile->errors, true)); } } } return $this->render('upload-face', ['model' => $model]); }
/** * Resets password. * * @return boolean if password was reset. */ public function resetPassword() { $user = User::findOne(['id' => Yii::$app->user->id]); $user->setPassword($this->password); $user->removePasswordResetToken(); return $user->save(); }
/** * Lists all Mesaj models. * @return mixed */ public function actionIndex($id = NULL) { $users = User::find()->all(); if ($id) { $model = new Mesaj(); $konusma = Konusma::findOne(['konusmaci_1' => yii::$app->user->id, 'konusmaci_2' => $id]); if (!$konusma) { $konusma = Konusma::findOne(['konusmaci_2' => yii::$app->user->id, 'konusmaci_1' => $id]); } if (!$konusma) { $konusma = new Konusma(); $konusma->konusmaci_1 = yii::$app->user->id; $konusma->konusmaci_2 = $id; $konusma->save(); } $post = yii::$app->request->post(); if ($model->load($post)) { $model->konusma_id = $konusma->id; $model->gonderen_id = yii::$app->user->id; date_default_timezone_set("Europe/Istanbul"); $model->tarih = date("Y-m-d H:i:s"); if ($model->save()) { return $this->redirect(['index', 'id' => $id]); } else { print_r($model); exit; } } $kullanici = User::findOne($id); $mesajlar = Mesaj::find()->where(['konusma_id' => $konusma->id])->orderBy(['id' => SORT_ASC])->all(); return $this->render('index', ['users' => $users, 'mesajlar' => $mesajlar, 'kullanici' => $kullanici, 'model' => $model]); } else { return $this->render('index', ['users' => $users]); } }
public function actionList() { //设置当前view的params参数 $view = Yii::$app->view; $view->params['layoutData'] = 'this is test'; $model = User::findOne(1); return $this->render('list', ['model' => $model]); }
protected function user($username = '') { $user = User::findOne(['username' => $username]); if ($user === null) { throw new NotFoundHttpException(); } return $user; }
public function findModel($id) { if (($model = User::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * Finds user by [[username]] * * @return User|null */ public function getUser() { if ($this->_user === false) { //$this->_user = User::findByUsername($this->username); $this->_user = User::findOne(["email" => $this->email]); } return $this->_user; }