Esempio n. 1
0
 public function load($data, $formName = null)
 {
     $setAttributes = function (&$model, $data) {
         $loadResult = true;
         foreach ($data as $key => $value) {
             if ($model->hasKey($key)) {
                 $model->{$key} = $value;
             } elseif (in_array($key, $model->safeAttributes())) {
                 $model->{$key} = $value;
             } else {
                 $model->addError(ErrorMessage::UnknownModelKey($model->className(), $key));
                 $loadResult = false;
             }
         }
         return $loadResult;
     };
     $scope = $formName === null ? $this->formName() : $formName;
     if ($scope === '' && !empty($data)) {
         return $setAttributes($this, $data);
     } else {
         if (isset($data[$scope])) {
             return $setAttributes($this, $data[$scope]);
         } else {
             return false;
         }
     }
 }
 /**
  * @param $id
  * @return void|array
  * @throws \Exception
  */
 public function actionDelete($id)
 {
     //TODO: Check rights
     if (!User::find()->where(['id' => $id])->limit(1)->one()->delete()) {
         \Yii::$app->response->setStatusCode(404);
         return ErrorMessage::ModelNotFound(User::className(), $id);
     }
     \Yii::$app->response->setStatusCode(204);
 }
 public function actionLogin()
 {
     $username = \yii::$app->request->post('username');
     $password = \yii::$app->request->post('password');
     /**
      * @var User $user
      */
     $user = User::find()->where('username = :username', [':username' => $username])->one();
     if (!$user) {
         \yii::$app->response->setStatusCode(401);
         return ErrorMessage::WrongCredentials();
     }
     if (\yii::$app->getSecurity()->validatePassword($password, $user->password)) {
         $session = \yii::$app->session;
         $session->set('authorized', true);
         $session->set('username', $user->username);
         $session->set('password', $user->password);
         \yii::$app->response->setStatusCode(200);
     } else {
         \yii::$app->response->setStatusCode(400);
         return ErrorMessage::WrongCredentials();
     }
 }