%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/11585/root/var/www/html/ppaobm/vendor/mdmsoft/yii2-admin/components/ |
Upload File : |
<?php namespace mdm\admin\components; use Yii; use mdm\admin\models\AuthItem; use mdm\admin\models\searchs\AuthItem as AuthItemSearch; use yii\web\Controller; use yii\web\NotFoundHttpException; use yii\base\NotSupportedException; use yii\filters\VerbFilter; use yii\rbac\Item; /** * AuthItemController implements the CRUD actions for AuthItem model. * * @property integer $type * @property array $labels * * @author Misbahul D Munir <misbahuldmunir@gmail.com> * @since 1.0 */ class ItemController extends Controller { /** * @inheritdoc */ public function behaviors() { return [ 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['post'], 'assign' => ['post'], 'remove' => ['post'], ], ], ]; } /** * Lists all AuthItem models. * @return mixed */ public function actionIndex() { $searchModel = new AuthItemSearch(['type' => $this->type]); $dataProvider = $searchModel->search(Yii::$app->request->getQueryParams()); return $this->render('index', [ 'dataProvider' => $dataProvider, 'searchModel' => $searchModel, ]); } /** * Displays a single AuthItem model. * @param string $id * @return mixed */ public function actionView($id) { $model = $this->findModel($id); return $this->render('view', ['model' => $model]); } /** * Creates a new AuthItem model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new AuthItem(null); $model->type = $this->type; if ($model->load(Yii::$app->getRequest()->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->name]); } else { return $this->render('create', ['model' => $model]); } } /** * Updates an existing AuthItem model. * If update is successful, the browser will be redirected to the 'view' page. * @param string $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); if ($model->load(Yii::$app->getRequest()->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->name]); } return $this->render('update', ['model' => $model]); } /** * Deletes an existing AuthItem model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param string $id * @return mixed */ public function actionDelete($id) { $model = $this->findModel($id); Configs::authManager()->remove($model->item); Helper::invalidate(); return $this->redirect(['index']); } /** * Assign items * @param string $id * @return array */ public function actionAssign($id) { $items = Yii::$app->getRequest()->post('items', []); $model = $this->findModel($id); $success = $model->addChildren($items); Yii::$app->getResponse()->format = 'json'; return array_merge($model->getItems(), ['success' => $success]); } /** * Assign or remove items * @param string $id * @return array */ public function actionRemove($id) { $items = Yii::$app->getRequest()->post('items', []); $model = $this->findModel($id); $success = $model->removeChildren($items); Yii::$app->getResponse()->format = 'json'; return array_merge($model->getItems(), ['success' => $success]); } /** * @inheritdoc */ public function getViewPath() { return $this->module->getViewPath() . DIRECTORY_SEPARATOR . 'item'; } /** * Label use in view * @throws NotSupportedException */ public function labels() { throw new NotSupportedException(get_class($this) . ' does not support labels().'); } /** * Type of Auth Item. * @return integer */ public function getType() { } /** * Finds the AuthItem model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param string $id * @return AuthItem the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { $auth = Configs::authManager(); $item = $this->type === Item::TYPE_ROLE ? $auth->getRole($id) : $auth->getPermission($id); if ($item) { return new AuthItem($item); } else { throw new NotFoundHttpException('The requested page does not exist.'); } } }