Project

General

Profile

Bug #20579 ยป 20090605_RFC_11283.diff

Administrator Admin, 2009-06-05 16:56

View differences:

typo3/sysext/install/mod/class.tx_install.php (working copy)
$this->silent=0;
$content = '<form action="index.php" method="post" name="passwordForm">
<input type="password" name="password"><br />
<input type="hidden" name="redirect_url" value="'.$redirect_url.'">
<input type="submit" value="Log in"><br />
<input type="password" name="password" /><br />
<input type="hidden" name="redirect_url" value="' . $redirect_url . '" />
<input type="submit" value="Log in" /><br />
<br />
'.$this->fw('The Install Tool Password is <i>not</i> the admin password of TYPO3.<br />
' . $this->fw('The Install Tool Password is <i>not</i> the admin password of TYPO3.<br />
If you don\'t know the current password, you can set a new one by setting the value of $TYPO3_CONF_VARS[\'BE\'][\'installToolPassword\'] in typo3conf/localconf.php to the md5() hash value of the password you desire.'.
($p ? '<br /><br />The password you just tried has this md5-value: <br /><br />'.md5($p) : '')
).'
($p ? '<br /><br />The password you just tried has this md5-value: <br /><br />' . md5($p) : '')
) . '
</form>
<script type="text/javascript">
<!--
......
$this->generateConfigForm('get_form');
$content = $this->printAll();
$content = '<form action="'.$this->action.'" method="post">'.$content.'<input type="submit" value="Write to localconf.php"><br /><br />
'.$this->fw('<strong>NOTICE: </strong>By clicking this button, localconf.php is updated with new values for the parameters listed above!<br />').'
$content = '<form action="' . $this->action . '" method="post">' . $content . '<input type="submit" value="Write to localconf.php" /><br /><br />
' . $this->fw('<strong>NOTICE: </strong>By clicking this button, localconf.php is updated with new values for the parameters listed above!<br />') . '
</form>';
$this->output($this->outputWrapper($content));
break;
......
*/
function stepOutput() {
$this->checkTheConfig();
$error_missingConnect='<br />
'.$this->fontTag2.'<img src="'.$this->backPath.'gfx/icon_fatalerror.gif" width="18" height="16" class="absmiddle">
$error_missingConnect = '<br />
' . $this->fontTag2 . '<img src="' . $this->backPath . 'gfx/icon_fatalerror.gif" width="18" height="16" class="absmiddle" />
There is no connection to the database!<br />
(Username: <i>'.TYPO3_db_username.'</i>, Password: <i>'.TYPO3_db_password.'</i>, Host: <i>'.TYPO3_db_host.'</i>).<br />
(Username: <i>' . TYPO3_db_username . '</i>, Password: <i>' . TYPO3_db_password . '</i>, Host: <i>' . TYPO3_db_host . '</i>).<br />
<br />
<strong>Go to Step 1</strong> and enter a proper username/password!</span>
<br />
<br />
';
$error_missingDB='<br />
'.$this->fontTag2.'<img src="'.$this->backPath.'gfx/icon_fatalerror.gif" width="18" height="16" class="absmiddle">
There is no access to the database (<i>'.TYPO3_db.'</i>)!<br />
$error_missingDB = '<br />
' . $this->fontTag2 . '<img src="' . $this->backPath . 'gfx/icon_fatalerror.gif" width="18" height="16" class="absmiddle" />
There is no access to the database (<i>' . TYPO3_db . '</i>)!<br />
<br />
<strong>Go to Step 2</strong> and select an accessible database!</span>
<br />
......
// only get the number of tables if it is not the first step in the 123-installer
// (= no DB connection yet)
$whichTables = ($this->step != 1 ? $this->getListOfTables() : array());
$dbInfo='
$dbInfo = '
<table border="0" cellpadding="1" cellspacing="0">
<tr>
<td valign="top" nowrap="nowrap" colspan="2" align="center">'.$this->fontTag2.'<strong><img src="'.$this->backPath.'gfx/icon_note.gif" hspace="5" width="18" height="16" class="absmiddle">Database summary:</strong></span></td>
<tr>
<td valign="top" nowrap="nowrap" colspan="2" align="center">' . $this->fontTag2 . '<strong><img src="' . $this->backPath . 'gfx/icon_note.gif" hspace="5" width="18" height="16" class="absmiddle" />Database summary:</strong></span></td>
</tr>
<tr>
<td valign="top" nowrap="nowrap">'.$this->fontTag1.'Username:</span></td>
<td valign="top" nowrap="nowrap"><strong>'.$this->fontTag1.''.TYPO3_db_username.'</span></strong></td>
<tr>
<td valign="top" nowrap="nowrap">' . $this->fontTag1 . 'Username:</span></td>
<td valign="top" nowrap="nowrap"><strong>' . $this->fontTag1 . '' . TYPO3_db_username . '</span></strong></td>
</tr>
<tr>
<td valign="top" nowrap="nowrap">'.$this->fontTag1.'Password:</span></td>
<td valign="top" nowrap="nowrap"><strong>'.$this->fontTag1.''.TYPO3_db_password.'</span></strong></td>
<tr>
<td valign="top" nowrap="nowrap">' . $this->fontTag1 . 'Password:</span></td>
<td valign="top" nowrap="nowrap"><strong>' . $this->fontTag1 . '' . TYPO3_db_password . '</span></strong></td>
</tr>
<tr>
<td valign="top" nowrap="nowrap">'.$this->fontTag1.'Host:</span></td>
<td valign="top" nowrap="nowrap"><strong>'.$this->fontTag1.''.TYPO3_db_host.'</span></strong></td>
<tr>
<td valign="top" nowrap="nowrap">' . $this->fontTag1 . 'Host:</span></td>
<td valign="top" nowrap="nowrap"><strong>' . $this->fontTag1 . '' . TYPO3_db_host . '</span></strong></td>
</tr>
<tr>
<td valign="top" nowrap="nowrap">'.$this->fontTag1.'Database:</span></td>
<td valign="top" nowrap="nowrap"><strong>'.$this->fontTag1.''.TYPO3_db.'</span></strong></td>
<tr>
<td valign="top" nowrap="nowrap">' . $this->fontTag1 . 'Database:</span></td>
<td valign="top" nowrap="nowrap"><strong>' . $this->fontTag1 . '' . TYPO3_db . '</span></strong></td>
</tr>
<tr>
<td valign="top" nowrap="nowrap">'.$this->fontTag1.'# of tables:</span></td>
<td valign="top" nowrap="nowrap"><strong>'.$this->fontTag1.''.(count($whichTables)?'<span style="color:#f00;">'.count($whichTables).'</span>':count($whichTables)).'</span></strong></td>
<tr>
<td valign="top" nowrap="nowrap">' . $this->fontTag1 . '# of tables:</span></td>
<td valign="top" nowrap="nowrap"><strong>' . $this->fontTag1 . '' . (count($whichTables) ? '<span style="color:#f00;">' . count($whichTables) . '</span>' : count($whichTables)) . '</span></strong></td>
</tr>
</table>
';
$error_emptyDB='<br />
'.$this->fontTag2.'<img src="'.$this->backPath.'gfx/icon_fatalerror.gif" width="18" height="16" class="absmiddle">
$error_emptyDB = '<br />
' . $this->fontTag2 . '<img src="' . $this->backPath . 'gfx/icon_fatalerror.gif" width="18" height="16" class="absmiddle" />
The database is still empty. There are no tables!<br />
<br />
<strong>Go to Step 3</strong> and import a database!</span>
......
switch(strtolower($this->step)) {
case 1:
$msg='
$msg = '
<br />
<br />
<table border="0">
<form action="'.$this->action.'" method="post">
<tr>
<td valign="top" nowrap="nowrap"><strong>
'.$this->fontTag2.'Username:</span></strong>
</td>
<td> &nbsp;
</td>
<td valign="top">
'.$this->fontTag2.'
<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_username]" value="'.TYPO3_db_username.'"></span><br />
</td>
</tr>
<tr>
<td valign="top" nowrap="nowrap"><strong>
'.$this->fontTag2.'Password:</span></strong>
</td>
<td> &nbsp;
</td>
<td valign="top">
'.$this->fontTag2.'
<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_password]" value="'.TYPO3_db_password.'"></span><br />
</td>
</tr>
<tr>
<td valign="top" nowrap="nowrap"><strong>
'.$this->fontTag2.'Host:</span></strong>
</td>
<td> &nbsp;
</td>
<td valign="top">
'.$this->fontTag2.'
<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_host]" value="'.(TYPO3_db_host?TYPO3_db_host:'localhost').'"></span><br />
</td>
</tr>
<tr>
<td valign="top" nowrap="nowrap"><strong>
'.$this->fontTag1.'</span></strong>
</td>
<td> &nbsp;
</td>
<td valign="top">
'.$this->fontTag1.'<br />
<input type="hidden" name="step" value="2">
<input type="hidden" name="TYPO3_INSTALL[localconf.php][encryptionKey]" value="'.md5(uniqid(rand(),true)).'">
<input type="hidden" name="TYPO3_INSTALL[localconf.php][compat_version]" value="'.TYPO3_branch.'">
<input type="submit" value="Continue"><br /><br /><strong>NOTICE: </strong>By clicking this button, typo3conf/localconf.php is updated with new values for the parameters listed above!</span><br />
</td>
</tr>
</form>
<form action="' . $this->action . '" method="post">
<tr>
<td valign="top" nowrap="nowrap"><strong>
' . $this->fontTag2 . 'Username:</span></strong>
</td>
<td>&nbsp;
</td>
<td valign="top">
' . $this->fontTag2 . '
<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_username]" value="' . TYPO3_db_username . '" /></span><br />
</td>
</tr>
<tr>
<td valign="top" nowrap="nowrap"><strong>
' . $this->fontTag2 . 'Password:</span></strong>
</td>
<td>&nbsp;
</td>
<td valign="top">
' . $this->fontTag2 . '
<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_password]" value="' . TYPO3_db_password . '" /></span><br />
</td>
</tr>
<tr>
<td valign="top" nowrap="nowrap"><strong>
' . $this->fontTag2 . 'Host:</span></strong>
</td>
<td>&nbsp;
</td>
<td valign="top">
' . $this->fontTag2 . '
<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_host]" value="' . (TYPO3_db_host?TYPO3_db_host:'localhost') . '" /></span><br />
</td>
</tr>
<tr>
<td valign="top" nowrap="nowrap"><strong>
' . $this->fontTag1 . '</span></strong>
</td>
<td>&nbsp;
</td>
<td valign="top">
' . $this->fontTag1 . '<br />
<input type="hidden" name="step" value="2" />
<input type="hidden" name="TYPO3_INSTALL[localconf.php][encryptionKey]" value="' . md5(uniqid(rand(), true)) . '" />
<input type="hidden" name="TYPO3_INSTALL[localconf.php][compat_version]" value="' . TYPO3_branch . '" />
<input type="submit" value="Continue" /><br /><br /><strong>NOTICE: </strong>By clicking this button, typo3conf/localconf.php is updated with new values for the parameters listed above!</span><br />
</td>
</tr>
</form>
</table>
<br />
<br />';
......
$options.='<option value="'.htmlspecialchars(TYPO3_db).'" selected="selected">'.htmlspecialchars(TYPO3_db).' (NO ACCESS!)</option>';
}
$select='<select name="TYPO3_INSTALL[localconf.php][typo_db]">'.$options.'</select>';
$msg='
$msg = '
<br />
<br />
<table border="0">
<form action="'.$this->action.'" method="post">
<tr>
<td valign="top" nowrap="nowrap"><strong>
'.$this->fontTag2.'
You have two options:<br />
<br /><br />
<form action="' . $this->action . '" method="post">
<tr>
<td valign="top" nowrap="nowrap"><strong>
' . $this->fontTag2 . '
You have two options:<br />
<br /><br />
1: Select an existing <u>EMPTY</u> database:</span></strong>
</td>
1: Select an existing <u>EMPTY</u> database:</span></strong>
</td>
</tr>
<tr>
<td valign="top">
'.$this->fontTag1.'Any existing tables which are used by TYPO3 will be overwritten in Step 3. So make sure this database is empty:<br />'.$select.'</span><br />
</td>
</tr>
<tr>
<td valign="top" nowrap="nowrap"><br />
<br />
<strong>
'.$this->fontTag2.'2: Create new database (recommended):</span></strong>
</td>
<td valign="top">
' . $this->fontTag1 . 'Any existing tables which are used by TYPO3 will be overwritten in Step 3. So make sure this database is empty:<br />' . $select . '</span><br />
</td>
</tr>
<tr>
<td valign="top">
'.$this->fontTag1.'Enter the desired name of the database here:<br /><input type="text" name="TYPO3_INSTALL[localconf.php][NEW_DATABASE_NAME]" value=""></span><br />
</td>
</tr>
<tr>
<td valign="top"> <br />
'.$this->fontTag1.'<br />
<input type="hidden" name="step" value="3">
<input type="submit" value="Continue"><br /><br /><strong>NOTICE: </strong>By clicking this button, typo3conf/localconf.php is updated with new values for the parameters listed above!</span><br />
</td>
</tr>
</form>
<td valign="top" nowrap="nowrap"><br />
<br />
<strong>' . $this->fontTag2 . '2: Create new database (recommended):</span></strong>
</td>
</tr>
<tr>
<td valign="top">
' . $this->fontTag1 . 'Enter the desired name of the database here:<br /><input type="text" name="TYPO3_INSTALL[localconf.php][NEW_DATABASE_NAME]" value="" /></span><br />
</td>
</tr>
<tr>
<td valign="top">
<br />
' . $this->fontTag1 . '<br />
<input type="hidden" name="step" value="3" />
<input type="submit" value="Continue" /><br /><br /><strong>NOTICE: </strong>By clicking this button, typo3conf/localconf.php is updated with new values for the parameters listed above!</span><br />
</td>
</tr>
</form>
</table>
<br />
<br />
......
}
$content='
'.$this->fontTag2.'Please select a database dump:</span><br />
<input type="hidden" name="TYPO3_INSTALL[database_import_all]" value=1>
<input type="hidden" name="step" value="">
<input type="hidden" name="goto_step" value="go">
<select name="TYPO3_INSTALL[database_type]">'.$opt.'</select><br />';
$content = '
' . $this->fontTag2 . 'Please select a database dump:</span><br />
<input type="hidden" name="TYPO3_INSTALL[database_import_all]" value="1" />
<input type="hidden" name="step" value="" />
<input type="hidden" name="goto_step" value="go" />
<select name="TYPO3_INSTALL[database_type]">' . $opt . '</select><br />';
$content = $this->getUpdateDbFormWrap('import', $content, 'Import database');
......
if ($result = $GLOBALS['TYPO3_DB']->sql_pconnect(TYPO3_db_host, TYPO3_db_username, TYPO3_db_password)) {
if ($GLOBALS['TYPO3_DB']->sql_select_db(TYPO3_db)) {
if (count($whichTables)) {
$msg='
$msg = '
<br />
'.$this->fontTag2.'
'.nl2br($this->messageBasicFinished()).'
' . $this->fontTag2 . '
' . nl2br($this->messageBasicFinished()) . '
<br />
<hr />
<div align="center"><strong><img src="'.$this->backPath.'gfx/icon_warning.gif" hspace="5" width="18" height="16" class="absmiddle">IMPORTANT</strong></div><br />
<span class="smalltext">'.nl2br($this->securityRisk()).'
<div align="center"><strong><img src="' . $this->backPath . 'gfx/icon_warning.gif" hspace="5" width="18" height="16" class="absmiddle" />IMPORTANT</strong></div><br />
<span class="smalltext">' . nl2br($this->securityRisk()) . '
<br />
<strong>Enter <a href="'.$this->scriptSelf.'">"Normal" mode for the Install Tool</a> to change this!</strong><br />
<strong>Enter <a href="' . $this->scriptSelf . '">"Normal" mode for the Install Tool</a> to change this!</strong><br />
</span>
</span><br />
......
$wrap=array('<strong><span style="color:navy;">','</span></strong>');
$fileFound = 1;
} else {$wrap=array();}
$lines[]='<tr><td nowrap="nowrap"><a href="'.$this->action.'&TYPO3_INSTALL[typo3conf_files]='.rawurlencode($file).($this->allowFileEditOutsite_typo3conf_dir?'&TYPO3_INSTALL[FILE][EDIT_path]='.rawurlencode($this->INSTALL['FILE']['EDIT_path']):"").'">'.$this->fw($wrap[0].basename($file).$wrap[1].'&nbsp;&nbsp;&nbsp;').'</a></td><td>'.$this->fw(t3lib_div::formatSize(filesize($file))).'</td></tr>';
$lines[] = '<tr><td nowrap="nowrap"><a href="' . $this->action . '&amp;TYPO3_INSTALL[typo3conf_files]=' . rawurlencode($file) . ($this->allowFileEditOutsite_typo3conf_dir ? '&amp;TYPO3_INSTALL[FILE][EDIT_path]=' . rawurlencode($this->INSTALL['FILE']['EDIT_path']) : "") . '">' . $this->fw($wrap[0] . basename($file) . $wrap[1] . '&nbsp;&nbsp;&nbsp;') . '</a></td><td>' . $this->fw(t3lib_div::formatSize(filesize($file))) . '</td></tr>';
}
$fileList='<table border="0" cellpadding="0" cellspacing="0">'.implode('',$lines).'</table>';
$fileList.='<br />('.$EDIT_path.')';
if ($this->allowFileEditOutsite_typo3conf_dir) {
$fileList.='<br /><form action="'.$this->action.'" method="post">
'.PATH_site.'<input type="text" name="TYPO3_INSTALL[FILE][EDIT_path]" value="'.$this->INSTALL['FILE']['EDIT_path'].'"><input type="submit" name="" value="Set">
$fileList .= '<br /><form action="' . $this->action . '" method="post">
' . PATH_site . '<input type="text" name="TYPO3_INSTALL[FILE][EDIT_path]" value="' . $this->INSTALL['FILE']['EDIT_path'] . '" /><input type="submit" name="" value="Set" />
</form>';
}
// create link for deleting temp_CACHED files
$fileList .= '<br /><br /><a href="'.$this->action.'&TYPO3_INSTALL[delTempCached]=1">Delete temp_CACHED* files</a>';
$fileList .= '<br /><br /><a href="' . $this->action . '&amp;TYPO3_INSTALL[delTempCached]=1">Delete temp_CACHED* files</a>';
if ($fileFound && @is_file($this->INSTALL['typo3conf_files'])) {
$backupFile = $this->getBackupFilename($this->INSTALL['typo3conf_files']);
$fileContent = t3lib_div::getUrl($this->INSTALL['typo3conf_files']);
$this->contentBeforeTable.= '<div class="editFile"><form action="'.$this->action.'" method="post">'.(substr($this->INSTALL['typo3conf_files'],-1)!='~' && !strstr($this->INSTALL['typo3conf_files'],'_bak') ? '
<input type="submit" name="TYPO3_INSTALL[SAVE_FILE]" value="Save file">&nbsp;' : '').'
<input type="submit" name="_close" value="Close">
<br />File: '.$this->INSTALL['typo3conf_files'].'
<br />MD5-sum: '.md5($fileContent).'
$this->contentBeforeTable .= '<div class="editFile"><form action="' . $this->action . '" method="post">' . (substr($this->INSTALL['typo3conf_files'], -1) != '~' && !strstr($this->INSTALL['typo3conf_files'], '_bak') ? '
<input type="submit" name="TYPO3_INSTALL[SAVE_FILE]" value="Save file" />&nbsp;' : '') . '
<input type="submit" name="_close" value="Close" />
<br />File: ' . $this->INSTALL['typo3conf_files'] . '
<br />MD5-sum: ' . md5($fileContent) . '
<br />
<input type="hidden" name="TYPO3_INSTALL[FILE][name]" value="'.$this->INSTALL['typo3conf_files'].'">
'.($this->allowFileEditOutsite_typo3conf_dir?'<input type="hidden" name="TYPO3_INSTALL[FILE][EDIT_path]" value="'.$this->INSTALL['FILE']['EDIT_path'].'">':'').'
<input type="hidden" name="TYPO3_INSTALL[FILE][prevMD5]" value="'.md5($fileContent).'">
<textarea rows="30" name="TYPO3_INSTALL[FILE]['.md5($this->INSTALL['typo3conf_files']).']" wrap="off"'.$this->formWidthText(48,'width:98%;height:80%','off').' class="fixed-font enable-tab">'.t3lib_div::formatForTextarea($fileContent).'</textarea><br />
<input type="checkbox" name="TYPO3_INSTALL[FILE][win_to_unix_br]" id="win_to_unix_br" value="1"'.(TYPO3_OS=='WIN'?'':' checked="checked"').'> <label for="win_to_unix_br">Convert Windows linebreaks (13-10) to Unix (10)</label><br />
<input type="checkbox" name="TYPO3_INSTALL[FILE][backup]" id="backup" value="1"'.(@is_file($backupFile) ? ' checked="checked"' : '').'> <label for="backup">Make backup copy (rename to '.basename($backupFile).')</label><br />
'.
<input type="hidden" name="TYPO3_INSTALL[FILE][name]" value="' . $this->INSTALL['typo3conf_files'] . '" />
' . ($this->allowFileEditOutsite_typo3conf_dir ? '<input type="hidden" name="TYPO3_INSTALL[FILE][EDIT_path]" value="' . $this->INSTALL['FILE']['EDIT_path'] . '" />' : '') . '
<input type="hidden" name="TYPO3_INSTALL[FILE][prevMD5]" value="' . md5($fileContent) . '" />
<textarea rows="30" name="TYPO3_INSTALL[FILE][' . md5($this->INSTALL['typo3conf_files']) . ']" wrap="off"' . $this->formWidthText(48, 'width:98%;height:80%', 'off') . ' class="fixed-font enable-tab">' . t3lib_div::formatForTextarea($fileContent) . '</textarea><br />
<input type="checkbox" name="TYPO3_INSTALL[FILE][win_to_unix_br]" id="win_to_unix_br" value="1"' . (TYPO3_OS=='WIN' ? '' : ' checked="checked"') . ' /> <label for="win_to_unix_br">Convert Windows linebreaks (13-10) to Unix (10)</label><br />
<input type="checkbox" name="TYPO3_INSTALL[FILE][backup]" id="backup" value="1"' . (@is_file($backupFile) ? ' checked="checked"' : '') . ' /> <label for="backup">Make backup copy (rename to ' . basename($backupFile) . ')</label><br />
' .
'</form></div>';
}
......
<select name="TYPO3_INSTALL[typo3temp_subdir]">'.$this->getSelectorOptions($subdirRegistry, $this->INSTALL['typo3temp_subdir']).'</select>
';
$form = '<form action="'.$this->action.'" method="post">'.$content.'
$form = '<form action="' . $this->action . '" method="post">' . $content . '
<input type="submit" value="Execute">
<input type="submit" value="Execute" />
</form>
This tool will delete files only if the last 10 characters before the extension (3 chars+\'.\') are hexadecimal valid ciphers, which are lowercase a-f and 0-9.';
......
}
$content = '<select name="TYPO3_INSTALL[cleanup_type]">'.$this->getSelectorOptions($cleanupType).'</select> ';
$form = '<form action="'.$this->action.'" method="post">'.$content.'<input type="submit" value="Execute"></form>';
$form = '<form action="' . $this->action . '" method="post">' . $content . '<input type="submit" value="Execute" /></form>';
$this->message($headCode,'Statistics','
Number cached image sizes: <strong>'.$cachedImageSizesCounter.'</strong><br />
'.$form,1);
......
if ($isTextarea) {
$form = '<textarea name="TYPO3_INSTALL[extConfig]['.$k.']['.$vk.']" cols="60" rows="5" wrap="off">'.htmlspecialchars($value).'</textarea>';
} elseif (preg_match('/^boolean/i',$description)) {
$form = '<input type="hidden" name="TYPO3_INSTALL[extConfig]['.$k.']['.$vk.']" value="0">';
$form.= '<input type="checkbox" name="TYPO3_INSTALL[extConfig]['.$k.']['.$vk.']"'.($value?' checked="checked"':'').' value="'.($value&&strcmp($value,'0')?htmlspecialchars($value):1).'">';
$form = '<input type="hidden" name="TYPO3_INSTALL[extConfig][' . $k . '][' . $vk . ']" value="0" />';
$form.= '<input type="checkbox" name="TYPO3_INSTALL[extConfig][' . $k . '][' . $vk . ']"' . ($value ? ' checked="checked"' : '') . ' value="' . ($value && strcmp($value, '0') ? htmlspecialchars($value) : 1) . '" />';
} else {
$form = '<input type="text" size="40" name="TYPO3_INSTALL[extConfig]['.$k.']['.$vk.']" value="'.htmlspecialchars($value).'">';
$form = '<input type="text" size="40" name="TYPO3_INSTALL[extConfig][' . $k . '][' . $vk . ']" value="' . htmlspecialchars($value) . '" />';
}
$this->message($ext, $k2,$msg.$form);
}
......
function check_mail($cmd='') {
switch($cmd) {
case 'get_form':
$out='
You can check the mail() function by entering your email address here and press the button. You should then receive a testmail from test@test.test.<br /> Since almost all mails in TYPO3 are sent using the t3lib_htmlmail class, sending with this class can be tested by checking the box <strong>Test t3lib_htmlmail</strong> below. The return-path of the mail is set to null@'.t3lib_div::getIndpEnv('HTTP_HOST').'. Some mail servers won\'t send the mail if the host of the return-path is not resolved correctly.
<form action="'.$this->action.'" method="post"><input type="text" name="TYPO3_INSTALL[check_mail]"><br /><input type="checkbox" name="TYPO3_INSTALL[use_htmlmail]" id="use_htmlmail" ><label for="use_htmlmail">Test t3lib_htmlmail.</label>
<input type="submit" value="Send test mail"></form>';
$out = '
You can check the mail() function by entering your email address here and press the button. You should then receive a testmail from test@test.test.<br /> Since almost all mails in TYPO3 are sent using the t3lib_htmlmail class, sending with this class can be tested by checking the box <strong>Test t3lib_htmlmail</strong> below. The return-path of the mail is set to null@' . t3lib_div::getIndpEnv('HTTP_HOST') . '. Some mail servers won\'t send the mail if the host of the return-path is not resolved correctly.
<form action="' . $this->action . '" method="post"><input type="text" name="TYPO3_INSTALL[check_mail]" /><br /><input type="checkbox" name="TYPO3_INSTALL[use_htmlmail]" id="use_htmlmail" /><label for="use_htmlmail">Test t3lib_htmlmail.</label>
<input type="submit" value="Send test mail" /></form>';
break;
default:
if (trim($this->INSTALL['check_mail'])) {
......
It looks like the FreeType library is not compiled into GDLib. This is required when TYPO3 uses GDLib and you'll most likely get errors like 'ImageTTFBBox is not a function' or 'ImageTTFText is not a function'.
", 2);
} else {
$this->message($ext, 'FreeType quick-test ('.($this->isGIF()?'as GIF':'as PNG').')', '<img src="'.htmlspecialchars(t3lib_div::getIndpEnv('REQUEST_URI').'&testingTrueTypeSupport=1').'" alt=""><br />(If the text is exceeding the image borders you are using Freetype 2 and need to set TYPO3_CONF_VARS[GFX][TTFdpi]=96.<br />If there is no image at all Freetype is most likely NOT available and you can just as well disable GDlib for TYPO3...)', -1);
$this->message($ext, 'FreeType quick-test (' . ($this->isGIF() ? 'as GIF' : 'as PNG') . ')', '<img src="' . htmlspecialchars(t3lib_div::getIndpEnv('REQUEST_URI') . '&testingTrueTypeSupport=1') . '" alt="" /><br />(If the text is exceeding the image borders you are using Freetype 2 and need to set TYPO3_CONF_VARS[GFX][TTFdpi]=96.<br />If there is no image at all Freetype is most likely NOT available and you can just as well disable GDlib for TYPO3...)', -1);
$this->config_array['freetype']=1;
}
} else {
......
}
$this->message($ext, 'Available ImageMagick/GraphicsMagick installations:','<table border="1" cellpadding="2" cellspacing="2">'.$theCode.'</table>',-1);
}
$this->message($ext, 'Search for ImageMagick:','
<form action="'.$this->action.'" method="post">
<input type="checkbox" name="TYPO3_INSTALL[checkIM][lzw]" id="checkImLzw" value="1"'.($this->INSTALL['checkIM']['lzw']?' checked="checked"':'').'> <label for="checkImLzw">Check LZW capabilities.</label>
$this->message($ext, 'Search for ImageMagick:', '
<form action="' . $this->action . '" method="post">
<input type="checkbox" name="TYPO3_INSTALL[checkIM][lzw]" id="checkImLzw" value="1"' . ($this->INSTALL['checkIM']['lzw'] ? ' checked="checked"' : '') . ' /> <label for="checkImLzw">Check LZW capabilities.</label>
Check this path for ImageMagick installation:
<input type="text" name="TYPO3_INSTALL[checkIM][path]" value="'.htmlspecialchars($this->INSTALL['checkIM']['path']).'">
<input type="text" name="TYPO3_INSTALL[checkIM][path]" value="' . htmlspecialchars($this->INSTALL['checkIM']['path']) . '" />
(Eg. "D:\wwwroot\im537\ImageMagick\" for Windows or "/usr/bin/" for Unix)<br />
<input type="submit" value="Send">
<input type="submit" value="Send" />
</form>
',0);
', 0);
}
......
<form name="setupGeneral" action="'.$this->action.'" method="post">
<table border="0" cellpadding="0" cellspacing="0">';
$out.=$this->wrapInCells('Username:', '<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_username]" value="'.htmlspecialchars(TYPO3_db_username?TYPO3_db_username:($this->config_array['sql.safe_mode_user']?$this->config_array['sql.safe_mode_user']:"")).'">'.($this->config_array['sql.safe_mode_user']?"<br />sql.safe_mode_user: <strong>".$this->config_array['sql.safe_mode_user']."</strong>":""));
$out.=$this->wrapInCells('Password:', '<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_password]" value="'.htmlspecialchars(TYPO3_db_password).'">');
$out.=$this->wrapInCells('Host:', '<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_host]" value="'.htmlspecialchars(TYPO3_db_host).'">');
$out .= $this->wrapInCells('Username:', '<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_username]" value="' . htmlspecialchars(TYPO3_db_username ? TYPO3_db_username : ($this->config_array['sql.safe_mode_user'] ? $this->config_array['sql.safe_mode_user'] : "")) . '" />' . ($this->config_array['sql.safe_mode_user'] ? "<br />sql.safe_mode_user: <strong>" . $this->config_array['sql.safe_mode_user'] . "</strong>" : ""));
$out .= $this->wrapInCells('Password:', '<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_password]" value="' . htmlspecialchars(TYPO3_db_password) . '" />');
$out .= $this->wrapInCells('Host:', '<input type="text" name="TYPO3_INSTALL[localconf.php][typo_db_host]" value="' . htmlspecialchars(TYPO3_db_host) . '" />');
if ($this->config_array['mysqlConnect']) {
$dbArr = $this->getDatabaseList();
reset($dbArr);
......
if (!$dbIncluded && TYPO3_db) {
$options.='<option value="'.htmlspecialchars(TYPO3_db).'" selected="selected">'.htmlspecialchars(TYPO3_db).' (NO ACCESS!)</option>';
}
$theCode='<select name="TYPO3_INSTALL[localconf.php][typo_db]">'.$options.'</select><br />Create database? (Enter name):<br /><input type="text" name="TYPO3_INSTALL[localconf.php][NEW_DATABASE_NAME]" value="">';
$theCode = '<select name="TYPO3_INSTALL[localconf.php][typo_db]">' . $options . '</select><br />Create database? (Enter name):<br /><input type="text" name="TYPO3_INSTALL[localconf.php][NEW_DATABASE_NAME]" value="" />';
} else {
$theCode='<strong>'.htmlspecialchars(TYPO3_db).'</strong><br />(Can only select database if username/password/host is correctly set first)<input type="hidden" name="TYPO3_INSTALL[localconf.php][typo_db]" value="'.htmlspecialchars(TYPO3_db).'">';
$theCode = '<strong>' . htmlspecialchars(TYPO3_db) . '</strong><br />(Can only select database if username/password/host is correctly set first)<input type="hidden" name="TYPO3_INSTALL[localconf.php][typo_db]" value="' . htmlspecialchars(TYPO3_db) . '" />';
}
$out.=$this->wrapInCells('', '<br />');
$out.=$this->wrapInCells('Database:', $theCode);
......
<script type="text/javascript" src="' . t3lib_div::getIndpEnv('TYPO3_SITE_URL') . TYPO3_mainDir . 'sysext/install/mod/install.js"></script>';
$out.=$this->wrapInCells('Site name:', '<input type="text" name="TYPO3_INSTALL[localconf.php][sitename]" value="'.htmlspecialchars($GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename']).'">');
$out.=$this->wrapInCells('Site name:', '<input type="text" name="TYPO3_INSTALL[localconf.php][sitename]" value="' . htmlspecialchars($GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename']) . '" />');
$out.=$this->wrapInCells('', '<br />');
$out.=$this->wrapInCells('Encryption key:', '<a name="set_encryptionKey"></a><input type="text" name="TYPO3_INSTALL[localconf.php][encryptionKey]" value="'.htmlspecialchars($GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey']).'"><br /><input type="button" onclick="EncryptionKey.load(this)" value="Generate random key">');
$out.=$this->wrapInCells('Encryption key:', '<a name="set_encryptionKey"></a><input type="text" name="TYPO3_INSTALL[localconf.php][encryptionKey]" value="' . htmlspecialchars($GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey']) . '" /><br /><input type="button" onclick="EncryptionKey.load(this)" value="Generate random key" />');
$out.=$this->wrapInCells('', '<br />');
// Other
......
}
}
}
$out.=$this->wrapInCells('[GFX][TTFdpi]=', '<input type="text" name="TYPO3_INSTALL[localconf.php][TTFdpi]" value="'.htmlspecialchars($GLOBALS['TYPO3_CONF_VARS']['GFX']['TTFdpi']).'">');
$out.=$this->wrapInCells('[GFX][TTFdpi]=', '<input type="text" name="TYPO3_INSTALL[localconf.php][TTFdpi]" value="' . htmlspecialchars($GLOBALS['TYPO3_CONF_VARS']['GFX']['TTFdpi']) . '" />');
}
$out.=$this->wrapInCells('', '<br /><input type="submit" value="Update localconf.php"><br />
$out.=$this->wrapInCells('', '<br /><input type="submit" value="Update localconf.php" /><br />
<strong>NOTICE: </strong>By clicking this button, localconf.php is updated with new values for the parameters listed above!');
$out.='
</table>
......
}
$out.='<br /><select name="'.$fieldName.'">'.$options.'</select>';
} else {
$out.='<input type="hidden" name="'.$fieldName.'" value="'.htmlspecialchars(current($values)).'">';
$out.='<input type="hidden" name="' . $fieldName . '" value="' . htmlspecialchars(current($values)) . '" />';
}
return $out.'<br />';
}
......
$verifyFile = t3lib_extMgm::extPath('install').'verify_imgs/'.basename($imageFile);
#debug(array($imageFile,$this->backPath.'../'.substr($imageFile,strlen(PATH_site))),1);
$destImg = @getImageSize($imageFile);
$destImgCode ='<img src="'.$this->backPath.'../'.substr($imageFile,strlen(PATH_site)).'" '.$destImg[3].'>';
$destImgCode = '<img src="' . $this->backPath . '../' . substr($imageFile, strlen(PATH_site)) . '" ' . $destImg[3] . ' />';
$verifyImg = @getImageSize($verifyFile);
$verifyImgCode = '<img src="'.$this->backPath.t3lib_extMgm::extRelPath('install').'verify_imgs/'.basename($verifyFile).'" '.$verifyImg[3].'>';
$verifyImgCode = '<img src="' . $this->backPath . t3lib_extMgm::extRelPath('install') . 'verify_imgs/' . basename($verifyFile) . '" ' . $verifyImg[3] . ' />';
if (!$verifyImg) {
$gifVersion=1;
$verifyFile_alt = substr($verifyFile,0,-3).'gif';
$verifyImg = @getImageSize($verifyFile_alt);
if ($verifyImg) {
// FIXME what is that? old code? t3lib/install/verify_imgs/ do not exist
$verifyImgCode = '<img src="'.$this->backPath.'t3lib/install/verify_imgs/'.basename($verifyFile_alt).'" '.$verifyImg[3].'>';
$verifyImgCode = '<img src="' . $this->backPath . 't3lib/install/verify_imgs/' . basename($verifyFile_alt) . '" ' . $verifyImg[3] . ' />';
$verifyImgCode= '<table border="0" cellpadding="4" cellspacing="0" bgcolor="red"><tr><td align="center">'.$verifyImgCode.'<br />'.$this->fw('<strong>NO REFERENCE FOUND!</strong><br /><br />GIF version looks like this.').'</td></tr></table>';
} else {
$verifyImgCode= '<table border="0" cellpadding="4" cellspacing="0" bgcolor="red"><tr><td align="center">'.$this->fw('<strong>NO REFERENCE FOUND!</strong><br /><br />'.basename($verifyFile)).'</td></tr></table>';
......
$ex_rows.='<tr>';
$ex_rows.='<td>'.$destImgCode.'</td>';
$ex_rows.='<td><img src="clear.gif" width="30" height="1"></td>';
$ex_rows .= '<td><img src="clear.gif" width="30" height="1" /></td>';
$ex_rows.='<td>'.$verifyImgCode.'</td>';
$ex_rows.='</tr>';
......
$out='';
while(list($table,$definition)=each($statements_table)) {
$exist=isset($whichTables[$table]);
$out.='<tr>
<td><input type="checkbox" name="TYPO3_INSTALL[database_import]['.$table.']" id="database_import_'.$table.'" value="'.md5($definition).'"></td>
<td><label for="database_import_'.$table.'"><strong>'.$this->fw($table).'</strong></label></td>
<td><img src="clear.gif" width="10" height="1"></td>
<td nowrap="nowrap">'.$this->fw($insertCount[$table]?"Rows: ".$insertCount[$table]:"").'</td>
<td><img src="clear.gif" width="10" height="1"></td>
<td nowrap="nowrap">'.($exist?'<img src="'.$this->backPath.'gfx/icon_warning.gif" width="18" height="16" align="top" alt="">'.$this->fw('Table exists!'):'').'</td>
$out .= '<tr>
<td><input type="checkbox" name="TYPO3_INSTALL[database_import][' . $table . ']" id="database_import_' . $table . '" value="' . md5($definition) . '" /></td>
<td><label for="database_import_' . $table . '"><strong>' . $this->fw($table) . '</strong></label></td>
<td><img src="clear.gif" width="10" height="1" /></td>
<td nowrap="nowrap">' . $this->fw($insertCount[$table] ? "Rows: " . $insertCount[$table] : "") . '</td>
<td><img src="clear.gif" width="10" height="1" /></td>
<td nowrap="nowrap">' . ($exist ? '<img src="' . $this->backPath . 'gfx/icon_warning.gif" width="18" height="16" align="top" alt="" />' . $this->fw('Table exists!') : '') . '</td>
</tr>';
}
......
<hr />
';
}
$content.='<input type="checkbox" name="TYPO3_INSTALL[database_import_all]" id="database_import_all" value="1"'.($this->mode=="123"||t3lib_div::_GP('presetWholeTable')?' checked="checked"':'').'> <label for="database_import_all">'.$this->fw("Import the whole file '".basename($actionParts[1])."' directly (ignores selections above)").'</label><br />
$content .= '<input type="checkbox" name="TYPO3_INSTALL[database_import_all]" id="database_import_all" value="1"' . ($this->mode == "123" || t3lib_div::_GP('presetWholeTable') ? ' checked="checked"' : '') . ' /> <label for="database_import_all">' . $this->fw("Import the whole file '" . basename($actionParts[1]) . "' directly (ignores selections above)") . '</label><br />
';
$form = $this->getUpdateDbFormWrap($action_type, $content);
......
}
}
$content = '
<input type="text" name="TYPO3_INSTALL[database_adminUser][username]"> username - unique, no space, lowercase<br />
<input type="text" name="TYPO3_INSTALL[database_adminUser][password]"> password
<input type="text" name="TYPO3_INSTALL[database_adminUser][username]" /> username - unique, no space, lowercase<br />
<input type="text" name="TYPO3_INSTALL[database_adminUser][password]" /> password
';
$form = $this->getUpdateDbFormWrap($action_type, $content);
$this->message($headCode,'Create admin user',"
......
$this->message($headCode,'Clearing be_users.uc','Done.',1);
}
$content = '
<input type="checkbox" name="TYPO3_INSTALL[database_UC]" id="database_UC" value="1" checked="checked"> <label for="database_UC">Clear be_users preferences ("uc" field)</label>
<input type="checkbox" name="TYPO3_INSTALL[database_UC]" id="database_UC" value="1" checked="checked" /> <label for="database_UC">Clear be_users preferences ("uc" field)</label>
';
$form = $this->getUpdateDbFormWrap($action_type, $content);
$this->message($headCode,'Clear user preferences',"
......
if ($whichTables[$table_c]) {
$countEntries[$table] = $GLOBALS['TYPO3_DB']->exec_SELECTcountRows('*', $table);
// Checkboxes:
$checkBoxes[]= '<input type="checkbox" name="TYPO3_INSTALL[database_clearcache]['.$table.']" id="TYPO3_INSTALL[database_clearcache]['.$table.']" value="1"'.($this->INSTALL['database_clearcache'][$table]||$_GET['PRESET']['database_clearcache'][$table]?' checked="checked"':'').'> <label for="TYPO3_INSTALL[database_clearcache]['.$table.']"><strong>'.$table.'</strong> ('.$countEntries[$table].' rows) - '.$labelArr[$table].'</label>';
$checkBoxes[] = '<input type="checkbox" name="TYPO3_INSTALL[database_clearcache][' . $table . ']" id="TYPO3_INSTALL[database_clearcache][' . $table . ']" value="1"' . ($this->INSTALL['database_clearcache'][$table] || $_GET['PRESET']['database_clearcache'][$table] ? ' checked="checked"' : '') . ' /> <label for="TYPO3_INSTALL[database_clearcache][' . $table . ']"><strong>' . $table . '</strong> (' . $countEntries[$table] . ' rows) - ' . $labelArr[$table] . '</label>';
}
} else {
$checkBoxes[]= '<hr />';
......
if (method_exists($tmpObj,'checkForUpdate')) {
$explanation = '';
if ($tmpObj->checkForUpdate($explanation)) {
$updateWizardBoxes.= '
$updateWizardBoxes .= '
<div class="updateWizardBoxes">
<h3>'.$identifier.'</h3>
<p>'.str_replace(chr(10),'<br />',$explanation).'</p>
<input type="submit" name="TYPO3_INSTALL[update]['.$identifier.']" id="TYPO3_INSTALL[update]['.$identifier.']" value="Next" />
<h3>' . $identifier . '</h3>
<p>' . str_replace(chr(10), '<br />', $explanation) . '</p>
<input type="submit" name="TYPO3_INSTALL[update][' . $identifier . ']" id="TYPO3_INSTALL[update][' . $identifier . ']" value="Next" />
</div>';
}
}
......
if ($updateWizardBoxes) {
$updateWizardBoxes = '<table><tr><td>'.$updateWizardBoxes.'</td></tr></table>';
$content = '
<form action="'.$this->action.'#bottom" method="post">
<input type="hidden" name="TYPO3_INSTALL[database_type]" value="'.htmlspecialchars('getUserInput').'">
'.$updateWizardBoxes.'</form>';
<form action="' . $this->action . '#bottom" method="post">
<input type="hidden" name="TYPO3_INSTALL[database_type]" value="' . htmlspecialchars('getUserInput') . '" />
' . $updateWizardBoxes . '</form>';
} else {
$content = '<strong>No updates to perform!</strong>';
}
......
$tmpObj = $this->getUpgradeObjInstance($className, $identifier);
$formContent .= '<p><strong>'.$identifier.'</strong><input type="hidden" name="TYPO3_INSTALL[update][extList][]" value="'.$identifier.'" /><br />';
$formContent .= '<p><strong>' . $identifier . '</strong><input type="hidden" name="TYPO3_INSTALL[update][extList][]" value="' . $identifier . '" /><br />';
if (method_exists($tmpObj,'getUserInput')) {
$formContent .= $tmpObj->getUserInput('TYPO3_INSTALL[update]['.$identifier.']');
}
......
* @return [type] ...
*/
function getUpdateDbFormWrap($action_type, $content, $label='Write to database') {
$form = '<form action="'.$this->action.'#bottom" method="post"><input type="hidden" name="TYPO3_INSTALL[database_type]" value="'.htmlspecialchars($action_type).'">'.$content.'<br /><input type="submit" value="'.$label.'">';
$form = '<form action="' . $this->action . '#bottom" method="post"><input type="hidden" name="TYPO3_INSTALL[database_type]" value="' . htmlspecialchars($action_type) . '" />' . $content . '<br /><input type="submit" value="' . $label . '" />';
return $form;
}
......
$this->sections[$head][]='';
} else {
$this->sections[$head][]='
<tr><td' . $cssClass . ' nowrap="nowrap">' . ($icon ? '<img src="' . $this->backPath . $icon . '" width="18" height="16" align="top" alt="">' : '') . '<strong>' . $this->fw($short_string) . '</strong></td></tr>' . (trim($long_string) ? '
<tr><td' . $cssClass . ' nowrap="nowrap">' . ($icon ? '<img src="' . $this->backPath . $icon . '" width="18" height="16" align="top" alt="" />' : '') . '<strong>' . $this->fw($short_string) . '</strong></td></tr>' . (trim($long_string) ? '
<tr><td>' . $this->fw($long_string) . '<br /><br /></td></tr>' : '');
}
}
......
* @param string The page content
* @return string The full HTML page
*/
function outputWrapper($content) {
$out='
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
function outputWrapper($content) {
$out = '<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset='.($GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset']?$GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset']:'iso-8859-1').'" />
'.$this->headerStyle.'
<link rel="stylesheet" type="text/css" href="'.$this->backPath.'sysext/install/mod/install.css" >
<meta http-equiv="Content-Type" content="text/html; charset=' . ($GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset'] ? $GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset'] : 'iso-8859-1') . '" />
' . $this->headerStyle . '
<link rel="stylesheet" type="text/css" href="' . $this->backPath . 'sysext/install/mod/install.css" />
<title>TYPO3 Install Tool</title>
'.($this->JSmessage?'
' . ($this->JSmessage ? '
<script language="javascript" type="text/javascript">alert(unescape(\'' . t3lib_div::rawUrlEncodeJS($this->JSmessage) . '\'));</script>
':'').'
' : '') . '
</head>
<body>'.$this->contentBeforeTable.'
<body>' . $this->contentBeforeTable . '
<div align="center">';
if($this->INSTALL['type'] == 'about') {
$out .= '<table class="smallOuterTable" border="0" cellspacing="0" cellpadding="0">';
......
$out .= '<table class="outerTable" border="0" cellspacing="0" cellpadding="0">';
}
$out .= '<tr>
<td class="logo"><img src="'.$this->backPath.'gfx/typo3logo.gif" width="123" height="34" vspace="10" hspace="50" alt="TYPO3"></td>
<td class="logo"><img src="' . $this->backPath . 'gfx/typo3logo.gif" width="123" height="34" vspace="10" hspace="50" alt="TYPO3" /></td>
</tr>
<tr>
<td class="createBorder">
<table width="100%" border="0" cellspacing="1" cellpadding="10">
<tr>
<td class="generalTableBackground">
<div align="center"><span class="size4text"><strong>TYPO3 '.TYPO3_branch.' Install Tool</strong></span></div>
<div align="center"><span class="siteInfo"><strong>Site: '.$GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename'].'</strong></span></div>
'.($this->passwordOK ? '<div align="center"><span class="siteInfo"><strong>Version: '.TYPO3_version.'</strong></span></div>':'').'<br />
<div align="center"><span class="size4text"><strong>TYPO3 ' . TYPO3_branch . ' Install Tool</strong></span></div>
<div align="center"><span class="siteInfo"><strong>Site: ' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename'] . '</strong></span></div>
' . ($this->passwordOK ? '<div align="center"><span class="siteInfo"><strong>Version: ' . TYPO3_version . '</strong></span></div>' : '') . '<br />
'.($this->step?$this->stepHeader():$this->menu()).$content.'<hr />'.$this->note123().$this->endNotes().'
' . ($this->step ? $this->stepHeader() : $this->menu()) . $content . '<hr />' . $this->note123() . $this->endNotes() . '
</td>
</tr>
</table>
......
$msg2='Database';
$msg3='Import the database sql-file';
$msg4='You\'re done!';
$out='<img src="'.$this->backPath.'gfx/123_'.$this->step.'.png" width="402" height="73" border="0" alt="" usemap="#id123_print_Map">
$out = '<img src="' . $this->backPath . 'gfx/123_' . $this->step . '.png" width="402" height="73" border="0" alt="" usemap="#id123_print_Map" />
<map name="id123_print_Map">
<area title="'.$msg4.'" shape="poly" alt="" coords="299,35, 303,19, 313,9, 335,5, 366,6, 379,11, 388,21, 392,35, 390,47, 381,58, 376,64, 359,67, 320,66, 307,60, 302,51, 300,44" href="'.htmlspecialchars($this->scriptSelf.'?mode='.$this->mode.'&step=go').'">
<area title="'.$msg3.'" shape="circle" alt="" coords="234,36,32" href="'.htmlspecialchars($this->scriptSelf.'?mode='.$this->mode.'&step=3').'">
<area title="'.$msg2.'" shape="circle" alt="" coords="136,37,30" href="'.htmlspecialchars($this->scriptSelf.'?mode='.$this->mode.'&step=2').'">
<area title="'.$msg1.'" shape="circle" alt="" coords="40,36,29" href="'.htmlspecialchars($this->scriptSelf.'?mode='.$this->mode.'&step=1').'">
<area title="' . $msg4 . '" shape="poly" alt="" coords="299,35, 303,19, 313,9, 335,5, 366,6, 379,11, 388,21, 392,35, 390,47, 381,58, 376,64, 359,67, 320,66, 307,60, 302,51, 300,44" href="' . htmlspecialchars($this->scriptSelf . '?mode=' . $this->mode . '&step=go') . '">
<area title="' . $msg3 . '" shape="circle" alt="" coords="234,36,32" href="' . htmlspecialchars($this->scriptSelf . '?mode=' . $this->mode . '&step=3') . '">
<area title="' . $msg2 . '" shape="circle" alt="" coords="136,37,30" href="' . htmlspecialchars($this->scriptSelf . '?mode=' . $this->mode . '&step=2') . '">
<area title="' . $msg1 . '" shape="circle" alt="" coords="40,36,29" href="' . htmlspecialchars($this->scriptSelf . '?mode=' . $this->mode . '&step=1') . '">
</map>
......
*/
function note123() {
if ($this->mode=='123') {
$c='<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="note" nowrap="nowrap"><img src="'.$this->backPath.'gfx/icon_note.gif" width="18" height="16" align="top" alt=""><strong>'.$this->fontTag1.'NOTICE: Install Tool is running in \'123\' mode. <a href="'.$this->scriptSelf.'">Click here to disable.</a></span></strong></td></tr>
$c = '<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="note" nowrap="nowrap"><img src="' . $this->backPath . 'gfx/icon_note.gif" width="18" height="16" align="top" alt="" /><strong>' . $this->fontTag1 . 'NOTICE: Install Tool is running in \'123\' mode. <a href="' . $this->scriptSelf . '">Click here to disable.</a></span></strong></td></tr>
</table>';
return $c;
}
    (1-1/1)