From e4d245f340eb25ec9c3d6a9e13261eb49573a161 Mon Sep 17 00:00:00 2001 From: Steffen Kamper Date: Wed, 24 Nov 2010 15:30:37 +0000 Subject: [PATCH] Fixed bug #14050: CleanUp - CGL format of t3lib files - t3lib_superadmin git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@9573 709f56b5-9817-0410-a4d7-c38de5d9e867 --- ChangeLog | 1 + t3lib/class.t3lib_superadmin.php | 992 +++++++++++++++---------------- 2 files changed, 482 insertions(+), 511 deletions(-) diff --git a/ChangeLog b/ChangeLog index 60d5ea95127a..9c80aa03af1d 100755 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ 2010-11-24 Steffen Kamper + * Fixed bug #14050: CleanUp - CGL format of t3lib files - t3lib_superadmin * Fixed bug #14050: CleanUp - CGL format of t3lib files - t3lib_stdgraphic * Fixed bug #14050: CleanUp - CGL format of t3lib files - t3lib_sqlparser * Fixed bug #16556: error in t3lib_sqlparser - missing second parameter in functioncall parseError diff --git a/t3lib/class.t3lib_superadmin.php b/t3lib/class.t3lib_superadmin.php index 9fd119d88792..acd3e33c0aee 100644 --- a/t3lib/class.t3lib_superadmin.php +++ b/t3lib/class.t3lib_superadmin.php @@ -1,29 +1,29 @@ show = t3lib_div::_GP('show'); $this->type = t3lib_div::_GP('type'); $this->exp = t3lib_div::_GP('exp'); @@ -194,17 +180,11 @@ class t3lib_superadmin { * @param array Numerical array with arrays having two keys, 'dir' and 'url' where 'dir' is the absolute path to a directory with TYPO3 installations inside. * @return void */ - function init($parentDirs) { + function init($parentDirs) { $this->parentDirs = $parentDirs; } - - - - - - /************************** * * Main functions @@ -217,53 +197,89 @@ class t3lib_superadmin { * * @return void */ - function defaultSet() { + function defaultSet() { // Creating content based on "type" variable: - switch($this->type) { + switch ($this->type) { case 'phpinfo': phpinfo(); break; case 'page': -?> - - - - - TYPO3 Super Admin - - -make(); -?> - - - + + + + + TYPO3 Super Admin + + + make(); + ?> + + + - - - - TYPO3 Super Admin - - - - - - - + + + + TYPO3 Super Admin + + + + + + + initProcess(); // Output mode: - switch($this->show) { + switch ($this->show) { case 'menu': - $lines=array(); - $lines[]=$this->setMenuItem('info','INFO'); - $lines[]=$this->setMenuItem('update','UPDATE'); - $lines[]=''; - $lines[]='Default'; - $lines[]='All details'; - $lines[]='Admin logins'; - $lines[]='phpinfo()'; - $lines[]='Local extensions'; - $lines[]=''; - $content = implode('
',$lines); - $content.= '
'; - $content.=$this->menuContent($this->exp); - $retVal = '

TYPO3
Super Admin

'.$content; + $lines = array(); + $lines[] = $this->setMenuItem('info', 'INFO'); + $lines[] = $this->setMenuItem('update', 'UPDATE'); + $lines[] = ''; + $lines[] = 'Default'; + $lines[] = 'All details'; + $lines[] = 'Admin logins'; + $lines[] = 'phpinfo()'; + $lines[] = 'Local extensions'; + $lines[] = ''; + $content = implode('
', $lines); + $content .= '
'; + $content .= $this->menuContent($this->exp); + $retVal = '

TYPO3
Super Admin

' . $content; break; case 'all': $retVal = '

All details:

Overview:

- '.$this->makeTable().' + ' . $this->makeTable() . '


Details per site:

- '.$content; + ' . $content; break; case 'admin': $content = $this->setNewPasswords(); $this->makeTable(); - $retVal = $content.' + $retVal = $content . '

Admin options:

Admin logins:

- '.$this->makeAdminLogin().' + ' . $this->makeAdminLogin() . '


TBE Admin Passwords:

- '.t3lib_div::view_array($this->collectAdminPasswords).' + ' . t3lib_div::view_array($this->collectAdminPasswords) . '


Install Tool Passwords:

- '.t3lib_div::view_array($this->collectInstallPasswords).' + ' . t3lib_div::view_array($this->collectInstallPasswords) . '


Change TBE Admin Passwords:

- '.$this->changeAdminPasswordsForm().' + ' . $this->changeAdminPasswordsForm() . '


'; break; case 'info': $retVal = '

Single site details

- '.$this->singleSite($this->exp). - '
'; + ' . $this->singleSite($this->exp) . + '
'; break; case 'rmTempCached': $retVal = '

Removing temp_CACHED_*.php files

- '.$this->rmCachedFiles($this->exp). - '
'; + ' . $this->rmCachedFiles($this->exp) . + '
'; break; case 'localext': $retVal = '

Local Extensions Found:

- '.$this->localExtensions(). - '
'; + ' . $this->localExtensions() . + '
'; break; default: $retVal = ' -

Default info:

'. - $content; +

Default info:

' . + $content; break; } return $retVal; } - - - - - - - - /******************************** * * Output preparation @@ -378,10 +386,10 @@ class t3lib_superadmin { * @param string The label * @return string Wrapped value */ - function setMenuItem($code,$label) { - $out = ''.htmlspecialchars($label).''; - if ($code==$this->exp) { - $out = '>>'.$out; + function setMenuItem($code, $label) { + $out = '' . htmlspecialchars($label) . ''; + if ($code == $this->exp) { + $out = '>>' . $out; } return $out; } @@ -392,8 +400,8 @@ class t3lib_superadmin { * @param string Input string * @return string Output string */ - function error($str) { - $out = ''.htmlspecialchars($str).''; + function error($str) { + $out = '' . htmlspecialchars($str) . ''; return $out; } @@ -403,8 +411,8 @@ class t3lib_superadmin { * @param string Input string * @return string Output string, wrapped in

*/ - function headerParentDir($str) { - $out = '

'.htmlspecialchars($str).'

'; + function headerParentDir($str) { + $out = '

' . htmlspecialchars($str) . '

'; return $out; } @@ -414,27 +422,12 @@ class t3lib_superadmin { * @param string Input string * @return string Output string, wrapped in

*/ - function headerSiteDir($str) { - $out = '

'.htmlspecialchars($str).'

'; + function headerSiteDir($str) { + $out = '

' . htmlspecialchars($str) . '

'; return $out; } - - - - - - - - - - - - - - - /******************************** * * Collection information @@ -446,27 +439,27 @@ class t3lib_superadmin { * * @return string HTML content (The default view seen when starting the superadmin.php script) */ - function initProcess() { + function initProcess() { $content = ''; - foreach($this->parentDirs as $k => $v) { + foreach ($this->parentDirs as $k => $v) { $dir = rtrim($v['dir'], '/'); - $baseUrl=rtrim($v['url'], '/'); - $content.='


'; - $content.=$this->headerParentDir($dir); - if (@is_dir($dir)) { + $baseUrl = rtrim($v['url'], '/'); + $content .= '


'; + $content .= $this->headerParentDir($dir); + if (@is_dir($dir)) { $in_dirs = t3lib_div::get_dirs($dir); asort($in_dirs); - $dirArr=array(); + $dirArr = array(); foreach ($in_dirs as $k => $v) { - if (substr($v,0,9)!='typo3_src') { - $this->currentUrl = $baseUrl.'/'.$v; - $content.= $this->headerSiteDir($v); - $content.= $this->processSiteDir($dir.'/'.$v,$dir); + if (substr($v, 0, 9) != 'typo3_src') { + $this->currentUrl = $baseUrl . '/' . $v; + $content .= $this->headerSiteDir($v); + $content .= $this->processSiteDir($dir . '/' . $v, $dir); } } } else { - $content.=$this->error('"'.$dir.'" was not a directory!'); + $content .= $this->error('"' . $dir . '" was not a directory!'); } } @@ -483,37 +476,41 @@ class t3lib_superadmin { * @access private * @see initProcess() */ - function processSiteDir($path,$dir) { - if (@is_dir($path)) { - $localconf = $path.'/typo3conf/localconf.php'; - if (@is_file($localconf)) { + function processSiteDir($path, $dir) { + if (@is_dir($path)) { + $localconf = $path . '/typo3conf/localconf.php'; + if (@is_file($localconf)) { $key = md5($localconf); $this->includeLocalconf($localconf); $this->mapDBtoKey[$this->globalSiteInfo[$key]['siteInfo']['TYPO3_db']] = $key; $this->globalSiteInfo[$key]['siteInfo']['MAIN_DIR'] = $dir; $this->globalSiteInfo[$key]['siteInfo']['SA_PATH'] = $path; - $this->globalSiteInfo[$key]['siteInfo']['URL'] = $this->currentUrl.'/'; - $this->globalSiteInfo[$key]['siteInfo']['ADMIN_URL'] = $this->currentUrl.'/'.TYPO3_mainDir; - $this->globalSiteInfo[$key]['siteInfo']['INSTALL_URL'] = $this->currentUrl.'/'.TYPO3_mainDir.'install/'; + $this->globalSiteInfo[$key]['siteInfo']['URL'] = $this->currentUrl . '/'; + $this->globalSiteInfo[$key]['siteInfo']['ADMIN_URL'] = $this->currentUrl . '/' . TYPO3_mainDir; + $this->globalSiteInfo[$key]['siteInfo']['INSTALL_URL'] = $this->currentUrl . '/' . TYPO3_mainDir . 'install/'; // Connect to database: $conMsg = $this->connectToDatabase($this->globalSiteInfo[$key]['siteInfo']); - if (!$conMsg) { + if (!$conMsg) { $this->getDBInfo($key); - $out.=''; + $out .= ''; } else { $out = $conMsg; } // Show details: - if ($this->full) { - $out.=t3lib_div::view_array($this->globalSiteInfo[$key]); + if ($this->full) { + $out .= t3lib_div::view_array($this->globalSiteInfo[$key]); } else { - $out.=t3lib_div::view_array($this->globalSiteInfo[$key]['siteInfo']); + $out .= t3lib_div::view_array($this->globalSiteInfo[$key]['siteInfo']); } - } else $out = $this->error($localconf.' is not a file!'); - } else $out = $this->error($path.' is not a directory!'); + } else { + $out = $this->error($localconf . ' is not a file!'); + } + } else { + $out = $this->error($path . ' is not a directory!'); + } return $out; } @@ -525,7 +522,7 @@ class t3lib_superadmin { * @access private * @see processSiteDir() */ - function includeLocalconf($localconf) { + function includeLocalconf($localconf) { $TYPO3_CONF_VARS = array(); $typo_db = ''; $typo_db_username = ''; @@ -534,7 +531,7 @@ class t3lib_superadmin { include($localconf); - $siteInfo=array(); + $siteInfo = array(); $siteInfo['sitename'] = $TYPO3_CONF_VARS['SYS']['sitename']; $siteInfo['TYPO3_db'] = $typo_db; $siteInfo['TYPO3_db_username'] = $typo_db_username; @@ -544,7 +541,7 @@ class t3lib_superadmin { $siteInfo['warningEmailAddress'] = $TYPO3_CONF_VARS['BE']['warning_email_addr']; $siteInfo['warningMode'] = $TYPO3_CONF_VARS['BE']['warning_mode']; - $this->globalSiteInfo[md5($localconf)] = array('siteInfo'=>$siteInfo,'TYPO3_CONF_VARS'=>$TYPO3_CONF_VARS); + $this->globalSiteInfo[md5($localconf)] = array('siteInfo' => $siteInfo, 'TYPO3_CONF_VARS' => $TYPO3_CONF_VARS); return $siteInfo; } @@ -555,12 +552,12 @@ class t3lib_superadmin { * @param array $siteInfo array, containing username/password/host/database values. * @return string Array message if any */ - function connectToDatabase($siteInfo) { - if (@mysql_pconnect($siteInfo['TYPO3_db_host'], $siteInfo['TYPO3_db_username'], $siteInfo['TYPO3_db_password'])) { - if (!$siteInfo['TYPO3_db']) { + function connectToDatabase($siteInfo) { + if (@mysql_pconnect($siteInfo['TYPO3_db_host'], $siteInfo['TYPO3_db_username'], $siteInfo['TYPO3_db_password'])) { + if (!$siteInfo['TYPO3_db']) { return $this->error('No database selected'); - } elseif (!mysql_select_db($siteInfo['TYPO3_db'])) { - return $this->error('Cannot connect to the current database, "'.$siteInfo['TYPO3_db'].'"'); + } elseif (!mysql_select_db($siteInfo['TYPO3_db'])) { + return $this->error('Cannot connect to the current database, "' . $siteInfo['TYPO3_db'] . '"'); } } else { return $this->error('The current username, password or host was not accepted when the connection to the database was attempted to be established!'); @@ -577,7 +574,7 @@ class t3lib_superadmin { * @access private * @see processSiteDir() */ - function getDBInfo($key) { + function getDBInfo($key) { $DB = $this->globalSiteInfo[$key]['siteInfo']['TYPO3_db']; // Non-admin users @@ -595,27 +592,12 @@ class t3lib_superadmin { // Select Admin users $query = $GLOBALS['TYPO3_DB']->SELECTquery('uid,username,password,email,realName,disable', 'be_users', 'admin!=0 AND deleted=0'); $res = mysql($DB, $query); - while($row = mysql_fetch_assoc($res)) { + while ($row = mysql_fetch_assoc($res)) { $this->globalSiteInfo[$key]['siteInfo']['ADMINS'][] = $row; } } - - - - - - - - - - - - - - - /****************************** * * Content: Installation Overview @@ -627,7 +609,7 @@ class t3lib_superadmin { * * @return string HTML table */ - function makeTable() { + function makeTable() { // Header row $info = array(); @@ -645,49 +627,49 @@ class t3lib_superadmin { $info[] = 'W.mode'; $mainArrRows[] = ' - '.implode(' - ',$info).' + ' . implode(' + ', $info) . ' '; // Traverse globalSiteInfo for each site: - foreach($this->globalSiteInfo as $k => $all) { + foreach ($this->globalSiteInfo as $k => $all) { $info = array(); // Sitename and Database details: $info[] = htmlspecialchars($all['siteInfo']['sitename']); - $info[] = ''.htmlspecialchars($all['siteInfo']['MAIN_DIR']).''.htmlspecialchars(substr($all['siteInfo']['SA_PATH'],strlen($all['siteInfo']['MAIN_DIR']))); + $info[] = '' . htmlspecialchars($all['siteInfo']['MAIN_DIR']) . '' . htmlspecialchars(substr($all['siteInfo']['SA_PATH'], strlen($all['siteInfo']['MAIN_DIR']))); $info[] = htmlspecialchars($all['siteInfo']['TYPO3_db']); $info[] = htmlspecialchars($all['siteInfo']['TYPO3_db_username']); $info[] = htmlspecialchars($all['siteInfo']['TYPO3_db_password']); $info[] = htmlspecialchars($all['siteInfo']['TYPO3_db_host']); // URL - $info[] = 'Site'. - ' / Admin'. - ' / Install'; - $info[] = htmlspecialchars($all['siteInfo']['BE_USERS_NONADMIN'].'/'.$all['siteInfo']['BE_USERS_ADMIN']); + $info[] = 'Site' . + ' / Admin' . + ' / Install'; + $info[] = htmlspecialchars($all['siteInfo']['BE_USERS_NONADMIN'] . '/' . $all['siteInfo']['BE_USERS_ADMIN']); // Admin - if (is_array($all['siteInfo']['ADMINS'])) { + if (is_array($all['siteInfo']['ADMINS'])) { $lines = array(); - foreach($all['siteInfo']['ADMINS'] as $vArr) { - $lines[] = htmlspecialchars($vArr['password'].' - '.$vArr['username'].' ('.$vArr['realName'].', '.$vArr['email'].')'); + foreach ($all['siteInfo']['ADMINS'] as $vArr) { + $lines[] = htmlspecialchars($vArr['password'] . ' - ' . $vArr['username'] . ' (' . $vArr['realName'] . ', ' . $vArr['email'] . ')'); $this->collectAdminPasswords[$vArr['password']][] = array( 'path' => $all['siteInfo']['SA_PATH'], 'site' => $all['siteInfo']['sitename'], 'database' => $all['siteInfo']['TYPO3_db'], 'user' => $vArr['username'], - 'name_email' => $vArr['realName'].', '.$vArr['email'] + 'name_email' => $vArr['realName'] . ', ' . $vArr['email'] ); - $this->changeAdminPasswords[$vArr['password']][] = $all['siteInfo']['TYPO3_db'].':'.$vArr['uid'].':'.$vArr['username']; + $this->changeAdminPasswords[$vArr['password']][] = $all['siteInfo']['TYPO3_db'] . ':' . $vArr['uid'] . ':' . $vArr['username']; } - $info[] = implode('
',$lines); + $info[] = implode('
', $lines); } else { $info[] = $this->error('No DB connection!'); } // Install $info[] = htmlspecialchars($all['siteInfo']['installToolPassword']); - $this->collectInstallPasswords[$all['siteInfo']['installToolPassword']][] = $all['siteInfo']['SA_PATH'].' - '.$all['siteInfo']['sitename'].' - ('.$all['siteInfo']['TYPO3_db'].')'; + $this->collectInstallPasswords[$all['siteInfo']['installToolPassword']][] = $all['siteInfo']['SA_PATH'] . ' - ' . $all['siteInfo']['sitename'] . ' - (' . $all['siteInfo']['TYPO3_db'] . ')'; $info[] = htmlspecialchars($all['siteInfo']['warningEmailAddress']); $info[] = htmlspecialchars($all['siteInfo']['warningMode']); @@ -695,29 +677,17 @@ class t3lib_superadmin { // compile $mainArrRows[] = ' - '.implode(' - ',$info).' + ' . implode(' + ', $info) . ' '; } // Compile / return table finally: - $table = ''.implode('',$mainArrRows).'
'; + $table = '' . implode('', $mainArrRows) . '
'; return $table; } - - - - - - - - - - - - /****************************** * * Content: Local extensions @@ -730,22 +700,22 @@ class t3lib_superadmin { * * @return string HTML */ - function localExtensions() { - $this->extensionInfoArray=array(); + function localExtensions() { + $this->extensionInfoArray = array(); // Traverse $this->globalSiteInfo for local extensions: - foreach($this->globalSiteInfo as $k => $all) { - if ($all['siteInfo']['SA_PATH']) { - $extDir = $all['siteInfo']['SA_PATH'].'/typo3conf/ext/'; - if (@is_dir($extDir)) { + foreach ($this->globalSiteInfo as $k => $all) { + if ($all['siteInfo']['SA_PATH']) { + $extDir = $all['siteInfo']['SA_PATH'] . '/typo3conf/ext/'; + if (@is_dir($extDir)) { $this->extensionInfoArray['site'][$k] = array(); // Get extensions in local directory - $extensions=t3lib_div::get_dirs($extDir); - if (is_array($extensions)) { - foreach($extensions as $extKey) { + $extensions = t3lib_div::get_dirs($extDir); + if (is_array($extensions)) { + foreach ($extensions as $extKey) { // Getting and setting information for extension: - $eInfo = $this->getExtensionInfo($extDir,$extKey,$k); + $eInfo = $this->getExtensionInfo($extDir, $extKey, $k); $this->extensionInfoArray['site'][$k][$extKey] = $eInfo; $this->extensionInfoArray['ext'][$extKey][$k] = $eInfo; } @@ -755,7 +725,7 @@ class t3lib_superadmin { } // Display results: - $out=''; + $out = ''; $headerRow = ' Extension key @@ -772,17 +742,17 @@ class t3lib_superadmin { '; // PER EXTENSION: - if (is_array($this->extensionInfoArray['ext'])) { - $extensionKeysCollect=array(); + if (is_array($this->extensionInfoArray['ext'])) { + $extensionKeysCollect = array(); ksort($this->extensionInfoArray['ext']); reset($this->extensionInfoArray['ext']); - $rows=array( - 'reg'=>array(), - 'user'=>array() + $rows = array( + 'reg' => array(), + 'user' => array() ); - foreach($this->extensionInfoArray['ext'] as $extKey => $instances) { + foreach ($this->extensionInfoArray['ext'] as $extKey => $instances) { $mtimes = array(); // Find most recent mtime of the options: @@ -794,43 +764,45 @@ class t3lib_superadmin { $c = 0; // So, traverse all sites with the extension present: - foreach($instances as $k => $eInfo) { + foreach ($instances as $k => $eInfo) { // Set background color if mtime matches - if ($maxMtime==$eInfo['mtime']) { - $this->extensionInfoArray['site'][$k][$extKey]['_highlight']=1; - $bgCol = $eInfo['dirtype']=='link' ? ' bgcolor="#ffcccc"' : ' bgcolor="#eeeeee"'; + if ($maxMtime == $eInfo['mtime']) { + $this->extensionInfoArray['site'][$k][$extKey]['_highlight'] = 1; + $bgCol = $eInfo['dirtype'] == 'link' ? ' bgcolor="#ffcccc"' : ' bgcolor="#eeeeee"'; } else { $bgCol = ' style="color: #999999; font-style: italic;"'; } // Make row: - $type = substr($extKey,0,5)!='user_' ? 'reg' : 'user'; - if ($type=='reg') $extensionKeysCollect[] = $extKey; + $type = substr($extKey, 0, 5) != 'user_' ? 'reg' : 'user'; + if ($type == 'reg') { + $extensionKeysCollect[] = $extKey; + } - if (!is_array($eInfo)) { + if (!is_array($eInfo)) { // Standard listing: $rows[$type][] = ' - '.(!$c?''.htmlspecialchars($extKey).'':'').' - '.htmlspecialchars($this->globalSiteInfo[$k]['siteInfo']['SA_PATH']).' - '.htmlspecialchars($eInfo).' + ' . (!$c ? '' . htmlspecialchars($extKey) . '' : '') . ' + ' . htmlspecialchars($this->globalSiteInfo[$k]['siteInfo']['SA_PATH']) . ' + ' . htmlspecialchars($eInfo) . ' '; } else { // Standard listing: $rows[$type][] = ' - '.(!$c?''.htmlspecialchars($extKey).'':'').' - '.htmlspecialchars($this->globalSiteInfo[$k]['siteInfo']['SA_PATH']).' - '.htmlspecialchars($eInfo['title']).' - '.htmlspecialchars($eInfo['version']).' - '.htmlspecialchars($eInfo['numberfiles']).' - '.htmlspecialchars($eInfo['manual']?'M':'-').' - '.htmlspecialchars($eInfo['mtime']?date('d-m-y H:i:s',$eInfo['mtime']):'').' - '.htmlspecialchars($eInfo['mtime_hash']).' - - '.htmlspecialchars($eInfo['TYPO3_version']).' -
'.htmlspecialchars($eInfo['CGLcompliance'].($eInfo['CGLcompliance_note'] ? ' - '.$eInfo['CGLcompliance_note'] : '')).' + ' . (!$c ? '' . htmlspecialchars($extKey) . '' : '') . ' + ' . htmlspecialchars($this->globalSiteInfo[$k]['siteInfo']['SA_PATH']) . ' + ' . htmlspecialchars($eInfo['title']) . ' + ' . htmlspecialchars($eInfo['version']) . ' + ' . htmlspecialchars($eInfo['numberfiles']) . ' + ' . htmlspecialchars($eInfo['manual'] ? 'M' : '-') . ' + ' . htmlspecialchars($eInfo['mtime'] ? date('d-m-y H:i:s', $eInfo['mtime']) : '') . ' + ' . htmlspecialchars($eInfo['mtime_hash']) . ' + + ' . htmlspecialchars($eInfo['TYPO3_version']) . ' +
' . htmlspecialchars($eInfo['CGLcompliance'] . ($eInfo['CGLcompliance_note'] ? ' - ' . $eInfo['CGLcompliance_note'] : '')) . ' '; } @@ -839,33 +811,33 @@ class t3lib_superadmin { } // Extensions with registered extension keys: - $out.=' + $out .= '

Registered extensions:

- '.$headerRow.implode('',$rows['reg']).'
'; + ' . $headerRow . implode('', $rows['reg']) . '
'; // List of those extension keys in a form field: $extensionKeysCollect = array_unique($extensionKeysCollect); asort($extensionKeysCollect); - $out.='
'; + $out .= '
'; // USER extension (prefixed "user_") - $out.='
+ $out .= '

User extensions:

- '.$headerRow.implode('',$rows['user']).'
'; + ' . $headerRow . implode('', $rows['user']) . '
'; } // PER SITE: - if (is_array($this->extensionInfoArray['site'])) { + if (is_array($this->extensionInfoArray['site'])) { $rows = array(); - foreach($this->extensionInfoArray['site'] as $k => $extensions) { + foreach ($this->extensionInfoArray['site'] as $k => $extensions) { // So, traverse all sites with the extension present: $c = 0; - foreach($extensions as $extKey => $eInfo) { + foreach ($extensions as $extKey => $eInfo) { // Set background color if mtime matches - if ($eInfo['_highlight']) { - $bgCol = $eInfo['dirtype']=='link' ? ' bgcolor="#ffcccc"' : ' bgcolor="#eeeeee"'; + if ($eInfo['_highlight']) { + $bgCol = $eInfo['dirtype'] == 'link' ? ' bgcolor="#ffcccc"' : ' bgcolor="#eeeeee"'; } else { $bgCol = ' style="color: #999999; font-style: italic;"'; } @@ -873,21 +845,21 @@ class t3lib_superadmin { // Make row: $rows[] = ' - '.(!$c?''.htmlspecialchars($this->globalSiteInfo[$k]['siteInfo']['SA_PATH']).'':'').' - '.htmlspecialchars($extKey).' - '.htmlspecialchars($eInfo['title']).' - '.htmlspecialchars($eInfo['version']).' - '.htmlspecialchars($eInfo['numberfiles']).' - '.htmlspecialchars($eInfo['mtime']?date('d-m-y H:i:s',$eInfo['mtime']):'').' - '.htmlspecialchars($eInfo['mtime_hash']).' + ' . (!$c ? '' . htmlspecialchars($this->globalSiteInfo[$k]['siteInfo']['SA_PATH']) . '' : '') . ' + ' . htmlspecialchars($extKey) . ' + ' . htmlspecialchars($eInfo['title']) . ' + ' . htmlspecialchars($eInfo['version']) . ' + ' . htmlspecialchars($eInfo['numberfiles']) . ' + ' . htmlspecialchars($eInfo['mtime'] ? date('d-m-y H:i:s', $eInfo['mtime']) : '') . ' + ' . htmlspecialchars($eInfo['mtime_hash']) . ' '; $c++; } } - $out.='
+ $out .= '

Sites:

- '.implode('',$rows).'
'; + ' . implode('', $rows) . '
'; } // Return content @@ -902,9 +874,9 @@ class t3lib_superadmin { * @param string Key to globalSiteInformation array * @return array Information array (unless an error occured) */ - function getExtensionInfo($path,$extKey,$k) { - $file = $path.$extKey.'/ext_emconf.php'; - if (@is_file($file)) { + function getExtensionInfo($path, $extKey, $k) { + $file = $path . $extKey . '/ext_emconf.php'; + if (@is_file($file)) { $_EXTKEY = $extKey; $EM_CONF = array(); include($file); @@ -918,33 +890,37 @@ class t3lib_superadmin { $eInfo['TYPO3_version'] = $EM_CONF[$extKey]['TYPO3_version']; $filesHash = unserialize($EM_CONF[$extKey]['_md5_values_when_last_written']); - if (!is_array($filesHash) || count($filesHash)<500) { + if (!is_array($filesHash) || count($filesHash) < 500) { // Get all files list (may take LOONG time): - $extPath = $path.$extKey.'/'; + $extPath = $path . $extKey . '/'; $fileArr = array(); - $fileArr = $this->removePrefixPathFromList($this->getAllFilesAndFoldersInPath($fileArr,$extPath),$extPath); + $fileArr = $this->removePrefixPathFromList($this->getAllFilesAndFoldersInPath($fileArr, $extPath), $extPath); - if (!is_array($fileArr)) { - debug(array($fileArr,$extKey,$extPath,$this->getAllFilesAndFoldersInPath(array(),$extPath)),'ERROR'); + if (!is_array($fileArr)) { + debug(array($fileArr, $extKey, $extPath, $this->getAllFilesAndFoldersInPath(array(), $extPath)), 'ERROR'); } // Number of files: $eInfo['numberfiles'] = count($fileArr); - $eInfo['dirtype'] = filetype($path.$extKey); + $eInfo['dirtype'] = filetype($path . $extKey); // Most recent modification: - $eInfo['mtime_files'] = $this->findMostRecent($fileArr,$extPath); - if (count($eInfo['mtime_files'])) $eInfo['mtime'] = max($eInfo['mtime_files']); - $eInfo['mtime_hash'] = md5(implode(',',$eInfo['mtime_files'])); + $eInfo['mtime_files'] = $this->findMostRecent($fileArr, $extPath); + if (count($eInfo['mtime_files'])) { + $eInfo['mtime'] = max($eInfo['mtime_files']); + } + $eInfo['mtime_hash'] = md5(implode(',', $eInfo['mtime_files'])); } else { - $eInfo['mtime_hash'] = 'No calculation done, too many files in extension: '.count($filesHash); + $eInfo['mtime_hash'] = 'No calculation done, too many files in extension: ' . count($filesHash); } - $eInfo['manual'] = @is_file($path.$extKey.'/doc/manual.sxw'); + $eInfo['manual'] = @is_file($path . $extKey . '/doc/manual.sxw'); return $eInfo; - } else return 'ERROR: No emconf.php file: '.$file; + } else { + return 'ERROR: No emconf.php file: ' . $file; + } } /** @@ -956,15 +932,17 @@ class t3lib_superadmin { * @param boolean If set, directories are included as well. * @return array $fileArr with new entries added. */ - function getAllFilesAndFoldersInPath($fileArr,$extPath,$extList='',$regDirs=0) { - if ($regDirs) $fileArr[] = $extPath; - $fileArr = array_merge($fileArr,t3lib_div::getFilesInDir($extPath,$extList,1,1)); + function getAllFilesAndFoldersInPath($fileArr, $extPath, $extList = '', $regDirs = 0) { + if ($regDirs) { + $fileArr[] = $extPath; + } + $fileArr = array_merge($fileArr, t3lib_div::getFilesInDir($extPath, $extList, 1, 1)); $dirs = t3lib_div::get_dirs($extPath); - if (is_array($dirs)) { - foreach($dirs as $subdirs) { - if ($subdirs && (strcmp($subdirs,'CVS') || !$this->noCVS)) { - $fileArr = $this->getAllFilesAndFoldersInPath($fileArr,$extPath.$subdirs.'/',$extList,$regDirs); + if (is_array($dirs)) { + foreach ($dirs as $subdirs) { + if ($subdirs && (strcmp($subdirs, 'CVS') || !$this->noCVS)) { + $fileArr = $this->getAllFilesAndFoldersInPath($fileArr, $extPath . $subdirs . '/', $extList, $regDirs); } } } @@ -978,11 +956,11 @@ class t3lib_superadmin { * @param string Abs path prefix for files. * @return array Array with modification times of files (filenames are keys) */ - function findMostRecent($fileArr,$extPath) { + function findMostRecent($fileArr, $extPath) { $mtimeArray = array(); - foreach($fileArr as $fN) { - if ($fN!='ext_emconf.php') { - $mtime = filemtime($extPath.$fN); + foreach ($fileArr as $fN) { + if ($fN != 'ext_emconf.php') { + $mtime = filemtime($extPath . $fN); $mtimeArray[$fN] = $mtime; } } @@ -996,30 +974,18 @@ class t3lib_superadmin { * @param string Prefix to remove * @return array Modified file array (or error string) */ - function removePrefixPathFromList($fileArr,$extPath) { + function removePrefixPathFromList($fileArr, $extPath) { foreach ($fileArr as $k => $absFileRef) { - if(t3lib_div::isFirstPartOfStr($absFileRef,$extPath)) { - $fileArr[$k]=substr($absFileRef,strlen($extPath)); - } else return 'ERROR: One or more of the files was NOT prefixed with the prefix-path!'; + if (t3lib_div::isFirstPartOfStr($absFileRef, $extPath)) { + $fileArr[$k] = substr($absFileRef, strlen($extPath)); + } else { + return 'ERROR: One or more of the files was NOT prefixed with the prefix-path!'; + } } return $fileArr; } - - - - - - - - - - - - - - /****************************** * * Content: Other @@ -1032,26 +998,26 @@ class t3lib_superadmin { * @param string KEY pointing to installation * @return string HTML content */ - function singleSite($exp) { + function singleSite($exp) { $all = $this->globalSiteInfo[$exp]; // General information: $content = ' -

'.htmlspecialchars($all['siteInfo']['sitename'].' (DB: '.$all['siteInfo']['TYPO3_db']).')

+

' . htmlspecialchars($all['siteInfo']['sitename'] . ' (DB: ' . $all['siteInfo']['TYPO3_db']) . ')


Main details:

- LINKS: Site / Admin / Install + LINKS: Site / Admin / Install

'; // Add all information in globalSiteInfo array: - $content.= t3lib_div::view_array($all); + $content .= t3lib_div::view_array($all); // Last-login: - $content.= ' + $content .= '

Login-Log for last month:

'; - $content.= $this->loginLog($all['siteInfo']['TYPO3_db']); + $content .= $this->loginLog($all['siteInfo']['TYPO3_db']); // Return content return $content; @@ -1063,35 +1029,33 @@ class t3lib_superadmin { * @param string Database * @return string HTML */ - function loginLog($DB) { + function loginLog($DB) { // Non-admin users //1=login, 2=logout, 3=failed login (+ errorcode 3), 4=failure_warning_email sent $query = $GLOBALS['TYPO3_DB']->SELECTquery( - 'sys_log.*, be_users.username AS username, be_users.admin AS admin', - 'sys_log,be_users', - 'be_users.uid=sys_log.userid AND sys_log.type=255 AND sys_log.tstamp > ' . ($GLOBALS['EXEC_TIME'] - (60 * 60 * 24 * 30)), - '', - 'sys_log.tstamp DESC' - ); - $res = mysql($DB,$query); + 'sys_log.*, be_users.username AS username, be_users.admin AS admin', + 'sys_log,be_users', + 'be_users.uid=sys_log.userid AND sys_log.type=255 AND sys_log.tstamp > ' . ($GLOBALS['EXEC_TIME'] - (60 * 60 * 24 * 30)), + '', + 'sys_log.tstamp DESC' + ); + $res = mysql($DB, $query); $dayRef = ''; $lines = array(); - while($row = mysql_fetch_assoc($res)) { - $day = date('d-m-Y',$row['tstamp']); - if ($dayRef!=$day) { + while ($row = mysql_fetch_assoc($res)) { + $day = date('d-m-Y', $row['tstamp']); + if ($dayRef != $day) { $lines[] = ' -

'.$day.':

'; - $dayRef=$day; +

' . $day . ':

'; + $dayRef = $day; } - $theLine = date('H:i',$row['tstamp']).': '.str_pad(substr($row['username'],0,10),10).' '.$this->log_getDetails($row['details'],unserialize($row['log_data'])); + $theLine = date('H:i', $row['tstamp']) . ': ' . str_pad(substr($row['username'], 0, 10), 10) . ' ' . $this->log_getDetails($row['details'], unserialize($row['log_data'])); $theLine = htmlspecialchars($theLine); - $lines[]= $row['admin'] ? ''.$theLine.'' : $theLine; - - // debug($row); + $lines[] = $row['admin'] ? '' . $theLine . '' : $theLine; } - return '
'.implode(LF,$lines).'
'; + return '
' . implode(LF, $lines) . '
'; } /** @@ -1101,11 +1065,13 @@ class t3lib_superadmin { * @param array Data array to insert in log message * @return string Log details. */ - function log_getDetails($text,$data) { + function log_getDetails($text, $data) { // $code is used later on to substitute errormessages with language-corrected values... - if (is_array($data)) { - return sprintf($text, $data[0],$data[1],$data[2],$data[3],$data[4]); - } else return $text; + if (is_array($data)) { + return sprintf($text, $data[0], $data[1], $data[2], $data[3], $data[4]); + } else { + return $text; + } } @@ -1115,28 +1081,30 @@ class t3lib_superadmin { * @param string KEY pointing to installation * @return string HTML content */ - function rmCachedFiles($exp) { + function rmCachedFiles($exp) { $all = $this->globalSiteInfo[$exp]; $content = ' -

'.htmlspecialchars($all['siteInfo']['sitename'].' (DB: '.$all['siteInfo']['TYPO3_db']).')

+

' . htmlspecialchars($all['siteInfo']['sitename'] . ' (DB: ' . $all['siteInfo']['TYPO3_db']) . ')


typo3conf/temp_CACHED_* files:

'; - $path = $all['siteInfo']['SA_PATH'].'/typo3conf/'; - if (@is_dir($path)) { - $filesInDir = t3lib_div::getFilesInDir($path,'php',1); + $path = $all['siteInfo']['SA_PATH'] . '/typo3conf/'; + if (@is_dir($path)) { + $filesInDir = t3lib_div::getFilesInDir($path, 'php', 1); - foreach($filesInDir as $kk => $vv) { - if (t3lib_div::isFirstPartOfStr(basename($vv),'temp_CACHED_')) { - if (strstr(basename($vv),'ext_localconf.php') || strstr(basename($vv),'ext_tables.php')) { - $content.='REMOVED: '.$vv.'
'; + foreach ($filesInDir as $kk => $vv) { + if (t3lib_div::isFirstPartOfStr(basename($vv), 'temp_CACHED_')) { + if (strstr(basename($vv), 'ext_localconf.php') || strstr(basename($vv), 'ext_tables.php')) { + $content .= 'REMOVED: ' . $vv . '
'; unlink($vv); - if (file_exists($vv)) $content.= $this->error('ERROR: File still exists, so could not be removed anyways!').'
'; + if (file_exists($vv)) { + $content .= $this->error('ERROR: File still exists, so could not be removed anyways!') . '
'; + } } } } } else { - $content.= $this->error('ERROR: '.$path.' was not a directory!'); + $content .= $this->error('ERROR: ' . $path . ' was not a directory!'); } return $content; @@ -1148,70 +1116,70 @@ class t3lib_superadmin { * @param string Action key "update" or "info" * @return string HTML output. */ - function menuContent($exp) { - if ($exp) { + function menuContent($exp) { + if ($exp) { // Initialize: $lines = array(); $head = ''; - foreach($this->globalSiteInfo as $k => $all) { + foreach ($this->globalSiteInfo as $k => $all) { // Setting section header, if needed. - if ($head!=$all['siteInfo']['MAIN_DIR']) { + if ($head != $all['siteInfo']['MAIN_DIR']) { $lines[] = ' -

'.htmlspecialchars(t3lib_div::fixed_lgd_cs($all['siteInfo']['MAIN_DIR'],-18)).'

'; - $head = $all['siteInfo']['MAIN_DIR']; // Set new head... +

' . htmlspecialchars(t3lib_div::fixed_lgd_cs($all['siteInfo']['MAIN_DIR'], -18)) . '

'; + $head = $all['siteInfo']['MAIN_DIR']; // Set new head... } // Display mode: - switch($exp) { + switch ($exp) { case 'update': // Label: - $label = $all['siteInfo']['sitename'] ? $all['siteInfo']['sitename'] : '(DB: '.$all['siteInfo']['TYPO3_db'].')'; + $label = $all['siteInfo']['sitename'] ? $all['siteInfo']['sitename'] : '(DB: ' . $all['siteInfo']['TYPO3_db'] . ')'; $lines[] = '
- '.htmlspecialchars($label).' ('.htmlspecialchars(substr($all['siteInfo']['SA_PATH'],strlen($all['siteInfo']['MAIN_DIR'])+1)).')
'; + ' . htmlspecialchars($label) . ' (' . htmlspecialchars(substr($all['siteInfo']['SA_PATH'], strlen($all['siteInfo']['MAIN_DIR']) + 1)) . ')
'; - // To avoid "visited links" display on next hit: - $tempVal='&_someUniqueValue=' . $GLOBALS['EXEC_TIME']; + // To avoid "visited links" display on next hit: + $tempVal = '&_someUniqueValue=' . $GLOBALS['EXEC_TIME']; - // Add links for update: - $url = $this->scriptName.'?type=page&show=rmTempCached&exp='.$k.$tempVal; - $lines[] = 'Remove temp_CACHED files'; + // Add links for update: + $url = $this->scriptName . '?type=page&show=rmTempCached&exp=' . $k . $tempVal; + $lines[] = 'Remove temp_CACHED files'; - $url = $all['siteInfo']['INSTALL_URL'].'index.php?TYPO3_INSTALL[type]=database&TYPO3_INSTALL[database_type]=import|CURRENT_STATIC'."&presetWholeTable=1".$tempVal.'#bottom'; - $lines[] = 'CURRENT_STATIC'; + $url = $all['siteInfo']['INSTALL_URL'] . 'index.php?TYPO3_INSTALL[type]=database&TYPO3_INSTALL[database_type]=import|CURRENT_STATIC' . "&presetWholeTable=1" . $tempVal . '#bottom'; + $lines[] = 'CURRENT_STATIC'; - $url = $all['siteInfo']['INSTALL_URL'].'index.php?TYPO3_INSTALL[type]=database&TYPO3_INSTALL[database_type]=cmpFile|CURRENT_TABLES'.$tempVal.'#bottom'; - $lines[] = 'CURRENT_TABLES'; + $url = $all['siteInfo']['INSTALL_URL'] . 'index.php?TYPO3_INSTALL[type]=database&TYPO3_INSTALL[database_type]=cmpFile|CURRENT_TABLES' . $tempVal . '#bottom'; + $lines[] = 'CURRENT_TABLES'; - // Cache - $url = $all['siteInfo']['INSTALL_URL'].'index.php?TYPO3_INSTALL[type]=database&TYPO3_INSTALL[database_type]=cache|'. - "&PRESET[database_clearcache][cache_pages]=1". - '&PRESET[database_clearcache][cache_pagesection]=1'. - "&PRESET[database_clearcache][cache_hash]=1". - $tempVal. - '#bottom'; - $lines[] = 'Clear cache'; + // Cache + $url = $all['siteInfo']['INSTALL_URL'] . 'index.php?TYPO3_INSTALL[type]=database&TYPO3_INSTALL[database_type]=cache|' . + "&PRESET[database_clearcache][cache_pages]=1" . + '&PRESET[database_clearcache][cache_pagesection]=1' . + "&PRESET[database_clearcache][cache_hash]=1" . + $tempVal . + '#bottom'; + $lines[] = 'Clear cache'; - // Admin link - $url = $all['siteInfo']['ADMIN_URL'].'index.php'; - $lines[] = 'Admin ->'; + // Admin link + $url = $all['siteInfo']['ADMIN_URL'] . 'index.php'; + $lines[] = 'Admin ->'; break; case 'info': // item - $label = $all['siteInfo']['sitename'] ? $all['siteInfo']['sitename'] : '(DB: '.$all['siteInfo']['TYPO3_db'].')'; + $label = $all['siteInfo']['sitename'] ? $all['siteInfo']['sitename'] : '(DB: ' . $all['siteInfo']['TYPO3_db'] . ')'; - $url = $this->scriptName.'?type=page&show=info&exp='.$k; - $lines[] = ''.htmlspecialchars($label).' ('.htmlspecialchars(substr($all['siteInfo']['SA_PATH'],strlen($all['siteInfo']['MAIN_DIR'])+1)).'/)'; + $url = $this->scriptName . '?type=page&show=info&exp=' . $k; + $lines[] = '' . htmlspecialchars($label) . ' (' . htmlspecialchars(substr($all['siteInfo']['SA_PATH'], strlen($all['siteInfo']['MAIN_DIR']) + 1)) . '/)'; break; } } // Return result. - return implode('
',$lines).'
'; + return implode('
', $lines) . '
'; } } @@ -1220,73 +1188,75 @@ class t3lib_superadmin { * * @return string HTML table */ - function makeAdminLogin() { + function makeAdminLogin() { // Initialize: $lines = array(); $head = ''; // Traverse installations found: - foreach($this->globalSiteInfo as $k => $all) { + foreach ($this->globalSiteInfo as $k => $all) { // Setting section header, if needed. - if ($head!=$all['siteInfo']['MAIN_DIR']) { + if ($head != $all['siteInfo']['MAIN_DIR']) { $lines[] = '
-

'.htmlspecialchars($all['siteInfo']['MAIN_DIR']).'

+

' . htmlspecialchars($all['siteInfo']['MAIN_DIR']) . '

'; $head = $all['siteInfo']['MAIN_DIR']; } // item - $label = $all['siteInfo']['sitename'] ? $all['siteInfo']['sitename'] : '(DB: '.$all['siteInfo']['TYPO3_db'].')'; + $label = $all['siteInfo']['sitename'] ? $all['siteInfo']['sitename'] : '(DB: ' . $all['siteInfo']['TYPO3_db'] . ')'; $unique = md5(microtime()); $opts = array(); $defUName = ''; - if (is_array($all['siteInfo']['ADMINS'])) { + if (is_array($all['siteInfo']['ADMINS'])) { - foreach($all['siteInfo']['ADMINS'] as $vArr) { - $chalVal = md5($vArr['username'].':'.$vArr['password'].':'.$unique); - $opts[] = ''; - if (!$defUName) { $defUName = $vArr['username']; } + foreach ($all['siteInfo']['ADMINS'] as $vArr) { + $chalVal = md5($vArr['username'] . ':' . $vArr['password'] . ':' . $unique); + $opts[] = ''; + if (!$defUName) { + $defUName = $vArr['username']; + } } } - if (count($opts)>1) { - $userident = ' - + ' . implode(' + ', $opts) . ' '; } else { $userident = ' - ('.$defUName.')
- '; + (' . $defUName . ')
+ '; } - $form=' -
+ $form = ' + - - + + - '.trim($userident).' + ' . trim($userident) . '
'; $lines[] = ' - '.htmlspecialchars($label).' - '.trim($form).' + ' . htmlspecialchars($label) . ' + ' . trim($form) . ' '; } // Return login table: - return ''.implode('',$lines).'
'; + return '' . implode('', $lines) . '
'; } /** @@ -1294,28 +1264,28 @@ class t3lib_superadmin { * * @return string Form content. */ - function changeAdminPasswordsForm() { - $content=''; - - foreach($this->changeAdminPasswords as $k => $p) { - $content.=' -

'.$k.'

'; - - foreach($p as $kk => $pp) { - $content.= ''; - $content.= ' '.$pp.' - '; - $content.= htmlspecialchars(implode(' - ',$this->collectAdminPasswords[$k][$kk])); - $content.= '
'; + function changeAdminPasswordsForm() { + $content = ''; + + foreach ($this->changeAdminPasswords as $k => $p) { + $content .= ' +

' . $k . '

'; + + foreach ($p as $kk => $pp) { + $content .= ''; + $content .= ' ' . $pp . ' - '; + $content .= htmlspecialchars(implode(' - ', $this->collectAdminPasswords[$k][$kk])); + $content .= '
'; } } - $content.='New password:
'; - $content.='New password (md5):
+ $content .= 'New password:
'; + $content .= 'New password (md5):
(This overrules any plain password above!)
'; - $content=' -
- '.$content.' + $content = ' + + ' . $content . '
'; @@ -1329,33 +1299,33 @@ class t3lib_superadmin { * @return string Status * @see changeAdminPasswordsForm() */ - function setNewPasswords() { + function setNewPasswords() { $whichFields = t3lib_div::_POST('SETFIELDS'); $pass = trim(t3lib_div::_POST('NEWPASS')); $passMD5 = t3lib_div::_POST('NEWPASS_md5'); $updatedFlag = 0; - if (($pass || $passMD5) && is_array($whichFields)) { + if (($pass || $passMD5) && is_array($whichFields)) { $pass = $passMD5 ? $passMD5 : md5($pass); - foreach($whichFields as $values) { - $parts = explode(':',$values); - if (count($parts)>2) { + foreach ($whichFields as $values) { + $parts = explode(':', $values); + if (count($parts) > 2) { $key = $this->mapDBtoKey[$parts[0]]; - if ($key && isset($this->globalSiteInfo[$key]['siteInfo'])) { + if ($key && isset($this->globalSiteInfo[$key]['siteInfo'])) { $error = $this->connectToDatabase($this->globalSiteInfo[$key]['siteInfo']); - if (!$error) { + if (!$error) { $DB = $this->globalSiteInfo[$key]['siteInfo']['TYPO3_db']; - $content.='

Updating '.$DB.':

'; + $content .= '

Updating ' . $DB . ':

'; $query = $GLOBALS['TYPO3_DB']->UPDATEquery( - 'be_users', - 'uid='.intval($parts[1]).' AND username="'.addslashes($parts[2]).'" AND admin!=0', - array('password' => $pass) - ); // username/admin are added to security. But they are certainly redundant!! - mysql($DB,$query); + 'be_users', + 'uid=' . intval($parts[1]) . ' AND username="' . addslashes($parts[2]) . '" AND admin!=0', + array('password' => $pass) + ); // username/admin are added to security. But they are certainly redundant!! + mysql($DB, $query); - $content.= 'Affected rows: '.mysql_affected_rows().'

'; + $content .= 'Affected rows: ' . mysql_affected_rows() . '

'; $updatedFlag = '1'; } } @@ -1368,7 +1338,7 @@ class t3lib_superadmin { } } -if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_superadmin.php']) { +if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_superadmin.php']) { include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_superadmin.php']); } -- 2.20.1