mirror of
https://github.com/phpbb/phpbb.git
synced 2025-01-17 22:28:46 +01:00
[ticket/14044] Deduplicate the installers
PHPBB3-14044
This commit is contained in:
parent
cc1a96a804
commit
597297b169
@ -1,134 +0,0 @@
|
||||
<!-- INCLUDE install_header.html -->
|
||||
|
||||
<!-- IF S_NOT_INSTALLED -->
|
||||
|
||||
<h1>{TITLE}</h1>
|
||||
|
||||
<p>{BODY}</p>
|
||||
|
||||
<!-- ELSE -->
|
||||
|
||||
<form id="install_convert" method="post" action="{U_ACTION}">
|
||||
|
||||
<h1>{TITLE}</h1>
|
||||
|
||||
<p>{BODY}</p>
|
||||
|
||||
<!-- IF S_ERROR_BOX -->
|
||||
<div class="errorbox">
|
||||
<h3>{ERROR_TITLE}</h3>
|
||||
<p>{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_LIST -->
|
||||
<table class="table1">
|
||||
<caption>{L_AVAILABLE_CONVERTORS}</caption>
|
||||
<col class="col1" /><col class="col2" /><col class="col1" /><col class="col2" />
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_SOFTWARE}</th>
|
||||
<th>{L_VERSION}</th>
|
||||
<th>{L_AUTHOR}</th>
|
||||
<th>{L_OPTIONS}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- IF .convertors -->
|
||||
<!-- BEGIN convertors -->
|
||||
<tr>
|
||||
<td>{convertors.SOFTWARE}</td>
|
||||
<td>{convertors.VERSION}</td>
|
||||
<td>{convertors.AUTHOR}</td>
|
||||
<td><a href="{convertors.U_CONVERT}">{L_CONVERT}</a></td>
|
||||
</tr>
|
||||
<!-- END convertors -->
|
||||
<!-- ELSE -->
|
||||
<tr>
|
||||
<td>{L_NO_CONVERTORS}</td>
|
||||
<td>-</td>
|
||||
<td>-</td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_CONTINUE -->
|
||||
</form>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<form method="post" action="{U_NEW_ACTION}">
|
||||
<input class="button1" type="submit" name="submit_new" value="{L_NEW}" />
|
||||
</form>
|
||||
<br />
|
||||
<form method="post" action="{U_CONTINUE_ACTION}">
|
||||
<input class="button1" type="submit" name="submit_cont" value="{L_CONTINUE}" />
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
<form method="post" action="{U_ACTION}">
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .checks -->
|
||||
<fieldset>
|
||||
|
||||
<!-- BEGIN checks -->
|
||||
<!-- IF checks.S_LEGEND -->
|
||||
<!-- IF not checks.S_FIRST_ROW -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<!-- ENDIF -->
|
||||
<legend>{checks.LEGEND}</legend>
|
||||
<!-- IF checks.LEGEND_EXPLAIN --><p>{checks.LEGEND_EXPLAIN}</p><!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt><label>{checks.TITLE}{L_COLON}</label><!-- IF checks.S_EXPLAIN --><br /><span class="explain">{checks.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{checks.RESULT}</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- END checks -->
|
||||
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .options -->
|
||||
<fieldset>
|
||||
|
||||
<!-- BEGIN options -->
|
||||
<!-- IF options.S_LEGEND -->
|
||||
<!-- IF not options.S_FIRST_ROW -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<!-- ENDIF -->
|
||||
<legend>{options.LEGEND}</legend>
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span class="explain">{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{options.CONTENT}</dd>
|
||||
</dl>
|
||||
|
||||
<!-- ENDIF -->
|
||||
<!-- END options -->
|
||||
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF L_SUBMIT -->
|
||||
<!-- IF L_MESSAGE --><p>{L_MESSAGE}</p><!-- ENDIF -->
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
{S_HIDDEN}
|
||||
<!-- IF L_SUBMIT --><input class="button1<!-- IF S_REFRESH --> disabled<!-- ENDIF -->" type="submit" id="submit" <!-- IF S_REFRESH -->disabled="disabled" <!-- ELSE --> onclick="this.className = 'button1 disabled';" onsubmit="this.disabled = 'disabled';" <!-- ENDIF -->name="submit" value="{L_SUBMIT}" /><!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE install_footer.html -->
|
@ -1,8 +0,0 @@
|
||||
<!-- INCLUDE install_header.html -->
|
||||
|
||||
<div class="errorbox">
|
||||
<h3>{MESSAGE_TITLE}</h3>
|
||||
<p>{MESSAGE_TEXT}</p>
|
||||
</div>
|
||||
|
||||
<!-- INCLUDE install_footer.html -->
|
@ -1,21 +0,0 @@
|
||||
</div>
|
||||
</div><!-- /#main -->
|
||||
</div>
|
||||
</div><!-- /#acp -->
|
||||
</div>
|
||||
|
||||
<div id="page-footer">
|
||||
<div class="copyright">
|
||||
Powered by <a href="https://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Limited
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
|
||||
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
|
||||
<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
||||
<!-- INCLUDEJS admin.js -->
|
||||
{$SCRIPTS}
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,53 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
<link href="{T_TEMPLATE_PATH}/admin.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
</head>
|
||||
|
||||
<body class="{S_CONTENT_DIRECTION} nojs">
|
||||
<div id="wrap">
|
||||
<div id="page-header">
|
||||
<h1>{L_INSTALL_PANEL}</h1>
|
||||
<p id="skip"><a href="#acp">{L_SKIP}</a></p>
|
||||
<!-- IF S_LANG_SELECT -->
|
||||
<form method="post" action="#">
|
||||
<fieldset class="nobg">
|
||||
<label for="language">{L_SELECT_LANG}{L_COLON}</label>
|
||||
{S_LANG_SELECT}
|
||||
<input class="button1" type="submit" id="change_lang" name="change_lang" value="{L_CHANGE}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<div id="page-body">
|
||||
<div id="tabs">
|
||||
<ul>
|
||||
<!-- BEGIN t_block1 -->
|
||||
<li class="tab<!-- IF t_block1.S_SELECTED --> activetab<!-- ENDIF -->"><a href="{t_block1.U_TITLE}">{t_block1.L_TITLE}</a></li>
|
||||
<!-- END t_block1 -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="acp">
|
||||
<div id="content">
|
||||
<div id="menu">
|
||||
<div class="menu-block no-header">
|
||||
<ul>
|
||||
<!-- BEGIN l_block1 -->
|
||||
<li<!-- IF l_block1.S_SELECTED --> id="activemenu"<!-- ENDIF -->><a href="{l_block1.U_TITLE}"><span>{l_block1.L_TITLE}</span></a></li>
|
||||
<!-- END l_block1 -->
|
||||
<!-- BEGIN l_block2 -->
|
||||
<li<!-- IF l_block2.S_SELECTED --> id="activemenu"<!-- ENDIF -->><span<!-- IF l_block2.S_COMPLETE --> class="completed"<!-- ENDIF -->>{l_block2.L_TITLE}</span></li>
|
||||
<!-- END l_block2 -->
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="main" class="install-body">
|
||||
<div class="main">
|
@ -1,77 +0,0 @@
|
||||
<!-- INCLUDE install_header.html -->
|
||||
|
||||
<form id="install_install" method="post" action="{U_ACTION}" onsubmit="submit.disabled = 'disabled';">
|
||||
|
||||
<!-- IF TITLE --><h1>{TITLE}</h1><!-- ENDIF -->
|
||||
<!-- IF BODY --><p>{BODY}</p><!-- ENDIF -->
|
||||
|
||||
<!-- IF .checks -->
|
||||
<fieldset>
|
||||
|
||||
<!-- BEGIN checks -->
|
||||
<!-- IF checks.S_LEGEND -->
|
||||
<!-- IF not checks.S_FIRST_ROW -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<!-- ENDIF -->
|
||||
<legend>{checks.LEGEND}</legend>
|
||||
<!-- IF checks.LEGEND_EXPLAIN --><p>{checks.LEGEND_EXPLAIN}</p><!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt>{checks.TITLE}{L_COLON}<!-- IF checks.S_EXPLAIN --><br /><span class="explain">{checks.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{checks.RESULT}</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- END checks -->
|
||||
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .options -->
|
||||
<fieldset>
|
||||
|
||||
<!-- BEGIN options -->
|
||||
<!-- IF options.S_LEGEND -->
|
||||
<!-- IF not options.S_FIRST_ROW -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<!-- ENDIF -->
|
||||
<legend>{options.LEGEND}</legend>
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span class="explain">{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{options.CONTENT}</dd>
|
||||
</dl>
|
||||
|
||||
<!-- ENDIF -->
|
||||
<!-- END options -->
|
||||
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_SHOW_DOWNLOAD -->
|
||||
<h1>{L_DL_CONFIG}</h1>
|
||||
<p>{L_DL_CONFIG_EXPLAIN}</p>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_DL_CONFIG}</legend>
|
||||
{S_HIDDEN}
|
||||
<input class="button1" type="submit" id="dlconfig" name="dlconfig" value="{L_DL_DOWNLOAD}" /> <input class="button1" type="submit" id="dldone" name="dldone" value="{L_DL_DONE}" />
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF L_SUBMIT -->
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
{S_HIDDEN}
|
||||
<!-- IF L_SUBMIT --><input class="button1" type="submit" id="submit" onclick="this.className = 'button1 disabled';" name="submit" value="{L_SUBMIT}" /><!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
</form>
|
||||
|
||||
<!-- INCLUDE install_footer.html -->
|
@ -1,6 +0,0 @@
|
||||
<!-- INCLUDE install_header.html -->
|
||||
|
||||
<h1>{TITLE}</h1>
|
||||
<p>{BODY}</p>
|
||||
|
||||
<!-- INCLUDE install_footer.html -->
|
@ -1,491 +0,0 @@
|
||||
<!-- INCLUDE install_header.html -->
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
function popup(url, width, height, name)
|
||||
{
|
||||
if (!name)
|
||||
{
|
||||
name = '_popup';
|
||||
}
|
||||
|
||||
window.open(url.replace(/&/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width);
|
||||
return false;
|
||||
}
|
||||
|
||||
function diff_popup(url)
|
||||
{
|
||||
popup(url, 950, 600, '_diff');
|
||||
return false;
|
||||
}
|
||||
// ]]>
|
||||
</script>
|
||||
|
||||
<!-- IF S_ERROR -->
|
||||
<div class="errorbox" style="margin-top: 0;">
|
||||
<h3>{L_NOTICE}</h3>
|
||||
<p>{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_IN_PROGRESS -->
|
||||
|
||||
<div class="successbox" style="margin-top: 0;">
|
||||
<h3>{L_IN_PROGRESS}</h3>
|
||||
<p>{L_IN_PROGRESS_EXPLAIN}</p>
|
||||
</div>
|
||||
|
||||
<!-- ELSEIF S_INTRO -->
|
||||
|
||||
<!-- IF S_WARNING -->
|
||||
<div class="successbox" style="margin-top: 0;">
|
||||
<h3>{L_NOTICE}</h3>
|
||||
<p>{WARNING_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div class="errorbox" style="margin-top: 0;">
|
||||
<h3>{L_NOTICE}</h3>
|
||||
<p>{L_BACKUP_NOTICE}</p>
|
||||
</div>
|
||||
|
||||
<form id="install_update" method="post" action="{U_ACTION}">
|
||||
|
||||
<h1>{L_UPDATE_INSTALLATION}</h1>
|
||||
<p>{L_UPDATE_INSTALLATION_EXPLAIN}</p>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<input class="button1" type="submit" name="submit" value="{L_NEXT_STEP}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_UPLOAD_SUCCESS -->
|
||||
|
||||
<form id="install_update" method="post" action="{U_ACTION}">
|
||||
|
||||
<h1>{L_UPDATE_SUCCESS}</h1>
|
||||
<p>{L_UPDATE_SUCCESS_EXPLAIN}</p>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<input class="button1" type="submit" name="check_again" value="{L_CONTINUE_UPDATE}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_VERSION_CHECK -->
|
||||
|
||||
<h1>{L_VERSION_CHECK}</h1>
|
||||
|
||||
<p>{L_VERSION_CHECK_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_UP_TO_DATE -->
|
||||
<div class="successbox">
|
||||
<p>{L_VERSION_UP_TO_DATE}</p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_VERSION_NOT_UP_TO_DATE}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset>
|
||||
<legend></legend>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_VERSION}</label></dt>
|
||||
<dd><strong>{CURRENT_VERSION}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_LATEST_VERSION}</label></dt>
|
||||
<dd><strong>{LATEST_VERSION}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF PACKAGE_VERSION and not S_UP_TO_DATE -->
|
||||
<dl>
|
||||
<dt><label>{L_PACKAGE_UPDATES_TO}</label></dt>
|
||||
<dd><strong>{PACKAGE_VERSION}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<form id="install_update" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<p>{L_CHECK_FILES_EXPLAIN}</p>
|
||||
<input class="button1" type="submit" name="submit" value="{L_CHECK_FILES}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_DB_UPDATE -->
|
||||
|
||||
<!-- IF not S_DB_UPDATE_FINISHED -->
|
||||
|
||||
<h1>{L_PERFORM_DATABASE_UPDATE}</h1>
|
||||
|
||||
<p>
|
||||
{L_PERFORM_DATABASE_UPDATE_EXPLAIN}<br />
|
||||
</p>
|
||||
|
||||
<br /><br />
|
||||
|
||||
<form id="install_dbupdate" method="post" action="{U_DB_UPDATE_ACTION}">
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<a href="{U_DB_UPDATE}" class="button1">{L_RUN_DATABASE_SCRIPT}</a>
|
||||
|
||||
<!-- input class="button1" type="submit" name="db_update" value="{L_CHECK_UPDATE_DATABASE}" / -->
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSE -->
|
||||
|
||||
<div class="successbox">
|
||||
<h3>{L_UPDATE_SUCCESS}</h3>
|
||||
<p>{L_EVERYTHING_UP_TO_DATE}</p>
|
||||
</div>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ELSEIF S_FILE_CHECK -->
|
||||
|
||||
<!-- IF S_ALL_UP_TO_DATE -->
|
||||
|
||||
<h1>{L_UPDATE_FILE_SUCCESS}</h1>
|
||||
<p>{L_ALL_FILES_UP_TO_DATE}</p>
|
||||
|
||||
<p>{L_UPDATE_DATABASE_EXPLAIN}</p>
|
||||
|
||||
<form id="install_dbupdate" method="post" action="{U_DB_UPDATE_ACTION}">
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<input class="button1" type="submit" name="db_update" value="{L_UPDATE_DATABASE}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSE -->
|
||||
<h1>{L_COLLECTED_INFORMATION}</h1>
|
||||
|
||||
<p>{L_COLLECTED_INFORMATION_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_NO_UPDATE_FILES -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_NO_UPDATE_FILES}</h3>
|
||||
|
||||
<p>{L_NO_UPDATE_FILES_EXPLAIN}</p><br />
|
||||
|
||||
<strong>{NO_UPDATE_FILES}</strong>
|
||||
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="install_update" method="post" action="{U_UPDATE_ACTION}">
|
||||
|
||||
<!-- IF .deleted -->
|
||||
<h2>{L_FILES_DELETED}</h2>
|
||||
<div style="float: {S_CONTENT_FLOW_END};">» <a href="#" onclick="phpbb.toggleDisplay('deleted', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
|
||||
<p>{L_FILES_DELETED_EXPLAIN}</p>
|
||||
|
||||
<fieldset id="deleted">
|
||||
<legend><img src="{T_IMAGE_PATH}icon_delete.gif" alt="{L_STATUS_DELETED}" /></legend>
|
||||
<!-- BEGIN deleted -->
|
||||
<dl>
|
||||
<dt style="width: 60%;"><strong><!-- IF deleted.DIR_PART -->{deleted.DIR_PART}<br /><!-- ENDIF -->{deleted.FILE_PART}</strong></dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">
|
||||
<!-- IF not deleted.S_BINARY -->[<a href="{deleted.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{deleted.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- END deleted -->
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .conflict -->
|
||||
<h2>{L_FILES_CONFLICT}</h2>
|
||||
<div style="float: {S_CONTENT_FLOW_END};">» <a href="#" onclick="phpbb.toggleDisplay('conflict', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
|
||||
<p>{L_FILES_CONFLICT_EXPLAIN}</p>
|
||||
|
||||
<!-- BEGIN conflict -->
|
||||
<fieldset id="conflict">
|
||||
<legend><img src="{T_IMAGE_PATH}file_conflict.gif" alt="{L_STATUS_CONFLICT}" /></legend>
|
||||
<dl>
|
||||
<dt style="width: 60%;"><strong><!-- IF conflict.DIR_PART -->{conflict.DIR_PART}<br /><!-- ENDIF -->{conflict.FILE_PART}</strong>
|
||||
<!-- IF conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
|
||||
<!-- IF conflict.NUM_CONFLICTS --><br /><span>{L_NUM_CONFLICTS}{L_COLON} {conflict.NUM_CONFLICTS}</span><!-- ENDIF -->
|
||||
</dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">
|
||||
<!-- IF not conflict.S_BINARY -->[<a href="{conflict.U_SHOW_DIFF}">{L_DOWNLOAD_CONFLICTS}</a>]<br />{L_DOWNLOAD_CONFLICTS_EXPLAIN}
|
||||
<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
|
||||
</dd>
|
||||
<!-- IF conflict.S_CUSTOM -->
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF conflict.S_BINARY -->
|
||||
<dl>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" checked="checked" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"> </dd>
|
||||
</dl>
|
||||
<!-- ELSE -->
|
||||
<dl>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="3" checked="checked" /> {L_MERGE_NEW_FILE_OPTION}</label></dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_NEW_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="4" /> {L_MERGE_MOD_FILE_OPTION}</label></dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_MOD_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- END conflict -->
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .new_conflict -->
|
||||
<h2>{L_FILES_NEW_CONFLICT}</h2>
|
||||
<div style="float: {S_CONTENT_FLOW_END};">» <a href="#" onclick="phpbb.toggleDisplay('new_conflict', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
|
||||
<p>{L_FILES_NEW_CONFLICT_EXPLAIN}</p>
|
||||
|
||||
<fieldset id="new_conflict">
|
||||
<legend><img src="{T_IMAGE_PATH}file_new_conflict.gif" alt="{L_STATUS_NEW_CONFLICT}" /></legend>
|
||||
<!-- BEGIN new_conflict -->
|
||||
<dl>
|
||||
<dt style="width: 60%;"><strong><!-- IF new_conflict.DIR_PART -->{new_conflict.DIR_PART}<br /><!-- ENDIF -->{new_conflict.FILE_PART}</strong>
|
||||
<!-- IF new_conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{new_conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
|
||||
</dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">
|
||||
<!-- IF not new_conflict.S_BINARY -->[<a href="{new_conflict.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{new_conflict.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
|
||||
</dd>
|
||||
<!-- IF new_conflict.S_CUSTOM -->
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{new_conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- END new_conflict -->
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .modified -->
|
||||
<h2>{L_FILES_MODIFIED}</h2>
|
||||
<div style="float: {S_CONTENT_FLOW_END};">» <a href="#" onclick="phpbb.toggleDisplay('modified', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
|
||||
<p>{L_FILES_MODIFIED_EXPLAIN}</p>
|
||||
|
||||
<!-- BEGIN modified -->
|
||||
<fieldset id="modified">
|
||||
<legend><img src="{T_IMAGE_PATH}file_modified.gif" alt="{L_STATUS_MODIFIED}" /></legend>
|
||||
<dl>
|
||||
<dt style="width: 60%;"><strong><!-- IF modified.DIR_PART -->{modified.DIR_PART}<br /><!-- ENDIF -->{modified.FILE_PART}</strong>
|
||||
<!-- IF modified.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{modified.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
|
||||
</dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"> </dd>
|
||||
<!-- IF modified.S_CUSTOM -->
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<dl>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="0" checked="checked" /> {L_MERGE_MODIFICATIONS_OPTION}</label></dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE --> <!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE --> <!-- ENDIF --></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
<!-- END modified -->
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .new -->
|
||||
<h2>{L_FILES_NEW}</h2>
|
||||
<div style="float: {S_CONTENT_FLOW_END};">» <a href="#" onclick="phpbb.toggleDisplay('new_files', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
|
||||
<p>{L_FILES_NEW_EXPLAIN}</p>
|
||||
|
||||
<fieldset id="new_files" style="display: none;">
|
||||
<legend><img src="{T_IMAGE_PATH}file_new.gif" alt="{L_STATUS_NEW}" /></legend>
|
||||
<!-- BEGIN new -->
|
||||
<dl>
|
||||
<dt style="width: 60%;"><strong><!-- IF new.DIR_PART -->{new.DIR_PART}<br /><!-- ENDIF -->{new.FILE_PART}</strong>
|
||||
<!-- IF new.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{new.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
|
||||
</dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">
|
||||
<!-- IF not new.S_BINARY -->[<a href="{new.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{new.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
|
||||
</dd>
|
||||
<!-- IF new.S_CUSTOM -->
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{new.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- END new -->
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .not_modified -->
|
||||
<h2>{L_FILES_NOT_MODIFIED}</h2>
|
||||
<div style="float: {S_CONTENT_FLOW_END};">» <a href="#" onclick="phpbb.toggleDisplay('not_modified', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
|
||||
<p>{L_FILES_NOT_MODIFIED_EXPLAIN}</p>
|
||||
|
||||
<fieldset id="not_modified" style="display: none;">
|
||||
<legend><img src="{T_IMAGE_PATH}file_not_modified.gif" alt="{L_STATUS_NOT_MODIFIED}" /></legend>
|
||||
<!-- BEGIN not_modified -->
|
||||
<dl>
|
||||
<dt style="width: 60%;"><strong><!-- IF not_modified.DIR_PART -->{not_modified.DIR_PART}<br /><!-- ENDIF -->{not_modified.FILE_PART}</strong>
|
||||
<!-- IF not_modified.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{not_modified.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
|
||||
</dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not not_modified.S_BINARY -->[<a href="{not_modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{not_modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
|
||||
<!-- IF not_modified.S_CUSTOM -->
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{not_modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- END not_modified -->
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .up_to_date -->
|
||||
<h2>{L_FILES_UP_TO_DATE}</h2>
|
||||
<div style="float: {S_CONTENT_FLOW_END};">» <a href="#" onclick="phpbb.toggleDisplay('up_to_date', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
|
||||
<p>{L_FILES_UP_TO_DATE_EXPLAIN}</p>
|
||||
|
||||
<fieldset id="up_to_date" style="display: none;">
|
||||
<legend><img src="{T_IMAGE_PATH}file_up_to_date.gif" alt="{L_STATUS_UP_TO_DATE}" /></legend>
|
||||
<!-- BEGIN up_to_date -->
|
||||
<dl>
|
||||
<dd class="full" style="text-align: {S_CONTENT_FLOW_BEGIN};"><strong>{up_to_date.FILENAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- END up_to_date -->
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<br />
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="check_again" value="{L_CHECK_FILES_AGAIN}" />
|
||||
</fieldset>
|
||||
|
||||
<br />
|
||||
|
||||
<h1>{L_UPDATE_METHOD}</h1>
|
||||
|
||||
<p>{L_UPDATE_METHOD_EXPLAIN}</p>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<input class="button1" type="submit" name="ftp_upload" value="{L_FTP_UPDATE_METHOD}" /> <input class="button1" type="submit" name="download" value="{L_DOWNLOAD_UPDATE_METHOD_BUTTON}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ELSEIF S_DOWNLOAD_FILES -->
|
||||
|
||||
<h1>{L_DOWNLOAD_UPDATE_METHOD}</h1>
|
||||
|
||||
<p>{L_DOWNLOAD_UPDATE_METHOD_EXPLAIN}</p>
|
||||
|
||||
<form id="install_update" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_SELECT_DOWNLOAD_FORMAT}</legend>
|
||||
<dl>
|
||||
<dt><label for="use_method">{L_DOWNLOAD_AS}{L_COLON}</label></dt>
|
||||
<dd>{RADIO_BUTTONS}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" class="button2" value="{L_CONTINUE_UPDATE}" name="check_again" /> <input type="submit" class="button1" value="{L_DOWNLOAD}" name="download" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<br /><br />
|
||||
|
||||
<p>{L_MAPPING_FILE_STRUCTURE}</p>
|
||||
|
||||
<table class="table1">
|
||||
<col class="row1" /><col class="row2" /><col class="row1" />
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 49%">{L_ARCHIVE_FILE}</th>
|
||||
<th style="width: 2%"> </th>
|
||||
<th style="width: 49%">{L_DESTINATION}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN location -->
|
||||
<tr>
|
||||
<td>{location.SOURCE}</td>
|
||||
<td><strong>»</strong></td>
|
||||
<td>{location.DESTINATION}</td>
|
||||
</tr>
|
||||
<!-- END location -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- ELSEIF S_FTP_UPLOAD -->
|
||||
|
||||
<h1>{L_SELECT_FTP_SETTINGS}</h1>
|
||||
|
||||
<form id="install_update" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF S_CONNECTION_SUCCESS -->
|
||||
<div class="successbox">
|
||||
<p>{L_CONNECTION_SUCCESS}</p>
|
||||
</div>
|
||||
<!-- ELSEIF S_CONNECTION_FAILED -->
|
||||
<div class="successbox">
|
||||
<p>{L_TRY_DOWNLOAD_METHOD}</p>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="download" value="{L_TRY_DOWNLOAD_METHOD_BUTTON}" />
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div class="errorbox">
|
||||
<p>{L_CONNECTION_FAILED}<br />{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_FTP_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_UPLOAD_METHOD}{L_COLON}</label></dt>
|
||||
<dd><strong>{UPLOAD_METHOD}</strong></dd>
|
||||
</dl>
|
||||
<!-- BEGIN data -->
|
||||
<dl>
|
||||
<dt><label for="{data.DATA}">{data.NAME}{L_COLON}</label><br /><span>{data.EXPLAIN}</span></dt>
|
||||
<dd><input type="<!-- IF data.DATA == 'password' -->password<!-- ELSE -->text<!-- ENDIF -->" id="{data.DATA}" name="{data.DATA}" value="{data.DEFAULT}" /></dd>
|
||||
</dl>
|
||||
<!-- END data -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button2" type="submit" name="check_again" value="{L_BACK}" />
|
||||
<input class="button1" type="submit" name="test_connection" value="{L_TEST_CONNECTION}" />
|
||||
<input class="button1" type="submit" name="submit" value="{L_UPDATE_FILES}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE install_footer.html -->
|
@ -1,254 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
<link href="{T_TEMPLATE_PATH}/admin.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
function resize_panel()
|
||||
{
|
||||
var block = document.getElementById('diff_content');
|
||||
var height;
|
||||
|
||||
if (window.innerHeight)
|
||||
{
|
||||
height = window.innerHeight - 200;
|
||||
block.style.height = height + 'px';
|
||||
}
|
||||
else
|
||||
{
|
||||
//whatever IE needs to do this
|
||||
}
|
||||
}
|
||||
|
||||
window.onresize = resize_panel;
|
||||
|
||||
// ]]>
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
/* <![CDATA[ */
|
||||
|
||||
#main, .rtl #main {
|
||||
font-size: 1em;
|
||||
line-height: 0.7em;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 99%;
|
||||
}
|
||||
|
||||
#diff_content {
|
||||
padding: 30px 10px 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
<!-- IF DIFF_MODE neq 'side_by_side' and DIFF_MODE neq 'raw' -->
|
||||
div#codepanel {
|
||||
width: 100%;
|
||||
}
|
||||
<!-- ELSE -->
|
||||
div#codepanel {
|
||||
background-color: #eee;
|
||||
}
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF DIFF_MODE neq 'unified' and DIFF_MODE neq 'side_by_side' -->
|
||||
div#diff_content pre {
|
||||
overflow: auto;
|
||||
height: 414px;
|
||||
width: 100% !important;
|
||||
}
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF not S_DIFF_NEW_FILE -->
|
||||
/**
|
||||
* Unified Diff
|
||||
*/
|
||||
.file {
|
||||
line-height: .7em;
|
||||
overflow: auto;
|
||||
height: 414px;
|
||||
}
|
||||
|
||||
.diff {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.added {
|
||||
background-color: #dfd;
|
||||
}
|
||||
|
||||
.removed {
|
||||
background-color: #fdd;
|
||||
}
|
||||
|
||||
.info {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.context {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
/**
|
||||
* Inline Diff
|
||||
*/
|
||||
.ins {
|
||||
background-color: #dfd;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.del {
|
||||
background-color: #fdd;
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
/**
|
||||
* Column Diff
|
||||
*/
|
||||
table.hrdiff {
|
||||
margin: 0 0 8px 5px;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
border-bottom: 1px solid #999;
|
||||
table-layout: fixed;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
table.hrdiff th {
|
||||
text-align: left;
|
||||
width: 50%;
|
||||
color: #333;
|
||||
font-family: Verdana,Helvetica,sans-serif;
|
||||
font-size: 11px;
|
||||
border-bottom: 1px solid #999;
|
||||
border-right: 1px solid #999;
|
||||
background: #D9D9D9;
|
||||
}
|
||||
|
||||
table.hrdiff thead th {
|
||||
font-weight: bold;
|
||||
font-size: 110%;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
table.hrdiff tr:first-child th {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
table.hrdiff tbody th {
|
||||
font-size: 80%;
|
||||
border-top: 1px solid #999;
|
||||
}
|
||||
|
||||
table.hrdiff tbody td {
|
||||
border-right: 1px solid #999;
|
||||
}
|
||||
|
||||
table.hrdiff td pre {
|
||||
font-family: "Consolas", monospace;
|
||||
font-size: 1.1em;
|
||||
white-space: pre-wrap; /* css-3 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
}
|
||||
|
||||
table.hrdiff .unmodified {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
table.hrdiff .added {
|
||||
background: #9f9;
|
||||
}
|
||||
|
||||
table.hrdiff .added_empty {
|
||||
background: #cfc;
|
||||
}
|
||||
|
||||
table.hrdiff .modified {
|
||||
background: #fd9;
|
||||
}
|
||||
|
||||
table.hrdiff .removed {
|
||||
background: #f99;
|
||||
}
|
||||
|
||||
table.hrdiff .removed_empty {
|
||||
background: #fcc;
|
||||
}
|
||||
|
||||
table.hrdiff caption {
|
||||
caption-side: top;
|
||||
text-align: left;
|
||||
margin: 0 0 8px 5px;
|
||||
font-size: 90%;
|
||||
font-weight: bold;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
table.hrdiff caption span {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
line-height: 10px;
|
||||
letter-spacing: 10px;
|
||||
border: 1px solid #000;
|
||||
margin-left: 0.5em;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
/* ]]> */
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<!-- IF DIFF_MODE neq 'side_by_side' and DIFF_MODE neq 'raw' -->
|
||||
<body onload="resize_panel();">
|
||||
<!-- ELSE -->
|
||||
<body>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div id="wrap">
|
||||
<div id="page-header">
|
||||
<!-- IF S_DIFF_NEW_FILE -->
|
||||
|
||||
<h1>{L_VIEWING_FILE_CONTENTS}</h1>
|
||||
<!-- ELSE -->
|
||||
<h1>{L_VIEWING_FILE_DIFF}</h1>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF not S_DIFF_NEW_FILE -->
|
||||
<p id="skip"><a href="#acp">{L_SKIP}</a></p>
|
||||
<form method="post" action="#">
|
||||
<fieldset class="quick">
|
||||
<label for="diff_mode">{L_SELECT_DIFF_MODE}{L_COLON}</label>
|
||||
<select name="diff_mode" id="diff_mode">{S_DIFF_MODE_OPTIONS}</select>
|
||||
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_CHANGE}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_DIFF_CONFLICT_FILE -->
|
||||
<div style="float: {S_CONTENT_FLOW_BEGIN};"><strong>{L_NUM_CONFLICTS}{L_COLON} {NUM_CONFLICTS}</strong></div>
|
||||
<br style="clear: both;" />
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<div id="page-body">
|
||||
<div id="acp">
|
||||
<div id="codepanel">
|
||||
<div id="diff_content">
|
||||
<div id="main">
|
||||
{DIFF_CONTENT}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- INCLUDE simple_footer.html -->
|
@ -52,7 +52,7 @@ if (!defined('PHPBB_INSTALLED'))
|
||||
}
|
||||
|
||||
// $phpbb_root_path accounts for redirects from e.g. /adm
|
||||
$script_path = trim(dirname($script_name)) . '/' . $phpbb_root_path . 'install/index.' . $phpEx;
|
||||
$script_path = trim(dirname($script_name)) . '/' . $phpbb_root_path . 'install/app.' . $phpEx;
|
||||
// Replace any number of consecutive backslashes and/or slashes with a single slash
|
||||
// (could happen on some proxy setups and/or Windows servers)
|
||||
$script_path = preg_replace('#[\\\\/]{2,}#', '/', $script_path);
|
||||
|
@ -1,2 +1,5 @@
|
||||
imports:
|
||||
- { resource: ../../default/container/parameters.yml }
|
||||
|
||||
parameters:
|
||||
installer.create_config_file.options: []
|
||||
|
@ -8,6 +8,7 @@ services:
|
||||
- @installer.helper.iohandler
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- %installer.create_config_file.options%
|
||||
tags:
|
||||
- { name: install_filesystem_install, order: 10 }
|
||||
|
||||
|
@ -52,7 +52,7 @@ class acp_update
|
||||
$template->assign_block_vars('updates_available', $version_data);
|
||||
}
|
||||
|
||||
$update_link = append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=update');
|
||||
$update_link = $phpbb_root_path . 'install/app.' . $phpEx;
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_UP_TO_DATE' => empty($updates_available),
|
||||
|
@ -1,540 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of available DBMS with some data, if a DBMS is specified it will only
|
||||
* return data for that DBMS and will load its extension if necessary.
|
||||
*/
|
||||
function get_available_dbms($dbms = false, $return_unavailable = false, $only_20x_options = false)
|
||||
{
|
||||
global $lang;
|
||||
$available_dbms = array(
|
||||
// Note: php 5.5 alpha 2 deprecated mysql.
|
||||
// Keep mysqli before mysql in this list.
|
||||
'mysqli' => array(
|
||||
'LABEL' => 'MySQL with MySQLi Extension',
|
||||
'SCHEMA' => 'mysql_41',
|
||||
'MODULE' => 'mysqli',
|
||||
'DELIM' => ';',
|
||||
'DRIVER' => 'phpbb\db\driver\mysqli',
|
||||
'AVAILABLE' => true,
|
||||
'2.0.x' => true,
|
||||
),
|
||||
'mysql' => array(
|
||||
'LABEL' => 'MySQL',
|
||||
'SCHEMA' => 'mysql',
|
||||
'MODULE' => 'mysql',
|
||||
'DELIM' => ';',
|
||||
'DRIVER' => 'phpbb\db\driver\mysql',
|
||||
'AVAILABLE' => true,
|
||||
'2.0.x' => true,
|
||||
),
|
||||
'mssql' => array(
|
||||
'LABEL' => 'MS SQL Server 2000+',
|
||||
'SCHEMA' => 'mssql',
|
||||
'MODULE' => 'mssql',
|
||||
'DELIM' => 'GO',
|
||||
'DRIVER' => 'phpbb\db\driver\mssql',
|
||||
'AVAILABLE' => true,
|
||||
'2.0.x' => true,
|
||||
),
|
||||
'mssql_odbc'=> array(
|
||||
'LABEL' => 'MS SQL Server [ ODBC ]',
|
||||
'SCHEMA' => 'mssql',
|
||||
'MODULE' => 'odbc',
|
||||
'DELIM' => 'GO',
|
||||
'DRIVER' => 'phpbb\db\driver\mssql_odbc',
|
||||
'AVAILABLE' => true,
|
||||
'2.0.x' => true,
|
||||
),
|
||||
'mssqlnative' => array(
|
||||
'LABEL' => 'MS SQL Server 2005+ [ Native ]',
|
||||
'SCHEMA' => 'mssql',
|
||||
'MODULE' => 'sqlsrv',
|
||||
'DELIM' => 'GO',
|
||||
'DRIVER' => 'phpbb\db\driver\mssqlnative',
|
||||
'AVAILABLE' => true,
|
||||
'2.0.x' => false,
|
||||
),
|
||||
'oracle' => array(
|
||||
'LABEL' => 'Oracle',
|
||||
'SCHEMA' => 'oracle',
|
||||
'MODULE' => 'oci8',
|
||||
'DELIM' => '/',
|
||||
'DRIVER' => 'phpbb\db\driver\oracle',
|
||||
'AVAILABLE' => true,
|
||||
'2.0.x' => false,
|
||||
),
|
||||
'postgres' => array(
|
||||
'LABEL' => 'PostgreSQL 8.3+',
|
||||
'SCHEMA' => 'postgres',
|
||||
'MODULE' => 'pgsql',
|
||||
'DELIM' => ';',
|
||||
'DRIVER' => 'phpbb\db\driver\postgres',
|
||||
'AVAILABLE' => true,
|
||||
'2.0.x' => true,
|
||||
),
|
||||
'sqlite' => array(
|
||||
'LABEL' => 'SQLite',
|
||||
'SCHEMA' => 'sqlite',
|
||||
'MODULE' => 'sqlite',
|
||||
'DELIM' => ';',
|
||||
'DRIVER' => 'phpbb\db\driver\sqlite',
|
||||
'AVAILABLE' => true,
|
||||
'2.0.x' => false,
|
||||
),
|
||||
'sqlite3' => array(
|
||||
'LABEL' => 'SQLite3',
|
||||
'SCHEMA' => 'sqlite',
|
||||
'MODULE' => 'sqlite3',
|
||||
'DELIM' => ';',
|
||||
'DRIVER' => 'phpbb\db\driver\sqlite3',
|
||||
'AVAILABLE' => true,
|
||||
'2.0.x' => false,
|
||||
),
|
||||
);
|
||||
|
||||
if ($dbms)
|
||||
{
|
||||
if (isset($available_dbms[$dbms]))
|
||||
{
|
||||
$available_dbms = array($dbms => $available_dbms[$dbms]);
|
||||
}
|
||||
else
|
||||
{
|
||||
return array();
|
||||
}
|
||||
}
|
||||
|
||||
// now perform some checks whether they are really available
|
||||
foreach ($available_dbms as $db_name => $db_ary)
|
||||
{
|
||||
if ($only_20x_options && !$db_ary['2.0.x'])
|
||||
{
|
||||
if ($return_unavailable)
|
||||
{
|
||||
$available_dbms[$db_name]['AVAILABLE'] = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($available_dbms[$db_name]);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
$dll = $db_ary['MODULE'];
|
||||
|
||||
if (!@extension_loaded($dll))
|
||||
{
|
||||
if ($return_unavailable)
|
||||
{
|
||||
$available_dbms[$db_name]['AVAILABLE'] = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($available_dbms[$db_name]);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
$any_db_support = true;
|
||||
}
|
||||
|
||||
if ($return_unavailable)
|
||||
{
|
||||
$available_dbms['ANY_DB_SUPPORT'] = $any_db_support;
|
||||
}
|
||||
return $available_dbms;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the drop down of available database options
|
||||
*/
|
||||
function dbms_select($default = '', $only_20x_options = false)
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$available_dbms = get_available_dbms(false, false, $only_20x_options);
|
||||
$dbms_options = '';
|
||||
foreach ($available_dbms as $dbms_name => $details)
|
||||
{
|
||||
$selected = ($dbms_name == $default) ? ' selected="selected"' : '';
|
||||
$dbms_options .= '<option value="' . $dbms_name . '"' . $selected .'>' . $lang['DLL_' . strtoupper($dbms_name)] . '</option>';
|
||||
}
|
||||
return $dbms_options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to test whether we are able to connect to the database the user has specified
|
||||
* and identify any problems (eg there are already tables with the names we want to use
|
||||
* @param array $dbms should be of the format of an element of the array returned by {@link get_available_dbms get_available_dbms()}
|
||||
* necessary extensions should be loaded already
|
||||
*/
|
||||
function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix, $dbhost, $dbuser, $dbpasswd, $dbname, $dbport, $prefix_may_exist = false, $load_dbal = true, $unicode_check = true)
|
||||
{
|
||||
global $phpbb_root_path, $phpEx, $config, $lang, $phpbb_filesystem;
|
||||
|
||||
$dbms = $dbms_details['DRIVER'];
|
||||
|
||||
// Instantiate it and set return on error true
|
||||
$db = new $dbms();
|
||||
$db->sql_return_on_error(true);
|
||||
|
||||
// Check that we actually have a database name before going any further.....
|
||||
if ($dbms_details['DRIVER'] != 'phpbb\db\driver\sqlite' && $dbms_details['DRIVER'] != 'phpbb\db\driver\sqlite3' && $dbms_details['DRIVER'] != 'phpbb\db\driver\oracle' && $dbname === '')
|
||||
{
|
||||
$error[] = $lang['INST_ERR_DB_NO_NAME'];
|
||||
return false;
|
||||
}
|
||||
|
||||
// Make sure we don't have a daft user who thinks having the SQLite database in the forum directory is a good idea
|
||||
if (($dbms_details['DRIVER'] == 'phpbb\db\driver\sqlite' || $dbms_details['DRIVER'] == 'phpbb\db\driver\sqlite3') && stripos($phpbb_filesystem->realpath($dbhost), $phpbb_filesystem->realpath('../')) === 0)
|
||||
{
|
||||
$error[] = $lang['INST_ERR_DB_FORUM_PATH'];
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check the prefix length to ensure that index names are not too long and does not contain invalid characters
|
||||
switch ($dbms_details['DRIVER'])
|
||||
{
|
||||
case 'phpbb\db\driver\mysql':
|
||||
case 'phpbb\db\driver\mysqli':
|
||||
if (strspn($table_prefix, '-./\\') !== 0)
|
||||
{
|
||||
$error[] = $lang['INST_ERR_PREFIX_INVALID'];
|
||||
return false;
|
||||
}
|
||||
|
||||
// no break;
|
||||
|
||||
case 'phpbb\db\driver\postgres':
|
||||
$prefix_length = 36;
|
||||
break;
|
||||
|
||||
case 'phpbb\db\driver\mssql':
|
||||
case 'phpbb\db\driver\mssql_odbc':
|
||||
case 'phpbb\db\driver\mssqlnative':
|
||||
$prefix_length = 90;
|
||||
break;
|
||||
|
||||
case 'phpbb\db\driver\sqlite':
|
||||
case 'phpbb\db\driver\sqlite3':
|
||||
$prefix_length = 200;
|
||||
break;
|
||||
|
||||
case 'phpbb\db\driver\oracle':
|
||||
$prefix_length = 6;
|
||||
break;
|
||||
}
|
||||
|
||||
if (strlen($table_prefix) > $prefix_length)
|
||||
{
|
||||
$error[] = sprintf($lang['INST_ERR_PREFIX_TOO_LONG'], $prefix_length);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Try and connect ...
|
||||
if (is_array($db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, true)))
|
||||
{
|
||||
$db_error = $db->sql_error();
|
||||
$error[] = $lang['INST_ERR_DB_CONNECT'] . '<br />' . (($db_error['message']) ? utf8_convert_message($db_error['message']) : $lang['INST_ERR_DB_NO_ERROR']);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Likely matches for an existing phpBB installation
|
||||
if (!$prefix_may_exist)
|
||||
{
|
||||
$temp_prefix = strtolower($table_prefix);
|
||||
$table_ary = array($temp_prefix . 'attachments', $temp_prefix . 'config', $temp_prefix . 'sessions', $temp_prefix . 'topics', $temp_prefix . 'users');
|
||||
|
||||
$db_tools_factory = new \phpbb\db\tools\factory();
|
||||
$db_tools = $db_tools_factory->get($db);
|
||||
$tables = $db_tools->sql_list_tables();
|
||||
$tables = array_map('strtolower', $tables);
|
||||
$table_intersect = array_intersect($tables, $table_ary);
|
||||
|
||||
if (sizeof($table_intersect))
|
||||
{
|
||||
$error[] = $lang['INST_ERR_PREFIX'];
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure that the user has selected a sensible DBAL for the DBMS actually installed
|
||||
switch ($dbms_details['DRIVER'])
|
||||
{
|
||||
case 'phpbb\db\driver\mysqli':
|
||||
if (version_compare(mysqli_get_server_info($db->get_db_connect_id()), '4.1.3', '<'))
|
||||
{
|
||||
$error[] = $lang['INST_ERR_DB_NO_MYSQLI'];
|
||||
}
|
||||
break;
|
||||
|
||||
case 'phpbb\db\driver\sqlite':
|
||||
if (version_compare(sqlite_libversion(), '2.8.2', '<'))
|
||||
{
|
||||
$error[] = $lang['INST_ERR_DB_NO_SQLITE'];
|
||||
}
|
||||
break;
|
||||
|
||||
case 'phpbb\db\driver\sqlite3':
|
||||
$version = \SQLite3::version();
|
||||
if (version_compare($version['versionString'], '3.6.15', '<'))
|
||||
{
|
||||
$error[] = $lang['INST_ERR_DB_NO_SQLITE3'];
|
||||
}
|
||||
break;
|
||||
|
||||
case 'phpbb\db\driver\oracle':
|
||||
if ($unicode_check)
|
||||
{
|
||||
$sql = "SELECT *
|
||||
FROM NLS_DATABASE_PARAMETERS
|
||||
WHERE PARAMETER = 'NLS_RDBMS_VERSION'
|
||||
OR PARAMETER = 'NLS_CHARACTERSET'";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$stats[$row['parameter']] = $row['value'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (version_compare($stats['NLS_RDBMS_VERSION'], '9.2', '<') && $stats['NLS_CHARACTERSET'] !== 'UTF8')
|
||||
{
|
||||
$error[] = $lang['INST_ERR_DB_NO_ORACLE'];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'phpbb\db\driver\postgres':
|
||||
if ($unicode_check)
|
||||
{
|
||||
$sql = "SHOW server_encoding;";
|
||||
$result = $db->sql_query($sql);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($row['server_encoding'] !== 'UNICODE' && $row['server_encoding'] !== 'UTF8')
|
||||
{
|
||||
$error[] = $lang['INST_ERR_DB_NO_POSTGRES'];
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($error_connect && (!isset($error) || !sizeof($error)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes "/* style" as well as "# style" comments from $input.
|
||||
*
|
||||
* @param string $input Input string
|
||||
*
|
||||
* @return string Input string with comments removed
|
||||
*/
|
||||
function phpbb_remove_comments($input)
|
||||
{
|
||||
// Remove /* */ comments (http://ostermiller.org/findcomment.html)
|
||||
$input = preg_replace('#/\*(.|[\r\n])*?\*/#', "\n", $input);
|
||||
|
||||
// Remove # style comments
|
||||
$input = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $input));
|
||||
|
||||
return $input;
|
||||
}
|
||||
|
||||
/**
|
||||
* split_sql_file will split an uploaded sql file into single sql statements.
|
||||
* Note: expects trim() to have already been run on $sql.
|
||||
*/
|
||||
function split_sql_file($sql, $delimiter)
|
||||
{
|
||||
$sql = str_replace("\r" , '', $sql);
|
||||
$data = preg_split('/' . preg_quote($delimiter, '/') . '$/m', $sql);
|
||||
|
||||
$data = array_map('trim', $data);
|
||||
|
||||
// The empty case
|
||||
$end_data = end($data);
|
||||
|
||||
if (empty($end_data))
|
||||
{
|
||||
unset($data[key($data)]);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* For replacing {L_*} strings with preg_replace_callback
|
||||
*/
|
||||
function adjust_language_keys_callback($matches)
|
||||
{
|
||||
if (!empty($matches[1]))
|
||||
{
|
||||
global $lang, $db;
|
||||
|
||||
return (!empty($lang[$matches[1]])) ? $db->sql_escape($lang[$matches[1]]) : $db->sql_escape($matches[1]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the output to be stored in a phpBB config.php file
|
||||
*
|
||||
* @param array $data Array containing the database connection information
|
||||
* @param string $dbms The name of the DBAL class to use
|
||||
* @param bool $debug If the debug constants should be enabled by default or not
|
||||
* @param bool $debug_container If the container should be compiled on
|
||||
* every page load or not
|
||||
* @param bool $debug_test If the DEBUG_TEST constant should be added
|
||||
* NOTE: Only for use within the testing framework
|
||||
*
|
||||
* @return string The output to write to the file
|
||||
*/
|
||||
function phpbb_create_config_file_data($data, $dbms, $debug = false, $debug_container = false, $debug_test = false)
|
||||
{
|
||||
$config_data = "<?php\n";
|
||||
$config_data .= "// phpBB 3.1.x auto-generated configuration file\n// Do not change anything in this file!\n";
|
||||
|
||||
$config_data_array = array(
|
||||
'dbms' => $dbms,
|
||||
'dbhost' => $data['dbhost'],
|
||||
'dbport' => $data['dbport'],
|
||||
'dbname' => $data['dbname'],
|
||||
'dbuser' => $data['dbuser'],
|
||||
'dbpasswd' => htmlspecialchars_decode($data['dbpasswd']),
|
||||
'table_prefix' => $data['table_prefix'],
|
||||
|
||||
'phpbb_adm_relative_path' => 'adm/',
|
||||
|
||||
'acm_type' => 'phpbb\cache\driver\file',
|
||||
);
|
||||
|
||||
foreach ($config_data_array as $key => $value)
|
||||
{
|
||||
$config_data .= "\${$key} = '" . str_replace("'", "\\'", str_replace('\\', '\\\\', $value)) . "';\n";
|
||||
}
|
||||
|
||||
$config_data .= "\n@define('PHPBB_INSTALLED', true);\n";
|
||||
$config_data .= "// @define('PHPBB_DISPLAY_LOAD_TIME', true);\n";
|
||||
|
||||
if ($debug_test)
|
||||
{
|
||||
$config_data .= "@define('PHPBB_ENVIRONMENT', 'test');\n";
|
||||
}
|
||||
else if ($debug)
|
||||
{
|
||||
$config_data .= "@define('PHPBB_ENVIRONMENT', 'development');\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$config_data .= "@define('PHPBB_ENVIRONMENT', 'production');\n";
|
||||
}
|
||||
|
||||
if ($debug_container)
|
||||
{
|
||||
$config_data .= "@define('DEBUG_CONTAINER', true);\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$config_data .= "// @define('DEBUG_CONTAINER', true);\n";
|
||||
}
|
||||
|
||||
if ($debug_test)
|
||||
{
|
||||
$config_data .= "@define('DEBUG_TEST', true);\n";
|
||||
$config_data .= "@define('DEBUG', true);\n"; // Mandatory for the functional tests, will be removed by PHPBB3-12623
|
||||
}
|
||||
|
||||
return $config_data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether a file should be ignored on update
|
||||
*
|
||||
* We ignore new files in some circumstances:
|
||||
* 1. The file is a language file, but the language is not installed
|
||||
* 2. The file is a style file, but the style is not installed
|
||||
* 3. The file is a style language file, but the language is not installed
|
||||
*
|
||||
* @param string $phpbb_root_path phpBB root path
|
||||
* @param string $file File including path from phpbb root
|
||||
* @return bool Should we ignore the new file or add it to the board?
|
||||
*/
|
||||
function phpbb_ignore_new_file_on_update($phpbb_root_path, $file)
|
||||
{
|
||||
$ignore_new_file = false;
|
||||
|
||||
// We ignore new files in some circumstances:
|
||||
// 1. The file is a language file, but the language is not installed
|
||||
if (!$ignore_new_file && strpos($file, 'language/') === 0)
|
||||
{
|
||||
list($language_dir, $language_iso) = explode('/', $file);
|
||||
$ignore_new_file = !file_exists($phpbb_root_path . $language_dir . '/' . $language_iso);
|
||||
}
|
||||
|
||||
// 2. The file is a style file, but the style is not installed
|
||||
if (!$ignore_new_file && strpos($file, 'styles/') === 0)
|
||||
{
|
||||
list($styles_dir, $style_name) = explode('/', $file);
|
||||
$ignore_new_file = !file_exists($phpbb_root_path . $styles_dir . '/' . $style_name);
|
||||
}
|
||||
|
||||
// 3. The file is a style language file, but the language is not installed
|
||||
if (!$ignore_new_file && strpos($file, 'styles/') === 0)
|
||||
{
|
||||
$dirs = explode('/', $file);
|
||||
if (sizeof($dirs) >= 5)
|
||||
{
|
||||
list($styles_dir, $style_name, $template_component, $language_iso) = explode('/', $file);
|
||||
if ($template_component == 'theme' && $language_iso !== 'images')
|
||||
{
|
||||
$ignore_new_file = !file_exists($phpbb_root_path . 'language/' . $language_iso);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $ignore_new_file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether phpBB is installed.
|
||||
*
|
||||
* @param string $phpbb_root_path Path to the phpBB board root.
|
||||
* @param string $php_ext PHP file extension.
|
||||
*
|
||||
* @return bool Returns true if phpBB is installed.
|
||||
*/
|
||||
function phpbb_check_installation_exists($phpbb_root_path, $php_ext)
|
||||
{
|
||||
// Try opening config file
|
||||
if (file_exists($phpbb_root_path . 'config.' . $php_ext))
|
||||
{
|
||||
include($phpbb_root_path . 'config.' . $php_ext);
|
||||
}
|
||||
|
||||
return defined('PHPBB_INSTALLED');
|
||||
}
|
@ -20,8 +20,8 @@ define('PHPBB_ENVIRONMENT', 'production');
|
||||
$phpbb_root_path = '../';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
|
||||
$startup_new_path = $phpbb_root_path . 'install/update/update/new/install_new/startup.' . $phpEx;
|
||||
$startup_path = (file_exists($startup_new_path)) ? $startup_new_path : $phpbb_root_path . 'install_new/startup.' . $phpEx;
|
||||
$startup_new_path = $phpbb_root_path . 'install/update/update/new/install/startup.' . $phpEx;
|
||||
$startup_path = (file_exists($startup_new_path)) ? $startup_new_path : $phpbb_root_path . 'install/startup.' . $phpEx;
|
||||
require($startup_path);
|
||||
|
||||
/** @var \phpbb\filesystem\filesystem $phpbb_filesystem */
|
||||
@ -47,7 +47,7 @@ $phpbb_dispatcher = $phpbb_installer_container->get('dispatcher');
|
||||
|
||||
/** @var \phpbb\language\language $language */
|
||||
$language = $phpbb_installer_container->get('language');
|
||||
$language->add_lang(array('common', 'acp/common', 'acp/board', 'install_new', 'posting'));
|
||||
$language->add_lang(array('common', 'acp/common', 'acp/board', 'install', 'posting'));
|
||||
|
||||
/* @var $http_kernel \Symfony\Component\HttpKernel\HttpKernel */
|
||||
$http_kernel = $phpbb_installer_container->get('http_kernel');
|
@ -1,270 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
$update_start_time = time();
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('IN_PHPBB', true);
|
||||
define('IN_INSTALL', true);
|
||||
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
|
||||
function phpbb_end_update($cache, $config)
|
||||
{
|
||||
$cache->purge();
|
||||
|
||||
$config->increment('assets_version', 1);
|
||||
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<span class="corners-bottom"><span></span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="page-footer">
|
||||
<div class="copyright">
|
||||
Powered by <a href="https://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Limited
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php
|
||||
|
||||
garbage_collection();
|
||||
exit_handler();
|
||||
}
|
||||
|
||||
require($phpbb_root_path . 'includes/startup.' . $phpEx);
|
||||
require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);
|
||||
|
||||
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
|
||||
$phpbb_class_loader->register();
|
||||
|
||||
$phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);
|
||||
extract($phpbb_config_php_file->get_all());
|
||||
|
||||
if (!defined('PHPBB_INSTALLED') || empty($dbms) || empty($acm_type))
|
||||
{
|
||||
die("Please read: <a href='../docs/INSTALL.html'>INSTALL.html</a> before attempting to update.");
|
||||
}
|
||||
|
||||
// In case $phpbb_adm_relative_path is not set (in case of an update), use the default.
|
||||
$phpbb_adm_relative_path = (isset($phpbb_adm_relative_path)) ? $phpbb_adm_relative_path : 'adm/';
|
||||
$phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : $phpbb_root_path . $phpbb_adm_relative_path;
|
||||
|
||||
// Include files
|
||||
require($phpbb_root_path . 'includes/functions.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/functions_content.' . $phpEx);
|
||||
|
||||
require($phpbb_root_path . 'includes/constants.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
|
||||
|
||||
// Set PHP error handler to ours
|
||||
set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');
|
||||
|
||||
// Set up container (must be done here because extensions table may not exist)
|
||||
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx);
|
||||
$phpbb_container = $phpbb_container_builder
|
||||
->with_config($phpbb_config_php_file)
|
||||
->without_extensions()
|
||||
->without_cache()
|
||||
->get_container()
|
||||
;
|
||||
|
||||
// set up caching
|
||||
/* @var $cache \phpbb\cache\service */
|
||||
$cache = $phpbb_container->get('cache');
|
||||
|
||||
// Instantiate some basic classes
|
||||
/* @var $phpbb_dispatcher \phpbb\event\dispatcher */
|
||||
$phpbb_dispatcher = $phpbb_container->get('dispatcher');
|
||||
|
||||
/* @var $request \phpbb\request\request_interface */
|
||||
$request = $phpbb_container->get('request');
|
||||
|
||||
/* @var $user \phpbb\user */
|
||||
$user = $phpbb_container->get('user');
|
||||
|
||||
/* @var $auth \phpbb\auth\auth */
|
||||
$auth = $phpbb_container->get('auth');
|
||||
|
||||
/* @var $db \phpbb\db\driver\driver_interface */
|
||||
$db = $phpbb_container->get('dbal.conn');
|
||||
|
||||
/* @var $phpbb_log \phpbb\log\log_interface */
|
||||
$phpbb_log = $phpbb_container->get('log');
|
||||
|
||||
/** @var \phpbb\language\language $language */
|
||||
$language = $phpbb_container->get('language');
|
||||
|
||||
// Grab global variables, re-cache if necessary
|
||||
/* @var $config \phpbb\config\config */
|
||||
$config = $phpbb_container->get('config');
|
||||
|
||||
if (!isset($config['version_update_from']))
|
||||
{
|
||||
$config->set('version_update_from', $config['version']);
|
||||
}
|
||||
|
||||
$orig_version = $config['version_update_from'];
|
||||
|
||||
$user->add_lang(array('common', 'acp/common', 'install', 'migrator'));
|
||||
|
||||
// Add own hook handler, if present. :o
|
||||
if (file_exists($phpbb_root_path . 'includes/hooks/index.' . $phpEx))
|
||||
{
|
||||
require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
|
||||
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
|
||||
|
||||
/* @var $phpbb_hook_finder \phpbb\hook\finder */
|
||||
$phpbb_hook_finder = $phpbb_container->get('hook_finder');
|
||||
foreach ($phpbb_hook_finder->find() as $hook)
|
||||
{
|
||||
@include($phpbb_root_path . 'includes/hooks/' . $hook . '.' . $phpEx);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$phpbb_hook = false;
|
||||
}
|
||||
|
||||
header('Content-type: text/html; charset=UTF-8');
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html dir="<?php echo $user->lang['DIRECTION']; ?>" lang="<?php echo $user->lang['USER_LANG']; ?>">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<title><?php echo $user->lang['UPDATING_TO_LATEST_STABLE']; ?></title>
|
||||
|
||||
<link href="<?php echo htmlspecialchars($phpbb_admin_path); ?>style/admin.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="wrap">
|
||||
<div id="page-header"> </div>
|
||||
|
||||
<div id="page-body">
|
||||
<div id="acp">
|
||||
<div class="panel">
|
||||
<span class="corners-top"><span></span></span>
|
||||
<div id="content">
|
||||
<div id="main" class="install-body">
|
||||
|
||||
<h1><?php echo $user->lang['UPDATING_TO_LATEST_STABLE']; ?></h1>
|
||||
|
||||
<br />
|
||||
|
||||
<p><?php echo $user->lang['DATABASE_TYPE']; ?> :: <strong><?php echo $db->get_sql_layer(); ?></strong><br />
|
||||
<?php echo $user->lang['PREVIOUS_VERSION']; ?> :: <strong><?php echo $config['version']; ?></strong><br />
|
||||
|
||||
<?php
|
||||
|
||||
define('IN_DB_UPDATE', true);
|
||||
|
||||
/**
|
||||
* @todo mysql update?
|
||||
*/
|
||||
|
||||
// End startup code
|
||||
|
||||
/* @var $migrator \phpbb\db\migrator */
|
||||
$migrator = $phpbb_container->get('migrator');
|
||||
|
||||
/** @var \phpbb\filesystem\filesystem_interface $phpbb_filesystem */
|
||||
$phpbb_filesystem = $phpbb_container->get('filesystem');
|
||||
$migrator->set_output_handler(new \phpbb\db\output_handler\log_wrapper_migrator_output_handler($language, new \phpbb\db\output_handler\html_migrator_output_handler($language), $phpbb_root_path . 'store/migrations_' . time() . '.log', $phpbb_filesystem));
|
||||
|
||||
$migrator->create_migrations_table();
|
||||
|
||||
/* @var $phpbb_extension_manager \phpbb\extension\manager */
|
||||
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
|
||||
|
||||
$migrations = $phpbb_extension_manager
|
||||
->get_finder()
|
||||
->core_path('phpbb/db/migration/data/')
|
||||
->extension_directory('/migrations')
|
||||
->get_classes();
|
||||
|
||||
$migrator->set_migrations($migrations);
|
||||
|
||||
// What is a safe limit of execution time? Half the max execution time should be safe.
|
||||
// No more than 15 seconds so the user isn't sitting and waiting for a very long time
|
||||
$phpbb_ini = new \bantu\IniGetWrapper\IniGetWrapper();
|
||||
$safe_time_limit = min(15, ($phpbb_ini->getNumeric('max_execution_time') / 2));
|
||||
|
||||
// While we're going to try limit this to half the max execution time,
|
||||
// we want to try and take additional measures to prevent hitting the
|
||||
// max execution time (if, say, one migration step takes much longer
|
||||
// than the max execution time)
|
||||
@set_time_limit(0);
|
||||
|
||||
while (!$migrator->finished())
|
||||
{
|
||||
try
|
||||
{
|
||||
$migrator->update();
|
||||
}
|
||||
catch (\phpbb\db\migration\exception $e)
|
||||
{
|
||||
echo $e->getLocalisedMessage($user);
|
||||
|
||||
phpbb_end_update($cache, $config);
|
||||
}
|
||||
|
||||
$state = array_merge(array(
|
||||
'migration_schema_done' => false,
|
||||
'migration_data_done' => false,
|
||||
),
|
||||
$migrator->last_run_migration['state']
|
||||
);
|
||||
|
||||
// Are we approaching the time limit? If so we want to pause the update and continue after refreshing
|
||||
if ((time() - $update_start_time) >= $safe_time_limit)
|
||||
{
|
||||
echo '<br />' . $user->lang['DATABASE_UPDATE_NOT_COMPLETED'] . '<br /><br />';
|
||||
echo '<a href="' . append_sid($phpbb_root_path . 'install/database_update.' . $phpEx, 'type=' . $request->variable('type', 0) . '&language=' . $request->variable('language', 'en')) . '" class="button1">' . $user->lang['DATABASE_UPDATE_CONTINUE'] . '</a>';
|
||||
|
||||
phpbb_end_update($cache, $config);
|
||||
}
|
||||
}
|
||||
|
||||
if ($orig_version != $config['version'])
|
||||
{
|
||||
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_UPDATE_DATABASE', false, array($orig_version, $config['version']));
|
||||
}
|
||||
|
||||
echo $user->lang['DATABASE_UPDATE_COMPLETE'] . '<br />';
|
||||
|
||||
if ($request->variable('type', 0))
|
||||
{
|
||||
echo $user->lang['INLINE_UPDATE_SUCCESSFUL'] . '<br /><br />';
|
||||
echo '<a href="' . append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=update&sub=update_db&language=' . $request->variable('language', 'en')) . '" class="button1">' . $user->lang['CONTINUE_UPDATE_NOW'] . '</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<div class="errorbox">' . $user->lang['UPDATE_FILES_NOTICE'] . '</div>';
|
||||
echo $user->lang['COMPLETE_LOGIN_TO_BOARD'];
|
||||
}
|
||||
|
||||
$config->delete('version_update_from');
|
||||
|
||||
phpbb_end_update($cache, $config);
|
@ -1,874 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
* @ignore
|
||||
*/
|
||||
define('IN_PHPBB', true);
|
||||
define('IN_INSTALL', true);
|
||||
define('PHPBB_ENVIRONMENT', 'production');
|
||||
/**#@-*/
|
||||
|
||||
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
|
||||
if (version_compare(PHP_VERSION, '5.4') < 0)
|
||||
{
|
||||
die('You are running an unsupported PHP version. Please upgrade to PHP 5.4 or higher before trying to install phpBB 3.2');
|
||||
}
|
||||
|
||||
function phpbb_require_updated($path, $optional = false)
|
||||
{
|
||||
global $phpbb_root_path, $table_prefix;
|
||||
|
||||
$new_path = $phpbb_root_path . 'install/update/new/' . $path;
|
||||
$old_path = $phpbb_root_path . $path;
|
||||
|
||||
if (file_exists($new_path))
|
||||
{
|
||||
require($new_path);
|
||||
}
|
||||
else if (!$optional || file_exists($old_path))
|
||||
{
|
||||
require($old_path);
|
||||
}
|
||||
}
|
||||
|
||||
function phpbb_include_updated($path, $optional = false)
|
||||
{
|
||||
global $phpbb_root_path;
|
||||
|
||||
$new_path = $phpbb_root_path . 'install/update/new/' . $path;
|
||||
$old_path = $phpbb_root_path . $path;
|
||||
|
||||
if (file_exists($new_path))
|
||||
{
|
||||
include($new_path);
|
||||
}
|
||||
else if (!$optional || file_exists($old_path))
|
||||
{
|
||||
include($old_path);
|
||||
}
|
||||
}
|
||||
|
||||
phpbb_require_updated('includes/startup.' . $phpEx);
|
||||
|
||||
// Try to override some limits - maybe it helps some...
|
||||
@set_time_limit(0);
|
||||
$mem_limit = @ini_get('memory_limit');
|
||||
if (!empty($mem_limit))
|
||||
{
|
||||
$unit = strtolower(substr($mem_limit, -1, 1));
|
||||
$mem_limit = (int) $mem_limit;
|
||||
|
||||
if ($unit == 'k')
|
||||
{
|
||||
$mem_limit = floor($mem_limit / 1024);
|
||||
}
|
||||
else if ($unit == 'g')
|
||||
{
|
||||
$mem_limit *= 1024;
|
||||
}
|
||||
else if (is_numeric($unit))
|
||||
{
|
||||
$mem_limit = floor((int) ($mem_limit . $unit) / 1048576);
|
||||
}
|
||||
$mem_limit = max(128, $mem_limit) . 'M';
|
||||
}
|
||||
else
|
||||
{
|
||||
$mem_limit = '128M';
|
||||
}
|
||||
@ini_set('memory_limit', $mem_limit);
|
||||
|
||||
// In case $phpbb_adm_relative_path is not set (in case of an update), use the default.
|
||||
$phpbb_adm_relative_path = (isset($phpbb_adm_relative_path)) ? $phpbb_adm_relative_path : 'adm/';
|
||||
$phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : $phpbb_root_path . $phpbb_adm_relative_path;
|
||||
|
||||
// Include essential scripts
|
||||
phpbb_require_updated('phpbb/class_loader.' . $phpEx);
|
||||
|
||||
phpbb_require_updated('includes/functions.' . $phpEx);
|
||||
|
||||
phpbb_require_updated('includes/functions_content.' . $phpEx, true);
|
||||
|
||||
phpbb_include_updated('includes/functions_admin.' . $phpEx);
|
||||
phpbb_include_updated('includes/utf/utf_tools.' . $phpEx);
|
||||
phpbb_require_updated('includes/functions_install.' . $phpEx);
|
||||
|
||||
// Setup class loader first
|
||||
$phpbb_class_loader_new = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}install/update/new/phpbb/", $phpEx);
|
||||
$phpbb_class_loader_new->register();
|
||||
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
|
||||
$phpbb_class_loader->register();
|
||||
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
|
||||
$phpbb_class_loader_ext->register();
|
||||
|
||||
// Set up container
|
||||
$phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);
|
||||
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx);
|
||||
$phpbb_container_builder
|
||||
->without_extensions()
|
||||
->without_cache()
|
||||
->without_compiled_container()
|
||||
;
|
||||
|
||||
$other_config_path = $phpbb_root_path . 'install/update/new/config/';
|
||||
$config_path = file_exists($other_config_path . 'services.yml') ? $other_config_path : $phpbb_root_path . 'config/';
|
||||
$phpbb_container_builder->with_config_path($config_path);
|
||||
|
||||
$phpbb_container_builder->with_custom_parameters(array(
|
||||
'core.root_path' => $phpbb_root_path,
|
||||
'core.adm_relative_path' => $phpbb_adm_relative_path,
|
||||
'core.php_ext' => $phpEx,
|
||||
'core.table_prefix' => '',
|
||||
'cache.driver.class' => 'phpbb\cache\driver\file',
|
||||
));
|
||||
|
||||
$phpbb_container = $phpbb_container_builder->get_container();
|
||||
$phpbb_container->register('dbal.conn.driver')->setSynthetic(true);
|
||||
$phpbb_container->register('template.twig.environment')->setSynthetic(true);
|
||||
$phpbb_container->register('language.loader')->setSynthetic(true);
|
||||
$phpbb_container->compile();
|
||||
|
||||
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
|
||||
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
|
||||
|
||||
/* @var $phpbb_dispatcher \phpbb\event\dispatcher */
|
||||
$phpbb_dispatcher = $phpbb_container->get('dispatcher');
|
||||
|
||||
/* @var $request \phpbb\request\request_interface */
|
||||
$request = $phpbb_container->get('request');
|
||||
|
||||
// Try and load an appropriate language if required
|
||||
$language = basename($request->variable('language', ''));
|
||||
|
||||
if ($request->header('Accept-Language') && !$language)
|
||||
{
|
||||
$accept_lang_ary = explode(',', strtolower($request->header('Accept-Language')));
|
||||
foreach ($accept_lang_ary as $accept_lang)
|
||||
{
|
||||
// Set correct format ... guess full xx_yy form
|
||||
$accept_lang = substr($accept_lang, 0, 2) . '_' . substr($accept_lang, 3, 2);
|
||||
|
||||
if (file_exists($phpbb_root_path . 'language/' . $accept_lang) && is_dir($phpbb_root_path . 'language/' . $accept_lang))
|
||||
{
|
||||
$language = $accept_lang;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
// No match on xx_yy so try xx
|
||||
$accept_lang = substr($accept_lang, 0, 2);
|
||||
if (file_exists($phpbb_root_path . 'language/' . $accept_lang) && is_dir($phpbb_root_path . 'language/' . $accept_lang))
|
||||
{
|
||||
$language = $accept_lang;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// No appropriate language found ... so let's use the first one in the language
|
||||
// dir, this may or may not be English
|
||||
if (!$language)
|
||||
{
|
||||
$dir = @opendir($phpbb_root_path . 'language');
|
||||
|
||||
if (!$dir)
|
||||
{
|
||||
die('Unable to access the language directory');
|
||||
exit;
|
||||
}
|
||||
|
||||
while (($file = readdir($dir)) !== false)
|
||||
{
|
||||
$path = $phpbb_root_path . 'language/' . $file;
|
||||
|
||||
if (!is_file($path) && !is_link($path) && file_exists($path . '/iso.txt'))
|
||||
{
|
||||
$language = $file;
|
||||
break;
|
||||
}
|
||||
}
|
||||
closedir($dir);
|
||||
}
|
||||
|
||||
if (!file_exists($phpbb_root_path . 'language/' . $language) || !is_dir($phpbb_root_path . 'language/' . $language))
|
||||
{
|
||||
die('No language found!');
|
||||
}
|
||||
|
||||
// And finally, load the relevant language files
|
||||
$load_lang_files = array('common', 'acp/common', 'acp/board', 'install', 'posting');
|
||||
$new_path = $phpbb_root_path . 'install/update/new/language/' . $language . '/';
|
||||
$old_path = $phpbb_root_path . 'language/' . $language . '/';
|
||||
|
||||
// NOTE: we can not use "phpbb_include_updated" as the files uses vars which would be required
|
||||
// to be global while loading.
|
||||
foreach ($load_lang_files as $lang_file)
|
||||
{
|
||||
if (file_exists($new_path . $lang_file . '.' . $phpEx))
|
||||
{
|
||||
include($new_path . $lang_file . '.' . $phpEx);
|
||||
}
|
||||
else
|
||||
{
|
||||
include($old_path . $lang_file . '.' . $phpEx);
|
||||
}
|
||||
}
|
||||
|
||||
// usually we would need every single constant here - and it would be consistent. For 3.0.x, use a dirty hack... :(
|
||||
|
||||
// Define needed constants
|
||||
define('CHMOD_ALL', 7);
|
||||
define('CHMOD_READ', 4);
|
||||
define('CHMOD_WRITE', 2);
|
||||
define('CHMOD_EXECUTE', 1);
|
||||
|
||||
$mode = $request->variable('mode', 'overview');
|
||||
$sub = $request->variable('sub', '');
|
||||
|
||||
// Set PHP error handler to ours
|
||||
set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');
|
||||
|
||||
$lang_service = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx));
|
||||
$lang_service->add_lang($load_lang_files);
|
||||
$lang_service->set_user_language($language);
|
||||
$user = new \phpbb\user($lang_service, '\phpbb\datetime');
|
||||
$auth = new \phpbb\auth\auth();
|
||||
|
||||
// Add own hook handler, if present. :o
|
||||
if (file_exists($phpbb_root_path . 'includes/hooks/index.' . $phpEx))
|
||||
{
|
||||
require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
|
||||
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
|
||||
|
||||
/* @var $phpbb_hook_finder \phpbb\hook\finder */
|
||||
$phpbb_hook_finder = $phpbb_container->get('hook_finder');
|
||||
foreach ($phpbb_hook_finder->find() as $hook)
|
||||
{
|
||||
@include($phpbb_root_path . 'includes/hooks/' . $hook . '.' . $phpEx);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$phpbb_hook = false;
|
||||
}
|
||||
|
||||
// Set some standard variables we want to force
|
||||
$config = new \phpbb\config\config(array(
|
||||
'load_tplcompile' => '1'
|
||||
));
|
||||
|
||||
/* @var $symfony_request \phpbb\symfony_request */
|
||||
$symfony_request = $phpbb_container->get('symfony_request');
|
||||
|
||||
/* @var $phpbb_filesystem \phpbb\filesystem\filesystem_interface */
|
||||
$phpbb_filesystem = $phpbb_container->get('filesystem');
|
||||
|
||||
/* @var $phpbb_path_helper \phpbb\path_helper */
|
||||
$phpbb_path_helper = $phpbb_container->get('path_helper');
|
||||
$cache_path = $phpbb_root_path . 'cache/';
|
||||
|
||||
$twig_environment = new \phpbb\template\twig\environment(
|
||||
$config,
|
||||
$phpbb_filesystem,
|
||||
$phpbb_path_helper,
|
||||
$phpbb_container,
|
||||
$cache_path,
|
||||
null,
|
||||
$phpbb_container->get('template.twig.loader')
|
||||
);
|
||||
|
||||
$language_loader = new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx);
|
||||
$phpbb_container->set('template.twig.environment', $twig_environment);
|
||||
$phpbb_container->set('language.loader', $language_loader);
|
||||
$twig_context = new \phpbb\template\context();
|
||||
$template = new \phpbb\template\twig\twig(
|
||||
$phpbb_path_helper,
|
||||
$config,
|
||||
$twig_context,
|
||||
$twig_environment,
|
||||
$cache_path,
|
||||
$user,
|
||||
array($phpbb_container->get('template.twig.extensions.phpbb'))
|
||||
);
|
||||
|
||||
/** @var \phpbb\language\language $lang_service */
|
||||
$lang_service = $phpbb_container->get('language');
|
||||
$lang_service->add_lang($load_lang_files);
|
||||
$lang_service->set_user_language($language);
|
||||
|
||||
$paths = array($phpbb_root_path . 'install/update/new/adm/style', $phpbb_admin_path . 'style');
|
||||
$paths = array_filter($paths, 'is_dir');
|
||||
$template->set_custom_style(array(
|
||||
array(
|
||||
'name' => 'adm',
|
||||
'ext_path' => 'adm/style/',
|
||||
),
|
||||
), $paths);
|
||||
|
||||
$path = array_shift($paths);
|
||||
|
||||
$template->assign_var('T_ASSETS_PATH', $path . '/../../assets');
|
||||
$template->assign_var('T_TEMPLATE_PATH', $path);
|
||||
|
||||
$install = new module();
|
||||
|
||||
$install->create('install', "index.$phpEx", $mode, $sub);
|
||||
$install->load();
|
||||
|
||||
// Generate the page
|
||||
$install->page_header();
|
||||
$install->generate_navigation();
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => $install->get_tpl_name())
|
||||
);
|
||||
|
||||
$install->page_footer();
|
||||
|
||||
class module
|
||||
{
|
||||
var $id = 0;
|
||||
var $type = 'install';
|
||||
var $module_ary = array();
|
||||
var $filename;
|
||||
var $module_url = '';
|
||||
var $tpl_name = '';
|
||||
var $mode;
|
||||
var $sub;
|
||||
|
||||
/**
|
||||
* Private methods, should not be overwritten
|
||||
*/
|
||||
function create($module_type, $module_url, $selected_mod = false, $selected_submod = false)
|
||||
{
|
||||
global $db, $config, $phpEx, $phpbb_root_path;
|
||||
|
||||
$module = array();
|
||||
|
||||
// Grab module information using Bart's "neat-o-module" system (tm)
|
||||
$dir = @opendir('.');
|
||||
|
||||
if (!$dir)
|
||||
{
|
||||
$this->error('Unable to access the installation directory', __LINE__, __FILE__);
|
||||
}
|
||||
|
||||
$setmodules = 1;
|
||||
while (($file = readdir($dir)) !== false)
|
||||
{
|
||||
if (preg_match('#^install_(.*?)\.' . $phpEx . '$#', $file))
|
||||
{
|
||||
include($file);
|
||||
}
|
||||
}
|
||||
closedir($dir);
|
||||
|
||||
unset($setmodules);
|
||||
|
||||
if (!sizeof($module))
|
||||
{
|
||||
$this->error('No installation modules found', __LINE__, __FILE__);
|
||||
}
|
||||
|
||||
// Order to use and count further if modules get assigned to the same position or not having an order
|
||||
$max_module_order = 1000;
|
||||
|
||||
foreach ($module as $row)
|
||||
{
|
||||
// Module order not specified or module already assigned at this position?
|
||||
if (!isset($row['module_order']) || isset($this->module_ary[$row['module_order']]))
|
||||
{
|
||||
$row['module_order'] = $max_module_order;
|
||||
$max_module_order++;
|
||||
}
|
||||
|
||||
$this->module_ary[$row['module_order']]['name'] = $row['module_title'];
|
||||
$this->module_ary[$row['module_order']]['filename'] = $row['module_filename'];
|
||||
$this->module_ary[$row['module_order']]['subs'] = $row['module_subs'];
|
||||
$this->module_ary[$row['module_order']]['stages'] = $row['module_stages'];
|
||||
|
||||
if (strtolower($selected_mod) == strtolower($row['module_title']))
|
||||
{
|
||||
$this->id = (int) $row['module_order'];
|
||||
$this->filename = (string) $row['module_filename'];
|
||||
$this->module_url = (string) $module_url;
|
||||
$this->mode = (string) $selected_mod;
|
||||
// Check that the sub-mode specified is valid or set a default if not
|
||||
if (is_array($row['module_subs']))
|
||||
{
|
||||
$this->sub = strtolower((in_array(strtoupper($selected_submod), $row['module_subs'])) ? $selected_submod : $row['module_subs'][0]);
|
||||
}
|
||||
else if (is_array($row['module_stages']))
|
||||
{
|
||||
$this->sub = strtolower((in_array(strtoupper($selected_submod), $row['module_stages'])) ? $selected_submod : $row['module_stages'][0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->sub = '';
|
||||
}
|
||||
}
|
||||
} // END foreach
|
||||
} // END create
|
||||
|
||||
/**
|
||||
* Load and run the relevant module if applicable
|
||||
*/
|
||||
function load($mode = false, $run = true)
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
if ($run)
|
||||
{
|
||||
if (!empty($mode))
|
||||
{
|
||||
$this->mode = $mode;
|
||||
}
|
||||
|
||||
$module = $this->filename;
|
||||
if (!class_exists($module))
|
||||
{
|
||||
$this->error('Module "' . htmlspecialchars($module) . '" not accessible.', __LINE__, __FILE__);
|
||||
}
|
||||
$this->module = new $module($this);
|
||||
|
||||
if (method_exists($this->module, 'main'))
|
||||
{
|
||||
$this->module->main($this->mode, $this->sub);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Output the standard page header
|
||||
*/
|
||||
function page_header()
|
||||
{
|
||||
if (defined('HEADER_INC'))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
define('HEADER_INC', true);
|
||||
global $template, $lang, $stage, $phpbb_admin_path, $path;
|
||||
|
||||
$template->assign_vars(array(
|
||||
'L_CHANGE' => $lang['CHANGE'],
|
||||
'L_COLON' => $lang['COLON'],
|
||||
'L_INSTALL_PANEL' => $lang['INSTALL_PANEL'],
|
||||
'L_SELECT_LANG' => $lang['SELECT_LANG'],
|
||||
'L_SKIP' => $lang['SKIP'],
|
||||
'PAGE_TITLE' => $this->get_page_title(),
|
||||
'T_IMAGE_PATH' => htmlspecialchars($phpbb_admin_path) . 'images/',
|
||||
'T_JQUERY_LINK' => $path . '/../../assets/javascript/jquery.min.js',
|
||||
|
||||
'S_CONTENT_DIRECTION' => $lang['DIRECTION'],
|
||||
'S_CONTENT_FLOW_BEGIN' => ($lang['DIRECTION'] == 'ltr') ? 'left' : 'right',
|
||||
'S_CONTENT_FLOW_END' => ($lang['DIRECTION'] == 'ltr') ? 'right' : 'left',
|
||||
'S_CONTENT_ENCODING' => 'UTF-8',
|
||||
|
||||
'S_USER_LANG' => $lang['USER_LANG'],
|
||||
)
|
||||
);
|
||||
|
||||
header('Content-type: text/html; charset=UTF-8');
|
||||
header('Cache-Control: private, no-cache="set-cookie"');
|
||||
header('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Output the standard page footer
|
||||
*/
|
||||
function page_footer()
|
||||
{
|
||||
global $db, $template;
|
||||
|
||||
$template->display('body');
|
||||
|
||||
// Close our DB connection.
|
||||
if (!empty($db) && is_object($db))
|
||||
{
|
||||
$db->sql_close();
|
||||
}
|
||||
|
||||
if (function_exists('exit_handler'))
|
||||
{
|
||||
exit_handler();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns desired template name
|
||||
*/
|
||||
function get_tpl_name()
|
||||
{
|
||||
return $this->module->tpl_name . '.html';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the desired page title
|
||||
*/
|
||||
function get_page_title()
|
||||
{
|
||||
global $lang;
|
||||
|
||||
if (!isset($this->module->page_title))
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
return (isset($lang[$this->module->page_title])) ? $lang[$this->module->page_title] : $this->module->page_title;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate an HTTP/1.1 header to redirect the user to another page
|
||||
* This is used during the installation when we do not have a database available to call the normal redirect function
|
||||
* @param string $page The page to redirect to relative to the installer root path
|
||||
*/
|
||||
function redirect($page)
|
||||
{
|
||||
global $request;
|
||||
|
||||
// HTTP_HOST is having the correct browser url in most cases...
|
||||
$server_name = strtolower(htmlspecialchars_decode($request->header('Host', $request->server('SERVER_NAME'))));
|
||||
$server_port = $request->server('SERVER_PORT', 0);
|
||||
$secure = $request->is_secure() ? 1 : 0;
|
||||
|
||||
$script_name = htmlspecialchars_decode($request->server('PHP_SELF'));
|
||||
if (!$script_name)
|
||||
{
|
||||
$script_name = htmlspecialchars_decode($request->server('REQUEST_URI'));
|
||||
}
|
||||
|
||||
// Replace backslashes and doubled slashes (could happen on some proxy setups)
|
||||
$script_name = str_replace(array('\\', '//'), '/', $script_name);
|
||||
$script_path = trim(dirname($script_name));
|
||||
|
||||
$url = (($secure) ? 'https://' : 'http://') . $server_name;
|
||||
|
||||
if ($server_port && (($secure && $server_port <> 443) || (!$secure && $server_port <> 80)))
|
||||
{
|
||||
// HTTP HOST can carry a port number...
|
||||
if (strpos($server_name, ':') === false)
|
||||
{
|
||||
$url .= ':' . $server_port;
|
||||
}
|
||||
}
|
||||
|
||||
$url .= $script_path . '/' . $page;
|
||||
header('Location: ' . $url);
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the navigation tabs
|
||||
*/
|
||||
function generate_navigation()
|
||||
{
|
||||
global $lang, $template, $phpEx, $language;
|
||||
|
||||
if (is_array($this->module_ary))
|
||||
{
|
||||
@ksort($this->module_ary);
|
||||
foreach ($this->module_ary as $cat_ary)
|
||||
{
|
||||
$cat = $cat_ary['name'];
|
||||
$l_cat = (!empty($lang['CAT_' . $cat])) ? $lang['CAT_' . $cat] : preg_replace('#_#', ' ', $cat);
|
||||
$cat = strtolower($cat);
|
||||
$url = $this->module_url . "?mode=$cat&language=$language";
|
||||
|
||||
if ($this->mode == $cat)
|
||||
{
|
||||
$template->assign_block_vars('t_block1', array(
|
||||
'L_TITLE' => $l_cat,
|
||||
'S_SELECTED' => true,
|
||||
'U_TITLE' => $url,
|
||||
));
|
||||
|
||||
if (is_array($this->module_ary[$this->id]['subs']))
|
||||
{
|
||||
$subs = $this->module_ary[$this->id]['subs'];
|
||||
foreach ($subs as $option)
|
||||
{
|
||||
$l_option = (!empty($lang['SUB_' . $option])) ? $lang['SUB_' . $option] : preg_replace('#_#', ' ', $option);
|
||||
$option = strtolower($option);
|
||||
$url = $this->module_url . '?mode=' . $this->mode . "&sub=$option&language=$language";
|
||||
|
||||
$template->assign_block_vars('l_block1', array(
|
||||
'L_TITLE' => $l_option,
|
||||
'S_SELECTED' => ($this->sub == $option),
|
||||
'U_TITLE' => $url,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
if (is_array($this->module_ary[$this->id]['stages']))
|
||||
{
|
||||
$subs = $this->module_ary[$this->id]['stages'];
|
||||
$matched = false;
|
||||
foreach ($subs as $option)
|
||||
{
|
||||
$l_option = (!empty($lang['STAGE_' . $option])) ? $lang['STAGE_' . $option] : preg_replace('#_#', ' ', $option);
|
||||
$option = strtolower($option);
|
||||
$matched = ($this->sub == $option) ? true : $matched;
|
||||
|
||||
$template->assign_block_vars('l_block2', array(
|
||||
'L_TITLE' => $l_option,
|
||||
'S_SELECTED' => ($this->sub == $option),
|
||||
'S_COMPLETE' => !$matched,
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$template->assign_block_vars('t_block1', array(
|
||||
'L_TITLE' => $l_cat,
|
||||
'S_SELECTED' => false,
|
||||
'U_TITLE' => $url,
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Output an error message
|
||||
* If skip is true, return and continue execution, else exit
|
||||
*/
|
||||
function error($error, $line, $file, $skip = false)
|
||||
{
|
||||
global $lang, $db, $template, $phpbb_admin_path;
|
||||
|
||||
if ($skip)
|
||||
{
|
||||
$template->assign_block_vars('checks', array(
|
||||
'S_LEGEND' => true,
|
||||
'LEGEND' => $lang['INST_ERR'],
|
||||
));
|
||||
|
||||
$template->assign_block_vars('checks', array(
|
||||
'TITLE' => basename($file) . ' [ ' . $line . ' ]',
|
||||
'RESULT' => '<b style="color:red">' . $error . '</b>',
|
||||
));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
echo '<!DOCTYPE html>';
|
||||
echo '<html dir="ltr">';
|
||||
echo '<head>';
|
||||
echo '<meta charset="utf-8">';
|
||||
echo '<title>' . $lang['INST_ERR_FATAL'] . '</title>';
|
||||
echo '<link href="' . htmlspecialchars($phpbb_admin_path) . 'style/admin.css" rel="stylesheet" type="text/css" media="screen" />';
|
||||
echo '</head>';
|
||||
echo '<body id="errorpage">';
|
||||
echo '<div id="wrap">';
|
||||
echo ' <div id="page-header">';
|
||||
echo ' </div>';
|
||||
echo ' <div id="page-body">';
|
||||
echo ' <div id="acp">';
|
||||
echo ' <div class="panel">';
|
||||
echo ' <span class="corners-top"><span></span></span>';
|
||||
echo ' <div id="content">';
|
||||
echo ' <h1>' . $lang['INST_ERR_FATAL'] . '</h1>';
|
||||
echo ' <p>' . $lang['INST_ERR_FATAL'] . "</p>\n";
|
||||
echo ' <p>' . basename($file) . ' [ ' . $line . " ]</p>\n";
|
||||
echo ' <p><b>' . $error . "</b></p>\n";
|
||||
echo ' </div>';
|
||||
echo ' <span class="corners-bottom"><span></span></span>';
|
||||
echo ' </div>';
|
||||
echo ' </div>';
|
||||
echo ' </div>';
|
||||
echo ' <div id="page-footer">';
|
||||
echo ' Powered by <a href="https://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Limited';
|
||||
echo ' </div>';
|
||||
echo '</div>';
|
||||
echo '</body>';
|
||||
echo '</html>';
|
||||
|
||||
if (!empty($db) && is_object($db))
|
||||
{
|
||||
$db->sql_close();
|
||||
}
|
||||
|
||||
exit_handler();
|
||||
}
|
||||
|
||||
/**
|
||||
* Output an error message for a database related problem
|
||||
* If skip is true, return and continue execution, else exit
|
||||
*/
|
||||
function db_error($error, $sql, $line, $file, $skip = false)
|
||||
{
|
||||
global $lang, $db, $template;
|
||||
|
||||
if ($skip)
|
||||
{
|
||||
$template->assign_block_vars('checks', array(
|
||||
'S_LEGEND' => true,
|
||||
'LEGEND' => $lang['INST_ERR_FATAL'],
|
||||
));
|
||||
|
||||
$template->assign_block_vars('checks', array(
|
||||
'TITLE' => basename($file) . ' [ ' . $line . ' ]',
|
||||
'RESULT' => '<b style="color:red">' . $error . '</b><br />» SQL:' . $sql,
|
||||
));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => 'install_error.html')
|
||||
);
|
||||
$this->page_header();
|
||||
$this->generate_navigation();
|
||||
|
||||
$template->assign_vars(array(
|
||||
'MESSAGE_TITLE' => $lang['INST_ERR_FATAL_DB'],
|
||||
'MESSAGE_TEXT' => '<p>' . basename($file) . ' [ ' . $line . ' ]</p><p>SQL : ' . $sql . '</p><p><b>' . $error . '</b></p>',
|
||||
));
|
||||
|
||||
// Rollback if in transaction
|
||||
if ($db->get_transaction())
|
||||
{
|
||||
$db->sql_transaction('rollback');
|
||||
}
|
||||
|
||||
$this->page_footer();
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the relevant HTML for an input field and the associated label and explanatory text
|
||||
*/
|
||||
function input_field($name, $type, $value = '', $options = '')
|
||||
{
|
||||
global $lang;
|
||||
$tpl_type = explode(':', $type);
|
||||
$tpl = '';
|
||||
|
||||
switch ($tpl_type[0])
|
||||
{
|
||||
case 'text':
|
||||
case 'password':
|
||||
// HTML5 text-like input types
|
||||
case 'color':
|
||||
case 'date':
|
||||
case 'time':
|
||||
case 'datetime':
|
||||
case 'datetime-local':
|
||||
case 'email':
|
||||
case 'month':
|
||||
case 'number':
|
||||
case 'range':
|
||||
case 'search':
|
||||
case 'tel':
|
||||
case 'url':
|
||||
case 'week':
|
||||
|
||||
$size = (int) $tpl_type[1];
|
||||
$maxlength = (int) $tpl_type[2];
|
||||
$autocomplete = (isset($options['autocomplete']) && $options['autocomplete'] == 'off') ? ' autocomplete="off"' : '';
|
||||
|
||||
$tpl = '<input id="' . $name . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '"' . $autocomplete . ' value="' . $value . '" />';
|
||||
break;
|
||||
|
||||
case 'textarea':
|
||||
$rows = (int) $tpl_type[1];
|
||||
$cols = (int) $tpl_type[2];
|
||||
|
||||
$tpl = '<textarea id="' . $name . '" name="' . $name . '" rows="' . $rows . '" cols="' . $cols . '">' . $value . '</textarea>';
|
||||
break;
|
||||
|
||||
case 'radio':
|
||||
$key_yes = ($value) ? ' checked="checked" id="' . $name . '"' : '';
|
||||
$key_no = (!$value) ? ' checked="checked" id="' . $name . '"' : '';
|
||||
|
||||
$tpl_type_cond = explode('_', $tpl_type[1]);
|
||||
$type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true;
|
||||
|
||||
$tpl_no = '<label><input type="radio" name="' . $name . '" value="0"' . $key_no . ' class="radio" /> ' . (($type_no) ? $lang['NO'] : $lang['DISABLED']) . '</label>';
|
||||
$tpl_yes = '<label><input type="radio" name="' . $name . '" value="1"' . $key_yes . ' class="radio" /> ' . (($type_no) ? $lang['YES'] : $lang['ENABLED']) . '</label>';
|
||||
|
||||
$tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . ' ' . $tpl_no : $tpl_no . ' ' . $tpl_yes;
|
||||
break;
|
||||
|
||||
case 'select':
|
||||
// @codingStandardsIgnoreStart
|
||||
eval('$s_options = ' . str_replace('{VALUE}', $value, $options) . ';');
|
||||
// @codingStandardsIgnoreEnd
|
||||
$tpl = '<select id="' . $name . '" name="' . $name . '">' . $s_options . '</select>';
|
||||
break;
|
||||
|
||||
case 'custom':
|
||||
// @codingStandardsIgnoreStart
|
||||
eval('$tpl = ' . str_replace('{VALUE}', $value, $options) . ';');
|
||||
// @codingStandardsIgnoreEnd
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return $tpl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the drop down of available language packs
|
||||
*/
|
||||
function inst_language_select($default = '')
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
$dir = @opendir($phpbb_root_path . 'language');
|
||||
|
||||
if (!$dir)
|
||||
{
|
||||
$this->error('Unable to access the language directory', __LINE__, __FILE__);
|
||||
}
|
||||
|
||||
while ($file = readdir($dir))
|
||||
{
|
||||
$path = $phpbb_root_path . 'language/' . $file;
|
||||
|
||||
if ($file == '.' || $file == '..' || is_link($path) || is_file($path) || $file == 'CVS')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (file_exists($path . '/iso.txt'))
|
||||
{
|
||||
list($displayname, $localname) = @file($path . '/iso.txt');
|
||||
$lang[$localname] = $file;
|
||||
}
|
||||
}
|
||||
closedir($dir);
|
||||
|
||||
@asort($lang);
|
||||
@reset($lang);
|
||||
|
||||
$user_select = '';
|
||||
foreach ($lang as $displayname => $filename)
|
||||
{
|
||||
$selected = (strtolower($default) == strtolower($filename)) ? ' selected="selected"' : '';
|
||||
$user_select .= '<option value="' . $filename . '"' . $selected . '>' . ucwords($displayname) . '</option>';
|
||||
}
|
||||
|
||||
return $user_select;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,78 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
*/
|
||||
|
||||
if ( !defined('IN_INSTALL') )
|
||||
{
|
||||
// Someone has tried to access the file direct. This is not a good idea, so exit
|
||||
exit;
|
||||
}
|
||||
|
||||
if (!empty($setmodules))
|
||||
{
|
||||
$module[] = array(
|
||||
'module_type' => 'install',
|
||||
'module_title' => 'OVERVIEW',
|
||||
'module_filename' => substr(basename(__FILE__), 0, -strlen($phpEx)-1),
|
||||
'module_order' => 0,
|
||||
'module_subs' => array('INTRO', 'LICENSE', 'SUPPORT'),
|
||||
'module_stages' => '',
|
||||
'module_reqs' => ''
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Main Tab - Installation
|
||||
*/
|
||||
class install_main extends module
|
||||
{
|
||||
function install_main(&$p_master)
|
||||
{
|
||||
$this->p_master = &$p_master;
|
||||
}
|
||||
|
||||
function main($mode, $sub)
|
||||
{
|
||||
global $lang, $template, $language;
|
||||
|
||||
switch ($sub)
|
||||
{
|
||||
case 'intro' :
|
||||
$title = $lang['SUB_INTRO'];
|
||||
$body = $lang['OVERVIEW_BODY'];
|
||||
break;
|
||||
|
||||
case 'license' :
|
||||
$title = $lang['GPL'];
|
||||
$body = implode("<br/>\n", file(__DIR__ . '/../docs/LICENSE.txt'));
|
||||
break;
|
||||
|
||||
case 'support' :
|
||||
$title = $lang['SUB_SUPPORT'];
|
||||
$body = $lang['SUPPORT_BODY'];
|
||||
break;
|
||||
}
|
||||
|
||||
$this->tpl_name = 'install_main';
|
||||
$this->page_title = $title;
|
||||
|
||||
$template->assign_vars(array(
|
||||
'TITLE' => $title,
|
||||
'BODY' => $body,
|
||||
|
||||
'S_LANG_SELECT' => '<select id="language" name="language">' . $this->p_master->inst_language_select($language) . '</select>',
|
||||
));
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -27,8 +27,8 @@ $phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
//
|
||||
// Let's do the common.php logic
|
||||
//
|
||||
$startup_new_path = $phpbb_root_path . 'install/update/update/new/install_new/startup.' . $phpEx;
|
||||
$startup_path = (file_exists($startup_new_path)) ? $startup_new_path : $phpbb_root_path . 'install_new/startup.' . $phpEx;
|
||||
$startup_new_path = $phpbb_root_path . 'install/update/update/new/install/startup.' . $phpEx;
|
||||
$startup_path = (file_exists($startup_new_path)) ? $startup_new_path : $phpbb_root_path . 'install/startup.' . $phpEx;
|
||||
require($startup_path);
|
||||
|
||||
/** @var \phpbb\filesystem\filesystem $phpbb_filesystem */
|
||||
@ -36,7 +36,7 @@ $phpbb_filesystem = $phpbb_installer_container->get('filesystem');
|
||||
|
||||
/** @var \phpbb\language\language $language */
|
||||
$language = $phpbb_installer_container->get('language');
|
||||
$language->add_lang(array('common', 'acp/common', 'acp/board', 'install_new', 'posting', 'cli'));
|
||||
$language->add_lang(array('common', 'acp/common', 'acp/board', 'install', 'posting', 'cli'));
|
||||
|
||||
$application = new \phpbb\console\application('phpBB Installer', PHPBB_VERSION, $language);
|
||||
$application->setDispatcher($phpbb_installer_container->get('dispatcher'));
|
@ -1,14 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
phpinfo();
|
@ -36,166 +36,27 @@ if (empty($lang) || !is_array($lang))
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
|
||||
// Common installer pages
|
||||
$lang = array_merge($lang, array(
|
||||
'ADMIN_CONFIG' => 'Administrator configuration',
|
||||
'ADMIN_PASSWORD' => 'Administrator password',
|
||||
'ADMIN_PASSWORD_CONFIRM' => 'Confirm administrator password',
|
||||
'ADMIN_PASSWORD_EXPLAIN' => 'Please enter a password between 6 and 30 characters in length.',
|
||||
'ADMIN_TEST' => 'Check administrator settings',
|
||||
'ADMIN_USERNAME' => 'Administrator username',
|
||||
'ADMIN_USERNAME_EXPLAIN' => 'Please enter a username between 3 and 20 characters in length.',
|
||||
'APP_MAGICK' => 'Imagemagick support [ Attachments ]',
|
||||
'AUTHOR_NOTES' => 'Author notes<br />» %s',
|
||||
'AVAILABLE' => 'Available',
|
||||
'AVAILABLE_CONVERTORS' => 'Available convertors',
|
||||
'INSTALL_PANEL' => 'Installation Panel',
|
||||
'SELECT_LANG' => 'Select language',
|
||||
|
||||
'BEGIN_CONVERT' => 'Begin conversion',
|
||||
'BLANK_PREFIX_FOUND' => 'A scan of your tables has shown a valid installation using no table prefix.',
|
||||
'BOARD_NOT_INSTALLED' => 'No installation found',
|
||||
'BOARD_NOT_INSTALLED_EXPLAIN' => 'The phpBB Unified Convertor Framework requires a default installation of phpBB3 to function, please <a href="%s">proceed by first installing phpBB3</a>.',
|
||||
'BACKUP_NOTICE' => 'Please backup your board before updating in case any problems arise during the update process.',
|
||||
'STAGE_INSTALL' => 'Installing phpBB',
|
||||
|
||||
'CATEGORY' => 'Category',
|
||||
'CACHE_STORE' => 'Cache type',
|
||||
'CACHE_STORE_EXPLAIN' => 'The physical location where data is cached, filesystem is preferred.',
|
||||
'CAT_CONVERT' => 'Convert',
|
||||
'CAT_INSTALL' => 'Install',
|
||||
'CAT_OVERVIEW' => 'Overview',
|
||||
'CAT_UPDATE' => 'Update',
|
||||
'CHANGE' => 'Change',
|
||||
'CHECK_TABLE_PREFIX' => 'Please check your table prefix and try again.',
|
||||
'CLEAN_VERIFY' => 'Cleaning up and verifying the final structure',
|
||||
'CLEANING_USERNAMES' => 'Cleaning usernames',
|
||||
'COLLIDING_CLEAN_USERNAME' => '<strong>%s</strong> is the clean username for:',
|
||||
'COLLIDING_USERNAMES_FOUND' => 'Colliding usernames were found on your old board. In order to complete the conversion please delete or rename these users so that there is only one user on your old board for each clean username.',
|
||||
'COLLIDING_USER' => '» user id: <strong>%d</strong> username: <strong>%s</strong> (%d posts)',
|
||||
'CONFIG_CONVERT' => 'Converting the configuration',
|
||||
'CONFIG_FILE_UNABLE_WRITE' => 'It was not possible to write the configuration file. Alternative methods for this file to be created are presented below.',
|
||||
'CONFIG_FILE_WRITTEN' => 'The configuration file has been written. You may now proceed to the next step of the installation.',
|
||||
'CONFIG_PHPBB_EMPTY' => 'The phpBB3 config variable for “%s” is empty.',
|
||||
'CONFIG_RETRY' => 'Retry',
|
||||
'CONTINUE_CONVERT' => 'Continue conversion',
|
||||
'CONTINUE_CONVERT_BODY' => 'A previous conversion attempt has been determined. You are now able to choose between starting a new conversion or continuing the conversion.',
|
||||
'CONTINUE_LAST' => 'Continue last statements',
|
||||
'CONTINUE_OLD_CONVERSION' => 'Continue previously started conversion',
|
||||
'CONVERT' => 'Convert',
|
||||
'CONVERT_COMPLETE' => 'Conversion completed',
|
||||
'CONVERT_COMPLETE_EXPLAIN' => 'You have now successfully converted your board to phpBB 3.1. You can now login and <a href="../">access your board</a>. Please ensure that the settings were transferred correctly before enabling your board by deleting the install directory. Remember that help on using phpBB is available online via the <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">Documentation</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=466">support forums</a>.',
|
||||
'CONVERT_INTRO' => 'Welcome to the phpBB Unified Convertor Framework',
|
||||
'CONVERT_INTRO_BODY' => 'From here, you are able to import data from other (installed) board systems. The list below shows all the conversion modules currently available. If there is no convertor shown in this list for the board software you wish to convert from, please check our website where further conversion modules may be available for download.',
|
||||
'CONVERT_NEW_CONVERSION' => 'New conversion',
|
||||
'CONVERT_NOT_EXIST' => 'The specified convertor does not exist.',
|
||||
'CONVERT_OPTIONS' => 'Options',
|
||||
'CONVERT_SETTINGS_VERIFIED' => 'The information you entered has been verified. To start the conversion process, please push the button below.',
|
||||
'CONV_ERR_FATAL' => 'Fatal conversion error',
|
||||
// Introduction page
|
||||
'INTRODUCTION_TITLE' => 'Introduction',
|
||||
'INTRODUCTION_BODY' => 'Welcome to phpBB3!<br /><br />phpBB® is the most widely used open source bulletin board solution in the world. phpBB3 is the latest installment in a package line started in 2000. Like its predecessors, phpBB3 is feature-rich, user-friendly, and fully supported by the phpBB Team. phpBB3 greatly improves on what made phpBB2 popular, and adds commonly requested features that were not present in previous versions. We hope it exceeds your expectations.<br /><br />This installation system will guide you through installing phpBB3, updating to the latest version of phpBB3 from past releases, as well as converting to phpBB3 from a different discussion board system (including phpBB2). For more information, we encourage you to read <a href="../docs/INSTALL.html">the installation guide</a>.<br /><br />To read the phpBB3 license or learn about obtaining support and our stance on it, please select the respective options from the side menu. To continue, please select the appropriate tab above.',
|
||||
|
||||
'CONV_ERROR_ATTACH_FTP_DIR' => 'FTP upload for attachments is enabled at the old board. Please disable the FTP upload option and make sure a valid upload directory is specified, then copy all attachment files to this new web accessible directory. Once you have done this, restart the convertor.',
|
||||
'CONV_ERROR_CONFIG_EMPTY' => 'There is no configuration information available for the conversion.',
|
||||
'CONV_ERROR_FORUM_ACCESS' => 'Unable to get forum access information.',
|
||||
'CONV_ERROR_GET_CATEGORIES' => 'Unable to get categories.',
|
||||
'CONV_ERROR_GET_CONFIG' => 'Could not retrieve your board configuration.',
|
||||
'CONV_ERROR_COULD_NOT_READ' => 'Unable to access/read “%s”.',
|
||||
'CONV_ERROR_GROUP_ACCESS' => 'Unable to get group authentication information.',
|
||||
'CONV_ERROR_INCONSISTENT_GROUPS' => 'Inconsistency in groups table detected in add_bots() - you need to add all special groups if you do it manually.',
|
||||
'CONV_ERROR_INSERT_BOT' => 'Unable to insert bot into users table.',
|
||||
'CONV_ERROR_INSERT_BOTGROUP' => 'Unable to insert bot into bots table.',
|
||||
'CONV_ERROR_INSERT_USER_GROUP' => 'Unable to insert user into user_group table.',
|
||||
'CONV_ERROR_MESSAGE_PARSER' => 'Message parser error',
|
||||
'CONV_ERROR_NO_AVATAR_PATH' => 'Note to developer: you must specify $convertor[\'avatar_path\'] to use %s.',
|
||||
'CONV_ERROR_NO_FORUM_PATH' => 'The relative path to the source board has not been specified.',
|
||||
'CONV_ERROR_NO_GALLERY_PATH' => 'Note to developer: you must specify $convertor[\'avatar_gallery_path\'] to use %s.',
|
||||
'CONV_ERROR_NO_GROUP' => 'Group “%1$s” could not be found in %2$s.',
|
||||
'CONV_ERROR_NO_RANKS_PATH' => 'Note to developer: you must specify $convertor[\'ranks_path\'] to use %s.',
|
||||
'CONV_ERROR_NO_SMILIES_PATH' => 'Note to developer: you must specify $convertor[\'smilies_path\'] to use %s.',
|
||||
'CONV_ERROR_NO_UPLOAD_DIR' => 'Note to developer: you must specify $convertor[\'upload_path\'] to use %s.',
|
||||
'CONV_ERROR_PERM_SETTING' => 'Unable to insert/update permission setting.',
|
||||
'CONV_ERROR_PM_COUNT' => 'Unable to select folder pm count.',
|
||||
'CONV_ERROR_REPLACE_CATEGORY' => 'Unable to insert new forum replacing old category.',
|
||||
'CONV_ERROR_REPLACE_FORUM' => 'Unable to insert new forum replacing old forum.',
|
||||
'CONV_ERROR_USER_ACCESS' => 'Unable to get user authentication information.',
|
||||
'CONV_ERROR_WRONG_GROUP' => 'Wrong group “%1$s” defined in %2$s.',
|
||||
'CONV_OPTIONS_BODY' => 'This page collects the data required to access the source board. Enter the database details of your former board; the converter will not change anything in the database given below. The source board should be disabled to allow a consistent conversion.',
|
||||
'CONV_SAVED_MESSAGES' => 'Saved messages',
|
||||
// Support page
|
||||
'SUPPORT_TITLE' => 'Support',
|
||||
'SUPPORT_BODY' => 'Full support will be provided for the current stable release of phpBB3, free of charge. This includes:</p><ul><li>installation</li><li>configuration</li><li>technical questions</li><li>problems relating to potential bugs in the software</li><li>updating from Release Candidate (RC) versions to the latest stable version</li><li>converting from phpBB 2.0.x to phpBB3</li><li>converting from other discussion board software to phpBB3 (please see the <a href="https://www.phpbb.com/community/viewforum.php?f=486">Convertors Forum</a>)</li></ul><p>We encourage users still running beta versions of phpBB3 to replace their installation with a fresh copy of the latest version.</p><h2>Extensions / Styles</h2><p>For issues relating to Extensions, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=451">Extensions Forum</a>.<br />For issues relating to styles, templates and themes, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=471">Styles Forum</a>.<br /><br />If your question relates to a specific package, please post directly in the topic dedicated to the package.</p><h2>Obtaining Support</h2><p><a href="https://www.phpbb.com/community/viewtopic.php?f=14&t=571070">The phpBB Welcome Package</a><br /><a href="https://www.phpbb.com/support/">Support Section</a><br /><a href="https://www.phpbb.com/support/docs/en/3.1/ug/quickstart/">Quick Start Guide</a><br /><br />To ensure you stay up to date with the latest news and releases, why not <a href="https://www.phpbb.com/support/">subscribe to our mailing list</a>?<br /><br />',
|
||||
|
||||
'COULD_NOT_COPY' => 'Could not copy file <strong>%1$s</strong> to <strong>%2$s</strong><br /><br />Please check that the target directory exists and is writable by the webserver.',
|
||||
'COULD_NOT_FIND_PATH' => 'Could not find path to your former board. Please check your settings and try again.<br />» %s was specified as the source path.',
|
||||
// License
|
||||
'LICENSE_TITLE' => 'General Public License',
|
||||
|
||||
'DBMS' => 'Database type',
|
||||
'DB_CONFIG' => 'Database configuration',
|
||||
'DB_CONNECTION' => 'Database connection',
|
||||
'DB_ERR_INSERT' => 'Error while processing <code>INSERT</code> query.',
|
||||
'DB_ERR_LAST' => 'Error while processing <var>query_last</var>.',
|
||||
'DB_ERR_QUERY_FIRST' => 'Error while executing <var>query_first</var>.',
|
||||
'DB_ERR_QUERY_FIRST_TABLE' => 'Error while executing <var>query_first</var>, %s (“%s”).',
|
||||
'DB_ERR_SELECT' => 'Error while running <code>SELECT</code> query.',
|
||||
'DB_HOST' => 'Database server hostname or DSN',
|
||||
'DB_HOST_EXPLAIN' => 'DSN stands for Data Source Name and is relevant only for ODBC installs. On PostgreSQL, use localhost to connect to the local server via UNIX domain socket and 127.0.0.1 to connect via TCP. For SQLite, enter the full path to your database file.',
|
||||
'DB_NAME' => 'Database name',
|
||||
'DB_PASSWORD' => 'Database password',
|
||||
'DB_PORT' => 'Database server port',
|
||||
'DB_PORT_EXPLAIN' => 'Leave this blank unless you know the server operates on a non-standard port.',
|
||||
'DB_UPDATE_NOT_SUPPORTED' => 'We are sorry, but this script does not support updating from versions of phpBB prior to “%1$s”. The version you currently have installed is “%2$s”. Please update to a previous version before running this script. Assistance with this is available in the Support Forum on phpBB.com.',
|
||||
'DB_USERNAME' => 'Database username',
|
||||
'DB_TEST' => 'Test connection',
|
||||
'DEFAULT_LANG' => 'Default board language',
|
||||
'DEFAULT_PREFIX_IS' => 'The convertor was not able to find tables with the specified prefix. Please make sure you have entered the correct details for the board you are converting from. The default table prefix for %1$s is <strong>%2$s</strong>.',
|
||||
'DEV_NO_TEST_FILE' => 'No value has been specified for the test_file variable in the convertor. If you are a user of this convertor, you should not be seeing this error, please report this message to the convertor author. If you are a convertor author, you must specify the name of a file which exists in the source board to allow the path to it to be verified.',
|
||||
'DIRECTORIES_AND_FILES' => 'Directory and file setup',
|
||||
'DISABLE_KEYS' => 'Disabling keys',
|
||||
'DLL_FTP' => 'Remote FTP support [ Installation ]',
|
||||
'DLL_GD' => 'GD graphics support [ Visual Confirmation ]',
|
||||
'DLL_MBSTRING' => 'Multi-byte character support',
|
||||
'DLL_MSSQL' => 'MSSQL Server 2000+',
|
||||
'DLL_MSSQL_ODBC' => 'MSSQL Server 2000+ via ODBC',
|
||||
'DLL_MSSQLNATIVE' => 'MSSQL Server 2005+ [ Native ]',
|
||||
'DLL_MYSQL' => 'MySQL',
|
||||
'DLL_MYSQLI' => 'MySQL with MySQLi Extension',
|
||||
'DLL_ORACLE' => 'Oracle',
|
||||
'DLL_POSTGRES' => 'PostgreSQL',
|
||||
'DLL_SQLITE' => 'SQLite 2',
|
||||
'DLL_SQLITE3' => 'SQLite 3',
|
||||
'DLL_XML' => 'XML support [ Jabber ]',
|
||||
'DLL_ZLIB' => 'zlib compression support [ gz, .tar.gz, .zip ]',
|
||||
'DL_CONFIG' => 'Download config',
|
||||
'DL_CONFIG_EXPLAIN' => 'You may download the complete config.php to your own PC. You will then need to upload the file manually, replacing any existing config.php in your phpBB 3.1 root directory. Please remember to upload the file in ASCII format (see your FTP application documentation if you are unsure how to achieve this). When you have uploaded the config.php please click “Done” to move to the next stage.',
|
||||
'DL_DOWNLOAD' => 'Download',
|
||||
'DONE' => 'Done',
|
||||
|
||||
'ENABLE_KEYS' => 'Re-enabling keys. This can take a while.',
|
||||
|
||||
'FILES_OPTIONAL' => 'Optional files and directories',
|
||||
'FILES_OPTIONAL_EXPLAIN' => '<strong>Optional</strong> - These files, directories or permission settings are not required. The installation system will attempt to use various techniques to create them if they do not exist or cannot be written to. However, the presence of these will speed installation.',
|
||||
'FILES_REQUIRED' => 'Files and Directories',
|
||||
'FILES_REQUIRED_EXPLAIN' => '<strong>Required</strong> - In order to function correctly phpBB needs to be able to access or write to certain files or directories. If you see “Not Found” you need to create the relevant file or directory. If you see “Unwritable” you need to change the permissions on the file or directory to allow phpBB to write to it.',
|
||||
'FILLING_TABLE' => 'Filling table <strong>%s</strong>',
|
||||
'FILLING_TABLES' => 'Filling tables',
|
||||
|
||||
'FINAL_STEP' => 'Process final step',
|
||||
'FORUM_ADDRESS' => 'Board address',
|
||||
'FORUM_ADDRESS_EXPLAIN' => 'This is the URL of your former board, for example <samp>http://www.example.com/phpBB2/</samp>. If an address is entered here and not left empty every instance of this address will be replaced by your new board address within messages, private messages and signatures.',
|
||||
'FORUM_PATH' => 'Board path',
|
||||
'FORUM_PATH_EXPLAIN' => 'This is the <strong>relative</strong> path on disk to your former board from the <strong>root of this phpBB3 installation</strong>.',
|
||||
'FOUND' => 'Found',
|
||||
'FTP_CONFIG' => 'Transfer config by FTP',
|
||||
'FTP_CONFIG_EXPLAIN' => 'phpBB has detected the presence of the FTP module on this server. You may attempt to install your config.php via this if you wish. You will need to supply the information listed below. Remember your username and password are those to your server! (ask your hosting provider for details if you are unsure what these are).',
|
||||
'FTP_PATH' => 'FTP path',
|
||||
'FTP_PATH_EXPLAIN' => 'This is the path from your root directory to that of phpBB, e.g. <samp>htdocs/phpBB3/</samp>.',
|
||||
'FTP_UPLOAD' => 'Upload',
|
||||
|
||||
'GPL' => 'General Public License',
|
||||
|
||||
'INITIAL_CONFIG' => 'Basic configuration',
|
||||
'INITIAL_CONFIG_EXPLAIN' => 'Now that install has determined your server can run phpBB you need to supply some specific information. If you do not know how to connect to your database please contact your hosting provider (in the first instance) or use the phpBB support forums. When entering data please ensure you check it thoroughly before continuing.',
|
||||
'INSTALL_CONGRATS' => 'Congratulations!',
|
||||
'INSTALL_CONGRATS_EXPLAIN' => '
|
||||
You have successfully installed phpBB %1$s. Please proceed by choosing one of the following options:</p>
|
||||
<h2>Convert an existing board to phpBB3</h2>
|
||||
<p>The phpBB Unified Convertor Framework supports the conversion of phpBB 2.0.x and other board systems to phpBB3. If you have an existing board that you wish to convert, please <a href="%2$s">proceed to the convertor</a>.</p>
|
||||
<h2>Go live with your phpBB3!</h2>
|
||||
<p>Clicking the button below will take you to a form for submitting statistical data to phpBB in your Administration Control Panel (ACP). We would appreciate it if you could help us by sending that information. Afterwards you should take some time to examine the options available to you. Remember that help is available online via the <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">Documentation</a>, <a href="%3$s">README</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=466">Support Forums</a>.</p><p><strong>Please delete, move or rename the install directory before using your board. While this directory exists, only the Administration Control Panel (ACP) will be accessible.</strong>',
|
||||
'INSTALL_INTRO' => 'Welcome to Installation',
|
||||
|
||||
'INSTALL_INTRO_BODY' => 'With this option, it is possible to install phpBB3 onto your server.</p><p>In order to proceed, you will need your database settings. If you do not know your database settings, please contact your host and ask for them. You will not be able to continue without them. You need:</p>
|
||||
// Install page
|
||||
'INSTALL_INTRO' => 'Welcome to Installation',
|
||||
'INSTALL_INTRO_BODY' => 'With this option, it is possible to install phpBB3 onto your server.</p><p>In order to proceed, you will need your database settings. If you do not know your database settings, please contact your host and ask for them. You will not be able to continue without them. You need:</p>
|
||||
|
||||
<ul>
|
||||
<li>The Database Type - the database you will be using.</li>
|
||||
@ -219,367 +80,136 @@ $lang = array_merge($lang, array(
|
||||
</ul>
|
||||
|
||||
<p>Only those databases supported on your server will be displayed.',
|
||||
'INSTALL_INTRO_NEXT' => 'To commence the installation, please press the button below.',
|
||||
'INSTALL_LOGIN' => 'Login',
|
||||
'INSTALL_NEXT' => 'Next stage',
|
||||
'INSTALL_NEXT_FAIL' => 'Some tests failed and you should correct these problems before proceeding to the next stage. Failure to do so may result in an incomplete installation.',
|
||||
'INSTALL_NEXT_PASS' => 'All the basic tests have been passed and you may proceed to the next stage of installation. If you have changed any permissions, modules, etc. and wish to re-test you can do so if you wish.',
|
||||
'INSTALL_PANEL' => 'Installation Panel',
|
||||
'INSTALL_SEND_CONFIG' => 'Unfortunately phpBB could not write the configuration information directly to your config.php. This may be because the file does not exist or is not writable. A number of options will be listed below enabling you to complete installation of config.php.',
|
||||
'INSTALL_START' => 'Start install',
|
||||
'INSTALL_TEST' => 'Test again',
|
||||
'INST_ERR' => 'Installation error',
|
||||
'INST_ERR_DB_CONNECT' => 'Could not connect to the database, see error message below.',
|
||||
'INST_ERR_DB_FORUM_PATH' => 'The database file specified is within your board directory tree. You should put this file in a non web-accessible location.',
|
||||
'INST_ERR_DB_INVALID_PREFIX'=> 'The prefix you entered is invalid. It must start with a letter and must only contain letters, numbers and underscores.',
|
||||
'INST_ERR_DB_NO_ERROR' => 'No error message given.',
|
||||
'INST_ERR_DB_NO_MYSQLI' => 'The version of MySQL installed on this machine is incompatible with the “MySQL with MySQLi Extension” option you have selected. Please try the “MySQL” option instead.',
|
||||
'INST_ERR_DB_NO_SQLITE' => 'The version of the SQLite extension you have installed is too old, it must be upgraded to at least 2.8.2.',
|
||||
'INST_ERR_DB_NO_SQLITE3' => 'The version of the SQLite extension you have installed is too old, it must be upgraded to at least 3.6.15.',
|
||||
'INST_ERR_DB_NO_ORACLE' => 'The version of Oracle installed on this machine requires you to set the <var>NLS_CHARACTERSET</var> parameter to <var>UTF8</var>. Either upgrade your installation to 9.2+ or change the parameter.',
|
||||
'INST_ERR_DB_NO_POSTGRES' => 'The database you have selected was not created in <var>UNICODE</var> or <var>UTF8</var> encoding. Try installing with a database in <var>UNICODE</var> or <var>UTF8</var> encoding.',
|
||||
'INST_ERR_DB_NO_NAME' => 'No database name specified.',
|
||||
'INST_ERR_EMAIL_INVALID' => 'The email address you entered is invalid.',
|
||||
'INST_ERR_EMAIL_MISMATCH' => 'The emails you entered did not match.',
|
||||
'INST_ERR_FATAL' => 'Fatal installation error',
|
||||
'INST_ERR_FATAL_DB' => 'A fatal and unrecoverable database error has occurred. This may be because the specified user does not have appropriate permissions to <code>CREATE TABLES</code> or <code>INSERT</code> data, etc. Further information may be given below. Please contact your hosting provider in the first instance or the support forums of phpBB for further assistance.',
|
||||
'INST_ERR_FTP_PATH' => 'Could not change to the given directory, please check the path.',
|
||||
'INST_ERR_FTP_LOGIN' => 'Could not login to FTP server, check your username and password.',
|
||||
|
||||
'ACP_LINK' => 'Take me to <a href="%1$s">the ACP</a>',
|
||||
));
|
||||
|
||||
// Requirements translation
|
||||
$lang = array_merge($lang, array(
|
||||
// Filesystem requirements
|
||||
'FILE_NOT_EXISTS' => 'File not exists',
|
||||
'FILE_NOT_EXISTS_EXPLAIN' => 'To be able to install phpBB %1$s file need to exist.',
|
||||
'FILE_NOT_WRITABLE' => 'File not writable',
|
||||
'FILE_NOT_WRITABLE_EXPLAIN' => 'To be able to install phpBB %1$s file need to be writable.',
|
||||
|
||||
'DIRECTORY_NOT_EXISTS' => 'Directory not exists',
|
||||
'DIRECTORY_NOT_EXISTS_EXPLAIN' => 'To be able to install phpBB %1$s directory need to exist.',
|
||||
'DIRECTORY_NOT_WRITABLE' => 'Directory not writable',
|
||||
'DIRECTORY_NOT_WRITABLE_EXPLAIN' => 'To be able to install phpBB %1$s directory need to be writable.',
|
||||
|
||||
// Server requirements
|
||||
'PHP_VERSION_REQD' => 'PHP version',
|
||||
'PHP_VERSION_REQD_EXPLAIN' => 'phpBB requires PHP version 5.4.0 or higher.',
|
||||
'PHP_GETIMAGESIZE_SUPPORT' => 'PHP getimagesize() function is required',
|
||||
'PHP_GETIMAGESIZE_SUPPORT_EXPLAIN' => 'In order for phpBB to function correctly, the getimagesize function needs to be available.',
|
||||
'PCRE_UTF_SUPPORT' => 'PCRE UTF-8 support',
|
||||
'PCRE_UTF_SUPPORT_EXPLAIN' => 'phpBB will not run if your PHP installation is not compiled with UTF-8 support in the PCRE extension.',
|
||||
'PHP_JSON_SUPPORT' => 'PHP JSON support',
|
||||
'PHP_JSON_SUPPORT_EXPLAIN' => 'In order for phpBB to function correctly, the PHP JSON extension needs to be available.',
|
||||
'PHP_SUPPORTED_DB' => 'Supported databases',
|
||||
'PHP_SUPPORTED_DB_EXPLAIN' => 'You must have support for at least one compatible database within PHP. If no database modules are shown as available you should contact your hosting provider or review the relevant PHP installation documentation for advice.',
|
||||
|
||||
'RETEST_REQUIREMENTS' => 'Retest requirements',
|
||||
|
||||
'STAGE_REQUIREMENTS' => 'Check requirements'
|
||||
));
|
||||
|
||||
// General error messages
|
||||
$lang = array_merge($lang, array(
|
||||
'INST_ERR_MISSING_DATA' => 'You must fill out all fields in this block.',
|
||||
'INST_ERR_NO_DB' => 'Cannot load the PHP module for the selected database type.',
|
||||
'PHPBB_ALREADY_INSTALLED' => 'phpBB is already installed.'
|
||||
));
|
||||
|
||||
// Data obtaining translations
|
||||
$lang = array_merge($lang, array(
|
||||
'STAGE_OBTAIN_DATA' => 'Set installation data',
|
||||
|
||||
//
|
||||
// Admin data
|
||||
//
|
||||
'STAGE_ADMINISTRATOR' => 'Administrator details',
|
||||
|
||||
// Form labels
|
||||
'ADMIN_CONFIG' => 'Administrator configuration',
|
||||
'ADMIN_PASSWORD' => 'Administrator password',
|
||||
'ADMIN_PASSWORD_CONFIRM' => 'Confirm administrator password',
|
||||
'ADMIN_PASSWORD_EXPLAIN' => 'Please enter a password between 6 and 30 characters in length.',
|
||||
'ADMIN_USERNAME' => 'Administrator username',
|
||||
'ADMIN_USERNAME_EXPLAIN' => 'Please enter a username between 3 and 20 characters in length.',
|
||||
|
||||
// Errors
|
||||
'INST_ERR_EMAIL_INVALID' => 'The email address you entered is invalid.',
|
||||
'INST_ERR_PASSWORD_MISMATCH' => 'The passwords you entered did not match.',
|
||||
'INST_ERR_PASSWORD_TOO_LONG' => 'The password you entered is too long. The maximum length is 30 characters.',
|
||||
'INST_ERR_PASSWORD_TOO_SHORT' => 'The password you entered is too short. The minimum length is 6 characters.',
|
||||
'INST_ERR_PREFIX' => 'Tables with the specified prefix already exist, please choose an alternative.',
|
||||
'INST_ERR_PREFIX_INVALID' => 'The table prefix you have specified is invalid for your database. Please try another, removing characters such as the hyphen.',
|
||||
'INST_ERR_PREFIX_TOO_LONG' => 'The table prefix you have specified is too long. The maximum length is %d characters.',
|
||||
'INST_ERR_USER_TOO_LONG' => 'The username you entered is too long. The maximum length is 20 characters.',
|
||||
'INST_ERR_USER_TOO_SHORT' => 'The username you entered is too short. The minimum length is 3 characters.',
|
||||
'INVALID_PRIMARY_KEY' => 'Invalid primary key : %s',
|
||||
'INST_ERR_USER_TOO_LONG' => 'The username you entered is too long. The maximum length is 20 characters.',
|
||||
'INST_ERR_USER_TOO_SHORT' => 'The username you entered is too short. The minimum length is 3 characters.',
|
||||
|
||||
'LONG_SCRIPT_EXECUTION' => 'Please note that this can take a while... Please do not stop the script.',
|
||||
//
|
||||
// Board data
|
||||
//
|
||||
// Form labels
|
||||
'BOARD_CONFIG' => 'Bulletin board configuration',
|
||||
'DEFAULT_LANGUAGE' => 'Default language',
|
||||
'BOARD_NAME' => 'Title of the board',
|
||||
'BOARD_DESCRIPTION' => 'Short description of the board',
|
||||
|
||||
// mbstring
|
||||
'MBSTRING_CHECK' => '<samp>mbstring</samp> extension check',
|
||||
'MBSTRING_CHECK_EXPLAIN' => '<strong>Required</strong> - <samp>mbstring</samp> is a PHP extension that provides multibyte string functions. Certain features of mbstring are not compatible with phpBB and must be disabled.',
|
||||
'MBSTRING_FUNC_OVERLOAD' => 'Function overloading',
|
||||
'MBSTRING_FUNC_OVERLOAD_EXPLAIN' => '<var>mbstring.func_overload</var> must be set to either 0 or 4.',
|
||||
'MBSTRING_ENCODING_TRANSLATION' => 'Transparent character encoding',
|
||||
'MBSTRING_ENCODING_TRANSLATION_EXPLAIN' => '<var>mbstring.encoding_translation</var> must be set to 0.',
|
||||
'MBSTRING_HTTP_INPUT' => 'HTTP input character conversion',
|
||||
'MBSTRING_HTTP_INPUT_EXPLAIN' => '<var>mbstring.http_input</var> must be set to <samp>pass</samp>.',
|
||||
'MBSTRING_HTTP_OUTPUT' => 'HTTP output character conversion',
|
||||
'MBSTRING_HTTP_OUTPUT_EXPLAIN' => '<var>mbstring.http_output</var> must be set to <samp>pass</samp>.',
|
||||
//
|
||||
// Database data
|
||||
//
|
||||
'STAGE_DATABASE' => 'Database settings',
|
||||
|
||||
'MAKE_FOLDER_WRITABLE' => 'Please make sure that this folder exists and is writable by the webserver then try again:<br />»<strong>%s</strong>.',
|
||||
'MAKE_FOLDERS_WRITABLE' => 'Please make sure that these folders exist and are writable by the webserver then try again:<br />»<strong>%s</strong>.',
|
||||
// Form labels
|
||||
'DB_CONFIG' => 'Database configuration',
|
||||
'DBMS' => 'Database type',
|
||||
'DB_HOST' => 'Database server hostname or DSN',
|
||||
'DB_HOST_EXPLAIN' => 'DSN stands for Data Source Name and is relevant only for ODBC installs. On PostgreSQL, use localhost to connect to the local server via UNIX domain socket and 127.0.0.1 to connect via TCP. For SQLite, enter the full path to your database file.',
|
||||
'DB_PORT' => 'Database server port',
|
||||
'DB_PORT_EXPLAIN' => 'Leave this blank unless you know the server operates on a non-standard port.',
|
||||
'DB_PASSWORD' => 'Database password',
|
||||
'DB_NAME' => 'Database name',
|
||||
'DB_USERNAME' => 'Database username',
|
||||
'TABLE_PREFIX' => 'Prefix for tables in database',
|
||||
'TABLE_PREFIX_EXPLAIN' => 'The prefix must start with a letter and must only contain letters, numbers and underscores.',
|
||||
|
||||
'MYSQL_SCHEMA_UPDATE_REQUIRED' => 'Your MySQL database schema for phpBB is outdated. phpBB detected a schema for MySQL 3.x/4.x, but the server runs on MySQL %2$s.<br /><strong>Before you proceed the update, you need to upgrade the schema.</strong><br /><br />Please refer to the <a href="https://www.phpbb.com/kb/article/doesnt-have-a-default-value-errors/">Knowledge Base article about upgrading the MySQL schema</a>. If you encounter problems, please use <a href="https://www.phpbb.com/community/viewforum.php?f=466">our support forums</a>.',
|
||||
// Database options
|
||||
'DB_OPTION_MSSQL' => 'MSSQL Server 2000+',
|
||||
'DB_OPTION_MSSQL_ODBC' => 'MSSQL Server 2000+ via ODBC',
|
||||
'DB_OPTION_MSSQLNATIVE' => 'MSSQL Server 2005+ [ Native ]',
|
||||
'DB_OPTION_MYSQL' => 'MySQL',
|
||||
'DB_OPTION_MYSQLI' => 'MySQL with MySQLi Extension',
|
||||
'DB_OPTION_ORACLE' => 'Oracle',
|
||||
'DB_OPTION_POSTGRES' => 'PostgreSQL',
|
||||
'DB_OPTION_SQLITE' => 'SQLite 2',
|
||||
'DB_OPTION_SQLITE3' => 'SQLite 3',
|
||||
|
||||
'NAMING_CONFLICT' => 'Naming conflict: %s and %s are both aliases<br /><br />%s',
|
||||
'NEXT_STEP' => 'Proceed to next step',
|
||||
'NOT_FOUND' => 'Cannot find',
|
||||
'NOT_UNDERSTAND' => 'Could not understand %s #%d, table %s (“%s”)',
|
||||
'NO_CONVERTORS' => 'No convertors are available for use.',
|
||||
'NO_CONVERT_SPECIFIED' => 'No convertor specified.',
|
||||
'NO_LOCATION' => 'Cannot determine location. If you know Imagemagick is installed, you may specify the location later within your administration control panel',
|
||||
'NO_TABLES_FOUND' => 'No tables found.',
|
||||
// Errors
|
||||
'INST_ERR_NO_DB' => 'Cannot load the PHP module for the selected database type.',
|
||||
'INST_ERR_DB_INVALID_PREFIX' => 'The prefix you entered is invalid. It must start with a letter and must only contain letters, numbers and underscores.',
|
||||
'INST_ERR_PREFIX_TOO_LONG' => 'The table prefix you have specified is too long. The maximum length is %d characters.',
|
||||
'INST_ERR_DB_NO_NAME' => 'No database name specified.',
|
||||
'INST_ERR_DB_FORUM_PATH' => 'The database file specified is within your board directory tree. You should put this file in a non web-accessible location.',
|
||||
'INST_ERR_DB_CONNECT' => 'Could not connect to the database, see error message below.',
|
||||
'INST_ERR_DB_NO_ERROR' => 'No error message given.',
|
||||
'INST_ERR_PREFIX' => 'Tables with the specified prefix already exist, please choose an alternative.',
|
||||
'INST_ERR_DB_NO_MYSQLI' => 'The version of MySQL installed on this machine is incompatible with the “MySQL with MySQLi Extension” option you have selected. Please try the “MySQL” option instead.',
|
||||
'INST_ERR_DB_NO_SQLITE' => 'The version of the SQLite extension you have installed is too old, it must be upgraded to at least 2.8.2.',
|
||||
'INST_ERR_DB_NO_SQLITE3' => 'The version of the SQLite extension you have installed is too old, it must be upgraded to at least 3.6.15.',
|
||||
'INST_ERR_DB_NO_ORACLE' => 'The version of Oracle installed on this machine requires you to set the <var>NLS_CHARACTERSET</var> parameter to <var>UTF8</var>. Either upgrade your installation to 9.2+ or change the parameter.',
|
||||
'INST_ERR_DB_NO_POSTGRES' => 'The database you have selected was not created in <var>UNICODE</var> or <var>UTF8</var> encoding. Try installing with a database in <var>UNICODE</var> or <var>UTF8</var> encoding.',
|
||||
|
||||
'OVERVIEW_BODY' => 'Welcome to phpBB3!<br /><br />phpBB® is the most widely used open source bulletin board solution in the world. phpBB3 is the latest installment in a package line started in 2000. Like its predecessors, phpBB3 is feature-rich, user-friendly, and fully supported by the phpBB Team. phpBB3 greatly improves on what made phpBB2 popular, and adds commonly requested features that were not present in previous versions. We hope it exceeds your expectations.<br /><br />This installation system will guide you through installing phpBB3, updating to the latest version of phpBB3 from past releases, as well as converting to phpBB3 from a different discussion board system (including phpBB2). For more information, we encourage you to read <a href="../docs/INSTALL.html">the installation guide</a>.<br /><br />To read the phpBB3 license or learn about obtaining support and our stance on it, please select the respective options from the side menu. To continue, please select the appropriate tab above.',
|
||||
//
|
||||
// Email data
|
||||
//
|
||||
'EMAIL_CONFIG' => 'E-mail configuration',
|
||||
|
||||
'PCRE_UTF_SUPPORT' => 'PCRE UTF-8 support',
|
||||
'PCRE_UTF_SUPPORT_EXPLAIN' => 'phpBB will <strong>not</strong> run if your PHP installation is not compiled with UTF-8 support in the PCRE extension.',
|
||||
'PHP_GETIMAGESIZE_SUPPORT' => 'PHP function getimagesize() is available',
|
||||
'PHP_GETIMAGESIZE_SUPPORT_EXPLAIN' => '<strong>Required</strong> - In order for phpBB to function correctly, the getimagesize function needs to be available.',
|
||||
'PHP_JSON_SUPPORT' => 'PHP JSON support',
|
||||
'PHP_JSON_SUPPORT_EXPLAIN' => '<strong>Required</strong> - In order for phpBB to function correctly, the PHP JSON extension needs to be available.',
|
||||
'PHP_OPTIONAL_MODULE' => 'Optional modules',
|
||||
'PHP_OPTIONAL_MODULE_EXPLAIN' => '<strong>Optional</strong> - These modules or applications are optional. However, if they are available they will enable extra features.',
|
||||
'PHP_SUPPORTED_DB' => 'Supported databases',
|
||||
'PHP_SUPPORTED_DB_EXPLAIN' => '<strong>Required</strong> - You must have support for at least one compatible database within PHP. If no database modules are shown as available you should contact your hosting provider or review the relevant PHP installation documentation for advice.',
|
||||
'PHP_REGISTER_GLOBALS' => 'PHP setting <var>register_globals</var> is disabled',
|
||||
'PHP_REGISTER_GLOBALS_EXPLAIN' => 'phpBB will still run if this setting is enabled, but if possible, it is recommended that register_globals is disabled on your PHP install for security reasons.',
|
||||
'PHP_SAFE_MODE' => 'Safe mode',
|
||||
'PHP_SETTINGS' => 'PHP version and settings',
|
||||
'PHP_SETTINGS_EXPLAIN' => '<strong>Required</strong> - You must be running at least version 5.4.0 of PHP in order to install phpBB. If <var>safe mode</var> is displayed below your PHP installation is running in that mode. This will impose limitations on remote administration and similar features.',
|
||||
'PHP_URL_FOPEN_SUPPORT' => 'PHP setting <var>allow_url_fopen</var> is enabled',
|
||||
'PHP_URL_FOPEN_SUPPORT_EXPLAIN' => '<strong>Optional</strong> - This setting is optional, however certain phpBB functions like off-site avatars will not work properly without it.',
|
||||
'PHP_VERSION_REQD' => 'PHP version >= 5.4.0',
|
||||
'POST_ID' => 'Post ID',
|
||||
'PREFIX_FOUND' => 'A scan of your tables has shown a valid installation using <strong>%s</strong> as table prefix.',
|
||||
'PREPROCESS_STEP' => 'Executing pre-processing functions/queries',
|
||||
'PRE_CONVERT_COMPLETE' => 'All pre-conversion steps have successfully been completed. You may now begin the actual conversion process. Please note that you may have to manually do and adjust several things. After conversion, especially check the permissions assigned, rebuild your search index which is not converted and also make sure files got copied correctly, for example avatars and smilies.',
|
||||
'PROCESS_LAST' => 'Processing last statements',
|
||||
|
||||
'REFRESH_PAGE' => 'Refresh page to continue conversion',
|
||||
'REFRESH_PAGE_EXPLAIN' => 'If set to yes, the convertor will refresh the page to continue the conversion after having finished a step. If this is your first conversion for testing purposes and to determine any errors in advance, we suggest to set this to No.',
|
||||
'REQUIREMENTS_TITLE' => 'Installation compatibility',
|
||||
'REQUIREMENTS_EXPLAIN' => 'Before proceeding with the full installation phpBB will carry out some tests on your server configuration and files to ensure that you are able to install and run phpBB. Please ensure you read through the results thoroughly and do not proceed until all the required tests are passed. If you wish to use any of the features depending on the optional tests, you should ensure that these tests are passed also.',
|
||||
'RETRY_WRITE' => 'Retry writing config',
|
||||
'RETRY_WRITE_EXPLAIN' => 'If you wish you can change the permissions on config.php to allow phpBB to write to it. Should you wish to do that you can click Retry below to try again. Remember to return the permissions on config.php after phpBB has finished installation.',
|
||||
|
||||
'SELECT_LANG' => 'Select language',
|
||||
'SEARCH_INDEX_UNCONVERTED' => 'Search index was not converted',
|
||||
'SEARCH_INDEX_UNCONVERTED_EXPLAIN' => 'Your old search index was not converted. Searching will always yield an empty result. To create a new search index go to the Administration Control Panel, select Maintenance and then choose Search index from the submenu.',
|
||||
'SELECT_FORUM_GA' => 'In phpBB 3.1 the global announcements are linked to forums. Select a forum for your current global announcements (can be moved later):',
|
||||
'SOFTWARE' => 'Board software',
|
||||
'SPECIFY_OPTIONS' => 'Specify conversion options',
|
||||
'STAGE_ADMINISTRATOR' => 'Administrator details',
|
||||
'STAGE_ADVANCED' => 'Advanced settings',
|
||||
'STAGE_ADVANCED_EXPLAIN' => 'The settings on this page are only necessary to set if you know that you require something different from the default. If you are unsure, just proceed to the next page, as these settings can be altered from the Administration Control Panel later.',
|
||||
'STAGE_CONFIG_FILE' => 'Configuration file',
|
||||
'STAGE_CREATE_TABLE' => 'Create database tables',
|
||||
'STAGE_CREATE_TABLE_EXPLAIN' => 'The database tables used by phpBB 3.1 have been created and populated with some initial data. Proceed to the next screen to finish installing phpBB.',
|
||||
'STAGE_DATABASE' => 'Database settings',
|
||||
'STAGE_FINAL' => 'Final stage',
|
||||
'STAGE_INTRO' => 'Introduction',
|
||||
'STAGE_IN_PROGRESS' => 'Conversion in progress',
|
||||
'STAGE_REQUIREMENTS' => 'Requirements',
|
||||
'STAGE_SETTINGS' => 'Settings',
|
||||
'STARTING_CONVERT' => 'Starting conversion process',
|
||||
'STEP_PERCENT_COMPLETED' => 'Step <strong>%d</strong> of <strong>%d</strong>',
|
||||
'SUB_INTRO' => 'Introduction',
|
||||
'SUB_LICENSE' => 'License',
|
||||
'SUB_SUPPORT' => 'Support',
|
||||
'SUCCESSFUL_CONNECT' => 'Successful connection',
|
||||
'SUPPORT_BODY' => 'Full support will be provided for the current stable release of phpBB3, free of charge. This includes:</p><ul><li>installation</li><li>configuration</li><li>technical questions</li><li>problems relating to potential bugs in the software</li><li>updating from Release Candidate (RC) versions to the latest stable version</li><li>converting from phpBB 2.0.x to phpBB3</li><li>converting from other discussion board software to phpBB3 (please see the <a href="https://www.phpbb.com/community/viewforum.php?f=486">Convertors Forum</a>)</li></ul><p>We encourage users still running beta versions of phpBB3 to replace their installation with a fresh copy of the latest version.</p><h2>Extensions / Styles</h2><p>For issues relating to Extensions, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=451">Extensions Forum</a>.<br />For issues relating to styles, templates and themes, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=471">Styles Forum</a>.<br /><br />If your question relates to a specific package, please post directly in the topic dedicated to the package.</p><h2>Obtaining Support</h2><p><a href="https://www.phpbb.com/community/viewtopic.php?f=14&t=571070">The phpBB Welcome Package</a><br /><a href="https://www.phpbb.com/support/">Support Section</a><br /><a href="https://www.phpbb.com/support/docs/en/3.1/ug/quickstart/">Quick Start Guide</a><br /><br />To ensure you stay up to date with the latest news and releases, why not <a href="https://www.phpbb.com/support/">subscribe to our mailing list</a>?<br /><br />',
|
||||
'SYNC_FORUMS' => 'Starting to synchronise forums',
|
||||
'SYNC_POST_COUNT' => 'Synchronising post_counts',
|
||||
'SYNC_POST_COUNT_ID' => 'Synchronising post_counts from <var>entry</var> %1$s to %2$s.',
|
||||
'SYNC_TOPICS' => 'Starting to synchronise topics',
|
||||
'SYNC_TOPIC_ID' => 'Synchronising topics from <var>topic_id</var> %1$s to %2$s.',
|
||||
|
||||
'TABLES_MISSING' => 'Could not find these tables<br />» <strong>%s</strong>.',
|
||||
'TABLE_PREFIX' => 'Prefix for tables in database',
|
||||
'TABLE_PREFIX_EXPLAIN' => 'The prefix must start with a letter and must only contain letters, numbers and underscores.',
|
||||
'TABLE_PREFIX_SAME' => 'The table prefix needs to be the one used by the software you are converting from.<br />» Specified table prefix was %s.',
|
||||
'TESTS_PASSED' => 'Tests passed',
|
||||
'TESTS_FAILED' => 'Tests failed',
|
||||
|
||||
'UNABLE_WRITE_LOCK' => 'Unable to write lock file.',
|
||||
'UNAVAILABLE' => 'Unavailable',
|
||||
'UNWRITABLE' => 'Unwritable',
|
||||
'UPDATE_TOPICS_POSTED' => 'Generating topics posted information',
|
||||
'UPDATE_TOPICS_POSTED_ERR' => 'An error occurred while generating topics posted information. You can retry this step in the ACP after the conversion process is completed.',
|
||||
'VERIFY_OPTIONS' => 'Verifying conversion options',
|
||||
'VERSION' => 'Version',
|
||||
|
||||
'WELCOME_INSTALL' => 'Welcome to phpBB3 Installation',
|
||||
'WRITABLE' => 'Writable',
|
||||
));
|
||||
|
||||
// Updater
|
||||
$lang = array_merge($lang, array(
|
||||
'ALL_FILES_UP_TO_DATE' => 'All files are up to date with the latest phpBB version.',
|
||||
'ARCHIVE_FILE' => 'Source file within archive',
|
||||
|
||||
'BACK' => 'Back',
|
||||
'BINARY_FILE' => 'Binary file',
|
||||
'BOT' => 'Spider/Robot',
|
||||
|
||||
'CHANGE_CLEAN_NAMES' => 'The method used to make sure a username is not used by multiple users has been changed. There are some users which have the same name when compared with the new method. You have to delete or rename these users to make sure that each name is only used by one user before you can proceed.',
|
||||
'CHECK_FILES' => 'Check files',
|
||||
'CHECK_FILES_AGAIN' => 'Check files again',
|
||||
'CHECK_FILES_EXPLAIN' => 'Within the next step all files will be checked against the update files - this can take a while if this is the first file check.',
|
||||
'CHECK_FILES_UP_TO_DATE' => 'According to your database your version is up to date. You may want to proceed with the file check to make sure all files are really up to date with the latest phpBB version.',
|
||||
'CHECK_UPDATE_DATABASE' => 'Continue update process',
|
||||
'COLLECTED_INFORMATION' => 'File information',
|
||||
'COLLECTED_INFORMATION_EXPLAIN' => 'The list below shows information about the files needing an update. Please read the information in front of every status block to see what they mean and what you may need to do to perform a successful update.',
|
||||
'COLLECTING_FILE_DIFFS' => 'Collecting file differences',
|
||||
'COMPLETE_LOGIN_TO_BOARD' => 'You should now <a href="../ucp.php?mode=login">login to your board</a> and check if everything is working fine. Do not forget to delete, rename or move your install directory!',
|
||||
'CONTINUE_UPDATE_NOW' => 'Continue the update process now', // Shown within the database update script at the end if called from the updater
|
||||
'CONTINUE_UPDATE' => 'Continue update now', // Shown after file upload to indicate the update process is not yet finished
|
||||
'CURRENT_FILE' => 'Begin of Conflict - Original File code before update',
|
||||
'CURRENT_VERSION' => 'Current version',
|
||||
|
||||
'DATABASE_TYPE' => 'Database type',
|
||||
'DATABASE_UPDATE_COMPLETE' => 'Database updater has completed!',
|
||||
'DATABASE_UPDATE_CONTINUE' => 'Continue database update',
|
||||
'DATABASE_UPDATE_INFO_OLD' => 'The database update file within the install directory is outdated. Please make sure you uploaded the correct version of the file.',
|
||||
'DATABASE_UPDATE_NOT_COMPLETED' => 'The database update has not yet completed.',
|
||||
'DELETE_USER_REMOVE' => 'Delete user and remove posts',
|
||||
'DELETE_USER_RETAIN' => 'Delete user but keep posts',
|
||||
'DESTINATION' => 'Destination file',
|
||||
'DIFF_INLINE' => 'Inline',
|
||||
'DIFF_RAW' => 'Raw unified diff',
|
||||
'DIFF_SEP_EXPLAIN' => 'Code block used within the updated/new file',
|
||||
'DIFF_SIDE_BY_SIDE' => 'Side by Side',
|
||||
'DIFF_UNIFIED' => 'Unified diff',
|
||||
'DO_NOT_UPDATE' => 'Do not update this file',
|
||||
'DONE' => 'Done',
|
||||
'DOWNLOAD' => 'Download',
|
||||
'DOWNLOAD_AS' => 'Download as',
|
||||
'DOWNLOAD_UPDATE_METHOD_BUTTON' => 'Download modified files archive (recommended)',
|
||||
'DOWNLOAD_CONFLICTS' => 'Download conflicts for this file',
|
||||
'DOWNLOAD_CONFLICTS_EXPLAIN' => 'Search for <<< to spot conflicts',
|
||||
'DOWNLOAD_UPDATE_METHOD' => 'Download modified files archive',
|
||||
'DOWNLOAD_UPDATE_METHOD_EXPLAIN' => 'Once downloaded you should unpack the archive. You will find the modified files you need to upload to your phpBB root directory within it. Please upload the files to their respective locations then. After you have uploaded all files, please check the files again with the other button below.',
|
||||
|
||||
'EDIT_USERNAME' => 'Edit username',
|
||||
'ERROR' => 'Error',
|
||||
'EVERYTHING_UP_TO_DATE' => 'Everything is up to date with the latest phpBB version. You should now <a href="%1$s">login to your board</a> and check if everything is working fine. Do not forget to delete, rename or move your install directory! Please send us updated information about your server and board configurations from the <a href="%2$s">Send statistics</a> module in your ACP.',
|
||||
|
||||
'FILE_ALREADY_UP_TO_DATE' => 'File is already up to date.',
|
||||
'FILE_DIFF_NOT_ALLOWED' => 'File not allowed to be diffed.',
|
||||
'FILE_USED' => 'Information used from', // Single file
|
||||
'FILES_CONFLICT' => 'Conflict files',
|
||||
'FILES_CONFLICT_EXPLAIN' => 'The following files are modified and do not represent the original files from the old version. phpBB determined that these files create conflicts if they are tried to be merged. Please investigate the conflicts and try to manually resolve them or continue the update choosing the preferred merging method. If you resolve the conflicts manually check the files again after you modified them. You are also able to choose between the preferred merge method for every file. The first one will result in a file where the conflicting lines from your old file will be lost, the other one will result in losing the changes from the newer file.',
|
||||
'FILES_DELETED' => 'Deleted files',
|
||||
'FILES_DELETED_EXPLAIN' => 'The following files do not exist in the new version. These files have to be deleted from your installation.',
|
||||
'FILES_MODIFIED' => 'Modified files',
|
||||
'FILES_MODIFIED_EXPLAIN' => 'The following files are modified and do not represent the original files from the old version. The updated file will be a merge between your modifications and the new file.',
|
||||
'FILES_NEW' => 'New files',
|
||||
'FILES_NEW_EXPLAIN' => 'The following files currently do not exist within your installation. These files will be added to your installation.',
|
||||
'FILES_NEW_CONFLICT' => 'New conflicting files',
|
||||
'FILES_NEW_CONFLICT_EXPLAIN' => 'The following files are new within the latest version but it has been determined that there is already a file with the same name within the same position. This file will be overwritten by the new file.',
|
||||
'FILES_NOT_MODIFIED' => 'Not modified files',
|
||||
'FILES_NOT_MODIFIED_EXPLAIN' => 'The following files are not modified and represent the original phpBB files from the version you want to update from.',
|
||||
'FILES_UP_TO_DATE' => 'Already updated files',
|
||||
'FILES_UP_TO_DATE_EXPLAIN' => 'The following files are already up to date and do not need to be updated.',
|
||||
'FTP_SETTINGS' => 'FTP settings',
|
||||
'FTP_UPDATE_METHOD' => 'FTP upload',
|
||||
|
||||
'INCOMPATIBLE_UPDATE_FILES' => 'The update files found are incompatible with your installed version. Your installed version is %1$s and the update file is for updating phpBB %2$s to %3$s.',
|
||||
'INCOMPLETE_UPDATE_FILES' => 'The update files are incomplete.',
|
||||
'INLINE_UPDATE_SUCCESSFUL' => 'The database update was successful. Now you need to continue the update process.',
|
||||
|
||||
'KEEP_OLD_NAME' => 'Keep username',
|
||||
|
||||
'LATEST_VERSION' => 'Latest version',
|
||||
'LINE' => 'Line',
|
||||
'LINE_ADDED' => 'Added',
|
||||
'LINE_MODIFIED' => 'Modified',
|
||||
'LINE_REMOVED' => 'Removed',
|
||||
'LINE_UNMODIFIED' => 'Unmodified',
|
||||
'LOGIN_UPDATE_EXPLAIN' => 'In order to update your installation you need to login first.',
|
||||
|
||||
'MAPPING_FILE_STRUCTURE' => 'To ease the upload here are the file locations which map your phpBB installation.',
|
||||
|
||||
'MERGE_MODIFICATIONS_OPTION' => 'Merge modifications',
|
||||
|
||||
'MERGE_NO_MERGE_NEW_OPTION' => 'Do not merge - use new file',
|
||||
'MERGE_NO_MERGE_MOD_OPTION' => 'Do not merge - use currently installed file',
|
||||
'MERGE_MOD_FILE_OPTION' => 'Merge modifications (removes new phpBB code within conflicting block)',
|
||||
'MERGE_NEW_FILE_OPTION' => 'Merge modifications (removes modified code within conflicting block)',
|
||||
'MERGE_SELECT_ERROR' => 'Conflicting file merge modes are not correctly selected.',
|
||||
'MERGING_FILES' => 'Merging differences',
|
||||
'MERGING_FILES_EXPLAIN' => 'Currently collecting final file changes.<br /><br />Please wait until phpBB has completed all operations on changed files.',
|
||||
|
||||
'NEW_FILE' => 'End of Conflict',
|
||||
'NEW_USERNAME' => 'New username',
|
||||
'NO_AUTH_UPDATE' => 'Not authorised to update',
|
||||
'NO_ERRORS' => 'No errors',
|
||||
'NO_UPDATE_FILES' => 'Not updating the following files',
|
||||
'NO_UPDATE_FILES_EXPLAIN' => 'The following files are new or modified but the directory they normally reside in could not be found on your installation. If this list contains files to other directories than language/ or styles/ than you may have modified your directory structure and the update may be incomplete.',
|
||||
'NO_UPDATE_FILES_OUTDATED' => 'No valid update directory was found, please make sure you uploaded the relevant files.<br /><br />Your installation does <strong>not</strong> seem to be up to date. Updates are available for your version of phpBB %1$s, please visit <a href="https://www.phpbb.com/downloads/" rel="external">https://www.phpbb.com/downloads/</a> to obtain the correct package to update from Version %2$s to Version %3$s.',
|
||||
'NO_UPDATE_FILES_UP_TO_DATE' => 'Your version is up to date. There is no need to run the update tool. If you want to make an integrity check on your files make sure you uploaded the correct update files.',
|
||||
'NO_UPDATE_INFO' => 'Update file information could not be found.',
|
||||
'NO_UPDATES_REQUIRED' => 'No updates required',
|
||||
'NO_VISIBLE_CHANGES' => 'No visible changes',
|
||||
'NOTICE' => 'Notice',
|
||||
'NUM_CONFLICTS' => 'Number of conflicts',
|
||||
'NUMBER_OF_FILES_COLLECTED' => 'Currently differences from %1$d of %2$d files have been checked.<br />Please wait until all files are checked.',
|
||||
|
||||
'OLD_UPDATE_FILES' => 'Update files are out of date. The update files found are for updating from phpBB %1$s to phpBB %2$s but the latest version of phpBB is %3$s.',
|
||||
|
||||
'PACKAGE_UPDATES_TO' => 'Current package updates to version',
|
||||
'PERFORM_DATABASE_UPDATE' => 'Perform database update',
|
||||
'PERFORM_DATABASE_UPDATE_EXPLAIN' => 'Below you will find a button to the database update script. The database update can take a while, so please do not stop the execution if it seems to hang. After the database update has been performed just follow the instructions to continue the update process.',
|
||||
'PREVIOUS_VERSION' => 'Previous version',
|
||||
'PROGRESS' => 'Progress',
|
||||
|
||||
'RELEASE_ANNOUNCEMENT' => 'Announcement',
|
||||
'RESULT' => 'Result',
|
||||
'RUN_DATABASE_SCRIPT' => 'Update my database now',
|
||||
|
||||
'SELECT_DIFF_MODE' => 'Select diff mode',
|
||||
'SELECT_DOWNLOAD_FORMAT' => 'Select download archive format',
|
||||
'SELECT_FTP_SETTINGS' => 'Select FTP settings',
|
||||
'SHOW_DIFF_CONFLICT' => 'Show differences/conflicts',
|
||||
'SHOW_DIFF_DELETED' => 'Show file contents',
|
||||
'SHOW_DIFF_FINAL' => 'Show resulting file',
|
||||
'SHOW_DIFF_MODIFIED' => 'Show merged differences',
|
||||
'SHOW_DIFF_NEW' => 'Show file contents',
|
||||
'SHOW_DIFF_NEW_CONFLICT' => 'Show differences',
|
||||
'SHOW_DIFF_NOT_MODIFIED' => 'Show differences',
|
||||
'SOME_QUERIES_FAILED' => 'Some queries failed, the statements and errors are listed below.',
|
||||
'SQL' => 'SQL',
|
||||
'SQL_FAILURE_EXPLAIN' => 'This is probably nothing to worry about, update will continue. Should this fail to complete you may need to seek help at our support forums. See <a href="../docs/README.html">README</a> for details on how to obtain advice.',
|
||||
'STAGE_FILE_CHECK' => 'Check files',
|
||||
'STAGE_UPDATE_DB' => 'Update database',
|
||||
'STAGE_UPDATE_FILES' => 'Update files',
|
||||
'STAGE_VERSION_CHECK' => 'Version check',
|
||||
'STATUS_CONFLICT' => 'Modified file producing conflicts',
|
||||
'STATUS_DELETED' => 'Deleted file',
|
||||
'STATUS_MODIFIED' => 'Modified file',
|
||||
'STATUS_NEW' => 'New file',
|
||||
'STATUS_NEW_CONFLICT' => 'Conflicting new file',
|
||||
'STATUS_NOT_MODIFIED' => 'Not modified file',
|
||||
'STATUS_UP_TO_DATE' => 'Already updated file',
|
||||
|
||||
'TOGGLE_DISPLAY' => 'View/Hide file list',
|
||||
'TRY_DOWNLOAD_METHOD' => 'You may want to try the download modified files method.<br />This method always works and is also the recommended update path.',
|
||||
'TRY_DOWNLOAD_METHOD_BUTTON'=> 'Try this method now',
|
||||
|
||||
'UPDATE_COMPLETED' => 'Update completed',
|
||||
'UPDATE_DATABASE' => 'Update database',
|
||||
'UPDATE_DATABASE_EXPLAIN' => 'Within the next step the database will be updated.',
|
||||
'UPDATE_DATABASE_SCHEMA' => 'Updating database schema',
|
||||
'UPDATE_FILES' => 'Update files',
|
||||
'UPDATE_FILES_NOTICE' => 'Please make sure you have updated your board files too, this file is only updating your database.',
|
||||
'UPDATE_INSTALLATION' => 'Update phpBB installation',
|
||||
'UPDATE_INSTALLATION_EXPLAIN' => 'With this option, it is possible to update your phpBB installation to the latest version.<br />During the process all of your files will be checked for their integrity. You are able to review all differences and files before the update.<br /><br />The file update itself can be done in two different ways.</p><h2>Manual Update</h2><p>With this update you only download your personal set of changed files to make sure you do not lose your file modifications you may have done. After you downloaded this package you need to manually upload the files to their correct position under your phpBB root directory. Once done, you are able to do the file check stage again to see if you moved the files to their correct location.</p><h2>Automatic Update with FTP</h2><p>This method is similar to the first one but without the need to download the changed files and uploading them on your own. This will be done for you. In order to use this method you need to know your FTP login details since you will be asked for them. Once finished you will be redirected to the file check again to make sure everything got updated correctly.<br /><br />',
|
||||
'UPDATE_INSTRUCTIONS' => '
|
||||
|
||||
<h1>Release announcement</h1>
|
||||
|
||||
<p>Please read the release announcement for the latest version before you continue your update process, it may contain useful information. It also contains full download links as well as the change log.</p>
|
||||
|
||||
<br />
|
||||
|
||||
<h1>How to update your installation with the Automatic Update Package</h1>
|
||||
|
||||
<p>The recommended way of updating your installation listed here is only valid for the automatic update package. You are also able to update your installation using the methods listed within the INSTALL.html document. The steps for updating phpBB3 automatically are:</p>
|
||||
|
||||
<ul style="margin-left: 20px; font-size: 1.1em;">
|
||||
<li>Go to the <a href="https://www.phpbb.com/downloads/" title="https://www.phpbb.com/downloads/">phpBB.com downloads page</a> and download the "Automatic Update Package" archive.<br /><br /></li>
|
||||
<li>Unpack the archive.<br /><br /></li>
|
||||
<li>Upload the complete uncompressed "install" and "vendor" folders to your phpBB root directory (where your config.php file is).<br /><br /></li>
|
||||
</ul>
|
||||
|
||||
<p>Once uploaded your board will be offline for normal users due to the install directory you uploaded now present.<br /><br />
|
||||
<strong><a href="%1$s" title="%1$s">Now start the update process by pointing your browser to the install folder</a>.</strong><br />
|
||||
<br />
|
||||
You will then be guided through the update process. You will be notified once the update is complete.
|
||||
</p>
|
||||
',
|
||||
'UPDATE_METHOD' => 'Update method',
|
||||
'UPDATE_METHOD_EXPLAIN' => 'You are now able to choose your preferred update method. Using the FTP upload will present you with a form you need to enter your FTP account details into. With this method the files will be automatically moved to the new location and backups of the old files being created by appending .bak to the filename. If you choose to download the modified files you are able to unpack and upload them to their correct location manually later.',
|
||||
'UPDATE_REQUIRES_FILE' => 'The updater requires that the following file is present: %s',
|
||||
'UPDATE_SUCCESS' => 'Update was successful',
|
||||
'UPDATE_SUCCESS_EXPLAIN' => 'Successfully updated all files. The next step involves checking all files again to make sure the files got updated correctly.',
|
||||
'UPDATE_VERSION_OPTIMIZE' => 'Updating version and optimising tables',
|
||||
'UPDATING_DATA' => 'Updating data',
|
||||
'UPDATING_TO_LATEST_STABLE' => 'Updating database to latest stable release',
|
||||
'UPDATED_VERSION' => 'Updated version',
|
||||
'UPLOAD_METHOD' => 'Upload method',
|
||||
|
||||
'UPDATE_DB_SUCCESS' => 'Database update was successful.',
|
||||
'UPDATE_FILE_SUCCESS' => 'File update was successful.',
|
||||
'USER_ACTIVE' => 'Active user',
|
||||
'USER_INACTIVE' => 'Inactive user',
|
||||
|
||||
'VERSION_CHECK' => 'Version check',
|
||||
'VERSION_CHECK_EXPLAIN' => 'Checks to see if your phpBB installation is up to date.',
|
||||
'VERSION_NOT_UP_TO_DATE' => 'Your phpBB installation is not up to date. Please continue the update process.',
|
||||
'VERSION_NOT_UP_TO_DATE_ACP' => 'Your phpBB installation is not up to date.<br />Below is a link to the release announcement, which contains more information as well as instructions on updating.',
|
||||
'VERSION_NOT_UP_TO_DATE_TITLE' => 'Your phpBB installation is not up to date.',
|
||||
'VERSION_UP_TO_DATE' => 'Your phpBB installation is up to date. Although there are no updates available at this time, you may continue in order to perform a file validity check.',
|
||||
'VERSION_UP_TO_DATE_ACP' => 'Your phpBB installation is up to date. There are no updates available at this time.',
|
||||
'VIEWING_FILE_CONTENTS' => 'Viewing file contents',
|
||||
'VIEWING_FILE_DIFF' => 'Viewing file differences',
|
||||
|
||||
'WRONG_INFO_FILE_FORMAT' => 'Wrong info file format',
|
||||
//
|
||||
// Server data
|
||||
//
|
||||
// Form labels
|
||||
'SERVER_CONFIG' => 'Server configuration',
|
||||
'SCRIPT_PATH' => 'Script path',
|
||||
'SCRIPT_PATH_EXPLAIN' => 'The path where phpBB is located relative to the domain name, e.g. <samp>/phpBB3</samp>.',
|
||||
));
|
||||
|
||||
// Default database schema entries...
|
||||
@ -627,3 +257,59 @@ $lang = array_merge($lang, array(
|
||||
|
||||
'TOPICS_TOPIC_TITLE' => 'Welcome to phpBB3',
|
||||
));
|
||||
|
||||
// Common navigation items' translation
|
||||
$lang = array_merge($lang, array(
|
||||
'MENU_OVERVIEW' => 'Overview',
|
||||
'MENU_INTRO' => 'Introduction',
|
||||
'MENU_LICENSE' => 'License',
|
||||
'MENU_SUPPORT' => 'Support',
|
||||
));
|
||||
|
||||
// Task names
|
||||
$lang = array_merge($lang, array(
|
||||
// Install filesystem
|
||||
'TASK_CREATE_CONFIG_FILE' => 'Creating configuration file',
|
||||
|
||||
// Install database
|
||||
'TASK_ADD_CONFIG_SETTINGS' => 'Adding configuration settings',
|
||||
'TASK_ADD_DEFAULT_DATA' => 'Adding default settings to the database',
|
||||
'TASK_CREATE_DATABASE_SCHEMA' => 'Creating database schema',
|
||||
|
||||
// Install data
|
||||
'TASK_ADD_BOTS' => 'Registering bots',
|
||||
'TASK_ADD_LANGUAGES' => 'Installing available languages',
|
||||
'TASK_ADD_MODULES' => 'Installing modules',
|
||||
|
||||
// Install finish tasks
|
||||
'TASK_NOTIFY_USER' => 'Sending notification e-mail',
|
||||
'TASK_POPULATE_MIGRATIONS' => 'Populating migrations',
|
||||
|
||||
// Installer general progress messages
|
||||
'INSTALLER_FINISHED' => 'The installer has finished successfully',
|
||||
));
|
||||
|
||||
// Installer's general messages
|
||||
$lang = array_merge($lang, array(
|
||||
'MODULE_NOT_FOUND' => 'Module not found',
|
||||
'MODULE_NOT_FOUND_DESCRIPTION' => 'A module could not be found because the service, %s, is undefined.',
|
||||
|
||||
'TASK_NOT_FOUND' => 'Task not found',
|
||||
'TASK_NOT_FOUND_DESCRIPTION' => 'A task could not be found because the service, %s, is undefined.',
|
||||
|
||||
'SKIP_MODULE' => 'Skip “%s” module',
|
||||
'SKIP_TASK' => 'Skip “%s” task',
|
||||
|
||||
'TASK_SERVICE_INSTALLER_MISSING' => 'All installer task services should start with “installer”',
|
||||
'TASK_CLASS_NOT_FOUND' => 'Installer task service definition is invalid. Service name “%1$s” given, the expected class namespace is “%2$s” for that. For more information please see the documentation of task_interface.',
|
||||
|
||||
'INSTALLER_CONFIG_NOT_WRITABLE' => 'The installer config file is not writable.',
|
||||
));
|
||||
|
||||
// CLI messages
|
||||
$lang = array_merge($lang, array(
|
||||
'CLI_INSTALL_BOARD' => 'Install phpBB',
|
||||
'CLI_INSTALL_SHOW_CONFIG' => 'Show the configuration which will be used',
|
||||
'CLI_INSTALL_VALIDATE_CONFIG' => 'Validate a configuration file',
|
||||
'CLI_CONFIG_FILE' => 'Config file to use',
|
||||
));
|
||||
|
@ -1,411 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
|
||||
// Common installer pages
|
||||
$lang = array_merge($lang, array(
|
||||
'INSTALL_PANEL' => 'Installation Panel',
|
||||
'SELECT_LANG' => 'Select language',
|
||||
|
||||
'STAGE_INSTALL' => 'Installing phpBB',
|
||||
|
||||
// Introduction page
|
||||
'INTRODUCTION_TITLE' => 'Introduction',
|
||||
'INTRODUCTION_BODY' => 'Welcome to phpBB3!<br /><br />phpBB® is the most widely used open source bulletin board solution in the world. phpBB3 is the latest installment in a package line started in 2000. Like its predecessors, phpBB3 is feature-rich, user-friendly, and fully supported by the phpBB Team. phpBB3 greatly improves on what made phpBB2 popular, and adds commonly requested features that were not present in previous versions. We hope it exceeds your expectations.<br /><br />This installation system will guide you through installing phpBB3, updating to the latest version of phpBB3 from past releases, as well as converting to phpBB3 from a different discussion board system (including phpBB2). For more information, we encourage you to read <a href="../docs/INSTALL.html">the installation guide</a>.<br /><br />To read the phpBB3 license or learn about obtaining support and our stance on it, please select the respective options from the side menu. To continue, please select the appropriate tab above.',
|
||||
|
||||
// Support page
|
||||
'SUPPORT_TITLE' => 'Support',
|
||||
'SUPPORT_BODY' => 'Full support will be provided for the current stable release of phpBB3, free of charge. This includes:</p><ul><li>installation</li><li>configuration</li><li>technical questions</li><li>problems relating to potential bugs in the software</li><li>updating from Release Candidate (RC) versions to the latest stable version</li><li>converting from phpBB 2.0.x to phpBB3</li><li>converting from other discussion board software to phpBB3 (please see the <a href="https://www.phpbb.com/community/viewforum.php?f=486">Convertors Forum</a>)</li></ul><p>We encourage users still running beta versions of phpBB3 to replace their installation with a fresh copy of the latest version.</p><h2>Extensions / Styles</h2><p>For issues relating to Extensions, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=451">Extensions Forum</a>.<br />For issues relating to styles, templates and themes, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=471">Styles Forum</a>.<br /><br />If your question relates to a specific package, please post directly in the topic dedicated to the package.</p><h2>Obtaining Support</h2><p><a href="https://www.phpbb.com/community/viewtopic.php?f=14&t=571070">The phpBB Welcome Package</a><br /><a href="https://www.phpbb.com/support/">Support Section</a><br /><a href="https://www.phpbb.com/support/docs/en/3.1/ug/quickstart/">Quick Start Guide</a><br /><br />To ensure you stay up to date with the latest news and releases, why not <a href="https://www.phpbb.com/support/">subscribe to our mailing list</a>?<br /><br />',
|
||||
|
||||
// License
|
||||
'LICENSE_TITLE' => 'General Public License',
|
||||
|
||||
// Install page
|
||||
'INSTALL_INTRO' => 'Welcome to Installation',
|
||||
'INSTALL_INTRO_BODY' => 'With this option, it is possible to install phpBB3 onto your server.</p><p>In order to proceed, you will need your database settings. If you do not know your database settings, please contact your host and ask for them. You will not be able to continue without them. You need:</p>
|
||||
|
||||
<ul>
|
||||
<li>The Database Type - the database you will be using.</li>
|
||||
<li>The Database server hostname or DSN - the address of the database server.</li>
|
||||
<li>The Database server port - the port of the database server (most of the time this is not needed).</li>
|
||||
<li>The Database name - the name of the database on the server.</li>
|
||||
<li>The Database username and Database password - the login data to access the database.</li>
|
||||
</ul>
|
||||
|
||||
<p><strong>Note:</strong> if you are installing using SQLite, you should enter the full path to your database file in the DSN field and leave the username and password fields blank. For security reasons, you should make sure that the database file is not stored in a location accessible from the web.</p>
|
||||
|
||||
<p>phpBB3 supports the following databases:</p>
|
||||
<ul>
|
||||
<li>MySQL 3.23 or above (MySQLi supported)</li>
|
||||
<li>PostgreSQL 8.3+</li>
|
||||
<li>SQLite 2.8.2+</li>
|
||||
<li>SQLite 3.6.15+</li>
|
||||
<li>MS SQL Server 2000 or above (directly or via ODBC)</li>
|
||||
<li>MS SQL Server 2005 or above (native)</li>
|
||||
<li>Oracle</li>
|
||||
</ul>
|
||||
|
||||
<p>Only those databases supported on your server will be displayed.',
|
||||
|
||||
'ACP_LINK' => 'Take me to <a href="%1$s">the ACP</a>',
|
||||
));
|
||||
|
||||
// Requirements translation
|
||||
$lang = array_merge($lang, array(
|
||||
// Filesystem requirements
|
||||
'FILE_NOT_EXISTS' => 'File not exists',
|
||||
'FILE_NOT_EXISTS_EXPLAIN' => 'To be able to install phpBB %1$s file need to exist.',
|
||||
'FILE_NOT_WRITABLE' => 'File not writable',
|
||||
'FILE_NOT_WRITABLE_EXPLAIN' => 'To be able to install phpBB %1$s file need to be writable.',
|
||||
|
||||
'DIRECTORY_NOT_EXISTS' => 'Directory not exists',
|
||||
'DIRECTORY_NOT_EXISTS_EXPLAIN' => 'To be able to install phpBB %1$s directory need to exist.',
|
||||
'DIRECTORY_NOT_WRITABLE' => 'Directory not writable',
|
||||
'DIRECTORY_NOT_WRITABLE_EXPLAIN' => 'To be able to install phpBB %1$s directory need to be writable.',
|
||||
|
||||
// Server requirements
|
||||
'PHP_VERSION_REQD' => 'PHP version',
|
||||
'PHP_VERSION_REQD_EXPLAIN' => 'phpBB requires PHP version 5.4.0 or higher.',
|
||||
'PHP_GETIMAGESIZE_SUPPORT' => 'PHP getimagesize() function is required',
|
||||
'PHP_GETIMAGESIZE_SUPPORT_EXPLAIN' => 'In order for phpBB to function correctly, the getimagesize function needs to be available.',
|
||||
'PCRE_UTF_SUPPORT' => 'PCRE UTF-8 support',
|
||||
'PCRE_UTF_SUPPORT_EXPLAIN' => 'phpBB will not run if your PHP installation is not compiled with UTF-8 support in the PCRE extension.',
|
||||
'PHP_JSON_SUPPORT' => 'PHP JSON support',
|
||||
'PHP_JSON_SUPPORT_EXPLAIN' => 'In order for phpBB to function correctly, the PHP JSON extension needs to be available.',
|
||||
'PHP_SUPPORTED_DB' => 'Supported databases',
|
||||
'PHP_SUPPORTED_DB_EXPLAIN' => 'You must have support for at least one compatible database within PHP. If no database modules are shown as available you should contact your hosting provider or review the relevant PHP installation documentation for advice.',
|
||||
|
||||
'RETEST_REQUIREMENTS' => 'Retest requirements',
|
||||
|
||||
'STAGE_REQUIREMENTS' => 'Check requirements'
|
||||
));
|
||||
|
||||
// General error messages
|
||||
$lang = array_merge($lang, array(
|
||||
'INST_ERR_MISSING_DATA' => 'You must fill out all fields in this block.',
|
||||
'PHPBB_ALREADY_INSTALLED' => 'phpBB is already installed.'
|
||||
));
|
||||
|
||||
// Data obtaining translations
|
||||
$lang = array_merge($lang, array(
|
||||
'STAGE_OBTAIN_DATA' => 'Set installation data',
|
||||
|
||||
//
|
||||
// Admin data
|
||||
//
|
||||
'STAGE_ADMINISTRATOR' => 'Administrator details',
|
||||
|
||||
// Form labels
|
||||
'ADMIN_CONFIG' => 'Administrator configuration',
|
||||
'ADMIN_PASSWORD' => 'Administrator password',
|
||||
'ADMIN_PASSWORD_CONFIRM' => 'Confirm administrator password',
|
||||
'ADMIN_PASSWORD_EXPLAIN' => 'Please enter a password between 6 and 30 characters in length.',
|
||||
'ADMIN_USERNAME' => 'Administrator username',
|
||||
'ADMIN_USERNAME_EXPLAIN' => 'Please enter a username between 3 and 20 characters in length.',
|
||||
|
||||
// Errors
|
||||
'INST_ERR_EMAIL_INVALID' => 'The email address you entered is invalid.',
|
||||
'INST_ERR_PASSWORD_MISMATCH' => 'The passwords you entered did not match.',
|
||||
'INST_ERR_PASSWORD_TOO_LONG' => 'The password you entered is too long. The maximum length is 30 characters.',
|
||||
'INST_ERR_PASSWORD_TOO_SHORT' => 'The password you entered is too short. The minimum length is 6 characters.',
|
||||
'INST_ERR_USER_TOO_LONG' => 'The username you entered is too long. The maximum length is 20 characters.',
|
||||
'INST_ERR_USER_TOO_SHORT' => 'The username you entered is too short. The minimum length is 3 characters.',
|
||||
|
||||
//
|
||||
// Board data
|
||||
//
|
||||
// Form labels
|
||||
'BOARD_CONFIG' => 'Bulletin board configuration',
|
||||
'DEFAULT_LANGUAGE' => 'Default language',
|
||||
'BOARD_NAME' => 'Title of the board',
|
||||
'BOARD_DESCRIPTION' => 'Short description of the board',
|
||||
|
||||
//
|
||||
// Database data
|
||||
//
|
||||
'STAGE_DATABASE' => 'Database settings',
|
||||
|
||||
// Form labels
|
||||
'DB_CONFIG' => 'Database configuration',
|
||||
'DBMS' => 'Database type',
|
||||
'DB_HOST' => 'Database server hostname or DSN',
|
||||
'DB_HOST_EXPLAIN' => 'DSN stands for Data Source Name and is relevant only for ODBC installs. On PostgreSQL, use localhost to connect to the local server via UNIX domain socket and 127.0.0.1 to connect via TCP. For SQLite, enter the full path to your database file.',
|
||||
'DB_PORT' => 'Database server port',
|
||||
'DB_PORT_EXPLAIN' => 'Leave this blank unless you know the server operates on a non-standard port.',
|
||||
'DB_PASSWORD' => 'Database password',
|
||||
'DB_NAME' => 'Database name',
|
||||
'DB_USERNAME' => 'Database username',
|
||||
'TABLE_PREFIX' => 'Prefix for tables in database',
|
||||
'TABLE_PREFIX_EXPLAIN' => 'The prefix must start with a letter and must only contain letters, numbers and underscores.',
|
||||
|
||||
// Database options
|
||||
'DB_OPTION_MSSQL' => 'MSSQL Server 2000+',
|
||||
'DB_OPTION_MSSQL_ODBC' => 'MSSQL Server 2000+ via ODBC',
|
||||
'DB_OPTION_MSSQLNATIVE' => 'MSSQL Server 2005+ [ Native ]',
|
||||
'DB_OPTION_MYSQL' => 'MySQL',
|
||||
'DB_OPTION_MYSQLI' => 'MySQL with MySQLi Extension',
|
||||
'DB_OPTION_ORACLE' => 'Oracle',
|
||||
'DB_OPTION_POSTGRES' => 'PostgreSQL',
|
||||
'DB_OPTION_SQLITE' => 'SQLite 2',
|
||||
'DB_OPTION_SQLITE3' => 'SQLite 3',
|
||||
|
||||
// Errors
|
||||
'INST_ERR_NO_DB' => 'Cannot load the PHP module for the selected database type.',
|
||||
'INST_ERR_DB_INVALID_PREFIX' => 'The prefix you entered is invalid. It must start with a letter and must only contain letters, numbers and underscores.',
|
||||
'INST_ERR_PREFIX_TOO_LONG' => 'The table prefix you have specified is too long. The maximum length is %d characters.',
|
||||
'INST_ERR_DB_NO_NAME' => 'No database name specified.',
|
||||
'INST_ERR_DB_FORUM_PATH' => 'The database file specified is within your board directory tree. You should put this file in a non web-accessible location.',
|
||||
'INST_ERR_DB_CONNECT' => 'Could not connect to the database, see error message below.',
|
||||
'INST_ERR_DB_NO_ERROR' => 'No error message given.',
|
||||
'INST_ERR_PREFIX' => 'Tables with the specified prefix already exist, please choose an alternative.',
|
||||
'INST_ERR_DB_NO_MYSQLI' => 'The version of MySQL installed on this machine is incompatible with the “MySQL with MySQLi Extension” option you have selected. Please try the “MySQL” option instead.',
|
||||
'INST_ERR_DB_NO_SQLITE' => 'The version of the SQLite extension you have installed is too old, it must be upgraded to at least 2.8.2.',
|
||||
'INST_ERR_DB_NO_SQLITE3' => 'The version of the SQLite extension you have installed is too old, it must be upgraded to at least 3.6.15.',
|
||||
'INST_ERR_DB_NO_ORACLE' => 'The version of Oracle installed on this machine requires you to set the <var>NLS_CHARACTERSET</var> parameter to <var>UTF8</var>. Either upgrade your installation to 9.2+ or change the parameter.',
|
||||
'INST_ERR_DB_NO_POSTGRES' => 'The database you have selected was not created in <var>UNICODE</var> or <var>UTF8</var> encoding. Try installing with a database in <var>UNICODE</var> or <var>UTF8</var> encoding.',
|
||||
|
||||
//
|
||||
// Email data
|
||||
//
|
||||
'EMAIL_CONFIG' => 'E-mail configuration',
|
||||
|
||||
//
|
||||
// Server data
|
||||
//
|
||||
// Form labels
|
||||
'SERVER_CONFIG' => 'Server configuration',
|
||||
'SCRIPT_PATH' => 'Script path',
|
||||
'SCRIPT_PATH_EXPLAIN' => 'The path where phpBB is located relative to the domain name, e.g. <samp>/phpBB3</samp>.',
|
||||
));
|
||||
|
||||
// Default database schema entries...
|
||||
$lang = array_merge($lang, array(
|
||||
'CONFIG_BOARD_EMAIL_SIG' => 'Thanks, The Management',
|
||||
'CONFIG_SITE_DESC' => 'A short text to describe your forum',
|
||||
'CONFIG_SITENAME' => 'yourdomain.com',
|
||||
|
||||
'DEFAULT_INSTALL_POST' => 'This is an example post in your phpBB3 installation. Everything seems to be working. You may delete this post if you like and continue to set up your board. During the installation process your first category and your first forum are assigned an appropriate set of permissions for the predefined usergroups administrators, bots, global moderators, guests, registered users and registered COPPA users. If you also choose to delete your first category and your first forum, do not forget to assign permissions for all these usergroups for all new categories and forums you create. It is recommended to rename your first category and your first forum and copy permissions from these while creating new categories and forums. Have fun!',
|
||||
|
||||
'FORUMS_FIRST_CATEGORY' => 'Your first category',
|
||||
'FORUMS_TEST_FORUM_DESC' => 'Description of your first forum.',
|
||||
'FORUMS_TEST_FORUM_TITLE' => 'Your first forum',
|
||||
|
||||
'RANKS_SITE_ADMIN_TITLE' => 'Site Admin',
|
||||
'REPORT_WAREZ' => 'The post contains links to illegal or pirated software.',
|
||||
'REPORT_SPAM' => 'The reported post has the only purpose to advertise for a website or another product.',
|
||||
'REPORT_OFF_TOPIC' => 'The reported post is off topic.',
|
||||
'REPORT_OTHER' => 'The reported post does not fit into any other category, please use the further information field.',
|
||||
|
||||
'SMILIES_ARROW' => 'Arrow',
|
||||
'SMILIES_CONFUSED' => 'Confused',
|
||||
'SMILIES_COOL' => 'Cool',
|
||||
'SMILIES_CRYING' => 'Crying or Very Sad',
|
||||
'SMILIES_EMARRASSED' => 'Embarrassed',
|
||||
'SMILIES_EVIL' => 'Evil or Very Mad',
|
||||
'SMILIES_EXCLAMATION' => 'Exclamation',
|
||||
'SMILIES_GEEK' => 'Geek',
|
||||
'SMILIES_IDEA' => 'Idea',
|
||||
'SMILIES_LAUGHING' => 'Laughing',
|
||||
'SMILIES_MAD' => 'Mad',
|
||||
'SMILIES_MR_GREEN' => 'Mr. Green',
|
||||
'SMILIES_NEUTRAL' => 'Neutral',
|
||||
'SMILIES_QUESTION' => 'Question',
|
||||
'SMILIES_RAZZ' => 'Razz',
|
||||
'SMILIES_ROLLING_EYES' => 'Rolling Eyes',
|
||||
'SMILIES_SAD' => 'Sad',
|
||||
'SMILIES_SHOCKED' => 'Shocked',
|
||||
'SMILIES_SMILE' => 'Smile',
|
||||
'SMILIES_SURPRISED' => 'Surprised',
|
||||
'SMILIES_TWISTED_EVIL' => 'Twisted Evil',
|
||||
'SMILIES_UBER_GEEK' => 'Uber Geek',
|
||||
'SMILIES_VERY_HAPPY' => 'Very Happy',
|
||||
'SMILIES_WINK' => 'Wink',
|
||||
|
||||
'TOPICS_TOPIC_TITLE' => 'Welcome to phpBB3',
|
||||
));
|
||||
|
||||
// Common navigation items' translation
|
||||
$lang = array_merge($lang, array(
|
||||
'MENU_OVERVIEW' => 'Overview',
|
||||
'MENU_INTRO' => 'Introduction',
|
||||
'MENU_LICENSE' => 'License',
|
||||
'MENU_SUPPORT' => 'Support',
|
||||
));
|
||||
|
||||
// Task names
|
||||
$lang = array_merge($lang, array(
|
||||
// Install filesystem
|
||||
'TASK_CREATE_CONFIG_FILE' => 'Creating configuration file',
|
||||
|
||||
// Install database
|
||||
'TASK_ADD_CONFIG_SETTINGS' => 'Adding configuration settings',
|
||||
'TASK_ADD_DEFAULT_DATA' => 'Adding default settings to the database',
|
||||
'TASK_CREATE_DATABASE_SCHEMA' => 'Creating database schema',
|
||||
|
||||
// Install data
|
||||
'TASK_ADD_BOTS' => 'Registering bots',
|
||||
'TASK_ADD_LANGUAGES' => 'Installing available languages',
|
||||
'TASK_ADD_MODULES' => 'Installing modules',
|
||||
|
||||
// Install finish tasks
|
||||
'TASK_NOTIFY_USER' => 'Sending notification e-mail',
|
||||
'TASK_POPULATE_MIGRATIONS' => 'Populating migrations',
|
||||
|
||||
// Installer general progress messages
|
||||
'INSTALLER_FINISHED' => 'The installer has finished successfully',
|
||||
));
|
||||
|
||||
// Installer's general messages
|
||||
$lang = array_merge($lang, array(
|
||||
'MODULE_NOT_FOUND' => 'Module not found',
|
||||
'MODULE_NOT_FOUND_DESCRIPTION' => 'A module could not be found because the service, %s, is undefined.',
|
||||
|
||||
'TASK_NOT_FOUND' => 'Task not found',
|
||||
'TASK_NOT_FOUND_DESCRIPTION' => 'A task could not be found because the service, %s, is undefined.',
|
||||
|
||||
'SKIP_MODULE' => 'Skip “%s” module',
|
||||
'SKIP_TASK' => 'Skip “%s” task',
|
||||
|
||||
'TASK_SERVICE_INSTALLER_MISSING' => 'All installer task services should start with “installer”',
|
||||
'TASK_CLASS_NOT_FOUND' => 'Installer task service definition is invalid. Service name “%1$s” given, the expected class namespace is “%2$s” for that. For more information please see the documentation of task_interface.',
|
||||
|
||||
'INSTALLER_CONFIG_NOT_WRITABLE' => 'The installer config file is not writable.',
|
||||
));
|
||||
|
||||
// CLI messages
|
||||
$lang = array_merge($lang, array(
|
||||
'CLI_INSTALL_BOARD' => 'Install phpBB',
|
||||
'CLI_INSTALL_SHOW_CONFIG' => 'Show the configuration which will be used',
|
||||
'CLI_INSTALL_VALIDATE_CONFIG' => 'Validate a configuration file',
|
||||
'CLI_CONFIG_FILE' => 'Config file to use',
|
||||
));
|
||||
|
||||
// Common updater messages
|
||||
$lang = array_merge($lang, array(
|
||||
'UPDATE_INSTALLATION' => 'Update phpBB installation',
|
||||
'UPDATE_INSTALLATION_EXPLAIN' => 'With this option, it is possible to update your phpBB installation to the latest version.<br />During the process all of your files will be checked for their integrity. You are able to review all differences and files before the update.<br /><br />The file update itself can be done in two different ways.</p><h2>Manual Update</h2><p>With this update you only download your personal set of changed files to make sure you do not lose your file modifications you may have done. After you downloaded this package you need to manually upload the files to their correct position under your phpBB root directory. Once done, you are able to do the file check stage again to see if you moved the files to their correct location.</p><h2>Automatic Update with FTP</h2><p>This method is similar to the first one but without the need to download the changed files and uploading them on your own. This will be done for you. In order to use this method you need to know your FTP login details since you will be asked for them. Once finished you will be redirected to the file check again to make sure everything got updated correctly.<br /><br />',
|
||||
));
|
||||
|
||||
// Updater forms
|
||||
$lang = array_merge($lang, array(
|
||||
// Updater types
|
||||
'UPDATE_TYPE' => 'Type of update to run',
|
||||
|
||||
'UPDATE_TYPE_ALL' => 'Update filesystem and database',
|
||||
'UPDATE_TYPE_DB_ONLY' => 'Update database only',
|
||||
|
||||
// File updater methods
|
||||
'UPDATE_FILE_METHOD_TITLE' => 'File updater methods',
|
||||
|
||||
'UPDATE_FILE_METHOD' => 'File updater method',
|
||||
'UPDATE_FILE_METHOD_DOWNLOAD' => 'Download modified files in an archive',
|
||||
'UPDATE_FILE_METHOD_FTP' => 'Update files via FTP (Automatic)',
|
||||
'UPDATE_FILE_METHOD_FILESYSTEM' => 'Update files via direct file access (Automatic)',
|
||||
|
||||
// File updater archives
|
||||
'SELECT_DOWNLOAD_FORMAT' => 'Select download archive format',
|
||||
|
||||
// FTP settings
|
||||
'FTP_SETTINGS' => 'FTP settings',
|
||||
));
|
||||
|
||||
// Requirements messages
|
||||
$lang = array_merge($lang, array(
|
||||
'UPDATE_FILES_NOT_FOUND' => 'No valid update directory was found, please make sure you uploaded the relevant files.',
|
||||
|
||||
'NO_UPDATE_FILES_UP_TO_DATE' => 'Your version is up to date. There is no need to run the update tool. If you want to make an integrity check on your files make sure you uploaded the correct update files.',
|
||||
'OLD_UPDATE_FILES' => 'Update files are out of date. The update files found are for updating from phpBB %1$s to phpBB %2$s but the latest version of phpBB is %3$s.',
|
||||
'INCOMPATIBLE_UPDATE_FILES' => 'The update files found are incompatible with your installed version. Your installed version is %1$s and the update file is for updating phpBB %2$s to %3$s.',
|
||||
));
|
||||
|
||||
// Update files
|
||||
$lang = array_merge($lang, array(
|
||||
'STAGE_UPDATE_FILES' => 'Update files',
|
||||
|
||||
// Check files
|
||||
'UPDATE_CHECK_FILES' => 'Check files to update',
|
||||
|
||||
// Update file differ
|
||||
'FILE_DIFFER_ERROR_FILE_CANNOT_BE_READ' => 'The file differ failed to open %s.',
|
||||
|
||||
'UPDATE_FILE_DIFF' => 'Diffing changed files',
|
||||
'ALL_FILES_DIFFED' => 'All modified files has been diffed.',
|
||||
|
||||
// File status
|
||||
'UPDATE_CONTINUE_FILE_UPDATE' => 'Update files',
|
||||
|
||||
'DOWNLOAD' => 'Download',
|
||||
'DOWNLOAD_CONFLICTS' => 'Download merge conflicts archive',
|
||||
'DOWNLOAD_CONFLICTS_EXPLAIN' => 'Search for <<< to spot conflicts',
|
||||
'DOWNLOAD_UPDATE_METHOD' => 'Download modified files archive',
|
||||
'DOWNLOAD_UPDATE_METHOD_EXPLAIN' => 'Once downloaded you should unpack the archive. You will find the modified files you need to upload to your phpBB root directory within it. Please upload the files to their respective locations then. After you have uploaded all files, you may continue with the update process.',
|
||||
|
||||
'FILE_ALREADY_UP_TO_DATE' => 'File is already up to date.',
|
||||
'FILE_DIFF_NOT_ALLOWED' => 'File not allowed to be diffed.',
|
||||
'FILE_USED' => 'Information used from', // Single file
|
||||
'FILES_CONFLICT' => 'Conflict files',
|
||||
'FILES_CONFLICT_EXPLAIN' => 'The following files are modified and do not represent the original files from the old version. phpBB determined that these files create conflicts if they are tried to be merged. Please investigate the conflicts and try to manually resolve them or continue the update choosing the preferred merging method. If you resolve the conflicts manually check the files again after you modified them. You are also able to choose between the preferred merge method for every file. The first one will result in a file where the conflicting lines from your old file will be lost, the other one will result in losing the changes from the newer file.',
|
||||
'FILES_DELETED' => 'Deleted files',
|
||||
'FILES_DELETED_EXPLAIN' => 'The following files do not exist in the new version. These files have to be deleted from your installation.',
|
||||
'FILES_MODIFIED' => 'Modified files',
|
||||
'FILES_MODIFIED_EXPLAIN' => 'The following files are modified and do not represent the original files from the old version. The updated file will be a merge between your modifications and the new file.',
|
||||
'FILES_NEW' => 'New files',
|
||||
'FILES_NEW_EXPLAIN' => 'The following files currently do not exist within your installation. These files will be added to your installation.',
|
||||
'FILES_NEW_CONFLICT' => 'New conflicting files',
|
||||
'FILES_NEW_CONFLICT_EXPLAIN' => 'The following files are new within the latest version but it has been determined that there is already a file with the same name within the same position. This file will be overwritten by the new file.',
|
||||
'FILES_NOT_MODIFIED' => 'Not modified files',
|
||||
'FILES_NOT_MODIFIED_EXPLAIN' => 'The following files are not modified and represent the original phpBB files from the version you want to update from.',
|
||||
'FILES_UP_TO_DATE' => 'Already updated files',
|
||||
'FILES_UP_TO_DATE_EXPLAIN' => 'The following files are already up to date and do not need to be updated.',
|
||||
'TOGGLE_DISPLAY' => 'View/Hide file list',
|
||||
|
||||
// File updater
|
||||
'UPDATE_UPDATING_FILES' => 'Updating files',
|
||||
|
||||
'UPDATE_FILE_UPDATER_HAS_FAILED' => 'File updater “%1$s“ has failed. The installer will try to fallback to “%2$s“.',
|
||||
'UPDATE_FILE_UPDATERS_HAVE_FAILED' => 'The file updater failed. No further fallback methods are available.',
|
||||
|
||||
'UPDATE_CONTINUE_UPDATE_PROCESS' => 'Continue update process',
|
||||
'UPDATE_RECHECK_UPDATE_FILES' => 'Check files again',
|
||||
));
|
||||
|
||||
// Update database
|
||||
$lang = array_merge($lang, array(
|
||||
'STAGE_UPDATE_DATABASE' => 'Update database',
|
||||
|
||||
'INLINE_UPDATE_SUCCESSFUL' => 'The database update was successful.',
|
||||
));
|
@ -80,6 +80,16 @@ class create_schema extends \phpbb\install\task_base
|
||||
$factory = new \phpbb\db\tools\factory();
|
||||
|
||||
$this->db = new $dbms();
|
||||
$this->db->sql_connect(
|
||||
$config->get('dbhost'),
|
||||
$config->get('dbuser'),
|
||||
$config->get('dbpasswd'),
|
||||
$config->get('dbname'),
|
||||
$config->get('dbport'),
|
||||
false,
|
||||
false
|
||||
);
|
||||
|
||||
$this->config = $config;
|
||||
$this->db_tools = $factory->get($this->db);
|
||||
$this->database_helper = $db_helper;
|
||||
@ -89,9 +99,6 @@ class create_schema extends \phpbb\install\task_base
|
||||
$this->php_ext = $php_ext;
|
||||
|
||||
parent::__construct(true);
|
||||
|
||||
// Connect to DB
|
||||
$this->db->sql_connect($config->get('dbhost'), $config->get('dbuser'), $config->get('dbpasswd'), $config->get('dbname'), $config->get('dbport'), false, false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -50,6 +50,11 @@ class create_config_file extends \phpbb\install\task_base
|
||||
*/
|
||||
protected $php_ext;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $options;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
@ -59,13 +64,15 @@ class create_config_file extends \phpbb\install\task_base
|
||||
* @param \phpbb\install\helper\iohandler\iohandler_interface $iohandler
|
||||
* @param string $phpbb_root_path
|
||||
* @param string $php_ext
|
||||
* @param array $options
|
||||
*/
|
||||
public function __construct(\phpbb\filesystem\filesystem_interface $filesystem,
|
||||
\phpbb\install\helper\config $install_config,
|
||||
\phpbb\install\helper\database $db_helper,
|
||||
\phpbb\install\helper\iohandler\iohandler_interface $iohandler,
|
||||
$phpbb_root_path,
|
||||
$php_ext)
|
||||
$php_ext,
|
||||
$options = array())
|
||||
{
|
||||
$this->install_config = $install_config;
|
||||
$this->db_helper = $db_helper;
|
||||
@ -73,6 +80,11 @@ class create_config_file extends \phpbb\install\task_base
|
||||
$this->iohandler = $iohandler;
|
||||
$this->phpbb_root_path = $phpbb_root_path;
|
||||
$this->php_ext = $php_ext;
|
||||
$this->options = array_merge(array(
|
||||
'debug' => false,
|
||||
'debug_container' => false,
|
||||
'environment' => null,
|
||||
), $options);
|
||||
|
||||
parent::__construct(true);
|
||||
}
|
||||
@ -93,7 +105,7 @@ class create_config_file extends \phpbb\install\task_base
|
||||
$config_written = false;
|
||||
}
|
||||
|
||||
$config_content = $this->get_config_data();
|
||||
$config_content = $this->get_config_data($this->options['debug'], $this->options['debug_container'], $this->options['environment']);
|
||||
|
||||
if (!@fwrite($fp, $config_content))
|
||||
{
|
||||
@ -145,15 +157,14 @@ class create_config_file extends \phpbb\install\task_base
|
||||
/**
|
||||
* Returns the content which should be dumped to config.php
|
||||
*
|
||||
* @param bool $debug If the debug constants should be enabled by default or not
|
||||
* @param bool $debug_container If the container should be compiled on
|
||||
* @param bool $debug If the debug constants should be enabled by default or not
|
||||
* @param bool $debug_container If the container should be compiled on
|
||||
* every page load or not
|
||||
* @param bool $debug_test If the DEBUG_TEST constant should be added
|
||||
* NOTE: Only for use within the testing framework
|
||||
* @param string $environment The environment to use
|
||||
*
|
||||
* @return string content to be written to the config file
|
||||
*/
|
||||
protected function get_config_data($debug = false, $debug_container = false, $debug_test = false)
|
||||
protected function get_config_data($debug = false, $debug_container = false, $environment = null)
|
||||
{
|
||||
$config_content = "<?php\n";
|
||||
$config_content .= "// phpBB 3.2.x auto-generated configuration file\n// Do not change anything in this file!\n";
|
||||
@ -184,7 +195,7 @@ class create_config_file extends \phpbb\install\task_base
|
||||
$config_content .= "\n@define('PHPBB_INSTALLED', true);\n";
|
||||
$config_content .= "// @define('PHPBB_DISPLAY_LOAD_TIME', true);\n";
|
||||
|
||||
if ($debug_test)
|
||||
if ($environment)
|
||||
{
|
||||
$config_content .= "@define('PHPBB_ENVIRONMENT', 'test');\n";
|
||||
}
|
||||
@ -206,7 +217,7 @@ class create_config_file extends \phpbb\install\task_base
|
||||
$config_content .= "// @define('DEBUG_CONTAINER', true);\n";
|
||||
}
|
||||
|
||||
if ($debug_test)
|
||||
if ($environment === 'test')
|
||||
{
|
||||
$config_content .= "@define('DEBUG_TEST', true);\n";
|
||||
|
||||
|
@ -86,6 +86,8 @@ class notify_user extends \phpbb\install\task_base
|
||||
$container->get('cache.driver'),
|
||||
$container->get_parameter('tables.config')
|
||||
);
|
||||
|
||||
parent::__construct(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -37,6 +37,8 @@ class populate_migrations extends \phpbb\install\task_base
|
||||
{
|
||||
$this->extension_manager = $container->get('ext.manager');
|
||||
$this->migrator = $container->get('migrator');
|
||||
|
||||
parent::__construct(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -36,6 +36,8 @@ abstract class phpbb_functional_search_base extends phpbb_functional_test_case
|
||||
$this->login();
|
||||
$this->admin_login();
|
||||
|
||||
$this->create_search_index('\phpbb\search\fulltext_native');
|
||||
|
||||
$post = $this->create_topic(2, 'Test Topic 1 foosubject', 'This is a test topic posted by the barsearch testing framework.');
|
||||
|
||||
$crawler = self::request('GET', 'adm/index.php?i=acp_search&mode=settings&sid=' . $this->sid);
|
||||
@ -58,6 +60,7 @@ abstract class phpbb_functional_search_base extends phpbb_functional_test_case
|
||||
$this->delete_topic($post['topic_id']);
|
||||
$this->markTestSkipped("Search backend is not supported/running");
|
||||
}
|
||||
|
||||
$this->create_search_index();
|
||||
}
|
||||
|
||||
@ -72,14 +75,14 @@ abstract class phpbb_functional_search_base extends phpbb_functional_test_case
|
||||
$this->delete_topic($post['topic_id']);
|
||||
}
|
||||
|
||||
protected function create_search_index()
|
||||
protected function create_search_index($backend = null)
|
||||
{
|
||||
$this->add_lang('acp/search');
|
||||
$crawler = self::request(
|
||||
'POST',
|
||||
'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid,
|
||||
array(
|
||||
'search_type' => $this->search_backend,
|
||||
'search_type' => ( ($backend === null) ? $this->search_backend : $backend ),
|
||||
'action' => 'create',
|
||||
'submit' => true,
|
||||
)
|
||||
|
@ -1,45 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__) . '/../../phpBB/includes/functions_install.php';
|
||||
|
||||
class phpbb_functions_install_ignore_new_file_on_update_test extends phpbb_test_case
|
||||
{
|
||||
static public function ignore_new_file_on_update_data()
|
||||
{
|
||||
return array(
|
||||
array('willneverexist.php', false),
|
||||
array('includes/dirwillneverexist/newfile.php', false),
|
||||
|
||||
array('language/en/email/short/bookmark.txt', false),
|
||||
array('language/languagewillneverexist/email/short/bookmark.txt', true),
|
||||
|
||||
array('styles/prosilver/template/bbcode.html', false),
|
||||
array('styles/stylewillneverexist/template/bbcode.html', true),
|
||||
|
||||
array('styles/prosilver/theme/en/icon_user_online.gif', false),
|
||||
array('styles/prosilver/theme/languagewillneverexist/icon_user_online.gif', true),
|
||||
|
||||
array('styles/prosilver/theme/imageset.css', false),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider ignore_new_file_on_update_data
|
||||
*/
|
||||
public function test_ignore_new_file_on_update($file, $expected)
|
||||
{
|
||||
global $phpbb_root_path;
|
||||
$this->assertEquals($expected, phpbb_ignore_new_file_on_update($phpbb_root_path, $file));
|
||||
}
|
||||
}
|
30
tests/test_framework/mock/phpbb_mock_null_installer_task.php
Normal file
30
tests/test_framework/mock/phpbb_mock_null_installer_task.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
class phpbb_mock_null_installer_task extends \phpbb\install\task_base
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static public function get_step_count()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
public function get_task_lang_name()
|
||||
{
|
||||
return '';
|
||||
}
|
||||
}
|
@ -11,7 +11,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__) . '/../../phpBB/includes/functions_install.php';
|
||||
require_once dirname(__FILE__) . '/phpbb_database_connection_odbc_pdo_wrapper.php';
|
||||
|
||||
class phpbb_database_test_connection_manager
|
||||
@ -344,10 +343,13 @@ class phpbb_database_test_connection_manager
|
||||
|
||||
if (file_exists($filename))
|
||||
{
|
||||
$queries = file_get_contents($filename);
|
||||
$sql = phpbb_remove_comments($queries);
|
||||
global $phpbb_root_path;
|
||||
|
||||
$sql = split_sql_file($sql, $this->dbms['DELIM']);
|
||||
$queries = file_get_contents($filename);
|
||||
|
||||
$db_helper = new \phpbb\install\helper\database(new \phpbb\filesystem\filesystem(), $phpbb_root_path);
|
||||
$sql = $db_helper->remove_comments($queries);
|
||||
$sql = $db_helper->split_sql_file($sql, $this->dbms['DELIM']);
|
||||
|
||||
foreach ($sql as $query)
|
||||
{
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
use Symfony\Component\BrowserKit\CookieJar;
|
||||
|
||||
require_once __DIR__ . '/../../phpBB/includes/functions_install.php';
|
||||
require_once __DIR__ . '/mock/phpbb_mock_null_installer_task.php';
|
||||
|
||||
class phpbb_functional_test_case extends phpbb_test_case
|
||||
{
|
||||
@ -285,120 +285,97 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
}
|
||||
}
|
||||
|
||||
self::$cookieJar = new CookieJar;
|
||||
self::$client = new Goutte\Client(array(), null, self::$cookieJar);
|
||||
// Set client manually so we can increase the cURL timeout
|
||||
self::$client->setClient(new Guzzle\Http\Client('', array(
|
||||
Guzzle\Http\Client::DISABLE_REDIRECTS => true,
|
||||
'curl.options' => array(
|
||||
CURLOPT_TIMEOUT => 120,
|
||||
),
|
||||
)));
|
||||
$container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx);
|
||||
$container = $container_builder
|
||||
->with_environment('installer')
|
||||
->without_extensions()
|
||||
->without_cache()
|
||||
->with_custom_parameters([
|
||||
'core.disable_super_globals' => false,
|
||||
'installer.create_config_file.options' => [
|
||||
'debug' => true,
|
||||
'environment' => 'test',
|
||||
]
|
||||
])
|
||||
->without_compiled_container()
|
||||
->get_container();
|
||||
|
||||
// Reset the curl handle because it is 0 at this point and not a valid
|
||||
// resource
|
||||
self::$client->getClient()->getCurlMulti()->reset(true);
|
||||
$container->register('installer.install_finish.notify_user')->setSynthetic(true);
|
||||
$container->set('installer.install_finish.notify_user', new phpbb_mock_null_installer_task());
|
||||
$container->compile();
|
||||
|
||||
$language = $container->get('language');
|
||||
$language->add_lang(array('common', 'acp/common', 'acp/board', 'install', 'posting'));
|
||||
|
||||
$iohandler_factory = $container->get('installer.helper.iohandler_factory');
|
||||
$iohandler_factory->set_environment('cli');
|
||||
$iohandler = $iohandler_factory->get();
|
||||
|
||||
$parseURL = parse_url(self::$config['phpbb_functional_url']);
|
||||
|
||||
$crawler = self::request('GET', 'install/index.php?mode=install&language=en');
|
||||
self::assertContains('Welcome to Installation', $crawler->filter('#main')->text());
|
||||
$form = $crawler->selectButton('submit')->form();
|
||||
$output = new \Symfony\Component\Console\Output\NullOutput();
|
||||
$style = new \Symfony\Component\Console\Style\SymfonyStyle(
|
||||
new \Symfony\Component\Console\Input\ArrayInput(array()),
|
||||
$output
|
||||
);
|
||||
$iohandler->set_style($style, $output);
|
||||
|
||||
// install/index.php?mode=install&sub=requirements
|
||||
$crawler = self::submit($form);
|
||||
self::assertContains('Installation compatibility', $crawler->filter('#main')->text());
|
||||
$form = $crawler->selectButton('submit')->form();
|
||||
$installer = $container->get('installer.installer.install');
|
||||
$installer->set_iohandler($iohandler);
|
||||
|
||||
// install/index.php?mode=install&sub=database
|
||||
$crawler = self::submit($form);
|
||||
self::assertContains('Database configuration', $crawler->filter('#main')->text());
|
||||
$form = $crawler->selectButton('submit')->form(array(
|
||||
// Installer uses 3.0-style dbms name
|
||||
'dbms' => str_replace('phpbb\db\driver\\', '', self::$config['dbms']),
|
||||
'dbhost' => self::$config['dbhost'],
|
||||
'dbport' => self::$config['dbport'],
|
||||
'dbname' => self::$config['dbname'],
|
||||
'dbuser' => self::$config['dbuser'],
|
||||
'dbpasswd' => self::$config['dbpasswd'],
|
||||
'table_prefix' => self::$config['table_prefix'],
|
||||
));
|
||||
// Set data
|
||||
$iohandler->set_input('admin_name', 'admin');
|
||||
$iohandler->set_input('admin_pass1', 'adminadmin');
|
||||
$iohandler->set_input('admin_pass2', 'adminadmin');
|
||||
$iohandler->set_input('board_email', 'nobody@example.com');
|
||||
$iohandler->set_input('submit_admin', 'submit');
|
||||
|
||||
// install/index.php?mode=install&sub=database
|
||||
$crawler = self::submit($form);
|
||||
self::assertContains('Successful connection', $crawler->filter('#main')->text());
|
||||
$form = $crawler->selectButton('submit')->form();
|
||||
$iohandler->set_input('default_lang', 'en');
|
||||
$iohandler->set_input('board_name', 'yourdomain.com');
|
||||
$iohandler->set_input('board_description', 'A short text to describe your forum');
|
||||
$iohandler->set_input('submit_board', 'submit');
|
||||
|
||||
// install/index.php?mode=install&sub=administrator
|
||||
$crawler = self::submit($form);
|
||||
self::assertContains('Administrator configuration', $crawler->filter('#main')->text());
|
||||
$form = $crawler->selectButton('submit')->form(array(
|
||||
'default_lang' => 'en',
|
||||
'admin_name' => 'admin',
|
||||
'admin_pass1' => 'adminadmin',
|
||||
'admin_pass2' => 'adminadmin',
|
||||
'board_email' => 'nobody@example.com',
|
||||
));
|
||||
$iohandler->set_input('dbms', str_replace('phpbb\db\driver\\', '', self::$config['dbms']));
|
||||
$iohandler->set_input('dbhost', self::$config['dbhost']);
|
||||
$iohandler->set_input('dbport', self::$config['dbport']);
|
||||
$iohandler->set_input('dbuser', self::$config['dbuser']);
|
||||
$iohandler->set_input('dbpasswd', self::$config['dbpasswd']);
|
||||
$iohandler->set_input('dbname', self::$config['dbname']);
|
||||
$iohandler->set_input('table_prefix', self::$config['table_prefix']);
|
||||
$iohandler->set_input('submit_database', 'submit');
|
||||
|
||||
// install/index.php?mode=install&sub=administrator
|
||||
$crawler = self::submit($form);
|
||||
self::assertContains('Tests passed', $crawler->filter('#main')->text());
|
||||
$form = $crawler->selectButton('submit')->form();
|
||||
$iohandler->set_input('email_enable', true);
|
||||
$iohandler->set_input('smtp_delivery', '1');
|
||||
$iohandler->set_input('smtp_host', 'nxdomain.phpbb.com');
|
||||
$iohandler->set_input('smtp_auth', 'PLAIN');
|
||||
$iohandler->set_input('smtp_user', 'nxuser');
|
||||
$iohandler->set_input('smtp_pass', 'nxpass');
|
||||
$iohandler->set_input('submit_email', 'submit');
|
||||
|
||||
// We have to skip install/index.php?mode=install&sub=config_file
|
||||
// because that step will create a config.php file if phpBB has the
|
||||
// permission to do so. We have to create the config file on our own
|
||||
// in order to get the DEBUG constants defined.
|
||||
$config_php_data = phpbb_create_config_file_data(self::$config, self::$config['dbms'], true, false, true);
|
||||
$config_created = file_put_contents($config_file, $config_php_data) !== false;
|
||||
if (!$config_created)
|
||||
$iohandler->set_input('cookie_secure', '0');
|
||||
$iohandler->set_input('server_protocol', '0');
|
||||
$iohandler->set_input('force_server_vars', $parseURL['scheme'] . '://');
|
||||
$iohandler->set_input('server_name', $parseURL['host']);
|
||||
$iohandler->set_input('server_port', isset($parseURL['port']) ? (int) $parseURL['port'] : 80);
|
||||
$iohandler->set_input('script_path', $parseURL['path']);
|
||||
$iohandler->set_input('submit_server', 'submit');
|
||||
|
||||
do
|
||||
{
|
||||
self::markTestSkipped("Could not write $config_file file.");
|
||||
$installer->run();
|
||||
}
|
||||
|
||||
// We also have to create a install lock that is normally created by
|
||||
// the installer. The file will be removed by the final step of the
|
||||
// installer.
|
||||
$install_lock_file = $phpbb_root_path . 'cache/install_lock';
|
||||
$lock_created = file_put_contents($install_lock_file, '') !== false;
|
||||
if (!$lock_created)
|
||||
{
|
||||
self::markTestSkipped("Could not create $lock_created file.");
|
||||
}
|
||||
@chmod($install_lock_file, 0666);
|
||||
|
||||
// install/index.php?mode=install&sub=advanced
|
||||
$form_data = $form->getValues();
|
||||
unset($form_data['submit']);
|
||||
|
||||
$crawler = self::request('POST', 'install/index.php?mode=install&sub=advanced', $form_data);
|
||||
self::assertContains('The settings on this page are only necessary to set if you know that you require something different from the default.', $crawler->filter('#main')->text());
|
||||
$form = $crawler->selectButton('submit')->form(array(
|
||||
'email_enable' => true,
|
||||
'smtp_delivery' => true,
|
||||
'smtp_host' => 'nxdomain.phpbb.com',
|
||||
'smtp_auth' => 'PLAIN',
|
||||
'smtp_user' => 'nxuser',
|
||||
'smtp_pass' => 'nxpass',
|
||||
'cookie_secure' => false,
|
||||
'force_server_vars' => false,
|
||||
'server_protocol' => $parseURL['scheme'] . '://',
|
||||
'server_name' => 'localhost',
|
||||
'server_port' => isset($parseURL['port']) ? (int) $parseURL['port'] : 80,
|
||||
'script_path' => $parseURL['path'],
|
||||
));
|
||||
|
||||
// install/index.php?mode=install&sub=create_table
|
||||
$crawler = self::submit($form);
|
||||
self::assertContains('The database tables used by phpBB', $crawler->filter('#main')->text());
|
||||
self::assertContains('have been created and populated with some initial data.', $crawler->filter('#main')->text());
|
||||
$form = $crawler->selectButton('submit')->form();
|
||||
|
||||
// install/index.php?mode=install&sub=final
|
||||
$crawler = self::submit($form);
|
||||
self::assertContains('You have successfully installed', $crawler->text());
|
||||
while (file_exists($phpbb_root_path . 'store/install_config.php'));
|
||||
|
||||
copy($config_file, $config_file_test);
|
||||
|
||||
if (file_exists($phpbb_root_path . 'cache/install_lock'))
|
||||
{
|
||||
unlink($phpbb_root_path . 'cache/install_lock');
|
||||
}
|
||||
|
||||
global $phpbb_container, $cache, $phpbb_dispatcher, $request, $user, $auth, $db, $config, $phpbb_log, $symfony_request, $phpbb_filesystem, $phpbb_path_helper, $phpbb_extension_manager, $template;
|
||||
$phpbb_container->reset();
|
||||
unset($phpbb_container, $cache, $phpbb_dispatcher, $request, $user, $auth, $db, $config, $phpbb_log, $symfony_request, $phpbb_filesystem, $phpbb_path_helper, $phpbb_extension_manager, $template);
|
||||
}
|
||||
|
||||
public function install_ext($extension)
|
||||
|
@ -11,7 +11,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
require_once __DIR__ . '/../../phpBB/includes/functions_install.php';
|
||||
require_once __DIR__ . '/mock/phpbb_mock_null_installer_task.php';
|
||||
|
||||
class phpbb_ui_test_case extends phpbb_test_case
|
||||
{
|
||||
@ -118,87 +118,96 @@ class phpbb_ui_test_case extends phpbb_test_case
|
||||
}
|
||||
}
|
||||
|
||||
$container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx);
|
||||
$container = $container_builder
|
||||
->with_environment('installer')
|
||||
->without_extensions()
|
||||
->without_cache()
|
||||
->with_custom_parameters([
|
||||
'core.disable_super_globals' => false,
|
||||
'installer.create_config_file.options' => [
|
||||
'debug' => true,
|
||||
'environment' => 'test',
|
||||
]
|
||||
])
|
||||
->without_compiled_container()
|
||||
->get_container();
|
||||
|
||||
$container->register('installer.install_finish.notify_user')->setSynthetic(true);
|
||||
$container->set('installer.install_finish.notify_user', new phpbb_mock_null_installer_task());
|
||||
$container->compile();
|
||||
|
||||
$language = $container->get('language');
|
||||
$language->add_lang(array('common', 'acp/common', 'acp/board', 'install', 'posting'));
|
||||
|
||||
$iohandler_factory = $container->get('installer.helper.iohandler_factory');
|
||||
$iohandler_factory->set_environment('cli');
|
||||
$iohandler = $iohandler_factory->get();
|
||||
|
||||
$parseURL = parse_url(self::$config['phpbb_functional_url']);
|
||||
|
||||
self::visit('install/index.php?mode=install&language=en');
|
||||
self::assertContains('Welcome to Installation', self::find_element('id', 'main')->getText());
|
||||
$output = new \Symfony\Component\Console\Output\NullOutput();
|
||||
$style = new \Symfony\Component\Console\Style\SymfonyStyle(
|
||||
new \Symfony\Component\Console\Input\ArrayInput(array()),
|
||||
$output
|
||||
);
|
||||
$iohandler->set_style($style, $output);
|
||||
|
||||
// install/index.php?mode=install&sub=requirements
|
||||
self::submit();
|
||||
self::assertContains('Installation compatibility', self::find_element('id', 'main')->getText());
|
||||
$installer = $container->get('installer.installer.install');
|
||||
$installer->set_iohandler($iohandler);
|
||||
|
||||
// install/index.php?mode=install&sub=database
|
||||
self::submit();
|
||||
self::assertContains('Database configuration', self::find_element('id', 'main')->getText());
|
||||
// Set data
|
||||
$iohandler->set_input('admin_name', 'admin');
|
||||
$iohandler->set_input('admin_pass1', 'adminadmin');
|
||||
$iohandler->set_input('admin_pass2', 'adminadmin');
|
||||
$iohandler->set_input('board_email', 'nobody@example.com');
|
||||
$iohandler->set_input('submit_admin', 'submit');
|
||||
|
||||
self::find_element('id','dbms')->sendKeys(str_replace('phpbb\db\driver\\', '', self::$config['dbms']));
|
||||
self::find_element('id','dbhost')->sendKeys(self::$config['dbhost']);
|
||||
self::find_element('id','dbport')->sendKeys(self::$config['dbport']);
|
||||
self::find_element('id','dbname')->sendKeys(self::$config['dbname']);
|
||||
self::find_element('id','dbuser')->sendKeys(self::$config['dbuser']);
|
||||
self::find_element('id','dbpasswd')->sendKeys(self::$config['dbpasswd']);
|
||||
$iohandler->set_input('default_lang', 'en');
|
||||
$iohandler->set_input('board_name', 'yourdomain.com');
|
||||
$iohandler->set_input('board_description', 'A short text to describe your forum');
|
||||
$iohandler->set_input('submit_board', 'submit');
|
||||
|
||||
// Need to clear default phpbb_ prefix
|
||||
self::find_element('id','table_prefix')->clear();
|
||||
self::find_element('id','table_prefix')->sendKeys(self::$config['table_prefix']);
|
||||
$iohandler->set_input('dbms', str_replace('phpbb\db\driver\\', '', self::$config['dbms']));
|
||||
$iohandler->set_input('dbhost', self::$config['dbhost']);
|
||||
$iohandler->set_input('dbport', self::$config['dbport']);
|
||||
$iohandler->set_input('dbuser', self::$config['dbuser']);
|
||||
$iohandler->set_input('dbpasswd', self::$config['dbpasswd']);
|
||||
$iohandler->set_input('dbname', self::$config['dbname']);
|
||||
$iohandler->set_input('table_prefix', self::$config['table_prefix']);
|
||||
$iohandler->set_input('submit_database', 'submit');
|
||||
|
||||
// install/index.php?mode=install&sub=database
|
||||
self::submit();
|
||||
self::assertContains('Successful connection', self::find_element('id','main')->getText());
|
||||
$iohandler->set_input('email_enable', true);
|
||||
$iohandler->set_input('smtp_delivery', '1');
|
||||
$iohandler->set_input('smtp_host', 'nxdomain.phpbb.com');
|
||||
$iohandler->set_input('smtp_auth', 'PLAIN');
|
||||
$iohandler->set_input('smtp_user', 'nxuser');
|
||||
$iohandler->set_input('smtp_pass', 'nxpass');
|
||||
$iohandler->set_input('submit_email', 'submit');
|
||||
|
||||
// install/index.php?mode=install&sub=administrator
|
||||
self::submit();
|
||||
self::assertContains('Administrator configuration', self::find_element('id','main')->getText());
|
||||
$iohandler->set_input('cookie_secure', '0');
|
||||
$iohandler->set_input('server_protocol', '0');
|
||||
$iohandler->set_input('force_server_vars', $parseURL['scheme'] . '://');
|
||||
$iohandler->set_input('server_name', $parseURL['host']);
|
||||
$iohandler->set_input('server_port', isset($parseURL['port']) ? (int) $parseURL['port'] : 80);
|
||||
$iohandler->set_input('script_path', $parseURL['path']);
|
||||
$iohandler->set_input('submit_server', 'submit');
|
||||
|
||||
self::find_element('id','admin_name')->sendKeys('admin');
|
||||
self::find_element('id','admin_pass1')->sendKeys('adminadmin');
|
||||
self::find_element('id','admin_pass2')->sendKeys('adminadmin');
|
||||
self::find_element('id','board_email')->sendKeys('nobody@example.com');
|
||||
|
||||
// install/index.php?mode=install&sub=administrator
|
||||
self::submit();
|
||||
self::assertContains('Tests passed', self::find_element('id','main')->getText());
|
||||
|
||||
// install/index.php?mode=install&sub=config_file
|
||||
self::submit();
|
||||
|
||||
// Installer has created a config.php file, we will overwrite it with a
|
||||
// config file of our own in order to get the DEBUG constants defined
|
||||
$config_php_data = phpbb_create_config_file_data(self::$config, self::$config['dbms'], true, false, true);
|
||||
$config_created = file_put_contents($config_file, $config_php_data) !== false;
|
||||
if (!$config_created)
|
||||
do
|
||||
{
|
||||
self::markTestSkipped("Could not write $config_file file.");
|
||||
$installer->run();
|
||||
}
|
||||
|
||||
if (strpos(self::find_element('id','main')->getText(), 'The configuration file has been written') === false)
|
||||
{
|
||||
self::submit('id', 'dldone');
|
||||
}
|
||||
self::assertContains('The configuration file has been written', self::find_element('id','main')->getText());
|
||||
|
||||
// install/index.php?mode=install&sub=advanced
|
||||
self::submit();
|
||||
self::assertContains('The settings on this page are only necessary to set if you know that you require something different from the default.', self::find_element('id','main')->getText());
|
||||
|
||||
self::find_element('id','smtp_delivery')->sendKeys('1');
|
||||
self::find_element('id','smtp_host')->sendKeys('nxdomain.phpbb.com');
|
||||
self::find_element('id','smtp_user')->sendKeys('nxuser');
|
||||
self::find_element('id','smtp_pass')->sendKeys('nxpass');
|
||||
self::find_element('id','server_protocol')->sendKeys($parseURL['scheme'] . '://');
|
||||
self::find_element('id','server_name')->sendKeys('localhost');
|
||||
self::find_element('id','server_port')->sendKeys(isset($parseURL['port']) ? $parseURL['port'] : 80);
|
||||
self::find_element('id','script_path')->sendKeys($parseURL['path']);
|
||||
|
||||
// install/index.php?mode=install&sub=create_table
|
||||
self::submit();
|
||||
self::assertContains('The database tables used by phpBB', self::find_element('id','main')->getText());
|
||||
self::assertContains('have been created and populated with some initial data.', self::find_element('id','main')->getText());
|
||||
|
||||
// install/index.php?mode=install&sub=final
|
||||
self::submit();
|
||||
self::assertContains('You have successfully installed', self::find_element('id', 'main')->getText());
|
||||
while (file_exists($phpbb_root_path . 'store/install_config.php'));
|
||||
|
||||
copy($config_file, $config_file_test);
|
||||
|
||||
if (file_exists($phpbb_root_path . 'cache/install_lock'))
|
||||
{
|
||||
unlink($phpbb_root_path . 'cache/install_lock');
|
||||
}
|
||||
|
||||
global $phpbb_container, $cache, $phpbb_dispatcher, $request, $user, $auth, $db, $config, $phpbb_log, $symfony_request, $phpbb_filesystem, $phpbb_path_helper, $phpbb_extension_manager, $template;
|
||||
$phpbb_container->reset();
|
||||
unset($phpbb_container, $cache, $phpbb_dispatcher, $request, $user, $auth, $db, $config, $phpbb_log, $symfony_request, $phpbb_filesystem, $phpbb_path_helper, $phpbb_extension_manager, $template);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user