oxsupercfg.php

Go to the documentation of this file.
00001 <?php
00002 
00006 class oxSuperCfg
00007 {
00013     protected static $_oConfig = null;
00014 
00020     protected static $_oSession = null;
00021 
00027     protected static $_oRights = null;
00028 
00034     protected static $_oActUser = null;
00035 
00041     protected static $_blIsAdmin = null;
00042 
00054     public function __call( $sMethod, $aArgs )
00055     {
00056         if ( defined( 'OXID_PHP_UNIT' ) ) {
00057             if ( substr( $sMethod, 0, 4) == "UNIT" ) {
00058                 $sMethod = str_replace( "UNIT", "_", $sMethod );
00059             }
00060             if ( method_exists( $this, $sMethod)) {
00061                 return call_user_func_array( array( & $this, $sMethod ), $aArgs );
00062             }
00063         }
00064 
00065         throw new oxSystemComponentException( "Function '$sMethod' does not exist or is not accessible! (" . get_class($this) . ")".PHP_EOL);
00066     }
00067 
00073     public function __construct()
00074     {
00075     }
00076 
00082     public function getConfig()
00083     {
00084         if ( defined( 'OXID_PHP_UNIT' ) ) {
00085             if ( isset( $this->unitCustModConf ) ) {
00086                 return $this->unitCustModConf;
00087             }
00088             return oxRegistry::getConfig();
00089         }
00090 
00091         if ( self::$_oConfig == null ) {
00092             self::$_oConfig = oxRegistry::getConfig();
00093         }
00094 
00095         return self::$_oConfig;
00096     }
00097 
00105     public function setConfig( $oConfig )
00106     {
00107         if ( defined( 'OXID_PHP_UNIT' ) ) {
00108             $this->unitCustModConf = $oConfig;
00109             return;
00110         }
00111 
00112         self::$_oConfig = $oConfig;
00113     }
00114 
00120     public function getSession()
00121     {
00122         if ( defined( 'OXID_PHP_UNIT' ) ) {
00123             if ( isset( $this->unitCustModSess ) ) {
00124                 return $this->unitCustModSess;
00125             }
00126             return oxRegistry::getSession();
00127         }
00128 
00129         if ( self::$_oSession == null ) {
00130             self::$_oSession = oxRegistry::getSession();
00131         }
00132 
00133         return self::$_oSession;
00134     }
00135 
00143     public function setSession( $oSession )
00144     {
00145         if ( defined( 'OXID_PHP_UNIT' ) ) {
00146             $this->unitCustModSess = $oSession;
00147             return;
00148         }
00149 
00150         self::$_oSession = $oSession;
00151     }
00152 
00158     public function getUser()
00159     {
00160         if ( defined( 'OXID_PHP_UNIT' ) ) {
00161             if ( isset( $this->unitCustModUser ) ) {
00162                 return $this->unitCustModUser;
00163             }
00164             $oUser = oxNew( 'oxuser' );
00165             if ( $oUser->loadActiveUser() ) {
00166                 return $oUser;
00167             }
00168             return false;
00169         }
00170 
00171         if ( self::$_oActUser === null ) {
00172             self::$_oActUser = false;
00173             $oUser = oxNew( 'oxuser' );
00174             if ( $oUser->loadActiveUser() ) {
00175                 self::$_oActUser = $oUser;
00176             }
00177         }
00178 
00179         return self::$_oActUser;
00180     }
00181 
00189     public function setUser( $oUser )
00190     {
00191         if ( defined( 'OXID_PHP_UNIT' ) ) {
00192             $this->unitCustModUser = $oUser;
00193             return;
00194         }
00195 
00196         self::$_oActUser = $oUser;
00197     }
00198 
00204     public function isAdmin()
00205     {
00206         if ( self::$_blIsAdmin === null ) {
00207             self::$_blIsAdmin = isAdmin();
00208         }
00209 
00210         return self::$_blIsAdmin;
00211     }
00212 
00220     public function setAdminMode( $blAdmin )
00221     {
00222         self::$_blIsAdmin = $blAdmin;
00223     }
00224 
00225 }