OXID eShop CE  4.9.6
 All Classes Files Functions Variables Pages
oxsupercfg.php
Go to the documentation of this file.
1 <?php
2 
6 class oxSuperCfg
7 {
8 
14  protected static $_oConfig = null;
15 
21  protected static $_oSession = null;
22 
28  protected static $_oRights = null;
29 
35  protected static $_oActUser = null;
36 
42  protected static $_blIsAdmin = null;
43 
55  public function __call($sMethod, $aArgs)
56  {
57  if (defined('OXID_PHP_UNIT')) {
58  if (substr($sMethod, 0, 4) == "UNIT") {
59  $sMethod = str_replace("UNIT", "_", $sMethod);
60  }
61  if (method_exists($this, $sMethod)) {
62  return call_user_func_array(array(& $this, $sMethod), $aArgs);
63  }
64  }
65 
66  throw new oxSystemComponentException("Function '$sMethod' does not exist or is not accessible! (" . get_class($this) . ")" . PHP_EOL);
67  }
68 
74  public function __construct()
75  {
76  }
77 
83  public function getConfig()
84  {
85  if (defined('OXID_PHP_UNIT')) {
86  if (isset($this->unitCustModConf)) {
87  return $this->unitCustModConf;
88  }
89 
90  return oxRegistry::getConfig();
91  }
92 
93  if (self::$_oConfig == null) {
94  self::$_oConfig = oxRegistry::getConfig();
95  }
96 
97  return self::$_oConfig;
98  }
99 
107  public function setConfig($oConfig)
108  {
109  if (defined('OXID_PHP_UNIT')) {
110  $this->unitCustModConf = $oConfig;
111 
112  return;
113  }
114 
115  self::$_oConfig = $oConfig;
116  }
117 
123  public function getSession()
124  {
125  if (defined('OXID_PHP_UNIT')) {
126  if (isset($this->unitCustModSess)) {
127  return $this->unitCustModSess;
128  }
129 
130  return oxRegistry::getSession();
131  }
132 
133  if (self::$_oSession == null) {
134  self::$_oSession = oxRegistry::getSession();
135  }
136 
137  return self::$_oSession;
138  }
139 
147  public function setSession($oSession)
148  {
149  if (defined('OXID_PHP_UNIT')) {
150  $this->unitCustModSess = $oSession;
151 
152  return;
153  }
154 
155  self::$_oSession = $oSession;
156  }
157 
163  public function getUser()
164  {
165  if (defined('OXID_PHP_UNIT')) {
166  if (isset($this->unitCustModUser)) {
167  return $this->unitCustModUser;
168  }
169  $oUser = oxNew('oxuser');
170  if ($oUser->loadActiveUser()) {
171  return $oUser;
172  }
173 
174  return false;
175  }
176 
177  if (self::$_oActUser === null) {
178  self::$_oActUser = false;
179  $oUser = oxNew('oxuser');
180  if ($oUser->loadActiveUser()) {
181  self::$_oActUser = $oUser;
182  }
183  }
184 
185  return self::$_oActUser;
186  }
187 
195  public function setUser($oUser)
196  {
197  if (defined('OXID_PHP_UNIT')) {
198  $this->unitCustModUser = $oUser;
199 
200  return;
201  }
202 
203  self::$_oActUser = $oUser;
204  }
205 
211  public function isAdmin()
212  {
213  if (self::$_blIsAdmin === null) {
214  self::$_blIsAdmin = isAdmin();
215  }
216 
217  return self::$_blIsAdmin;
218  }
219 
225  public function setAdminMode($blAdmin)
226  {
227  self::$_blIsAdmin = $blAdmin;
228  }
229 
230 }