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 oxConfig::getInstance(); 00089 } 00090 00091 if ( self::$_oConfig == null ) { 00092 self::$_oConfig = oxConfig::getInstance(); 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 oxSession::getInstance(); 00127 } 00128 00129 if ( self::$_oSession == null ) { 00130 self::$_oSession = oxSession::getInstance(); 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 $oUser = oxNew( 'oxuser' ); 00173 if ( $oUser->loadActiveUser() ) { 00174 self::$_oActUser = $oUser; 00175 } 00176 } 00177 00178 return self::$_oActUser; 00179 } 00180 00188 public function setUser( $oUser ) 00189 { 00190 if ( defined( 'OXID_PHP_UNIT' ) ) { 00191 $this->unitCustModUser = $oUser; 00192 return; 00193 } 00194 00195 self::$_oActUser = $oUser; 00196 } 00197 00203 public function isAdmin() 00204 { 00205 if ( self::$_blIsAdmin === null ) { 00206 self::$_blIsAdmin = isAdmin(); 00207 } 00208 00209 return self::$_blIsAdmin; 00210 } 00211 00219 public function setAdminMode( $blAdmin ) 00220 { 00221 self::$_blIsAdmin = $blAdmin; 00222 } 00223 00224 }