Project

General

Profile

Bug #22410 » 14050_cleaning_t3lib_tsfebeuserauth.patch

Administrator Admin, 2010-11-24 19:04

View differences:

t3lib/class.t3lib_tsfebeuserauth.php (revision )
<?php
/***************************************************************
* Copyright notice
*
* (c) 1999-2010 Kasper Sk?rh?j (kasperYYYY@typo3.com)
* All rights reserved
*
* This script is part of the TYPO3 project. The TYPO3 project is
* free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
* A copy is found in the textfile GPL.txt and important notices to the license
* from the author is found in LICENSE.txt distributed with these scripts.
*
*
* This script is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
* Copyright notice
*
* (c) 1999-2010 Kasper Sk?rh?j (kasperYYYY@typo3.com)
* All rights reserved
*
* This script is part of the TYPO3 project. The TYPO3 project is
* free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
* A copy is found in the textfile GPL.txt and important notices to the license
* from the author is found in LICENSE.txt distributed with these scripts.
*
*
* This script is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
/**
* Class for TYPO3 backend user authentication in the TSFE frontend
*
......
*
*
* 103: class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth
* 129: function extInitFeAdmin()
* 129: function extInitFeAdmin()
* 154: function extPrintFeAdminDialog()
* 154: function extPrintFeAdminDialog()
*
* SECTION: Creating sections of the Admin Panel
* SECTION: Creating sections of the Admin Panel
* 250: function extGetCategory_preview($out='')
* 250: function extGetCategory_preview($out='')
* 283: function extGetCategory_cache($out='')
* 283: function extGetCategory_cache($out='')
* 321: function extGetCategory_publish($out='')
* 321: function extGetCategory_publish($out='')
* 356: function extGetCategory_edit($out='')
* 356: function extGetCategory_edit($out='')
* 400: function extGetCategory_tsdebug($out='')
* 400: function extGetCategory_tsdebug($out='')
* 433: function extGetCategory_info($out='')
* 433: function extGetCategory_info($out='')
*
* SECTION: Admin Panel Layout Helper functions
* SECTION: Admin Panel Layout Helper functions
* 506: function extGetHead($pre)
* 506: function extGetHead($pre)
* 526: function extItemLink($pre,$str)
* 526: function extItemLink($pre,$str)
* 542: function extGetItem($pre,$element)
* 542: function extGetItem($pre,$element)
* 559: function extFw($str)
* 559: function extFw($str)
* 568: function ext_makeToolBar()
* 568: function ext_makeToolBar()
*
* SECTION: TSFE BE user Access Functions
* SECTION: TSFE BE user Access Functions
* 637: function checkBackendAccessSettingsFromInitPhp()
* 637: function checkBackendAccessSettingsFromInitPhp()
* 682: function extPageReadAccess($pageRec)
* 682: function extPageReadAccess($pageRec)
* 693: function extAdmModuleEnabled($key)
* 693: function extAdmModuleEnabled($key)
* 709: function extSaveFeAdminConfig()
* 709: function extSaveFeAdminConfig()
* 741: function extGetFeAdminValue($pre,$val='')
* 741: function extGetFeAdminValue($pre,$val='')
* 783: function extIsAdmMenuOpen($pre)
* 783: function extIsAdmMenuOpen($pre)
*
* SECTION: TSFE BE user Access Functions
* SECTION: TSFE BE user Access Functions
* 818: function extGetTreeList($id,$depth,$begin=0,$perms_clause)
* 818: function extGetTreeList($id,$depth,$begin=0,$perms_clause)
* 849: function extGetNumberOfCachedPages($page_id)
* 849: function extGetNumberOfCachedPages($page_id)
*
* SECTION: Localization handling
* SECTION: Localization handling
* 888: function extGetLL($key)
* 888: function extGetLL($key)
*
* SECTION: Frontend Editing
* SECTION: Frontend Editing
* 932: function extIsEditAction()
* 932: function extIsEditAction()
* 954: function extIsFormShown()
* 954: function extIsFormShown()
* 970: function extEditAction()
* 970: function extEditAction()
*
* TOTAL FUNCTIONS: 25
* (This index is automatically created/updated by the extension "extdeveval")
......
*/
/**
* TYPO3 backend user authentication in the TSFE frontend.
* This includes mainly functions related to the Admin Panel
......
*
* @var boolean
*/
public $writeStdLog = false;
public $writeStdLog = FALSE;
/**
* If the writelog() functions is called if a login-attempt has be tried without success.
*
* @var boolean
*/
public $writeAttemptLog = false;
public $writeAttemptLog = FALSE;
/**
* This is the name of the include-file containing the login form. If not set, login CAN be anonymous. If set login IS needed.
......
*
* @var boolean
*/
public $extAdmEnabled = false;
public $extAdmEnabled = FALSE;
/**
* Instance of the admin panel
*
* @var tslib_AdminPanel
*/
public $adminPanel = null;
public $adminPanel = NULL;
/**
* Class for frontend editing.
*
* @var t3lib_frontendedit
*/
public $frontendEdit = null;
public $frontendEdit = NULL;
/**
* Initializes the admin panel.
......
$this->extAdminConfig = $this->getTSConfigProp('admPanel');
if (isset($this->extAdminConfig['enable.'])) {
foreach($this->extAdminConfig['enable.'] as $key => $value) {
foreach ($this->extAdminConfig['enable.'] as $key => $value) {
if ($value) {
$this->adminPanel = t3lib_div::makeInstance('tslib_AdminPanel');
$this->extAdmEnabled = true;
$this->extAdmEnabled = TRUE;
break;
}
......
*/
public function initializeFrontendEdit() {
if (isset($this->extAdminConfig['enable.']) && $this->isFrontendEditingActive()) {
foreach($this->extAdminConfig['enable.'] as $key => $value) {
foreach ($this->extAdminConfig['enable.'] as $key => $value) {
if ($value) {
if ($GLOBALS['TSFE'] instanceof tslib_fe) {
// Grab the Page TSConfig property that determines which controller to use.
......
$controllerClass = $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsfebeuserauth.php']['frontendEditingController'][$controllerKey];
if ($controllerClass) {
$this->frontendEdit = t3lib_div::getUserObj($controllerClass, false);
$this->frontendEdit = t3lib_div::getUserObj($controllerClass, FALSE);
}
break;
......
*/
public function isFrontendEditingActive() {
return ($this->extAdmEnabled
&& ($this->adminPanel->isAdminModuleEnabled('edit') && $this->adminPanel->isAdminModuleOpen('edit')
|| $GLOBALS['TSFE']->displayEditIcons == 1)
&& ($this->adminPanel->isAdminModuleEnabled('edit') && $this->adminPanel->isAdminModuleOpen('edit')
|| $GLOBALS['TSFE']->displayEditIcons == 1)
);
}
......
public function checkBackendAccessSettingsFromInitPhp() {
global $TYPO3_CONF_VARS;
// **********************
// Check Hardcoded lock on BE:
// **********************
// **********************
// Check Hardcoded lock on BE:
// **********************
if ($TYPO3_CONF_VARS['BE']['adminOnly'] < 0) {
return false;
return FALSE;
}
// **********************
// Check IP
// **********************
// **********************
// Check IP
// **********************
if (trim($TYPO3_CONF_VARS['BE']['IPmaskList'])) {
if (!t3lib_div::cmpIP(t3lib_div::getIndpEnv('REMOTE_ADDR'), $TYPO3_CONF_VARS['BE']['IPmaskList'])) {
return false;
return FALSE;
}
}
// **********************
// Check SSL (https)
// **********************
// **********************
// Check SSL (https)
// **********************
if (intval($TYPO3_CONF_VARS['BE']['lockSSL']) && $TYPO3_CONF_VARS['BE']['lockSSL'] != 3) {
if (!t3lib_div::getIndpEnv('TYPO3_SSL')) {
return false;
return FALSE;
}
}
// Finally a check from t3lib_beuserauth::backendCheckLogin()
if ($this->isUserAllowedToLogin()) {
return true;
return TRUE;
} else {
return false;
return FALSE;
}
}
}
/**
......
* @param string Perms clause
* @return string Returns the list with a comma in the end (if any pages selected!)
*/
public function extGetTreeList($id, $depth, $begin=0, $perms_clause) {
public function extGetTreeList($id, $depth, $begin = 0, $perms_clause) {
$depth=intval($depth);
$depth = intval($depth);
$begin=intval($begin);
$begin = intval($begin);
$id=intval($id);
$id = intval($id);
$theList='';
$theList = '';
if ($id && $depth > 0) {
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'uid,title',
'pages',
'pid=' . $id . ' AND doktype IN (' . $GLOBALS['TYPO3_CONF_VARS']['FE']['content_doktypes'] . ') AND deleted=0 AND ' . $perms_clause
);
'uid,title',
'pages',
'pid=' . $id . ' AND doktype IN (' . $GLOBALS['TYPO3_CONF_VARS']['FE']['content_doktypes'] . ') AND deleted=0 AND ' . $perms_clause
);
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
if ($begin <= 0) {
$theList .= $row['uid'].',';
$theList .= $row['uid'] . ',';
$this->extPageInTreeInfo[] = array($row['uid'], htmlspecialchars($row['title'],$depth));
$this->extPageInTreeInfo[] = array($row['uid'], htmlspecialchars($row['title'], $depth));
}
if ($depth > 1) {
$theList .= $this->extGetTreeList($row['uid'], $depth-1, $begin-1, $perms_clause);
$theList .= $this->extGetTreeList($row['uid'], $depth - 1, $begin - 1, $perms_clause);
}
}
}
......
$pageCacheEntries = $pageCache->getByTag('pageId_' . (int) $pageId);
$count = count($pageCacheEntries);
} else {
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('count(*)', 'cache_pages', 'page_id='.intval($pageId));
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('count(*)', 'cache_pages', 'page_id=' . intval($pageId));
list($count) = $GLOBALS['TYPO3_DB']->sql_fetch_row($res);
}
return $count;
}
/*****************************************************
*
* Localization handling
......
}
}
$labelStr = htmlspecialchars($GLOBALS['LANG']->getLL($key)); // Label string in the default backend output charset.
$labelStr = htmlspecialchars($GLOBALS['LANG']->getLL($key)); // Label string in the default backend output charset.
// Convert to utf-8, then to entities:
if ($GLOBALS['LANG']->charSet != 'utf-8') {
......
}
if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_tsfebeuserauth.php']) {
if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_tsfebeuserauth.php']) {
include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_tsfebeuserauth.php']);
}
(69-69/93)