/** * @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); }
/** * @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; }
/** * 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(); }
/** * 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(); }
/** * 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); }
/** * 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); }
/** * 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); }
/** * 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); }