getScope() public méthode

See also: Scalr\DataType\ScopeInterface::getScope()
public getScope ( )
Exemple #1
0
 /**
  * Returns list Role Categories
  * @param bool $notEmpty        Not empty categories only
  * @param bool $checkRoleImages Count roles with no images
  * @return  array [id => name]
  */
 public function listRoleCategories($notEmpty = false, $checkRoleImages = false)
 {
     $query = "SELECT c.*\n                  FROM role_categories c ";
     $where = "WHERE (c.account_id IS NULL AND c.env_id IS NULL) OR (c.account_id = ? AND (c.env_id IS NULL OR c.env_id = ?)) ";
     $args = [$this->user->getAccountId(), $this->environment->id];
     if ($notEmpty) {
         $query .= "INNER JOIN roles r ON c.id = r.cat_id ";
         $where .= "AND (r.client_id IS NULL AND r.env_id IS NULL) OR (r.client_id = ? AND (r.env_id IS NULL OR r.env_id = ?)) ";
         $args[] = $this->user->getAccountId();
         $args[] = $this->environment->id;
         if ($this->request->getScope() == ScopeInterface::SCOPE_ENVIRONMENT && $checkRoleImages) {
             $query .= "INNER JOIN role_images ri ON ri.role_id = r.id ";
             $where .= "AND ri.platform IN ('" . implode("','", array_keys(self::loadController('Platforms')->getEnabledPlatforms())) . "') ";
         }
     }
     $query .= $where . "\n             GROUP BY c.id\n             ORDER BY IF(c.account_id OR c.env_id, 1, 0), IF(c.account_id OR c.env_id, c.name, c.id)\n            ";
     $result = [];
     foreach ($this->db->GetAll($query, $args) as $c) {
         $category = new RoleCategory();
         $category->load($c);
         $result[$category->id] = ['id' => $category->id, 'name' => $category->name, 'scope' => $category->getScope()];
     }
     return $result;
 }