Source for file jAcl2.class.php

Documentation is available at jAcl2.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  acl
  5. @author      Laurent Jouanneau
  6. @copyright   2006-2009 Laurent Jouanneau
  7. @link        http://www.jelix.org
  8. @licence     http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file
  9. @since 1.1
  10. */
  11.  
  12. require(JELIX_LIB_PATH.'acl/jIAcl2Driver.iface.php');
  13.  
  14. /**
  15.  * Main class to query the acl system, and to know value of a right
  16.  *
  17.  * you should call this class (all method are static) when you want to know if
  18.  * the current user have a right
  19.  * @package jelix
  20.  * @subpackage acl
  21.  * @static
  22.  */
  23. class jAcl2 {
  24.  
  25.     /**
  26.      * @internal The constructor is private, because all methods are static
  27.      */
  28.     private function __construct ()}
  29.  
  30.     /**
  31.      * load the acl2 driver
  32.      * @return jIAcl2Driver 
  33.      */
  34.     protected static function _getDriver(){
  35.         static $driver null;
  36.         if($driver == null){
  37.             global $gJConfig;
  38.             $db strtolower($gJConfig->acl2['driver']);
  39.             if($db == '' || !isset($gJConfig->_pluginsPathList_acl2
  40.                 || !isset($gJConfig->_pluginsPathList_acl2[$db])
  41.                 || !file_exists($gJConfig->_pluginsPathList_acl2[$db]) ){
  42.                 throw new jException('jelix~errors.acl.driver.notfound',$db);
  43.             }
  44.             require_once($gJConfig->_pluginsPathList_acl2[$db].$db.'.acl2.php');
  45.             $dname $gJConfig->acl2['driver'].'Acl2Driver';
  46.             $driver new $dname($gJConfig->acl);
  47.         }
  48.         return $driver;
  49.     }
  50.  
  51.     /**
  52.      * call this method to know if the current user has the right with the given value
  53.      * @param string $subject the key of the subject to check
  54.      * @param string $resource the id of a resource
  55.      * @return boolean true if yes
  56.      */
  57.     public static function check($subject$resource=null){
  58.         $dr self::_getDriver();
  59.         return $dr->getRight($subject$resource);
  60.     }
  61.  
  62.     /**
  63.      * clear right cache
  64.      * @since 1.0b2
  65.      */
  66.     public static function clearCache(){
  67.         $dr self::_getDriver();
  68.         $dr->clearCache();
  69.     }
  70. }

Documentation generated on Thu, 22 Mar 2012 22:13:51 +0100 by phpDocumentor 1.4.3