|
|
@@ -20,8 +20,20 @@ class UserProfile {
|
|
|
while ($h = $db->fetch($res)) {
|
|
|
$ADM_WWW_PROFILE = "{$h->ADM_WWW_PROFILE}";
|
|
|
if (!empty($ADM_WWW_PROFILE)) {
|
|
|
- //echo "<HR>$ADM_WWW_PROFILE WWW-PROFILE**********<BR>";
|
|
|
- eval("\$_SESSION['USER_PROFILE'] = {$ADM_WWW_PROFILE} ;");
|
|
|
+ if (' Array' === substr($ADM_WWW_PROFILE, 0, 6) || 'Array' === substr($ADM_WWW_PROFILE, 0, 5)) {
|
|
|
+ eval("\$_SESSION['USER_PROFILE'] = {$ADM_WWW_PROFILE} ;");
|
|
|
+ } else {
|
|
|
+ $profileFromJson = json_decode($ADM_WWW_PROFILE);
|
|
|
+ if ($profileFromJson && !empty($profileFromJson)) {
|
|
|
+ $profileFromJson = (array)$profileFromJson;
|
|
|
+ foreach ($profileFromJson as $k => $v) {
|
|
|
+ $profileFromJson[$k] = (array)$v;
|
|
|
+ }
|
|
|
+ $_SESSION['USER_PROFILE'] = $profileFromJson;
|
|
|
+ } else {
|
|
|
+ $_SESSION['USER_PROFILE'] = array();
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
$_SESSION['USER_PROFILE'] = array();
|
|
|
}
|
|
|
@@ -64,17 +76,28 @@ class UserProfile {
|
|
|
self::load();// profile must be loaded
|
|
|
$db = DB::getDB();
|
|
|
|
|
|
- $USER_PROFILE = $_SESSION['USER_PROFILE'];
|
|
|
- reset($USER_PROFILE);
|
|
|
- $VAR = " Array ( ";
|
|
|
- for ( ;(key($USER_PROFILE)); next($USER_PROFILE)) {
|
|
|
- $VAR = $VAR . "\"" . key($USER_PROFILE) . "\" => Array ( ";
|
|
|
- for ( ;(key($USER_PROFILE[key($USER_PROFILE)])); next($USER_PROFILE[key($USER_PROFILE)])) {
|
|
|
- $VAR = $VAR . " \"" . key($USER_PROFILE[key($USER_PROFILE)]) . "\"=>\"" . $USER_PROFILE[key($USER_PROFILE)][key($USER_PROFILE[key($USER_PROFILE)])] . "\"," ;
|
|
|
+ if(0){// old way
|
|
|
+ $USER_PROFILE = $_SESSION['USER_PROFILE'];
|
|
|
+ reset($USER_PROFILE);
|
|
|
+ $VAR = " Array ( ";
|
|
|
+ for ( ;(key($USER_PROFILE)); next($USER_PROFILE)) {
|
|
|
+ $VAR = $VAR . "\"" . key($USER_PROFILE) . "\" => Array ( ";
|
|
|
+ for ( ;(key($USER_PROFILE[key($USER_PROFILE)])); next($USER_PROFILE[key($USER_PROFILE)])) {
|
|
|
+ $VAR = $VAR . " \"" . key($USER_PROFILE[key($USER_PROFILE)]) . "\"=>\"" . $USER_PROFILE[key($USER_PROFILE)][key($USER_PROFILE[key($USER_PROFILE)])] . "\"," ;
|
|
|
+ }
|
|
|
+ $VAR = $VAR . " ), ";
|
|
|
}
|
|
|
- $VAR = $VAR . " ), ";
|
|
|
- }
|
|
|
- $VAR = $VAR . " ) " ;
|
|
|
+ $VAR = $VAR . " ) " ;
|
|
|
+ if(0){// old way debug
|
|
|
+ echo'<pre>$VAR('.strlen($VAR).'):';print_r($VAR);echo'</pre>';//!!
|
|
|
+ $profileJson = json_encode($_SESSION['USER_PROFILE']);
|
|
|
+ echo'<pre>json_encode('.strlen($profileJson).'):';print_r($profileJson);echo'</pre>';//!!
|
|
|
+ echo'<pre>profileRaw:';print_r($_SESSION['USER_PROFILE']);echo'</pre>';//!!
|
|
|
+ $profileFromJson = json_decode($profileJson);
|
|
|
+ echo'<pre>profileFromJson:';print_r($profileFromJson);echo'</pre>';
|
|
|
+ }// old way debug
|
|
|
+ }// old way
|
|
|
+ $VAR = json_encode($_SESSION['USER_PROFILE']);
|
|
|
$sql = "update `ADMIN_USERS` set `ADM_WWW_PROFILE`='{$VAR}' where `ADM_ACCOUNT`='".User::getName()."' limit 1 ";
|
|
|
$res = $db->query($sql);
|
|
|
if (($affected = $db->affected_rows($res)) != 1) {
|
|
|
@@ -83,4 +106,31 @@ class UserProfile {
|
|
|
return $VAR;
|
|
|
}
|
|
|
|
|
|
+ public static function isHiddenColumn($idTable, $idField) {
|
|
|
+ $isHidden = false;
|
|
|
+ // $_SESSION['USER_PROFILE'][$idTable][$idField] => boolean
|
|
|
+ if (isset($_SESSION['USER_PROFILE'][$idTable])) {
|
|
|
+ if (isset($_SESSION['USER_PROFILE'][$idTable][$idField])) {
|
|
|
+ if ($_SESSION['USER_PROFILE'][$idTable][$idField] != 1) {
|
|
|
+ $isHidden = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $isHidden;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static function setHiddenCols($idTable, $colVis) {
|
|
|
+ $isAnyHidden = false;
|
|
|
+ foreach ($colVis as $idField => $isVisible) {
|
|
|
+ if ($isVisible != 1) {
|
|
|
+ $isAnyHidden = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($isAnyHidden) {
|
|
|
+ $_SESSION['USER_PROFILE'][$idTable] = $colVis;
|
|
|
+ } else {
|
|
|
+ unset($_SESSION['USER_PROFILE'][$idTable]);// every column is visible
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|