oxsupercfg.php

Go to the documentation of this file.
00001 <?php
00002 class oxSuperCfg
00003 {
00009     protected static $_oConfig = null;
00010 
00016     protected static $_oSession = null;
00017 
00023     protected static $_oRights = null;
00024 
00030     protected static $_oActUser = null;
00031 
00037     protected static $_blIsAdmin = null;
00038 
00050     public function __call( $sMethod, $aArgs )
00051     {
00052         if ( defined( 'OXID_PHP_UNIT' ) ) {
00053             if ( substr( $sMethod, 0, 4) == "UNIT" ) {
00054                 $sMethod = str_replace( "UNIT", "_", $sMethod );
00055             }
00056             if ( method_exists( $this, $sMethod)) {
00057                 return call_user_func_array( array( & $this, $sMethod ), $aArgs );
00058             }
00059         }
00060 
00061         throw new oxSystemComponentException( "Function '$sMethod' does not exist or is not accessible! (" . get_class($this) . ")".PHP_EOL);
00062     }
00063 
00069     public function getConfig()
00070     {
00071         if ( defined( 'OXID_PHP_UNIT' ) ) {
00072             if ( isset( $this->unitCustMOD ) ) {
00073                 return $this->unitCustMOD;
00074             }
00075             return oxConfig::getInstance();
00076         }
00077 
00078         if ( self::$_oConfig == null ) {
00079             self::$_oConfig = oxConfig::getInstance();
00080         }
00081 
00082         return self::$_oConfig;
00083     }
00084 
00092     public function setConfig( $oConfig )
00093     {
00094         if ( defined( 'OXID_PHP_UNIT' ) ) {
00095             $this->unitCustMOD = $oConfig;
00096             return;
00097         }
00098 
00099         self::$_oConfig = $oConfig;
00100     }
00101 
00107     public function getSession()
00108     {
00109         if ( defined( 'OXID_PHP_UNIT' ) ) {
00110             if ( isset( $this->unitCustMOD ) ) {
00111                 return $this->unitCustMOD;
00112             }
00113             return oxSession::getInstance();
00114         }
00115 
00116         if ( self::$_oSession == null ) {
00117             self::$_oSession = oxSession::getInstance();
00118         }
00119 
00120         return self::$_oSession;
00121     }
00122 
00130     public function setSession( $oSession )
00131     {
00132         if ( defined( 'OXID_PHP_UNIT' ) ) {
00133             $this->unitCustMOD = $oSession;
00134             return;
00135         }
00136 
00137         self::$_oSession = $oSession;
00138     }
00139 
00145     public function getUser()
00146     {
00147         if ( defined( 'OXID_PHP_UNIT' ) ) {
00148             if ( isset( $this->unitCustModUser ) ) {
00149                 return $this->unitCustModUser;
00150             }
00151             $oUser = oxNew( 'oxuser' );
00152             if ( $oUser->loadActiveUser() ) {
00153                 return $oUser;
00154             }
00155             return false;
00156         }
00157 
00158         if ( self::$_oActUser == null ) {
00159             $oUser = oxNew( 'oxuser' );
00160             if ( $oUser->loadActiveUser() ) {
00161                 self::$_oActUser = $oUser;
00162             }
00163         }
00164 
00165         return self::$_oActUser;
00166     }
00167 
00175     public function setUser( $oUser )
00176     {
00177         if ( defined( 'OXID_PHP_UNIT' ) ) {
00178             $this->unitCustModUser = $oUser;
00179             return;
00180         }
00181 
00182         self::$_oActUser = $oUser;
00183     }
00184 
00190     public function isAdmin()
00191     {
00192         if ( self::$_blIsAdmin === null ) {
00193             self::$_blIsAdmin = isAdmin();
00194         }
00195 
00196         return self::$_blIsAdmin;
00197     }
00198 
00206     public function setAdminMode( $blAdmin )
00207     {
00208         self::$_blIsAdmin = $blAdmin;
00209     }
00210 
00211 }

Generated on Fri Dec 19 14:20:29 2008 for OXID eShop CE by  doxygen 1.5.5