| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | 
							- <?php
 
- /**
 
-  * @link http://www.yiiframework.com/
 
-  * @copyright Copyright (c) 2008 Yii Software LLC
 
-  * @license http://www.yiiframework.com/license/
 
-  */
 
- namespace yii\rest;
 
- use yii\base\InvalidConfigException;
 
- use yii\base\Model;
 
- use yii\web\ForbiddenHttpException;
 
- /**
 
-  * ActiveController implements a common set of actions for supporting RESTful access to ActiveRecord.
 
-  *
 
-  * The class of the ActiveRecord should be specified via [[modelClass]], which must implement [[\yii\db\ActiveRecordInterface]].
 
-  * By default, the following actions are supported:
 
-  *
 
-  * - `index`: list of models
 
-  * - `view`: return the details of a model
 
-  * - `create`: create a new model
 
-  * - `update`: update an existing model
 
-  * - `delete`: delete an existing model
 
-  * - `options`: return the allowed HTTP methods
 
-  *
 
-  * You may disable some of these actions by overriding [[actions()]] and unsetting the corresponding actions.
 
-  *
 
-  * To add a new action, either override [[actions()]] by appending a new action class or write a new action method.
 
-  * Make sure you also override [[verbs()]] to properly declare what HTTP methods are allowed by the new action.
 
-  *
 
-  * You should usually override [[checkAccess()]] to check whether the current user has the privilege to perform
 
-  * the specified action against the specified model.
 
-  *
 
-  * For more details and usage information on ActiveController, see the [guide article on rest controllers](guide:rest-controllers).
 
-  *
 
-  * @author Qiang Xue <qiang.xue@gmail.com>
 
-  * @since 2.0
 
-  */
 
- class ActiveController extends Controller
 
- {
 
-     /**
 
-      * @var string the model class name. This property must be set.
 
-      */
 
-     public $modelClass;
 
-     /**
 
-      * @var string the scenario used for updating a model.
 
-      * @see \yii\base\Model::scenarios()
 
-      */
 
-     public $updateScenario = Model::SCENARIO_DEFAULT;
 
-     /**
 
-      * @var string the scenario used for creating a model.
 
-      * @see \yii\base\Model::scenarios()
 
-      */
 
-     public $createScenario = Model::SCENARIO_DEFAULT;
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function init()
 
-     {
 
-         parent::init();
 
-         if ($this->modelClass === null) {
 
-             throw new InvalidConfigException('The "modelClass" property must be set.');
 
-         }
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function actions()
 
-     {
 
-         return [
 
-             'index' => [
 
-                 'class' => 'yii\rest\IndexAction',
 
-                 'modelClass' => $this->modelClass,
 
-                 'checkAccess' => [$this, 'checkAccess'],
 
-             ],
 
-             'view' => [
 
-                 'class' => 'yii\rest\ViewAction',
 
-                 'modelClass' => $this->modelClass,
 
-                 'checkAccess' => [$this, 'checkAccess'],
 
-             ],
 
-             'create' => [
 
-                 'class' => 'yii\rest\CreateAction',
 
-                 'modelClass' => $this->modelClass,
 
-                 'checkAccess' => [$this, 'checkAccess'],
 
-                 'scenario' => $this->createScenario,
 
-             ],
 
-             'update' => [
 
-                 'class' => 'yii\rest\UpdateAction',
 
-                 'modelClass' => $this->modelClass,
 
-                 'checkAccess' => [$this, 'checkAccess'],
 
-                 'scenario' => $this->updateScenario,
 
-             ],
 
-             'delete' => [
 
-                 'class' => 'yii\rest\DeleteAction',
 
-                 'modelClass' => $this->modelClass,
 
-                 'checkAccess' => [$this, 'checkAccess'],
 
-             ],
 
-             'options' => [
 
-                 'class' => 'yii\rest\OptionsAction',
 
-             ],
 
-         ];
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     protected function verbs()
 
-     {
 
-         return [
 
-             'index' => ['GET', 'HEAD'],
 
-             'view' => ['GET', 'HEAD'],
 
-             'create' => ['POST'],
 
-             'update' => ['PUT', 'PATCH'],
 
-             'delete' => ['DELETE'],
 
-         ];
 
-     }
 
-     /**
 
-      * Checks the privilege of the current user.
 
-      *
 
-      * This method should be overridden to check whether the current user has the privilege
 
-      * to run the specified action against the specified data model.
 
-      * If the user does not have access, a [[ForbiddenHttpException]] should be thrown.
 
-      *
 
-      * @param string $action the ID of the action to be executed
 
-      * @param object $model the model to be accessed. If null, it means no specific model is being accessed.
 
-      * @param array $params additional parameters
 
-      * @throws ForbiddenHttpException if the user does not have access
 
-      */
 
-     public function checkAccess($action, $model = null, $params = [])
 
-     {
 
-     }
 
- }
 
 
  |