diff --git a/application/models/User.php b/application/models/User.php index 6fd867afbe7..f78df47f206 100644 --- a/application/models/User.php +++ b/application/models/User.php @@ -292,4 +292,17 @@ public function relations() 'permissions' => array(self::HAS_MANY, 'Permission', 'uid') ); } + + /** + * Return all super admins in the system + * @return User[] + */ + public function getSuperAdmins() + { + $criteria = new CDbCriteria(); + $criteria->join = ' JOIN {{permissions}} AS p ON p.uid = t.uid'; + $criteria->addCondition('p.permission = \'superadmin\''); + $users = $this->findAll($criteria); + return $users; + } }