Przeglądaj źródła

DBG only for admins

Piotr Labudda 10 lat temu
rodzic
commit
b49217960b
2 zmienionych plików z 22 dodań i 0 usunięć
  1. 13 0
      SE/se-lib/DBG.php
  2. 9 0
      SE/se-lib/User.php

+ 13 - 0
SE/se-lib/DBG.php

@@ -2,6 +2,18 @@
 
 class DBG {
 
+	public static function isActive($mode = null) {
+		return true == V::get('_DBG_ON', false, $_SESSION);
+	}
+
+	public static function activate($mode = null) {// @used in User::auth()
+		$_SESSION['_DBG_ON'] = true;
+	}
+
+	public static function deactivate($mode = 'all') {
+		$_SESSION['_DBG_ON'] = false;
+	}
+
 	/**
 	 * @param $reqKqy - key in $_REQUEST array (if true then always show)
 	 * @param $reqValueExpr - expression to compare req value
@@ -18,6 +30,7 @@ class DBG {
 	 *     DBG::_(true, true, "fieldsConfig({$idTable})", $fieldsConfig, __CLASS__, __FUNCTION__, __LINE__);
 	 */
 	public static function _($reqKey, $reqValueExpr, $label, $variable, $className, $functionName, $lineNumber, $borderColor = 'red') {
+		if (DBG::isActive()) return;
 		$showDBG = false;
 		$reqValue = (true === $reqKey || !$reqKey)? '' : V::get($reqKey, '', $_GET);
 		if (true === $reqKey) {

+ 9 - 0
SE/se-lib/User.php

@@ -202,6 +202,15 @@ class User {
 			$userAcl->fetchAllPerms();
 			$_SESSION['ADM_ACL_LOADED'] = true;
 		}
+
+		if (User::logged() && User::isAdmin()) {
+			if (V::get('DBG_ON', '', $_REQUEST)) {
+				DBG::activate();
+			}
+		}
+		if (V::get('DBG_OFF', '', $_REQUEST)) {
+			DBG::deactivate();
+		}
 	}
 
 	public static function authByRequest() {