Documentation TYPO3 par Ameos

t3lib_install Class Reference

Inheritance diagram for t3lib_install:
[legend]
List of all members.

Public Member Functions

 t3lib_install ()
 setValueInLocalconfFile (&$line_array, $variable, $value)
 writeToLocalconf_control ($inlines='', $absFullPath='')
 checkForBadString ($string)
 slashValueForSingleDashes ($value)
 getFieldDefinitions_sqlContent ($sqlContent)
 getFieldDefinitions_sqlContent_parseTypes (&$total)
 getFieldDefinitions_database ()
 getDatabaseExtra ($FDsrc, $FDcomp, $onlyTableList='', $ignoreNotNullWhenComparing=true)
 getUpdateSuggestions ($diffArr, $keyList='extra, diff')
 assembleFieldDefinition ($row)
 getStatementArray ($sqlcode, $removeNonSQL=0, $query_regex='')
 getCreateTables ($statements, $insertCountFlag=0)
 getTableInsertStatements ($statements, $table)
 performUpdateQueries ($arr, $keyArr)
 getListOfTables ()
 generateUpdateDatabaseForm_checkboxes ($arr, $label, $checked=1, $iconDis=0, $currentValue=array(), $cVfullMsg=0)

Public Attributes

 $updateIdentity = ''
 $deletedPrefixKey = 'zzz_deleted_'
 $dbUpdateCheckboxPrefix = 'TYPO3_INSTALL[database_update]'
 $localconf_addLinesOnly = 0
 $localconf_editPointToken = 'INSTALL SCRIPT EDIT POINT TOKEN - all lines after this points may be changed by the install script!'
 $allowUpdateLocalConf = 0
 $backPath = '../'
 $multiplySize = 1
 $setLocalconf = 0
 $messages = array()
 $touchedLine = 0

Detailed Description

Definition at line 83 of file class.t3lib_install.php.


Member Function Documentation

t3lib_install::t3lib_install (  ) 

Constructor function

Returns:
void

Definition at line 108 of file class.t3lib_install.php.

t3lib_install::setValueInLocalconfFile ( &$  line_array,
variable,
value 
)

This functions takes an array with lines from localconf.php, finds a variable and inserts the new value.

Parameters:
array $line_array the localconf.php file exploded into an array by linebreaks. (see writeToLocalconf_control())
string $variable The variable name to find and substitute. This string must match the first part of a trimmed line in the line-array. Matching is done backwards so the last appearing line will be substituted.
string $value Is the value to be insert for the variable
Returns:
void
See also:
writeToLocalconf_control()

Definition at line 132 of file class.t3lib_install.php.

References checkForBadString(), and slashValueForSingleDashes().

Referenced by tx_install::generateConfigForm().

t3lib_install::writeToLocalconf_control ( inlines = '',
absFullPath = '' 
)

Writes or returns lines from localconf.php

Parameters:
array Array of lines to write back to localconf.php. Possibly
string Absolute path of alternative file to use (Notice: this path is not validated in terms of being inside 'TYPO3 space')
Returns:
mixed If $inlines is not an array it will return an array with the lines from localconf.php. Otherwise it will return a status string, either "continue" (updated) or "nochange" (not updated)
See also:
setValueInLocalconfFile()

Reimplemented in tx_install.

Definition at line 183 of file class.t3lib_install.php.

References t3lib_div::sysLog(), and t3lib_div::writeFile().

t3lib_install::checkForBadString ( string  ) 

Checking for linebreaks in the string

Parameters:
string String to test
Returns:
boolean Returns TRUE if string is OK
See also:
setValueInLocalconfFile()

Definition at line 254 of file class.t3lib_install.php.

Referenced by tx_install::generateConfigForm(), and setValueInLocalconfFile().

t3lib_install::slashValueForSingleDashes ( value  ) 

Replaces ' with \' and \ with \

Parameters:
string Input value
Returns:
string Output value
See also:
setValueInLocalconfFile()

Definition at line 265 of file class.t3lib_install.php.

Referenced by setValueInLocalconfFile().

t3lib_install::getFieldDefinitions_sqlContent ( sqlContent  ) 

Reads the field definitions for the input sql-file string

Parameters:
string $sqlContent: Should be a string read from an sql-file made with 'mysqldump [database_name] -d'
Returns:
array Array with information about table.

Definition at line 294 of file class.t3lib_install.php.

References getFieldDefinitions_sqlContent_parseTypes(), and t3lib_div::trimExplode().

t3lib_install::getFieldDefinitions_sqlContent_parseTypes ( &$  total  ) 

Multiplies varchars/tinytext fields in size according to $this->multiplySize Useful if you want to use UTF-8 in the database and needs to extend the field sizes in the database so UTF-8 chars are not discarded. For most charsets available as single byte sets, multiplication with 2 should be enough. For chinese, use 3.

Parameters:
array Total array (from getFieldDefinitions_sqlContent())
Returns:
void private
See also:
getFieldDefinitions_sqlContent()

Definition at line 363 of file class.t3lib_install.php.

References t3lib_div::makeInstance(), and t3lib_div::trimExplode().

Referenced by getFieldDefinitions_sqlContent().

t3lib_install::getFieldDefinitions_database (  ) 

Reads the field definitions for the current database

Returns:
array Array with information about table.

Definition at line 425 of file class.t3lib_install.php.

References assembleFieldDefinition().

t3lib_install::getDatabaseExtra ( FDsrc,
FDcomp,
onlyTableList = '',
ignoreNotNullWhenComparing = true 
)

Compares two arrays with field information and returns information about fields that are MISSING and fields that have CHANGED. FDsrc and FDcomp can be switched if you want the list of stuff to remove rather than update.

Parameters:
array Field definitions, source (from getFieldDefinitions_sqlContent())
array Field definitions, comparison. (from getFieldDefinitions_database())
string Table names (in list) which is the ONLY one observed.
boolean If set, this function ignores NOT NULL statements of the sql file field definition when comparing current field definition from database with field definition from sql file. This way, NOT NULL statements will be executed when the field is initially created, but the sql parser will never complain about missing NOT NULL statements afterwards.
Returns:
array Returns an array with 1) all elements from $FSsrc that is not in $FDcomp (in key 'extra') and 2) all elements from $FSsrc that is difference from the ones in $FDcomp

Definition at line 482 of file class.t3lib_install.php.

References t3lib_div::inList().

t3lib_install::getUpdateSuggestions ( diffArr,
keyList = 'extra,
diff'   
)

Returns an array with SQL-statements that is needed to update according to the diff-array

Parameters:
array Array with differences of current and needed DB settings. (from getDatabaseExtra())
string List of fields in diff array to take notice of.
Returns:
array Array of SQL statements (organized in keys depending on type)

Definition at line 528 of file class.t3lib_install.php.

References $deletedPrefixKey.

t3lib_install::assembleFieldDefinition ( row  ) 

Converts a result row with field information into the SQL field definition string

Parameters:
array MySQL result row.
Returns:
string Field definition

Definition at line 621 of file class.t3lib_install.php.

Referenced by getFieldDefinitions_database().

t3lib_install::getStatementArray ( sqlcode,
removeNonSQL = 0,
query_regex = '' 
)

Returns an array where every entry is a single sql-statement. Input must be formatted like an ordinary MySQL-dump files

Parameters:
string $sqlcode The sql-file content. Provided that 1) every query in the input is ended with ';' and that a line in the file contains only one query or a part of a query.
boolean If set, non-sql (like comments and blank lines) are not included in the final product)
string Regex to filter SQL lines to include.
Returns:
array Array of SQL statements.

Definition at line 643 of file class.t3lib_install.php.

t3lib_install::getCreateTables ( statements,
insertCountFlag = 0 
)

Returns tables to create and how many records in each

Parameters:
array Array of SQL statements to analyse.
boolean If set, will count number of INSERT INTO statements following that table definition
Returns:
array Array with table definitions in index 0 and count in index 1

Definition at line 681 of file class.t3lib_install.php.

t3lib_install::getTableInsertStatements ( statements,
table 
)

Extracts all insert statements from $statement array where content is inserted into $table

Parameters:
array Array of SQL statements
string Table name
Returns:
array Array of INSERT INTO statements where table match $table

Definition at line 715 of file class.t3lib_install.php.

t3lib_install::performUpdateQueries ( arr,
keyArr 
)

Performs the queries passed from the input array.

Parameters:
array Array of SQL queries to execute.
array Array with keys that must match keys in $arr. Only where a key in this array is set and true will the query be executed (meant to be passed from a form checkbox)
Returns:
void

Definition at line 736 of file class.t3lib_install.php.

t3lib_install::getListOfTables (  ) 

Returns list of tables in the database

Returns:
array List of tables.
See also:
t3lib_db::admin_get_tables()

Definition at line 752 of file class.t3lib_install.php.

Referenced by tx_install::cleanupManager(), and tx_install::stepOutput().

t3lib_install::generateUpdateDatabaseForm_checkboxes ( arr,
label,
checked = 1,
iconDis = 0,
currentValue = array(),
cVfullMsg = 0 
)

Creates a table which checkboxes for updating database.

Parameters:
array Array of statements (key / value pairs where key is used for the checkboxes)
string Label for the table.
boolean If set, then checkboxes are set by default.
boolean If set, then icons are shown.
array Array of "current values" for each key/value pair in $arr. Shown if given.
boolean If set, will show the prefix "Current value" if $currentValue is given.
Returns:
string HTML table with checkboxes for update. Must be wrapped in a form.

Definition at line 768 of file class.t3lib_install.php.


The documentation for this class was generated from the following file:


Généré par Les experts TYPO3 avec  doxygen 1.4.6