diff options
Diffstat (limited to 'phpBB/adm')
31 files changed, 970 insertions, 1320 deletions
diff --git a/phpBB/adm/index.php b/phpBB/adm/index.php index 519f6c8310..d27f56f28b 100644 --- a/phpBB/adm/index.php +++ b/phpBB/adm/index.php @@ -41,6 +41,7 @@ if (!isset($user->data['session_admin']) || !$user->data['session_admin']) // check specific permissions but this is a catchall if (!$auth->acl_get('a_')) { + send_status_line(403, 'Forbidden'); trigger_error('NO_ADMIN'); } @@ -50,8 +51,8 @@ define('IN_ADMIN', true); // Some oft used variables $safe_mode = (@ini_get('safe_mode') == '1' || strtolower(@ini_get('safe_mode')) === 'on') ? true : false; $file_uploads = (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_uploads')) === 'on') ? true : false; -$module_id = request_var('i', ''); -$mode = request_var('mode', ''); +$module_id = $request->variable('i', ''); +$mode = $request->variable('mode', ''); // Set custom style for admin area $template->set_custom_style(array( diff --git a/phpBB/adm/style/acp_ext_details.html b/phpBB/adm/style/acp_ext_details.html index 465a89e17a..d7839f7ec8 100644 --- a/phpBB/adm/style/acp_ext_details.html +++ b/phpBB/adm/style/acp_ext_details.html @@ -7,19 +7,17 @@ <h1>{L_EXTENSIONS_ADMIN}</h1> <!-- IF S_VERSIONCHECK --> - <div class="<!-- IF S_UP_TO_DATE -->successbox<!-- ELSE -->errorbox<!-- ENDIF -->"> - <p>{UP_TO_DATE_MSG} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p> - </div> - <!-- ELSE IF S_VERSIONCHECK_STATUS == 0 --> - <div class="errorbox notice"> - <p>{L_VERSIONCHECK_FAIL}</p> - <p>{VERSIONCHECK_FAIL_REASON}</p> - <p><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p> - </div> - <!-- ELSE IF S_VERSIONCHECK_STATUS == 1 --> - <div class="errorbox notice"> - <p>{VERSIONCHECK_FAIL_REASON}</p> - </div> + <!-- IF S_VERSIONCHECK_FAIL --> + <div class="errorbox notice"> + <p>{L_VERSIONCHECK_FAIL}</p> + <p>{VERSIONCHECK_FAIL_REASON}</p> + <p><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p> + </div> + <!-- ELSE --> + <div class="<!-- IF S_UP_TO_DATE -->successbox<!-- ELSE -->errorbox<!-- ENDIF -->"> + <p>{UP_TO_DATE_MSG} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p> + </div> + <!-- ENDIF --> <!-- ENDIF --> <fieldset> diff --git a/phpBB/adm/style/acp_ext_list.html b/phpBB/adm/style/acp_ext_list.html index ccc39ea76d..af9e00a614 100644 --- a/phpBB/adm/style/acp_ext_list.html +++ b/phpBB/adm/style/acp_ext_list.html @@ -48,7 +48,7 @@ </tr> <!-- BEGIN enabled --> <tr class="ext_enabled row-highlight"> - <td><strong title="{enabled.NAME}">{enabled.META_DISPLAY_NAME}</strong></td> + <td><strong title="{enabled.NAME}">{enabled.META_DISPLAY_NAME}</strong><!-- EVENT acp_ext_list_enabled_name_after --></td> <td style="text-align: center;"> <!-- IF enabled.S_VERSIONCHECK --> <strong <!-- IF enabled.S_UP_TO_DATE -->style="color: #228822;"<!-- ELSE -->style="color: #BC2A4D;"<!-- ENDIF -->>{enabled.META_VERSION}</strong> @@ -73,7 +73,7 @@ </tr> <!-- BEGIN disabled --> <tr class="ext_disabled row-highlight"> - <td><strong title="{disabled.NAME}">{disabled.META_DISPLAY_NAME}</strong></td> + <td><strong title="{disabled.NAME}">{disabled.META_DISPLAY_NAME}</strong><!-- EVENT acp_ext_list_disabled_name_after --></td> <td style="text-align: center;"> <!-- IF disabled.S_VERSIONCHECK --> <strong <!-- IF disabled.S_UP_TO_DATE -->style="color: #228822;"<!-- ELSE -->style="color: #BC2A4D;"<!-- ENDIF -->>{disabled.META_VERSION}</strong> diff --git a/phpBB/adm/style/acp_groups.html b/phpBB/adm/style/acp_groups.html index 1412744cc9..26d7030531 100644 --- a/phpBB/adm/style/acp_groups.html +++ b/phpBB/adm/style/acp_groups.html @@ -267,11 +267,12 @@ <!-- EVENT acp_groups_manage_before --> <table class="table1"> - <col class="col1" /><col class="col1" /><col class="col2" /><col class="col2" /><col class="col2" /> + <col class="col1" /><col class="col1" /><col class="col1" /><col class="col2" /><col class="col2" /><col class="col2" /> <thead> <tr> <th style="width: 50%">{L_GROUP}</th> <th>{L_TOTAL_MEMBERS}</th> + <th>{L_PENDING_MEMBERS}</th> <th colspan="2">{L_OPTIONS}</th> <th>{L_ACTION}</th> </tr> @@ -281,7 +282,7 @@ <!-- IF groups.S_SPECIAL --> <!-- IF groups.S_FIRST_ROW --> <tr> - <td colspan="5" class="row3">{L_NO_GROUPS_CREATED}</td> + <td colspan="6" class="row3">{L_NO_GROUPS_CREATED}</td> </tr> <!-- ENDIF --> </tbody> @@ -302,11 +303,12 @@ <p>{L_SPECIAL_GROUPS_EXPLAIN}</p> <table class="table1"> - <col class="col1" /><col class="col1" /><col class="col2" /><col class="col2" /><col class="col2" /> + <col class="col1" /><col class="col1" /><col class="col1" /><col class="col2" /><col class="col2" /> <thead> <tr> <th style="width: 50%">{L_GROUP}</th> <th>{L_TOTAL_MEMBERS}</th> + <th>{L_PENDING_MEMBERS}</th> <th colspan="2">{L_OPTIONS}</th> <th>{L_ACTION}</th> </tr> @@ -316,6 +318,7 @@ <tr> <td><strong>{groups.GROUP_NAME}</strong></td> <td style="text-align: center;">{groups.TOTAL_MEMBERS}</td> + <td style="text-align: center;">{groups.PENDING_MEMBERS}</td> <td style="text-align: center;"><a href="{groups.U_EDIT}">{L_SETTINGS}</a></td> <td style="text-align: center;"><a href="{groups.U_LIST}">{L_MEMBERS}</a></td> <td style="text-align: center;"><!-- IF not groups.S_GROUP_SPECIAL and groups.U_DELETE --><a href="{groups.U_DELETE}" data-ajax="row_delete">{L_DELETE}</a><!-- ELSE -->{L_DELETE}<!-- ENDIF --></td> diff --git a/phpBB/adm/style/acp_help_phpbb.html b/phpBB/adm/style/acp_help_phpbb.html new file mode 100644 index 0000000000..478ecc162a --- /dev/null +++ b/phpBB/adm/style/acp_help_phpbb.html @@ -0,0 +1,61 @@ +<!-- INCLUDE overall_header.html --> + +<a id="maincontent"></a> + +<h1>{L_ACP_HELP_PHPBB}</h1> + +<form id="acp_help_phpbb" method="post" action="{U_ACTION}" data-ajax-action="{U_COLLECT_STATS}"> +<div class="send-stats-row"> + <!-- EVENT acp_help_phpbb_stats_before --> + <div class="send-stats-tile"> + <h2><i class="icon fa-bar-chart"></i>{L_SEND_STATISTICS}</h2> + <p>{L_EXPLAIN_SEND_STATISTICS}</p> + <div class="send-stats-row"> + <div class="send-stats-data-row send-stats-data-only-row"> + <a id="trigger-configlist" data-ajax="toggle_link" data-overlay="false" data-toggle-text="{L_HIDE_STATISTICS}"><span>{L_SHOW_STATISTICS}</span><i class="icon fa-angle-down"></i></a> + </div> + <div class="send-stats-data-row"> + <div class="configlist" id="configlist"> + <!-- BEGIN providers --> + <fieldset> + <legend>{providers.NAME}</legend> + <!-- BEGIN values --> + <dl> + <dt>{providers.values.KEY}</dt> + <dd>{providers.values.VALUE}</dd> + </dl> + <!-- END values --> + </fieldset> + <!-- END providers --> + </div> + </div> + </div> + <dl class="send-stats-settings"> + <dt> + <input name="help_send_statistics" id="help_send_statistics" type="checkbox"<!-- IF S_COLLECT_STATS --> checked="checked"<!-- ENDIF --> /> + <label for="help_send_statistics"></label> + </dt> + <dd>{L_SEND_STATISTICS_LONG}</dd> + </dl> + </div> + <!-- EVENT acp_help_phpbb_stats_after --> + <fieldset> + <p class="submit-buttons"> + <input type="hidden" name="systemdata" value="{RAW_DATA}" /> + <input type="hidden" name="help_send_statistics_time" value="{COLLECT_STATS_TIME}" /> + <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" /> + </p> + {S_FORM_TOKEN} + </fieldset> +</div> +</form> +<form action="{U_COLLECT_STATS}" method="post" target="questionaire_result" id="questionnaire-form"> + <fieldset> + <p class="submit-buttons"> + <input type="hidden" name="systemdata" value="{RAW_DATA}" /> + <input class="button1" type="submit" id="submit_stats" name="submit" value="{L_SEND_STATISTICS}" /> + </p> + </fieldset> +</form> + +<!-- INCLUDE overall_footer.html --> diff --git a/phpBB/adm/style/acp_icons.html b/phpBB/adm/style/acp_icons.html index e0d2840bb5..5493cbde0a 100644 --- a/phpBB/adm/style/acp_icons.html +++ b/phpBB/adm/style/acp_icons.html @@ -89,6 +89,9 @@ <!-- ENDIF --> <td>{L_WIDTH}</td> <td>{L_HEIGHT}</td> + <!-- IF not S_SMILIES --> + <td>{L_ALT_TEXT}</td> + <!-- ENDIF --> <td>{L_DISPLAY_ON_POSTING}</td> <!-- IF ID or S_ADD --> <td>{L_ORDER}</td> @@ -102,7 +105,7 @@ <!-- BEGIN items --> <tr> - <td style="text-align: center;"><img src="{items.IMG_SRC}" alt="" title="" /><input type="hidden" name="image[{items.IMG}]" value="1" /></td> + <td style="text-align: center;"><img src="{items.IMG_SRC}" alt="{items.TEXT_ALT}" title="{items.TEXT_ALT}" /><input type="hidden" name="image[{items.IMG}]" value="1" /></td> <td style="vertical-align: top;">[{items.IMG}]</td> <!-- IF S_SMILIES --> <td><input class="text post" type="text" name="code[{items.IMG}]" value="{items.CODE}" size="10" maxlength="50" /></td> @@ -110,6 +113,9 @@ <!-- ENDIF --> <td><input class="text post" type="number" min="0" max="999" name="width[{items.IMG}]" value="{items.WIDTH}" /></td> <td><input class="text post" type="number" min="0" max="999" name="height[{items.IMG}]" value="{items.HEIGHT}" /></td> + <!-- IF not S_SMILIES --> + <td><input class="text post" type="text" name="alt[{items.IMG}]" value="{items.ALT}" size="10" maxlength="50" /></td> + <!-- ENDIF --> <td> <input type="checkbox" class="radio" name="display_on_posting[{items.IMG}]"{items.POSTING_CHECKED} onclick="toggle_select('{items.A_IMG}', this.checked, '{items.S_ROW_COUNT}');"/> <!-- IF items.S_ID --> diff --git a/phpBB/adm/style/acp_permissions.html b/phpBB/adm/style/acp_permissions.html index a4d33ed78b..7766052c59 100644 --- a/phpBB/adm/style/acp_permissions.html +++ b/phpBB/adm/style/acp_permissions.html @@ -329,14 +329,9 @@ <br class="responsive-hide" /><br class="responsive-hide" /> <!-- include tooltip file --> - <script type="text/javascript" src="style/tooltip.js"></script> - <script type="text/javascript"> - // <![CDATA[ - window.onload = function(){enable_tooltips_select('set-permissions', '{LA_ROLE_DESCRIPTION}', 'role')}; - // ]]> - </script> - - <form id="set-permissions" method="post" action="{U_ACTION}"> + <!-- INCLUDEJS tooltip.js --> + + <form id="set-permissions" method="post" action="{U_ACTION}" data-role-description="{L_ROLE_DESCRIPTION}"> {S_HIDDEN_FIELDS} diff --git a/phpBB/adm/style/acp_send_statistics.html b/phpBB/adm/style/acp_send_statistics.html deleted file mode 100644 index 480e438e1f..0000000000 --- a/phpBB/adm/style/acp_send_statistics.html +++ /dev/null @@ -1,64 +0,0 @@ -<!-- INCLUDE overall_header.html --> - -<a id="maincontent"></a> - -<h1>{L_SEND_STATISTICS}</h1> - -<p>{L_EXPLAIN_SEND_STATISTICS}</p> - -<script type="text/javascript"> -//<![CDATA[ -var iframect = 0; - -function iframe_updated() -{ - if (iframect++ == 0) - { - return; - } - - phpbb.toggleDisplay('questionnaire-form', -1); - phpbb.toggleDisplay('questionnaire-thanks', 1); -} -//]]> -</script> - -<iframe onload="iframe_updated();" name="questionaire_result" style="display: none;"></iframe> - -<form action="{U_COLLECT_STATS}" method="post" target="questionaire_result" id="questionnaire-form"> - - <p><a href="{U_ACP_MAIN}">{L_DONT_SEND_STATISTICS}</a></p> - - <p>{L_EXPLAIN_SHOW_STATISTICS}</p> - - <p id="show-button"><input type="button" class="button2" onclick="phpbb.toggleDisplay('configlist', 1); phpbb.toggleDisplay('show-button', -1);" value="{L_SHOW_STATISTICS}" /></p> - - <div id="configlist"> - <input type="button" class="button2" onclick="phpbb.toggleDisplay('show-button', 1); phpbb.toggleDisplay('configlist', -1);" value="{L_HIDE_STATISTICS}" /> - <p class="submit-buttons"> - <input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_STATISTICS}" /> - </p> - - <!-- BEGIN providers --> - <fieldset> - <legend>{providers.NAME}</legend> - <!-- BEGIN values --> - <dl> - <dt>{providers.values.KEY}</dt> - <dd>{providers.values.VALUE}</dd> - </dl> - <!-- END values --> - </fieldset> - <!-- END providers --> - </div> - <p class="submit-buttons"> - <input type="hidden" name="systemdata" value="{RAW_DATA}" /> - <input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_STATISTICS}" /> - </p> -</form> - -<div id="questionnaire-thanks" class="successbox"> - <p><strong>{L_THANKS_SEND_STATISTICS}</strong><br /><br /><a href="{U_ACP_MAIN}">« {L_GO_ACP_MAIN}</a></p> -</div> - -<!-- INCLUDE overall_footer.html --> diff --git a/phpBB/adm/style/acp_styles.html b/phpBB/adm/style/acp_styles.html index a36d15fe73..43c2f96a65 100644 --- a/phpBB/adm/style/acp_styles.html +++ b/phpBB/adm/style/acp_styles.html @@ -52,6 +52,10 @@ <dd><strong>{STYLE_PATH}</strong></dd> </dl> <dl> + <dt><label>{L_STYLE_VERSION}{L_COLON}</label></dt> + <dd><strong>{STYLE_VERSION}</strong></dd> + </dl> + <dl> <dt><label for="name">{L_COPYRIGHT}{L_COLON}</label></dt> <dd><strong>{STYLE_COPYRIGHT}</strong></dd> </dl> diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 0c00e5339e..2322b3da88 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -1,4 +1,4 @@ -/* phpBB 3.1 Admin Style Sheet +/* phpBB 3.2 Admin Style Sheet ------------------------------------------------------------------------ Original author: subBlue ( http://www.subblue.com/ ) Copyright (c) phpBB Limited <https://www.phpbb.com> @@ -1782,7 +1782,7 @@ li.pagination ul { /* Action Highlighting ---------------------------------------- */ -.successbox, .errorbox { +.successbox, .errorbox, .warningbox { padding: 8px; margin: 10px 0; color: #FFFFFF; @@ -1806,6 +1806,10 @@ li.pagination ul { background-color: #BC2A4D; } +.warningbox { + background-color: #fca600; +} + .successbox h3, .errorbox h3 { color: #FFFFFF; margin: 0 0 0.5em; @@ -1832,10 +1836,33 @@ li.pagination ul { font-weight: bold; } +#log-container { + display: none; + max-height: 300px; + padding: 8px; + margin: 10px 0; + clear: both; + overflow-y: auto; + background-color: #FFFFFF; +} + +#log-container.show_log_container { + display: block; + border: 1px solid #DBD7D1; +} + +.log { + font-size: 0.8em; +} + .notice { background-color: #62A5CC; } +.download-box { + margin: 10px 0 10px 0; +} + /* Special cases for the error page */ #errorpage #page-header a { font-weight: bold; @@ -1864,6 +1891,7 @@ li.pagination ul { color: #000; text-align: center; border: 1px solid #AAA; + opacity: .95; } .tooltip span.top { @@ -2441,6 +2469,39 @@ fieldset.permissions .padding { display: none !important; } +.roles-options > .dropdown { + left: auto; + top: 3.2em; + width: 250px; +} + +.roles-options { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + width: 250px; +} + +.roles-options > span { + border: 1px solid #DEDEDE; + border-radius: 3px; + padding: 4px; + width: 250px; + display: none; + background: url('../images/arrow_down.gif') no-repeat 245px .7em; +} + +.roles-options li { + list-style: none; +} + +.roles-highlight { + background-color: #1e90ff; + color: #fff; +} + /* Classes for additional tasks ---------------------------------------- */ @@ -2489,3 +2550,153 @@ fieldset.permissions .padding { clear: both; display: block; } + +#progress-bar { + position: relative; + width: 90%; + text-align: center; + height: 25px; + margin: 20px auto; + border: 1px solid #cecece; +} + +#progress-bar #progress-bar-text { + position: absolute; + top: 0; + width: 100%; + color: #000; +} + +#progress-bar #progress-bar-filler { + display: block; + position: relative; + top: 0; + left: 0; + background-color: #3c84ad; + width: 0; + height: 25px; + overflow: hidden; + color: #fff; +} + +#progress-bar p { + line-height: 25px; + font-weight: bold; +} + +.send-stats-row { + margin: 15px 0; +} + +.send-stats-row:before { + display: table; + content: " "; +} + +.send-stats-tile { + position: relative; + padding: 14px; + margin-bottom: 20px; + background-color: #eff0f2; + border-radius: 6px; + box-shadow: rgba(0,0,0,0.3) 1px 1px 5px; +} + +.send-stats-tile h2 { + margin-top: 0; + text-align: center; + padding-bottom: 1em; +} + +.send-stats-tile i { + padding-right: 0.3em; +} + +.icon { + font-family: FontAwesome; + font-style: normal; +} + +.send-stats-data-row { + background: #f9f9f9; + border-radius: 6px; + border: #DEDEDE 1px solid; + padding: 10px; + border-top-width: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.send-stats-data-hidden .configlist { + display: none; +} + +.send-stats-data-only-row { + border-radius: 6px !important; + border-bottom-width: 1px !important; +} + +.send-stats-data-hidden { + padding: 0; + border: none; +} + +.send-stats-row > .send-stats-data-row:first-child { + background-color: #d9edf7; + border-bottom-width: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + border-top-width: 1px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.send-stats-settings dt, .send-stats-settings dd { + min-width: 25px; +} + +.send-stats-settings dd { + line-height: 1.5em; +} + +.send-stats-settings input { + display: none; +} + +.send-stats-settings input[type=checkbox] + label:before { + content: "\f096"; + font-family: FontAwesome; + font-size: 1.5em; +} + +.send-stats-settings input[type=checkbox]:checked + label:before { + content: "\f14a"; + color: #3c763d; +} + +.send-stats-data-row a:hover span { + text-decoration: underline; +} + +.send-stats-data-row a { + text-decoration: none; + cursor: default; +} + +.send-stats-data-row i { + padding-left: 6px; +} + +.configlist { + word-wrap: break-word; + word-break: break-all; +} + +/* stylelint-disable declaration-property-unit-whitelist */ +.emoji { + min-height: 18px; + min-width: 18px; + height: 1em; + width: 1em; +} +/* stylelint-enable declaration-property-unit-whitelist */ diff --git a/phpBB/adm/style/admin.js b/phpBB/adm/style/admin.js index 253fd46a62..551c78a4a3 100644 --- a/phpBB/adm/style/admin.js +++ b/phpBB/adm/style/admin.js @@ -243,8 +243,16 @@ function parse_document(container) parse_document($('body')); - // Hide configlist and success message in send statistics page - phpbb.toggleDisplay('configlist', -1); - phpbb.toggleDisplay('questionnaire-thanks', -1); + $('#questionnaire-form').css('display', 'none'); + var $triggerConfiglist = $('#trigger-configlist'); + + $triggerConfiglist.on('click', function () { + var $configlist = $('#configlist'); + $configlist.closest('.send-stats-data-row').toggleClass('send-stats-data-hidden'); + $configlist.closest('.send-stats-row').find('.send-stats-data-row:first-child').toggleClass('send-stats-data-only-row'); + $(this).find('i').toggleClass('fa-angle-down fa-angle-up'); + }); + + $('#configlist').closest('.send-stats-data-row').addClass('send-stats-data-hidden'); }); })(jQuery); diff --git a/phpBB/adm/style/ajax.js b/phpBB/adm/style/ajax.js index 77fd28fbe6..895bb056e5 100644 --- a/phpBB/adm/style/ajax.js +++ b/phpBB/adm/style/ajax.js @@ -4,6 +4,101 @@ 'use strict'; + +phpbb.prepareSendStats = function () { + var $form = $('#acp_help_phpbb'); + var $dark = $('#darkenwrapper'); + var $loadingIndicator; + + $form.on('submit', function (event) { + var $this = $(this), + currentTime = Math.floor(new Date().getTime() / 1000), + statsTime = parseInt($this.find('input[name=help_send_statistics_time]').val(), 10); + + event.preventDefault(); + $this.unbind('submit'); + + // Skip ajax request if form is submitted too early or send stats + // checkbox is not checked + if (!$this.find('input[name=help_send_statistics]').is(':checked') || + statsTime > currentTime) { + $form.find('input[type=submit]').click(); + setTimeout(function () { + $form.find('input[type=submit]').click(); + }, 300); + return; + } + + /** + * Handler for AJAX errors + */ + function errorHandler(jqXHR, textStatus, errorThrown) { + if (typeof console !== 'undefined' && console.log) { + console.log('AJAX error. status: ' + textStatus + ', message: ' + errorThrown); + } + phpbb.clearLoadingTimeout(); + var errorText = ''; + + if (typeof errorThrown === 'string' && errorThrown.length > 0) { + errorText = errorThrown; + } else { + errorText = $dark.attr('data-ajax-error-text-' + textStatus); + if (typeof errorText !== 'string' || !errorText.length) { + errorText = $dark.attr('data-ajax-error-text'); + } + } + phpbb.alert($dark.attr('data-ajax-error-title'), errorText); + } + + /** + * This is a private function used to handle the callbacks, refreshes + * and alert. It calls the callback, refreshes the page if necessary, and + * displays an alert to the user and removes it after an amount of time. + * + * It cannot be called from outside this function, and is purely here to + * avoid repetition of code. + * + * @param {object} res The object sent back by the server. + */ + function returnHandler(res) { + phpbb.clearLoadingTimeout(); + + // If a confirmation is not required, display an alert and call the + // callbacks. + $dark.fadeOut(phpbb.alertTime); + + if ($loadingIndicator) { + $loadingIndicator.fadeOut(phpbb.alertTime); + } + + var $sendStatisticsSuccess = $('<input />', { + type: 'hidden', + name: 'send_statistics_response', + value: res + }); + $sendStatisticsSuccess.appendTo('p.submit-buttons'); + + // Finish actual form submission + $form.find('input[type=submit]').click(); + } + + $loadingIndicator = phpbb.loadingIndicator(); + + $.ajax({ + url: $this.attr('data-ajax-action').replace('&', '&'), + type: 'POST', + data: 'systemdata=' + encodeURIComponent($this.find('input[name=systemdata]').val()), + success: returnHandler, + error: errorHandler, + cache: false + }).always(function() { + if ($loadingIndicator && $loadingIndicator.is(':visible')) { + $loadingIndicator.fadeOut(phpbb.alertTime); + } + }); + }); +}; + /** * The following callbacks are for reording items. row_down * is triggered when an item is moved down, and row_up is triggered when @@ -70,6 +165,7 @@ function submitPermissions() { var $form = $('form#set-permissions'), fieldsetList = $form.find('fieldset[id^=perm]'), formDataSets = [], + dataSetIndex = 0, $submitAllButton = $form.find('input[type=submit][name^=action]')[0], $submitButton = $form.find('input[type=submit][data-clicked=true]')[0]; @@ -84,10 +180,21 @@ function submitPermissions() { } $.each(fieldsetList, function (key, value) { + dataSetIndex = Math.floor(key / 5); + var $fieldset = $('fieldset#' + value.id); if (key % 5 === 0) { - formDataSets[Math.floor(key / 5)] = $form.find('fieldset#' + value.id).serialize(); + formDataSets[dataSetIndex] = $fieldset.find('select:visible, input:not([data-name])').serialize(); + } else { + formDataSets[dataSetIndex] += '&' + $fieldset.find('select:visible, input:not([data-name])').serialize(); + } + + // Find proper role value + var roleInput = $fieldset.find('input[name^=role][data-name]'); + if (roleInput.val()) { + formDataSets[dataSetIndex] += '&' + roleInput.attr('name') + '=' + roleInput.val(); } else { - formDataSets[Math.floor(key / 5)] += '&' + $form.find('fieldset#' + value.id).serialize(); + formDataSets[dataSetIndex] += '&' + roleInput.attr('name') + '=' + + $fieldset.find('select[name="' + roleInput.attr('name') + '"]').val(); } }); @@ -215,6 +322,10 @@ $(function() { $(this).attr('data-clicked', true); }); } + + if ($('#acp_help_phpbb')) { + phpbb.prepareSendStats(); + } }); diff --git a/phpBB/adm/style/captcha_recaptcha.html b/phpBB/adm/style/captcha_recaptcha.html index d3038fd714..3f61c76cb1 100644 --- a/phpBB/adm/style/captcha_recaptcha.html +++ b/phpBB/adm/style/captcha_recaptcha.html @@ -1,32 +1,12 @@ <!-- IF S_RECAPTCHA_AVAILABLE --> <dl> <dd> - <script type="text/javascript"> - // <![CDATA[ - var RecaptchaOptions = { - lang : '{LA_RECAPTCHA_LANG}', - theme : 'clean' - }; - // ]]> - </script> - <script type="text/javascript" src="{RECAPTCHA_SERVER}/challenge?k={RECAPTCHA_PUBKEY}{RECAPTCHA_ERRORGET}"></script> - <script type="text/javascript"> - // <![CDATA[ - <!-- IF S_CONTENT_DIRECTION eq 'rtl' --> - document.getElementById('recaptcha_table').style.direction = 'ltr'; - <!-- ENDIF --> - // ]]> - </script> - - <noscript> - <div> - <object data="{RECAPTCHA_SERVER}/noscript?k={RECAPTCHA_PUBKEY}{RECAPTCHA_ERRORGET}" type="text/html" height="300" width="500"></object><br /> - <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea> - <input type="hidden" name="recaptcha_response_field" value="manual_challenge" /> - </div> + <div>{L_RECAPTCHA_NOSCRIPT}</div> </noscript> + <script src="{RECAPTCHA_SERVER}.js?hl={LA_RECAPTCHA_LANG}" async defer></script> + <div class="g-recaptcha" data-sitekey="{RECAPTCHA_PUBKEY}"></div> </dd> </dl> <!-- ELSE --> diff --git a/phpBB/adm/style/install_convert.html b/phpBB/adm/style/install_convert.html deleted file mode 100644 index 7e22404f56..0000000000 --- a/phpBB/adm/style/install_convert.html +++ /dev/null @@ -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 --> diff --git a/phpBB/adm/style/install_error.html b/phpBB/adm/style/install_error.html deleted file mode 100644 index 3f7c8b9ed4..0000000000 --- a/phpBB/adm/style/install_error.html +++ /dev/null @@ -1,8 +0,0 @@ -<!-- INCLUDE install_header.html --> - -<div class="errorbox"> - <h3>{MESSAGE_TITLE}</h3> - <p>{MESSAGE_TEXT}</p> -</div> - -<!-- INCLUDE install_footer.html --> diff --git a/phpBB/adm/style/install_header.html b/phpBB/adm/style/install_header.html deleted file mode 100644 index cfafe7917f..0000000000 --- a/phpBB/adm/style/install_header.html +++ /dev/null @@ -1,54 +0,0 @@ -<!DOCTYPE html> -<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> -<head> -<meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<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"> diff --git a/phpBB/adm/style/install_install.html b/phpBB/adm/style/install_install.html deleted file mode 100644 index 1a809a3588..0000000000 --- a/phpBB/adm/style/install_install.html +++ /dev/null @@ -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 --> diff --git a/phpBB/adm/style/install_main.html b/phpBB/adm/style/install_main.html deleted file mode 100644 index 73e73ad578..0000000000 --- a/phpBB/adm/style/install_main.html +++ /dev/null @@ -1,6 +0,0 @@ -<!-- INCLUDE install_header.html --> - - <h1>{TITLE}</h1> - <p>{BODY}</p> - -<!-- INCLUDE install_footer.html --> diff --git a/phpBB/adm/style/install_update.html b/phpBB/adm/style/install_update.html deleted file mode 100644 index 898233f72d..0000000000 --- a/phpBB/adm/style/install_update.html +++ /dev/null @@ -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 --> diff --git a/phpBB/adm/style/install_update_diff.html b/phpBB/adm/style/install_update_diff.html deleted file mode 100644 index 324dc50d05..0000000000 --- a/phpBB/adm/style/install_update_diff.html +++ /dev/null @@ -1,255 +0,0 @@ -<!DOCTYPE html> -<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> -<head> -<meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<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 --> diff --git a/phpBB/adm/style/installer_convert.html b/phpBB/adm/style/installer_convert.html new file mode 100644 index 0000000000..aa16542b6b --- /dev/null +++ b/phpBB/adm/style/installer_convert.html @@ -0,0 +1,87 @@ +<!-- INCLUDE installer_header.html --> +<!-- IF TITLE --><h1>{TITLE}</h1><!-- ENDIF --> +<!-- IF S_ERROR_BOX --> +<div class="errorbox"> + <h3>{ERROR_TITLE}</h3> + <p>{ERROR_MSG}</p> +</div> +<!-- ENDIF --> +<!-- IF .errors --> +<div id="error-container"> +<!-- BEGIN errors --> + <strong>{errors.TITLE}</strong> + <!-- IF errors.DESCRIPTION --><p>{errors.DESCRIPTION}</p><!-- ENDIF --> +<!-- END errors --> +</div> +<!-- ENDIF --> +<!-- IF BODY --><p>{BODY}</p><!-- ENDIF --> +<!-- IF CONTENT -->{CONTENT}<!-- ENDIF --> +<!-- IF S_CONV_IN_PROGRESS --> +<p class="centered-text"><a href="{U_ACTION}" class="button1<!-- IF S_REFRESH --> disabled<!-- ENDIF -->"<!-- IF S_REFRESH --> onclick="return false;"<!-- ENDIF -->>{L_SUBMIT}</a></p> +<!-- ENDIF --> +<!-- IF S_CONTINUE --> +<div id="download-wrapper" class="download-box"> + <p class="centered-text"> + <a href="{U_NEW_ACTION}" class="button1">{L_CONVERT_NEW_CONVERSION}</a> + <a href="{U_CONTINUE_ACTION}" class="button1">{L_CONTINUE_OLD_CONVERSION}</a> + </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_CONVERT_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 .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 --> +<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/installer.js --> +<!-- INCLUDE installer_footer.html --> diff --git a/phpBB/adm/style/install_footer.html b/phpBB/adm/style/installer_footer.html index 8e7599dc3f..fefa8f6d3f 100644 --- a/phpBB/adm/style/install_footer.html +++ b/phpBB/adm/style/installer_footer.html @@ -1,6 +1,6 @@ - </div> - </div><!-- /#main --> - </div> + </div> + </div><!-- /#main --> + </div> </div><!-- /#acp --> </div> @@ -11,6 +11,15 @@ </div> </div> +<script type="text/javascript"> +<!-- +installLang = { + title: '{LA_TIMEOUT_DETECTED_TITLE}', + msg: '{LA_TIMEOUT_DETECTED_MESSAGE}' +}; +//--> +</script> + <script type="text/javascript" src="{T_JQUERY_LINK}"></script> <!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js">\x3C/script>');</script><!-- ENDIF --> <script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script> diff --git a/phpBB/adm/style/installer_form.html b/phpBB/adm/style/installer_form.html new file mode 100644 index 0000000000..cc5b041fa1 --- /dev/null +++ b/phpBB/adm/style/installer_form.html @@ -0,0 +1,56 @@ +<form id="<!-- IF FORM_ID -->{FORM_ID}<!-- ELSE -->install_install<!-- ENDIF -->" method="POST" action="{U_ACTION}"> +<!-- IF .options --> +<!-- IF S_NOT_ONLY_BUTTON_FORM --> +<fieldset> +<!-- ENDIF --> + + <!-- 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> + <!-- IF options.TYPE == 'text' --> + <input type="text" name="{options.KEY}" value="{options.DEFAULT}" /> + <!-- ENDIF --> + <!-- IF options.TYPE == 'email' --> + <input type="email" name="{options.KEY}" value="{options.DEFAULT}" /> + <!-- ENDIF --> + <!-- IF options.TYPE == 'password' --> + <input type="password" name="{options.KEY}" /> + <!-- ENDIF --> + <!-- IF options.TYPE == 'select' --> + <select name="{options.KEY}"> + <!-- BEGIN options.OPTIONS --> + <option value="{options.OPTIONS.value}"<!-- IF options.OPTIONS.selected --> selected<!-- ENDIF -->>{options.OPTIONS.label}</option> + <!-- END options.OPTIONS --> + </select> + <!-- ENDIF --> + <!-- IF options.TYPE == 'radio' --> + <!-- BEGIN options.OPTIONS --> + <input type="radio" name="{options.KEY}" value="{options.OPTIONS.value}" <!-- IF options.OPTIONS.selected -->checked<!-- ENDIF --> /> {options.OPTIONS.label} + <!-- END options.OPTIONS --> + <!-- ENDIF --> + </dd> + </dl> + <!-- ENDIF--> + <!-- END options --> +<!-- IF S_NOT_ONLY_BUTTON_FORM --> +</fieldset> +<!-- ENDIF --> +<!-- ENDIF --> +<!-- IF .submit_buttons --> +<fieldset class="submit-buttons"> + <legend>{L_SUBMIT}</legend> + <!-- BEGIN submit_buttons --> + <input class="button1" type="submit" name="{submit_buttons.KEY}" value="{submit_buttons.TITLE}" /> + <!-- END submit_buttons --> +</fieldset> +<!-- ENDIF --> +</form> diff --git a/phpBB/adm/style/installer_header.html b/phpBB/adm/style/installer_header.html new file mode 100644 index 0000000000..704db9e174 --- /dev/null +++ b/phpBB/adm/style/installer_header.html @@ -0,0 +1,58 @@ +<!DOCTYPE html> +<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <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="#" id="language_selector"> + <fieldset class="nobg"> + <label for="language">{L_SELECT_LANG}{L_COLON}</label> + <select id="language" name="language"> + <!-- BEGIN language_select_item --> + <option value="{language_select_item.VALUE}"<!-- IF language_select_item.SELECTED --> selected="selected"<!-- ENDIF -->>{language_select_item.NAME}</option> + <!-- END language_select_item --> + </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 --> id="installer-stage-{l_block2.STAGE_NAME}">{l_block2.L_TITLE}</span></li> + <!-- END l_block2 --> + </ul> + </div> + </div> + + <div id="main" class="install-body"> + <div class="main"> diff --git a/phpBB/adm/style/installer_install.html b/phpBB/adm/style/installer_install.html new file mode 100644 index 0000000000..53a91f2700 --- /dev/null +++ b/phpBB/adm/style/installer_install.html @@ -0,0 +1,13 @@ +<!-- INCLUDE installer_header.html --> +<h1>{TITLE}</h1> +<p>{CONTENT}</p> +<!-- IF SHOW_INSTALL_START_FORM --> +<form id="install_install" method="post" action="{U_ACTION}"> + <fieldset class="submit-buttons"> + <legend>{L_SUBMIT}</legend> + <input class="button1" name="install" type="submit" value="{L_INSTALL}" /> + </fieldset> +</form> +<!-- ENDIF --> +<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/installer.js --> +<!-- INCLUDE installer_footer.html --> diff --git a/phpBB/adm/style/installer_main.html b/phpBB/adm/style/installer_main.html new file mode 100644 index 0000000000..f14fe4da70 --- /dev/null +++ b/phpBB/adm/style/installer_main.html @@ -0,0 +1,6 @@ +<!-- INCLUDE installer_header.html --> + + <h1>{TITLE}</h1> + <p>{BODY}</p> + +<!-- INCLUDE installer_footer.html --> diff --git a/phpBB/adm/style/installer_update.html b/phpBB/adm/style/installer_update.html new file mode 100644 index 0000000000..48cc07f5d6 --- /dev/null +++ b/phpBB/adm/style/installer_update.html @@ -0,0 +1,13 @@ +<!-- INCLUDE installer_header.html --> +<h1>{TITLE}</h1> +<p>{CONTENT}</p> +<!-- IF SHOW_INSTALL_START_FORM --> +<form id="install_install" method="post" action="{U_ACTION}"> + <fieldset class="submit-buttons"> + <legend>{L_SUBMIT}</legend> + <input class="button1" name="update" type="submit" value="{L_UPDATE}" /> + </fieldset> +</form> +<!-- ENDIF --> +<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/installer.js --> +<!-- INCLUDE installer_footer.html --> diff --git a/phpBB/adm/style/installer_update_file_status.html b/phpBB/adm/style/installer_update_file_status.html new file mode 100644 index 0000000000..a27bfa6a44 --- /dev/null +++ b/phpBB/adm/style/installer_update_file_status.html @@ -0,0 +1,80 @@ +<!-- 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: 100%;"><!-- IF deleted.DIR_PART -->{deleted.DIR_PART}<!-- ENDIF --><strong>{deleted.FILE_PART}</strong></dt> + </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> + +<fieldset id="conflict"> + <legend><img src="{T_IMAGE_PATH}/file_conflict.gif" alt="{L_STATUS_CONFLICT}" /></legend> + <!-- BEGIN conflict --> + <dl> + <dt style="width: 100%;"><!-- IF conflict.DIR_PART -->{conflict.DIR_PART}<!-- ENDIF --><strong>{conflict.FILE_PART}</strong></dt> + </dl> + <!-- END 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> + +<fieldset id="modified"> + <legend><img src="{T_IMAGE_PATH}/file_modified.gif" alt="{L_STATUS_MODIFIED}" /></legend> + <!-- BEGIN modified --> + <dl> + <dt style="width: 100%;"><!-- IF modified.DIR_PART -->{modified.DIR_PART}<!-- ENDIF --><strong>{modified.FILE_PART}</strong></dt> + </dl> + <!-- END modified --> +</fieldset> + +<!-- 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: 100%;"><!-- IF new.DIR_PART -->{new.DIR_PART}<!-- ENDIF --><strong>{new.FILE_PART}</strong> + </dt> + </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: 100%;"><!-- IF not_modified.DIR_PART -->{not_modified.DIR_PART}<!-- ENDIF --><strong>{not_modified.FILE_PART}</strong></dt> + </dl> + <!-- END not_modified --> +</fieldset> + +<!-- ENDIF --> diff --git a/phpBB/adm/style/overall_header.html b/phpBB/adm/style/overall_header.html index bd8caf1443..8279ac34dc 100644 --- a/phpBB/adm/style/overall_header.html +++ b/phpBB/adm/style/overall_header.html @@ -7,6 +7,7 @@ <!-- IF META -->{META}<!-- ENDIF --> <title>{PAGE_TITLE}</title> +<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet"> <link href="style/admin.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet" type="text/css" media="screen" /> <script type="text/javascript"> @@ -50,7 +51,7 @@ function marklist(id, name, state) } var rb = parent.getElementsByTagName('input'); - + for (var r = 0; r < rb.length; r++) { if (rb[r].name.substr(0, name.length) == name && rb[r].disabled !== true) @@ -104,7 +105,7 @@ function popup(url, width, height, name) <p><a href="{U_ADM_INDEX}">{L_ADMIN_INDEX}</a> • <a href="{U_INDEX}">{L_FORUM_INDEX}</a></p> <p id="skip"><a href="#acp">{L_SKIP}</a></p> </div> - + <div id="page-body"> <div id="tabs"> <ul> @@ -121,7 +122,7 @@ function popup(url, width, height, name) <!-- DEFINE $LI_USED = 0 --> <!-- BEGIN l_block1 --> <!-- IF l_block1.S_SELECTED --> - + <!-- BEGIN l_block2 --> <!-- IF .l_block1.l_block2.l_block3 --> <!-- IF $LI_USED --></ul></div><!-- ENDIF --> @@ -130,13 +131,13 @@ function popup(url, width, height, name) <ul> <!-- DEFINE $LI_USED = 1 --> <!-- ENDIF --> - + <!-- BEGIN l_block3 --> <li<!-- IF l_block1.l_block2.l_block3.S_SELECTED --> id="activemenu"<!-- ENDIF -->><a href="{l_block1.l_block2.l_block3.U_TITLE}"><span>{l_block1.l_block2.l_block3.L_TITLE}</span></a></li> <!-- DEFINE $LI_USED = 1 --> <!-- END l_block3 --> <!-- END l_block2 --> - + <!-- ENDIF --> <!-- END l_block1 --> <!-- IF $LI_USED --> @@ -144,6 +145,13 @@ function popup(url, width, height, name) </div> <!-- ENDIF --> </div> - + <div id="main"> <div class="main"> + {% if CONTAINER_EXCEPTION !== false %} + <div class="errorbox"> + <p>{{ lang('CONTAINER_EXCEPTION') }}</p><br /> + <p>{{ lang('EXCEPTION') }}{{ lang('COLON') }} {{ CONTAINER_EXCEPTION.getMessage() }}</p> + <pre>{{ CONTAINER_EXCEPTION.getTraceAsString() }}</pre> + </div> + {% endif %} diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html index 7b5c071693..017d29d832 100644 --- a/phpBB/adm/style/permission_mask.html +++ b/phpBB/adm/style/permission_mask.html @@ -39,11 +39,24 @@ </div> <dl class="permissions-simple"> <dt style="width: 20%"><label for="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">{L_ROLE}{L_COLON}</label></dt> - <!-- IF p_mask.f_mask.S_ROLE_OPTIONS --> - <dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 20%"><select id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" name="role[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" onchange="set_role_settings(this.options[selectedIndex].value, 'advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); init_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')">{p_mask.f_mask.S_ROLE_OPTIONS}</select></dd> - <!-- ELSE --> + {% if p_mask.f_mask.role_options %} + <dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 20%"> + <div class="dropdown-container dropdown-button-control roles-options" data-alt-text="{LA_ROLE_DESCRIPTION}"> + <select id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" name="role[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]">{p_mask.f_mask.S_ROLE_OPTIONS}</select> + <span title="Roles" class="button icon-button tools-icon dropdown-trigger dropdown-select">{L_NO_ROLE_ASSIGNED}</span> + <div class="dropdown hidden"> + <ul class="dropdown-contents" id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" > + {% for role in p_mask.f_mask.role_options %} + <li data-id="{{ role.ID }}" data-target-id="advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" data-title="{{ role.TITLE }}"{% if role.SELECTED == true %} data-selected="{{ role.SELECTED }}"{% endif %}>{{ role.ROLE_NAME }}</li> + {% endfor %} + </ul> + </div> + <input type="hidden" data-name="role[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]"{% if p_mask.f_mask.S_ROLE_ID %}value="{{ p_mask.f_mask.S_ROLE_ID }}"{% endif %} /> + </div> + </dd> + {% else %} <dd>{L_NO_ROLE_AVAILABLE}</dd> - <!-- ENDIF --> + {% endif %} </dl> <!-- ENDIF --> diff --git a/phpBB/adm/style/tooltip.js b/phpBB/adm/style/tooltip.js index 3a89008706..8781e2b509 100644 --- a/phpBB/adm/style/tooltip.js +++ b/phpBB/adm/style/tooltip.js @@ -10,206 +10,224 @@ phpBB Development Team: - further adjustements */ -var head_text, tooltip_mode; +(function($) { // Avoid conflicts with other libraries -/** -* Enable tooltip replacements for links -*/ -function enable_tooltips_link(id, headline, sub_id) { - var links, i, hold; - - head_text = headline; - - if (!document.getElementById || !document.getElementsByTagName) { - return; - } - - hold = document.createElement('span'); - hold.id = '_tooltip_container'; - hold.setAttribute('id', '_tooltip_container'); - hold.style.position = 'absolute'; - - document.getElementsByTagName('body')[0].appendChild(hold); - - if (id === null) { - links = document.getElementsByTagName('a'); - } else { - links = document.getElementById(id).getElementsByTagName('a'); - } - - for (i = 0; i < links.length; i++) { - if (sub_id) { - if (links[i].id.substr(0, sub_id.length) === sub_id) { - prepare(links[i]); - } - } else { - prepare(links[i]); - } - } +'use strict'; - tooltip_mode = 'link'; -} +var tooltips = []; /** -* Enable tooltip replacements for selects + * Enable tooltip replacements for selects + * @param {string} id ID tag of select + * @param {string} headline Text that should appear on top of tooltip + * @param {string} [subId] Sub ID that should only be using tooltips (optional) */ -function enable_tooltips_select(id, headline, sub_id) { - var links, i, hold; - - head_text = headline; - - if (!document.getElementById || !document.getElementsByTagName) { - return; - } +phpbb.enableTooltipsSelect = function (id, headline, subId) { + var $links, hold; - hold = document.createElement('span'); - hold.id = '_tooltip_container'; - hold.setAttribute('id', '_tooltip_container'); - hold.style.position = 'absolute'; + hold = $('<span />', { + id: '_tooltip_container', + css: { + position: 'absolute' + } + }); - document.getElementsByTagName('body')[0].appendChild(hold); + $('body').append(hold); - if (id === null) { - links = document.getElementsByTagName('option'); + if (!id) { + $links = $('.roles-options li'); } else { - links = document.getElementById(id).getElementsByTagName('option'); + $links = $('.roles-options li', '#' + id); } - for (i = 0; i < links.length; i++) { - if (sub_id) { - if (links[i].parentNode.id.substr(0, sub_id.length) === sub_id) { - prepare(links[i]); + $links.each(function () { + var $this = $(this); + + if (subId) { + if ($this.parent().attr('id').substr(0, subId.length) === subId) { + phpbb.prepareTooltips($this, headline); } } else { - prepare(links[i]); + phpbb.prepareTooltips($this, headline); } - } - - tooltip_mode = 'select'; -} + }); +}; /** -* Prepare elements to replace + * Prepare elements to replace + * + * @param {jQuery} $element Element to prepare for tooltips + * @param {string} headText Text heading to display */ -function prepare(element) { - var tooltip, text, desc, title; +phpbb.prepareTooltips = function ($element, headText) { + var $tooltip, text, $desc, $title; - text = element.getAttribute('title'); + text = $element.attr('data-title'); if (text === null || text.length === 0) { return; } - element.removeAttribute('title'); - tooltip = create_element('span', 'tooltip'); - - title = create_element('span', 'top'); - title.appendChild(document.createTextNode(head_text)); - tooltip.appendChild(title); - - desc = create_element('span', 'bottom'); - desc.innerHTML = text; - tooltip.appendChild(desc); + $title = $('<span />', { + class: 'top', + css: { + display: 'block' + } + }) + .append(document.createTextNode(headText)); + + $desc = $('<span />', { + class: 'bottom', + html: text, + css: { + display: 'block' + } + }); - set_opacity(tooltip); + $tooltip = $('<span />', { + class: 'tooltip', + css: { + display: 'block' + } + }) + .append($title) + .append($desc); - element.tooltip = tooltip; - element.onmouseover = show_tooltip; - element.onmouseout = hide_tooltip; - - if (tooltip_mode === 'link') { - element.onmousemove = locate; - } -} + tooltips[$element.attr('data-id')] = $tooltip; + $element.on('mouseover', phpbb.showTooltip); + $element.on('mouseout', phpbb.hideTooltip); +}; /** -* Show tooltip + * Show tooltip + * + * @param {object} $element Element passed by .on() */ -function show_tooltip(e) { - document.getElementById('_tooltip_container').appendChild(this.tooltip); - locate(this); -} +phpbb.showTooltip = function ($element) { + var $this = $($element.target); + $('#_tooltip_container').append(tooltips[$this.attr('data-id')]); + phpbb.positionTooltip($this); +}; /** -* Hide tooltip + * Hide tooltip */ -function hide_tooltip(e) { +phpbb.hideTooltip = function () { var d = document.getElementById('_tooltip_container'); if (d.childNodes.length > 0) { d.removeChild(d.firstChild); } -} +}; /** -* Set opacity on tooltip element + * Correct positioning of tooltip container + * + * @param {jQuery} $element Tooltip element that should be positioned */ -function set_opacity(element) { - element.style.filter = 'alpha(opacity:95)'; - element.style.KHTMLOpacity = '0.95'; - element.style.MozOpacity = '0.95'; - element.style.opacity = '0.95'; -} +phpbb.positionTooltip = function ($element) { + var offset; -/** -* Create new element -*/ -function create_element(tag, c) { - var x = document.createElement(tag); - x.className = c; - x.style.display = 'block'; - return x; -} + $element = $element.parent(); + offset = $element.offset(); -/** -* Correct positioning of tooltip container -*/ -function locate(e) { - var posx = 0; - var posy = 0; - - e = e.parentNode; + $('#_tooltip_container').css({ + top: offset.top + 30, + left: offset.left - 205 + }); +}; - if (e.offsetParent) { - for (posx = 0, posy = 0; e.offsetParent; e = e.offsetParent) { - posx += e.offsetLeft; - posy += e.offsetTop; +/** + * Prepare roles drop down select + */ +phpbb.prepareRolesDropdown = function () { + var $options = $('.roles-options li'); + + // Display span and hide select + $('.roles-options > span').css('display', 'block'); + $('.roles-options > select').hide(); + $('.roles-options > input[type=hidden]').each(function () { + var $this = $(this); + + if ($this.attr('data-name') && !$this.attr('name')) { + $this.attr('name', $this.attr('data-name')); } - } else { - posx = e.offsetLeft; - posy = e.offsetTop; - } - - if (tooltip_mode === 'link') { - document.getElementById('_tooltip_container').style.top=(posy+20) + 'px'; - document.getElementById('_tooltip_container').style.left=(posx-20) + 'px'; - } else { - document.getElementById('_tooltip_container').style.top=(posy+30) + 'px'; - document.getElementById('_tooltip_container').style.left=(posx-205) + 'px'; - } - -/* - if (e == null) - { - e = window.event; - } + }); + + // Prepare highlighting of select options and settings update + $options.each(function () { + var $this = $(this); + var $rolesOptions = $this.closest('.roles-options'); + var $span = $rolesOptions.children('span'); + + // Correctly show selected option + if (typeof $this.attr('data-selected') !== 'undefined') { + $rolesOptions + .children('span') + .text($this.text()) + .attr('data-default', $this.text()) + .attr('data-default-val', $this.attr('data-id')); + + // Save default text of drop down if there is no default set yet + if (typeof $span.attr('data-default') === 'undefined') { + $span.attr('data-default', $span.text()); + } - if (e.pageX || e.pageY) - { - posx = e.pageX; - posy = e.pageY; - } - else if (e.clientX || e.clientY) - { - if (document.documentElement.scrollTop) - { - posx = e.clientX+document.documentElement.scrollLeft; - posy = e.clientY+document.documentElement.scrollTop; - } - else - { - posx = e.clientX+document.body.scrollLeft; - posy = e.clientY+document.body.scrollTop; + // Prepare resetting drop down on form reset + $this.closest('form').on('reset', function () { + $span.text($span.attr('data-default')); + $rolesOptions.children('input[type=hidden]') + .val($span.attr('data-default-val')); + }); } - } -*/ -} + + $this.on('mouseover', function () { + var $this = $(this); + $options.removeClass('roles-highlight'); + $this.addClass('roles-highlight'); + }).on('click', function () { + var $this = $(this); + var $rolesOptions = $this.closest('.roles-options'); + + // Update settings + set_role_settings($this.attr('data-id'), $this.attr('data-target-id')); + init_colours($this.attr('data-target-id').replace('advanced', '')); + + // Set selected setting + $rolesOptions.children('span') + .text($this.text()); + $rolesOptions.children('input[type=hidden]') + .val($this.attr('data-id')); + + // Trigger hiding of selection options + $('body').trigger('click'); + }); + }); +}; + +// Run onload functions for RolesDropdown and tooltips +$(function() { + // Enable tooltips + phpbb.enableTooltipsSelect('set-permissions', $('#set-permissions').attr('data-role-description'), 'role'); + + // Prepare dropdown + phpbb.prepareRolesDropdown(); + + // Reset role drop-down on modifying permissions in advanced tab + $('div.permissions-switch > a').on('click', function () { + $.each($('input[type=radio][name^="setting["]'), function () { + var $this = $(this); + $this.on('click', function () { + var $rolesOptions = $this.closest('fieldset.permissions').find('.roles-options'), + rolesSelect = $rolesOptions.find('select > option')[0]; + + // Set selected setting + $rolesOptions.children('span') + .text(rolesSelect.text); + $rolesOptions.children('input[type=hidden]') + .val(rolesSelect.value); + }); + }); + }); +}); + +})(jQuery); // Avoid conflicts with other libraries |