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 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 }