Esempio n. 1
0
 /**
  * @inheritdoc
  * @throws \Micro\Base\Exception
  * @param string $name
  */
 protected function getElement($name)
 {
     $query = new Query($this->driver);
     $query->table = $this->table;
     $query->addWhere('`name`=:name');
     $query->params = ['name' => $name];
     $query->limit = 1;
     $query->single = true;
     return $query->run(\PDO::FETCH_ASSOC);
 }
Esempio n. 2
0
 /**
  * @inheritdoc
  */
 public function validate(IFormModel $model)
 {
     foreach ($this->elements as $element) {
         if (!$model->checkAttributeExists($element)) {
             $this->errors[] = 'Parameter ' . $element . ' not defined in class ' . get_class($model);
             return false;
         }
         $elementValue = $model->{$element};
         $query = new Query($this->container->db);
         $query->select = $this->params['attribute'];
         $query->table = $this->params['table'];
         $query->addWhere($this->params['attribute'] . '="' . $elementValue . '"');
         $query->limit = 1;
         $query->single = true;
         if ($query->run()) {
             return false;
         }
     }
     return true;
 }
Esempio n. 3
0
 /**
  * Get role perms
  *
  * @access public
  *
  * @param string $role role name
  *
  * @return array
  * @throws \Micro\base\Exception
  */
 protected function rolePerms($role)
 {
     $query = new Query($this->container->db);
     $query->select = '*';
     $query->table = 'acl_role_perm';
     $query->addWhere('role=' . $role);
     $query->single = false;
     return $query->run();
 }
Esempio n. 4
0
 /**
  * Get assigned elements
  *
  * @access public
  *
  * @param integer $userId user ID
  *
  * @return mixed
  * @throws \Micro\base\Exception
  */
 public function assigned($userId)
 {
     $query = new Query($this->container->db);
     $query->select = '*';
     $query->table = 'acl_user';
     $query->addWhere('`user`=' . $userId);
     $query->single = false;
     return $query->run();
 }
Esempio n. 5
0
 /**
  * Get assigned to user RBAC elements
  *
  * @access public
  *
  * @param integer $userId user ID
  *
  * @return mixed
  * @throws \Micro\base\Exception
  */
 public function assigned($userId)
 {
     $query = new Query($this->container->db);
     $query->distinct = true;
     $query->select = '`role` AS `name`';
     $query->table = '`rbac_user`';
     $query->addWhere('`user`=' . $userId);
     $query->single = false;
     return $query->run(\PDO::FETCH_ASSOC);
 }
Esempio n. 6
0
 /**
  * Get raw roles
  *
  * @access public
  *
  * @param int $pdo PHPDataObject fetch key
  *
  * @return mixed
  * @throws \Micro\base\Exception
  */
 public function rawRoles($pdo = \PDO::FETCH_ASSOC)
 {
     $query = new Query($this->container->db);
     $query->table = 'rbac_role';
     $query->order = '`type` ASC';
     $query->single = false;
     return $query->run($pdo);
 }
Esempio n. 7
0
 /**
  * Get assigned to user RBAC elements
  *
  * @access public
  *
  * @param integer $userId user ID
  *
  * @return mixed
  * @throws \Micro\Base\Exception
  */
 public function assigned($userId)
 {
     $query = new Query($this->db);
     $query->distinct = true;
     $query->select = $this->db->getDriverType() === 'pgsql' ? '"role" AS "name"' : '`role` AS `name`';
     $query->table = $this->db->getDriverType() === 'pgsql' ? '"rbac_user"' : '`rbac_user`';
     $query->addWhere(($this->db->getDriverType() === 'pgsql' ? '"user"=' : '`user`=') . $userId);
     $query->single = false;
     return $query->run(\PDO::FETCH_ASSOC);
 }
Esempio n. 8
0
 /**
  * Get raw roles
  *
  * @access public
  *
  * @param int $pdo PHPDataObject fetch key
  *
  * @return mixed
  * @throws \Micro\Base\Exception
  */
 public function rawRoles($pdo = \PDO::FETCH_ASSOC)
 {
     $query = new Query($this->db);
     $query->table = $this->db->getDriverType() === 'pgsql' ? '"rbac_role"' : '`rbac_role`';
     $query->order = $this->db->getDriverType() === 'pgsql' ? '"type" ASC' : '`type` ASC';
     $query->single = false;
     return $query->run($pdo);
 }