Project

General

Profile

Bug #18480 » public-static-t3lib_extMgm.patch

Administrator Admin, 2008-03-19 11:26

View differences:

t3lib/class.t3lib_extmgm.php (working copy)
* @param boolean If $exitOnError is true and the extension is not loaded the function will die with an error message
* @return boolean
*/
function isLoaded($key,$exitOnError=0) {
public static function isLoaded($key,$exitOnError=0) {
global $TYPO3_LOADED_EXT;
if ($exitOnError && !isset($TYPO3_LOADED_EXT[$key])) die('Fatal Error: Extension "'.$key.'" was not loaded.');
return isset($TYPO3_LOADED_EXT[$key]);
......
* @param string $script is appended to the output if set.
* @return string
*/
function extPath($key,$script='') {
public static function extPath($key,$script='') {
global $TYPO3_LOADED_EXT;
if (!isset($TYPO3_LOADED_EXT[$key])) {
#debug(array(debug_backtrace()));
......
* @param string Extension key
* @return string
*/
function extRelPath($key) {
public static function extRelPath($key) {
global $TYPO3_LOADED_EXT;
if (!isset($TYPO3_LOADED_EXT[$key])) {
die('TYPO3 Fatal Error: Extension key "'.$key.'" was NOT loaded! (t3lib_extMgm::extRelPath)');
......
* @param string Extension key
* @return string
*/
function siteRelPath($key) {
public static function siteRelPath($key) {
return substr(t3lib_extMgm::extPath($key),strlen(PATH_site));
}
......
* @return string
* @internal
*/
function getCN($key) {
public static function getCN($key) {
return substr($key,0,5)=='user_' ? 'user_'.str_replace('_','',substr($key,5)) : 'tx_'.str_replace('_','',$key);
}
......
* @param boolean If $addTofeInterface is true the list of fields are also added to the fe_admin_fieldList.
* @return void
*/
function addTCAcolumns($table,$columnArray,$addTofeInterface=0) {
public static function addTCAcolumns($table,$columnArray,$addTofeInterface=0) {
global $TCA;
t3lib_div::loadTCA($table);
if (is_array($columnArray) && is_array($TCA[$table]) && is_array($TCA[$table]['columns'])) {
......
* @param string Insert fields before (default) or after one of this fields (commalist with "before:" or "after:" commands). Example: "before:keywords,--palette--;;4,after:description". Palettes must be passed like in the example no matter how the palette definition looks like in TCA.
* @return void
*/
function addToAllTCAtypes($table,$str,$specificTypesList='',$position='') {
public static function addToAllTCAtypes($table,$str,$specificTypesList='',$position='') {
global $TCA;
$positionArr=t3lib_div::trimExplode(',',$position,1);
......
* @param string Table name
* @return void
*/
function allowTableOnStandardPages($table) {
public static function allowTableOnStandardPages($table) {
global $PAGES_TYPES;
$PAGES_TYPES['default']['allowedTables'].=','.$table;
......
* @param string $path is the absolute path to the module. If this value is defined the path is added as an entry in $TBE_MODULES['_PATHS'][ main_sub ]=$path; and thereby tells the backend where the newly added modules is found in the system.
* @return void
*/
function addModule($main,$sub='',$position='',$path='') {
public static function addModule($main,$sub='',$position='',$path='') {
global $TBE_MODULES;
if (isset($TBE_MODULES[$main]) && $sub) { // If there is already a main module by this name:
......
* @param string $path is the absolute path to the module directory inside of which "index.php" and "conf.php" is found.
* @return void
*/
function addModulePath($name,$path) {
public static function addModulePath($name,$path) {
global $TBE_MODULES;
$TBE_MODULES['_PATHS'][$name] = $path;
......
* @return void
* @see t3lib_SCbase::mergeExternalItems()
*/
function insertModuleFunction($modname,$className,$classPath,$title,$MM_key='function',$WS='') {
public static function insertModuleFunction($modname,$className,$classPath,$title,$MM_key='function',$WS='') {
global $TBE_MODULES_EXT;
$TBE_MODULES_EXT[$modname]['MOD_MENU'][$MM_key][$className]=array(
'name' => $className,
......
* @param string Page TSconfig content
* @return void
*/
function addPageTSConfig($content) {
public static function addPageTSConfig($content) {
global $TYPO3_CONF_VARS;
$TYPO3_CONF_VARS['BE']['defaultPageTSconfig'].="\n[GLOBAL]\n".$content;
}
......
* @param string User TSconfig content
* @return void
*/
function addUserTSConfig($content) {
public static function addUserTSConfig($content) {
global $TYPO3_CONF_VARS;
$TYPO3_CONF_VARS['BE']['defaultUserTSconfig'].="\n[GLOBAL]\n".$content;
}
......
* @param string File reference to locallang file, eg. "EXT:lang/locallang_csh_pages.php" (or ".xml")
* @return void
*/
function addLLrefForTCAdescr($tca_descr_key,$file_ref) {
public static function addLLrefForTCAdescr($tca_descr_key,$file_ref) {
global $TCA_DESCR;
if ($tca_descr_key) {
if (!is_array($TCA_DESCR[$tca_descr_key])) {
......
* @return void
* @author Ren� Fritz <r.fritz@colorcube.de>
*/
function addService($extKey, $serviceType, $serviceKey, $info) {
public static function addService($extKey, $serviceType, $serviceKey, $info) {
global $T3_SERVICES,$TYPO3_CONF_VARS;
// even not available services will be included to make it possible to give the admin a feedback of non-available services.
......
* @return mixed Service info array if a service was found, FLASE otherwise
* @author Ren� Fritz <r.fritz@colorcube.de>
*/
function findService($serviceType, $serviceSubType='', $excludeServiceKeys=array()) {
public static function findService($serviceType, $serviceSubType='', $excludeServiceKeys=array()) {
global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;
$serviceKey = FALSE;
......
* @return void
* @author Ren� Fritz <r.fritz@colorcube.de>
*/
function deactivateService($serviceType, $serviceKey) {
public static function deactivateService($serviceType, $serviceKey) {
global $T3_SERVICES;
// ... maybe it's better to move non-available services to a different array??
......
* @param string Type (eg. "list_type") - basically a field from "tt_content" table
* @return void
*/
function addPlugin($itemArray,$type='list_type') {
public static function addPlugin($itemArray,$type='list_type') {
global $TCA;
t3lib_div::loadTCA('tt_content');
if (is_array($TCA['tt_content']['columns']) && is_array($TCA['tt_content']['columns'][$type]['config']['items'])) {
......
* @return void
* @see addPlugin()
*/
function addPiFlexFormValue($piKeyToMatch, $value, $CTypeToMatch='list') {
public static function addPiFlexFormValue($piKeyToMatch, $value, $CTypeToMatch='list') {
global $TCA;
t3lib_div::loadTCA('tt_content');
......
* @param string Field name in the database $content_table in which $table is allowed to be added as a reference ("Insert Record")
* @return void
*/
function addToInsertRecords($table,$content_table='tt_content',$content_field='records') {
public static function addToInsertRecords($table,$content_table='tt_content',$content_field='records') {
global $TCA;
t3lib_div::loadTCA($content_table);
if (is_array($TCA[$content_table]['columns']) && isset($TCA[$content_table]['columns'][$content_field]['config']['allowed'])) {
......
* @param boolean If $cached is set as USER content object (cObject) is created - otherwise a USER_INT object is created.
* @return void
*/
function addPItoST43($key,$classFile='',$prefix='',$type='list_type',$cached=0) {
public static function addPItoST43($key,$classFile='',$prefix='',$type='list_type',$cached=0) {
global $TYPO3_LOADED_EXT;
$classFile = $classFile ? $classFile : 'pi/class.tx_'.str_replace('_','',$key).$prefix.'.php';
$cN = t3lib_extMgm::getCN($key);
......
* @return void
* @see addTypoScript()
*/
function addStaticFile($extKey,$path,$title) {
public static function addStaticFile($extKey,$path,$title) {
global $TCA;
t3lib_div::loadTCA('sys_template');
if ($extKey && $path && is_array($TCA['sys_template']['columns'])) {
......
* @param string TypoScript Setup string
* @return void
*/
function addTypoScriptSetup($content) {
public static function addTypoScriptSetup($content) {
global $TYPO3_CONF_VARS;
$TYPO3_CONF_VARS['FE']['defaultTypoScript_setup'].="\n[GLOBAL]\n".$content;
}
......
* @param string TypoScript Constants string
* @return void
*/
function addTypoScriptConstants($content) {
public static function addTypoScriptConstants($content) {
global $TYPO3_CONF_VARS;
$TYPO3_CONF_VARS['FE']['defaultTypoScript_constants'].="\n[GLOBAL]\n".$content;
}
......
* @param string $afterStaticUid is either an integer pointing to a uid of a static_template or a string pointing to the "key" of a static_file template ([reduced extension_key]/[local path]). The points is that the TypoScript you add is included only IF that static template is included (and in that case, right after). So effectively the TypoScript you set can specifically overrule settings from those static templates.
* @return void
*/
function addTypoScript($key,$type,$content,$afterStaticUid=0) {
public static function addTypoScript($key,$type,$content,$afterStaticUid=0) {
global $TYPO3_CONF_VARS;
if ($type=='setup' || $type=='editorcfg' || $type=='constants') {
......
* @return array Extension Array
* @internal
*/
function typo3_loadExtensions() {
public static function typo3_loadExtensions() {
global $TYPO3_CONF_VARS;
// Full list of extensions includes both required and extList:
......
* @return string
* @internal
*/
function _makeIncludeHeader($key,$file) {
public static function _makeIncludeHeader($key,$file) {
return '<?php
###########################
## EXTENSION: '.$key.'
......
* @return boolean
* @internal
*/
function isCacheFilesAvailable($cacheFilePrefix) {
public static function isCacheFilesAvailable($cacheFilePrefix) {
return
@is_file(PATH_typo3conf.$cacheFilePrefix.'_ext_localconf.php') &&
@is_file(PATH_typo3conf.$cacheFilePrefix.'_ext_tables.php');
......
* @return boolean
* @internal
*/
function isLocalconfWritable() {
public static function isLocalconfWritable() {
return @is_writable(PATH_typo3conf) && @is_writable(PATH_typo3conf.'localconf.php');
}
......
* @return string
* @internal
*/
function cannotCacheFilesWritable($cacheFilePrefix) {
public static function cannotCacheFilesWritable($cacheFilePrefix) {
$error=array();
if (!@is_writable(PATH_typo3conf)) {
$error[]=PATH_typo3conf;
......
* @return array
* @internal
*/
function currentCacheFiles() {
public static function currentCacheFiles() {
global $TYPO3_LOADED_EXT;
if ($TYPO3_LOADED_EXT['_CACHEFILE']) {
......
* @return array
* @internal
*/
function writeCacheFiles($extensions,$cacheFilePrefix) {
public static function writeCacheFiles($extensions,$cacheFilePrefix) {
// Making cache files:
$extensions['_CACHEFILE'] = $cacheFilePrefix;
$cFiles=array();
......
*
* @return integer Number of deleted files.
*/
function removeCacheFiles() {
public static function removeCacheFiles() {
$cacheFiles = t3lib_extMgm::currentCacheFiles();
$out = 0;
if (is_array($cacheFiles)) {
(1-1/4)