SC_mod_tools_em_index Class Reference

Inheritance diagram for SC_mod_tools_em_index:

Inheritance graph
[legend]
Collaboration diagram for SC_mod_tools_em_index:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 init ()
 handleExternalFunctionValue ($MM_key='function', $MS_value=NULL)
 menuConfig ()
 main ()
 printContent ()
 extensionList_loaded ()
 extensionList_installed ()
 extensionList_import ()
 browseLinks ()
 alterSettings ()
 translationHandling ()
 updateTranslation ($extKey, $lang, $mirrorURL)
 installTranslationsForExtension ($extKey, $mirrorURL)
 unzip ($file, $path)
 importExtInfo ($extKey, $version='')
 fetchMetaData ($metaType)
 getMirrorURL ()
 installExtension ($extKey, $version=null, $mode=EM_INSTALL_VERSION_MIN)
 refreshGlobalExtList ()
 importExtFromRep ($extKey, $version, $loc, $uploadFlag=0, $dontDelete=0, $directInput='')
 showExtDetails ($extKey)
 requestInstallExtensions ($extList)
 updatesForm ($extKey, $extInfo, $notSilent=0, $script='', $addFields='')
 extDumpTables ($extKey, $extInfo)
 getFileListOfExtension ($extKey, $conf)
 extDelete ($extKey, $extInfo)
 extUpdateEMCONF ($extKey, $extInfo)
 extBackup ($extKey, $extInfo)
 extBackup_dumpDataTablesLine ($tablesArray, $extKey)
 extInformationArray ($extKey, $extInfo, $remote=0)
 extInformationArray_dbReq ($techInfo, $tableHeader=0)
 extInformationArray_dbInst ($dbInst, $current)
 getRepositoryUploadForm ($extKey, $extInfo)
 extensionListRowHeader ($trAttrib, $cells, $import=0)
 extensionListRow ($extKey, $extInfo, $cells, $bgColorClass='', $inst_list=array(), $import=0, $altLinkUrl='')
 wrapEmail ($str, $email)
 helpCol ($key)
 labelInfo ($str)
 extensionTitleIconHeader ($extKey, $extInfo, $align='top')
 removeButton ()
 installButton ()
 noImportMsg ()
 depToString ($dep, $type='depends')
 stringToDep ($dep)
 getInstalledExtensions ()
 getInstExtList ($path, &$list, &$cat, $type)
 fixEMCONF ($emConf)
 splitVersionRange ($ver)
 prepareImportExtList ($unsetProc=false)
 setCat (&$cat, $listArrayPart, $extKey)
 makeDetailedExtensionAnalysis ($extKey, $extInfo, $validity=0)
 getClassIndexLocallangFiles ($absPath, $table_class_prefix, $extKey)
 modConfFileAnalysis ($confFilePath)
 serverExtensionMD5Array ($extKey, $conf)
 findMD5ArrayDiff ($current, $past)
 createDirsInPath ($dirs, $extDirPath)
 removeExtDirectory ($removePath, $removeContentOnly=0)
 clearAndMakeExtensionDir ($importedData, $type, $dontDelete=0)
 removeCacheFiles ()
 extractDirsFromFileList ($files)
 getExtPath ($extKey, $type)
 writeTYPO3_MOD_PATH ($confFilePath, $type, $mP)
 writeNewExtensionList ($newExtList)
 writeTsStyleConfig ($extKey, $arr)
 updateLocalEM_CONF ($extKey, $extInfo)
 construct_ext_emconf_file ($extKey, $EM_CONF)
 arrayToCode ($array, $level=0)
 makeUploadArray ($extKey, $conf)
 getSerializedLocalLang ($file, $content)
 addExtToList ($extKey, $instExtInfo)
 checkDependencies ($extKey, $conf, $instExtInfo)
 removeExtFromList ($extKey, $instExtInfo)
 removeRequiredExtFromListArr ($listArr)
 managesPriorities ($listArr, $instExtInfo)
 checkClearCache ($extInfo)
 checkUploadFolder ($extKey, $extInfo)
 checkDBupdates ($extKey, $extInfo, $infoOnly=0)
 forceDBupdates ($extKey, $extInfo)
 tsStyleConfigForm ($extKey, $extInfo, $output=0, $script='', $addFields='')
 dumpTableAndFieldStructure ($arr)
 dumpStaticTables ($tableList)
 dumpHeader ()
 dumpTableHeader ($table, $fieldKeyInfo, $dropTableIfExists=0)
 dumpTableContent ($table, $fieldStructure)
 getTableAndFieldStructure ($parts)
 uploadExtensionToTER ($em)
 listOrderTitle ($listOrder, $key)
 makeVersion ($v, $mode)
 renderVersion ($v, $raise='')
 ulFolder ($extKey)
 importAtAll ()
 importAsType ($type, $lockType='')
 deleteAsType ($type)
 versionDifference ($v1, $v2, $div=1)
 first_in_array ($str, $array, $caseInsensitive=FALSE)
 includeEMCONF ($path, $_EXTKEY)
 searchExtension ($extKey, $row)

Public Attributes

 $versionDiffFactor = 1
 $systemInstall = 0
 $requiredExt = ''
 $maxUploadSize = 31457280
 $kbMax = 500
 $doPrintContent = true
 $listingLimit = 500
 $listingLimitAuthor = 250
 $defaultCategories
 $categories
 $states
 $stateColors
 $typeLabels
 $typeDescr
 $typePaths = Array()
 $typeBackPaths = Array()
 $typeRelPaths
 $detailCols
 $fe_user
 $privacyNotice = 'When you interact with the online repository, server information may be sent and stored in the repository for statistics.'
 $securityHint = '<strong>Found a security problem? Please get in touch with us!</strong><br />If you think you have found a security issue in TYPO3 or an extension, please contact the <a href="http://typo3.org/teams/security/" target="_blank">TYPO3 security team</a>! Thank you!'
 $editTextExtensions = 'html,htm,txt,css,tmpl,inc,php,sql,conf,cnf,pl,pm,sh,xml,ChangeLog'
 $nameSpaceExceptions = 'beuser_tracking,design_components,impexp,static_file_edit,cms,freesite,quickhelp,classic_welcome,indexed_search,sys_action,sys_workflows,sys_todos,sys_messages,direct_mail,sys_stat,tt_address,tt_board,tt_calender,tt_guest,tt_links,tt_news,tt_poll,tt_rating,tt_products,setup,taskcenter,tsconfig_help,context_help,sys_note,tstemplate,lowlevel,install,belog,beuser,phpmyadmin,aboutmodules,imagelist,setup,taskcenter,sys_notepad,viewpage,adodb'
 $MCONF = array()
 $MOD_MENU = array()
 $MOD_SETTINGS = array()
 $doc
 $content
 $inst_keys = array()
 $gzcompress = 0
 $terConnection
 $CMD = array()
 $listRemote
 $lookUpStr


Detailed Description

Definition at line 195 of file class.em_index.php.


Member Function Documentation

SC_mod_tools_em_index::init (  ) 

Standard init function of a module.

Returns:
void

Reimplemented from t3lib_SCbase.

Definition at line 342 of file class.em_index.php.

SC_mod_tools_em_index::handleExternalFunctionValue ( MM_key = 'function',
MS_value = NULL 
)

This function is a copy of the same function in t3lib_SCbase with one modification: In contrast to t3lib_SCbase::handleExternalFunctionValue() this function merges the $this->extClassConf array instead of overwriting it. That was necessary for including the Kickstarter as a submodule into the 'singleDetails' selectorbox as well as in the main 'function' selectorbox.

Parameters:
string Mod-setting array key
string Mod setting value, overriding the one in the key
Returns:
void
See also:
t3lib_SCbase::handleExternalFunctionValue()

Reimplemented from t3lib_SCbase.

Definition at line 424 of file class.em_index.php.

SC_mod_tools_em_index::menuConfig (  ) 

Configuration of which mod-menu items can be used

Returns:
void

Reimplemented from t3lib_SCbase.

Definition at line 438 of file class.em_index.php.

SC_mod_tools_em_index::main (  ) 

Main function for Extension Manager module.

Returns:
void

Definition at line 518 of file class.em_index.php.

SC_mod_tools_em_index::printContent (  ) 

Print module content. Called as last thing in the global scope.

Returns:
void

Definition at line 603 of file class.em_index.php.

SC_mod_tools_em_index::extensionList_loaded (  ) 

Listing of loaded (installed) extensions

Returns:
void

Definition at line 630 of file class.em_index.php.

SC_mod_tools_em_index::extensionList_installed (  ) 

Listing of available (installed) extensions

Returns:
void

Definition at line 685 of file class.em_index.php.

SC_mod_tools_em_index::extensionList_import (  ) 

Listing remote extensions from online repository

Returns:
void

Definition at line 758 of file class.em_index.php.

SC_mod_tools_em_index::browseLinks (  ) 

Generates a link to the next page of extensions

Returns:
void

Definition at line 942 of file class.em_index.php.

SC_mod_tools_em_index::alterSettings (  ) 

Allows changing of settings

Returns:
void

Definition at line 965 of file class.em_index.php.

SC_mod_tools_em_index::translationHandling (  ) 

Allows to set the translation preferences and check the status

Returns:
void

Definition at line 1057 of file class.em_index.php.

SC_mod_tools_em_index::updateTranslation ( extKey,
lang,
mirrorURL 
)

Install translations for all selected languages for an extension

Parameters:
string $extKey The extension key to install the translations for
string $lang Language code of translation to fetch
string $mirrorURL Mirror URL to fetch data from
Returns:
mixed true on success, error string on fauilure

Definition at line 1288 of file class.em_index.php.

SC_mod_tools_em_index::installTranslationsForExtension ( extKey,
mirrorURL 
)

Install translations for all selected languages for an extension

Parameters:
string $extKey The extension key to install the translations for
string $mirrorURL Mirror URL to fetch data from
Returns:
mixed true on success, error string on fauilure

Definition at line 1312 of file class.em_index.php.

SC_mod_tools_em_index::unzip ( file,
path 
)

Unzips a zip file in the given path.

Uses unzip binary if available, otherwise a pure PHP unzip is used.

Parameters:
string $file Full path to zip file
string $path Path to change to before extracting
Returns:
boolean True on success, false in failure

Definition at line 1342 of file class.em_index.php.

SC_mod_tools_em_index::importExtInfo ( extKey,
version = '' 
)

Returns detailed info about an extension in the online repository

Parameters:
string Extension repository uid + optional "private key": [uid]-[key].
[type] $version: ...
Returns:
void

Definition at line 1371 of file class.em_index.php.

SC_mod_tools_em_index::fetchMetaData ( metaType  ) 

Fetches metadata and stores it to the corresponding place. This includes the mirror list, extension XML files.

Parameters:
string Type of data to fetch: (mirrors)
boolean If true the method doesn't produce any output
Returns:
void

Definition at line 1427 of file class.em_index.php.

SC_mod_tools_em_index::getMirrorURL (  ) 

Returns the base URL for the slected or a random mirror.

Returns:
string The URL for the selected or a random mirror

Definition at line 1485 of file class.em_index.php.

SC_mod_tools_em_index::installExtension ( extKey,
version = null,
mode = EM_INSTALL_VERSION_MIN 
)

Installs (activates) an extension

For $mode use the three constants EM_INSTALL_VERSION_MIN, EM_INSTALL_VERSION_MAX, EM_INSTALL_VERSION_STRICT

If an extension is loaded or imported already and the version requirement is matched, it will not be fetched from the repository. This means, if you use EM_INSTALL_VERSION_MIN, you will not always get the latest version of an extension!

Parameters:
string $extKey The extension key to install
string $version A version number that should be installed
int $mode If a version is requested, this determines if it is the min, max or strict version requested
Returns:
[type] ...
Todo:
Make the method able to handle needed interaction somehow (unmatched dependencies)

Definition at line 1523 of file class.em_index.php.

SC_mod_tools_em_index::importExtFromRep ( extKey,
version,
loc,
uploadFlag = 0,
dontDelete = 0,
directInput = '' 
)

Imports an extensions from the online repository NOTICE: in version 4.0 this changed from "importExtFromRep_old($extRepUid,$loc,$uploadFlag=0,$directInput='',$recentTranslations=0,$incManual=0,$dontDelete=0)"

Parameters:
string Extension key
string Version
string Install scope: "L" or "G" or "S"
boolean If true, extension is uploaded as file
boolean If true, extension directory+files will not be deleted before writing the new ones. That way custom files stored in the extension folder will be kept.
array Direct input array (like from kickstarter)
Returns:
string Return false on success, returns error message if error.

Definition at line 1673 of file class.em_index.php.

SC_mod_tools_em_index::showExtDetails ( extKey  ) 

Display extensions details.

Parameters:
string Extension key
Returns:
void Writes content to $this->content

Definition at line 1839 of file class.em_index.php.

SC_mod_tools_em_index::requestInstallExtensions ( extList  ) 

Outputs a screen from where you can install multiple extensions in one go This can be called from external modules with "...index.php?CMD[requestInstallExtensions]=

Parameters:
string Comma list of extension keys to install. Renders a screen with checkboxes for all extensions not already imported or installed
Returns:
void

Definition at line 2132 of file class.em_index.php.

SC_mod_tools_em_index::updatesForm ( extKey,
extInfo,
notSilent = 0,
script = '',
addFields = '' 
)

Creates a form for an extension which contains all options for configuration, updates of database, clearing of cache etc. This form is shown when

Parameters:
string Extension key
array Extension information array
boolean If set, the form will ONLY show if fields/tables should be updated (suppressing forms like general configuration and cache clearing).
string Alternative action=""-script
string HTML: Additional form fields
Returns:
string HTML

Definition at line 2213 of file class.em_index.php.

SC_mod_tools_em_index::extDumpTables ( extKey,
extInfo 
)

Creates view for dumping static tables and table/fields structures...

Parameters:
string Extension key
array Extension information array
Returns:
void

Definition at line 2244 of file class.em_index.php.

SC_mod_tools_em_index::getFileListOfExtension ( extKey,
conf 
)

Returns file-listing of an extension

Parameters:
string Extension key
array Extension information array
Returns:
string HTML table.

Definition at line 2311 of file class.em_index.php.

SC_mod_tools_em_index::extDelete ( extKey,
extInfo 
)

Delete extension from the file system

Parameters:
string Extension key
array Extension info array
Returns:
string Returns message string about the status of the operation

Definition at line 2365 of file class.em_index.php.

SC_mod_tools_em_index::extUpdateEMCONF ( extKey,
extInfo 
)

Update extension EM_CONF...

Parameters:
string Extension key
array Extension information array
Returns:
string HTML content.

Definition at line 2396 of file class.em_index.php.

SC_mod_tools_em_index::extBackup ( extKey,
extInfo 
)

Download extension as file / make backup

Parameters:
string Extension key
array Extension information array
Returns:
string HTML content

Definition at line 2416 of file class.em_index.php.

SC_mod_tools_em_index::extBackup_dumpDataTablesLine ( tablesArray,
extKey 
)

Link to dump of database tables

Parameters:
string Extension key
array Extension information array
Returns:
string HTML

Definition at line 2463 of file class.em_index.php.

SC_mod_tools_em_index::extInformationArray ( extKey,
extInfo,
remote = 0 
)

Prints a table with extension information in it.

Parameters:
string Extension key
array Extension information array
boolean If set, the information array shows information for a remote extension in TER, not a local one.
Returns:
string HTML content.

Definition at line 2491 of file class.em_index.php.

SC_mod_tools_em_index::extInformationArray_dbReq ( techInfo,
tableHeader = 0 
)

Returns HTML with information about database requirements

Parameters:
array Technical information array
boolean Table header displayed
Returns:
string HTML content.

Definition at line 2573 of file class.em_index.php.

SC_mod_tools_em_index::extInformationArray_dbInst ( dbInst,
current 
)

Double install warning.

Parameters:
string Double-install string, eg. "LG" etc.
string Current scope, eg. "L" or "G" or "S"
Returns:
string Message

Definition at line 2586 of file class.em_index.php.

SC_mod_tools_em_index::getRepositoryUploadForm ( extKey,
extInfo 
)

Prints the upload form for extensions

Parameters:
string Extension key
array Extension information array
Returns:
string HTML content.

Definition at line 2605 of file class.em_index.php.

SC_mod_tools_em_index::extensionListRowHeader ( trAttrib,
cells,
import = 0 
)

Prints the header row for the various listings

Parameters:
string Attributes for the

tag

Parameters:
array Preset cells in the beginning of the row. Typically a blank cell with a clear-gif
boolean If set, the list is coming from remote server.
Returns:
string HTML

table row

Definition at line 2666 of file class.em_index.php.

SC_mod_tools_em_index::extensionListRow ( extKey,
extInfo,
cells,
bgColorClass = '',
inst_list = array(),
import = 0,
altLinkUrl = '' 
)

Prints a row with data for the various extension listings

Parameters:
string Extension key
array Extension information array
array Preset table cells, eg. install/uninstall icons.
string 

tag class

Parameters:
array Array with installed extension keys (as keys)
boolean If set, the list is coming from remote server.
string Alternative link URL
Returns:
string HTML

content

Definition at line 2727 of file class.em_index.php.

SC_mod_tools_em_index::wrapEmail ( str,
email 
)

Wrapping input string in a link tag with link to email address

Parameters:
string Input string, being wrapped in tags
string Email address for use in link.
Returns:
string Output

Definition at line 2843 of file class.em_index.php.

SC_mod_tools_em_index::helpCol ( key  ) 

Returns help text if applicable.

Parameters:
string Help text key
Returns:
string HTML table cell

Definition at line 2856 of file class.em_index.php.

SC_mod_tools_em_index::labelInfo ( str  ) 

Returns title and style attribute for mouseover help text.

Parameters:
string Help text.
Returns:
string title="" attribute prepended with a single space

Definition at line 2872 of file class.em_index.php.

SC_mod_tools_em_index::extensionTitleIconHeader ( extKey,
extInfo,
align = 'top' 
)

Returns a header for an extensions including icon if any

Parameters:
string Extension key
array Extension information array
string align-attribute value (for tag)
Returns:
string HTML; Extension title and image.

Definition at line 2884 of file class.em_index.php.

SC_mod_tools_em_index::removeButton (  ) 

Returns image tag for "uninstall"

Returns:
string tag

Definition at line 2899 of file class.em_index.php.

SC_mod_tools_em_index::installButton (  ) 

Returns image for "install"

Returns:
string tag

Definition at line 2908 of file class.em_index.php.

SC_mod_tools_em_index::noImportMsg (  ) 

Warning ( + text string) message about the impossibility to import extensions (both local and global locations are disabled...)

Returns:
string + text string.

Definition at line 2917 of file class.em_index.php.

SC_mod_tools_em_index::depToString ( dep,
type = 'depends' 
)

Checks whether the passed dependency is TER2-style (array) and returns a single string for displaying the dependencies.

It leaves out all version numbers and the "php" and "typo3" dependencies, as they are implicit and of no interest without the version number.

Parameters:
mixed $dep Either a string or an array listing dependencies.
string $type The dependency type to list if $dep is an array
Returns:
string A simple dependency list for display

Definition at line 2930 of file class.em_index.php.

SC_mod_tools_em_index::stringToDep ( dep  ) 

Checks whether the passed dependency is TER-style (string) or TER2-style (array) and returns a single string for displaying the dependencies.

It leaves out all version numbers and the "php" and "typo3" dependencies, as they are implicit and of no interest without the version number.

Parameters:
mixed $dep Either a string or an array listing dependencies.
string $type The dependency type to list if $dep is an array
Returns:
string A simple dependency list for display

Definition at line 2949 of file class.em_index.php.

SC_mod_tools_em_index::getInstalledExtensions (  ) 

Returns the list of available (installed) extensions

Returns:
array Array with two arrays, list array (all extensions with info) and category index
See also:
getInstExtList()

Definition at line 2979 of file class.em_index.php.

SC_mod_tools_em_index::getInstExtList ( path,
&$  list,
&$  cat,
type 
)

Gathers all extensions in $path

Parameters:
string Absolute path to local, global or system extensions
array Array with information for each extension key found. Notice: passed by reference
array Categories index: Contains extension titles grouped by various criteria.
string Path-type: L, G or S
Returns:
void "Returns" content by reference private
See also:
getInstalledExtensions()

Definition at line 3006 of file class.em_index.php.

SC_mod_tools_em_index::fixEMCONF ( emConf  ) 

Fixes an old style ext_emconf.php array by adding constraints if needed and removing deprecated keys

Parameters:
array $emConf
Returns:
array

Definition at line 3037 of file class.em_index.php.

SC_mod_tools_em_index::splitVersionRange ( ver  ) 

Splits a version range into an array.

If a single version number is given, it is considered a minimum value. If a dash is found, the numbers left and right are considered as minimum and maximum. Empty values are allowed.

Parameters:
string $ver A string with a version range.
Returns:
array

Definition at line 3097 of file class.em_index.php.

SC_mod_tools_em_index::prepareImportExtList ( unsetProc = false  ) 

Maps remote extensions information into $cat/$list arrays for listing

Parameters:
boolean If set the info in the internal extensionsXML array will be unset before returning the result.
Returns:
array List array and category index as key 0 / 1 in an array.

Definition at line 3118 of file class.em_index.php.

SC_mod_tools_em_index::setCat ( &$  cat,
listArrayPart,
extKey 
)

Set category array entries for extension

Parameters:
array Category index array
array Part of list array for extension.
string Extension key
Returns:
array Modified category index array

Definition at line 3165 of file class.em_index.php.

SC_mod_tools_em_index::makeDetailedExtensionAnalysis ( extKey,
extInfo,
validity = 0 
)

Perform a detailed, technical analysis of the available extension on server! Includes all kinds of verifications Takes some time to process, therfore use with care, in particular in listings.

Parameters:
string Extension key
array Extension information
boolean If set, checks for validity of classes etc.
Returns:
array Information in an array.

Definition at line 3215 of file class.em_index.php.

SC_mod_tools_em_index::getClassIndexLocallangFiles ( absPath,
table_class_prefix,
extKey 
)

Analyses the php-scripts of an available extension on server

Parameters:
string Absolute path to extension
string Prefix for tables/classes.
string Extension key
Returns:
array Information array.
See also:
makeDetailedExtensionAnalysis()

Definition at line 3397 of file class.em_index.php.

SC_mod_tools_em_index::modConfFileAnalysis ( confFilePath  ) 

Reads $confFilePath (a module $conf-file) and returns information on the existence of TYPO3_MOD_PATH definition and MCONF_name

Parameters:
string Absolute path to a "conf.php" file of a module which we are analysing.
Returns:
array Information found.
See also:
writeTYPO3_MOD_PATH()

Definition at line 3467 of file class.em_index.php.

SC_mod_tools_em_index::serverExtensionMD5Array ( extKey,
conf 
)

Creates a MD5-hash array over the current files in the extension

Parameters:
string Extension key
array Extension information array
Returns:
array MD5-keys

Definition at line 3495 of file class.em_index.php.

SC_mod_tools_em_index::findMD5ArrayDiff ( current,
past 
)

Compares two arrays with MD5-hash values for analysis of which files has changed.

Parameters:
array Current values
array Past values
Returns:
array Affected files

Definition at line 3520 of file class.em_index.php.

SC_mod_tools_em_index::createDirsInPath ( dirs,
extDirPath 
)

Creates directories in $extDirPath

Parameters:
array Array of directories to create relative to extDirPath, eg. "blabla", "blabla/blabla" etc...
string Absolute path to directory.
Returns:
mixed Returns false on success or an error string

Definition at line 3552 of file class.em_index.php.

SC_mod_tools_em_index::removeExtDirectory ( removePath,
removeContentOnly = 0 
)

Removes the extension directory (including content)

Parameters:
string Extension directory to remove (with trailing slash)
boolean If set, will leave the extension directory
Returns:
boolean False on success, otherwise error string.

Definition at line 3570 of file class.em_index.php.

SC_mod_tools_em_index::clearAndMakeExtensionDir ( importedData,
type,
dontDelete = 0 
)

Removes the current extension of $type and creates the base folder for the new one (which is going to be imported)

Parameters: