%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/thread-self/root/var/www/html/ppaobm/vendor/mdmsoft/yii2-admin/models/ |
Upload File : |
<?php namespace mdm\admin\models; use mdm\admin\components\Configs; use mdm\admin\components\Helper; use Yii; /** * Description of Assignment * * @author Misbahul D Munir <misbahuldmunir@gmail.com> * @since 2.5 */ class Assignment extends \mdm\admin\BaseObject { /** * @var integer User id */ public $id; /** * @var \yii\web\IdentityInterface User */ public $user; /** * @inheritdoc */ public function __construct($id, $user = null, $config = array()) { $this->id = $id; $this->user = $user; parent::__construct($config); } /** * Grands a roles from a user. * @param array $items * @return integer number of successful grand */ public function assign($items) { $manager = Configs::authManager(); $success = 0; foreach ($items as $name) { try { $item = $manager->getRole($name); $item = $item ?: $manager->getPermission($name); $manager->assign($item, $this->id); $success++; } catch (\Exception $exc) { Yii::error($exc->getMessage(), __METHOD__); } } Helper::invalidate(); return $success; } /** * Revokes a roles from a user. * @param array $items * @return integer number of successful revoke */ public function revoke($items) { $manager = Configs::authManager(); $success = 0; foreach ($items as $name) { try { $item = $manager->getRole($name); $item = $item ?: $manager->getPermission($name); $manager->revoke($item, $this->id); $success++; } catch (\Exception $exc) { Yii::error($exc->getMessage(), __METHOD__); } } Helper::invalidate(); return $success; } /** * Get all available and assigned roles/permission * @return array */ public function getItems() { $manager = Configs::authManager(); $available = []; foreach (array_keys($manager->getRoles()) as $name) { $available[$name] = 'role'; } foreach (array_keys($manager->getPermissions()) as $name) { if ($name[0] != '/') { $available[$name] = 'permission'; } } $assigned = []; foreach ($manager->getAssignments($this->id) as $item) { $assigned[$item->roleName] = $available[$item->roleName]; unset($available[$item->roleName]); } return [ 'available' => $available, 'assigned' => $assigned, ]; } /** * @inheritdoc */ public function __get($name) { if ($this->user) { return $this->user->$name; } } }