Exemple #1
0
 /**
  * Looks up a privilege by its parameters.
  *
  * @param midcom_core_dbaobject $object The DBA object we're working on
  * @param string $privilege The name of the privilege.
  * @param mixed $assignee Either a valid magic assignee (SELF, EVERYONE, USERS, ANONYMOUS), a midcom_core_user or a
  *     midcom_core_group object or subtype thereof.
  * @param string $classname An optional class name to which a SELF privilege is restricted to.
  * @return midcom_core_privilege The privilege record from the database.
  */
 public static function get_privilege(midcom_core_dbaobject $object, $privilege, $assignee, $classname = '')
 {
     if (!$object->can_do('midgard:privileges')) {
         debug_add("Failed to get a privilege, midgard:update or midgard:privileges on the " . get_class($object) . " {$object->guid} not granted for the current user.", MIDCOM_LOG_ERROR);
         return false;
     }
     if (is_object($assignee)) {
         $assignee = $assignee->id;
     }
     $obj = midcom_core_privilege::get_privilege($object, $privilege, $assignee, $classname);
     return $obj;
 }