diff options
Diffstat (limited to 'phpBB/adm')
33 files changed, 994 insertions, 1332 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_board.html b/phpBB/adm/style/acp_board.html index 64592a5de2..fe3e250099 100644 --- a/phpBB/adm/style/acp_board.html +++ b/phpBB/adm/style/acp_board.html @@ -18,10 +18,11 @@  <!-- BEGIN options -->  	<!-- IF options.S_LEGEND -->  		<!-- IF not options.S_FIRST_ROW --> -			</fieldset> +		</fieldset>  		<!-- ENDIF --> +  		<fieldset> -			<legend>{options.LEGEND}</legend> +		<legend>{options.LEGEND}</legend>  	<!-- ELSE -->  		<dl> diff --git a/phpBB/adm/style/acp_ext_details.html b/phpBB/adm/style/acp_ext_details.html index bd9eca623a..bbddf2e6b6 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 -->  <!-- EVENT acp_ext_details_notice --> diff --git a/phpBB/adm/style/acp_ext_list.html b/phpBB/adm/style/acp_ext_list.html index af9e00a614..7ab2608e13 100644 --- a/phpBB/adm/style/acp_ext_list.html +++ b/phpBB/adm/style/acp_ext_list.html @@ -51,7 +51,8 @@  			<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> +				<strong class="<!-- IF enabled.S_UP_TO_DATE -->current-ext<!-- ELSE -->outdated-ext<!-- ENDIF -->">{enabled.META_VERSION}</strong> +				<!-- IF not enabled.S_UP_TO_DATE --><i class="fa fa-exclamation-circle outdated-ext" aria-hidden="true"></i><!-- ENDIF -->  				<!-- ELSE -->  				{enabled.META_VERSION}  				<!-- ENDIF --> @@ -76,7 +77,8 @@  			<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> +				<strong class="<!-- IF disabled.S_UP_TO_DATE -->current-ext<!-- ELSE -->outdated-ext<!-- ENDIF -->">{disabled.META_VERSION}</strong> +				<!-- IF not disabled.S_UP_TO_DATE --><i class="fa fa-exclamation-circle outdated-ext" aria-hidden="true"></i><!-- ENDIF -->  				<!-- ELSE -->  				{disabled.META_VERSION}  				<!-- ENDIF --> 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_main.html b/phpBB/adm/style/acp_main.html index 1bdb7b8d2a..9522baa9c2 100644 --- a/phpBB/adm/style/acp_main.html +++ b/phpBB/adm/style/acp_main.html @@ -130,8 +130,6 @@  		<td>{L_FILES_PER_DAY}{L_COLON} </td>  		<td><strong>{FILES_PER_DAY}</strong></td>  	</tr> - -  	<tr>  		<td>{L_BOARD_STARTED}{L_COLON} </td>  		<td><strong>{START_DATE}</strong></td> @@ -150,22 +148,25 @@  		<td>{L_GZIP_COMPRESSION}{L_COLON} </td>  		<td><strong>{GZIP_COMPRESSION}</strong></td>  	</tr> -	<!-- IF S_TOTAL_ORPHAN or S_VERSIONCHECK -->  	<tr> +		<td>{L_PHP_VERSION}{L_COLON} </td> +		<td><strong>{PHP_VERSION_INFO}</strong></td> +	<!-- IF S_TOTAL_ORPHAN --> +		<td>{L_NUMBER_ORPHAN}{L_COLON} </td> +		<td><strong>{TOTAL_ORPHAN}</strong></td> +	<!-- ELSE --> +		<td> </td> +		<td> </td> +	<!-- ENDIF --> +	</tr>  	<!-- IF S_VERSIONCHECK --> +	<tr>  		<td>{L_BOARD_VERSION}{L_COLON} </td>  		<td>  			<strong><a href="{U_VERSIONCHECK}" <!-- IF S_VERSION_UP_TO_DATE -->style="color: #228822;" <!-- ELSEIF not S_VERSIONCHECK_FAIL -->style="color: #BC2A4D;" <!-- ENDIF -->title="{L_MORE_INFORMATION}">{BOARD_VERSION}</a></strong> [ <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> ]  		</td> -	<!-- ENDIF --> -	<!-- IF S_TOTAL_ORPHAN --> -		<td>{L_NUMBER_ORPHAN}{L_COLON} </td> -		<td><strong>{TOTAL_ORPHAN}</strong></td> -	<!-- ENDIF --> -	<!-- IF not S_TOTAL_ORPHAN or not S_VERSIONCHECK -->  		<td> </td>  		<td> </td> -	<!-- ENDIF -->  	</tr>  	<!-- ENDIF -->  	</tbody> 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_users.html b/phpBB/adm/style/acp_users.html index 18c3d84f96..50b6ec9bc9 100644 --- a/phpBB/adm/style/acp_users.html +++ b/phpBB/adm/style/acp_users.html @@ -231,6 +231,10 @@  	<!-- INCLUDE permission_mask.html --> +<!-- ELSE --> + +	<!-- EVENT acp_users_mode_add --> +  <!-- ENDIF -->  <!-- INCLUDE overall_footer.html --> diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 0c00e5339e..41d0ae8d42 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,10 +2469,51 @@ 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  ---------------------------------------- */ +.current-ext { +	color: #228822; +} + +.outdated-ext { +	color: #BC2A4D; +} +  .phpinfo {  	overflow: auto;  	width: 99%; @@ -2489,3 +2558,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..a38f33c7c2 --- /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<!-- IF submit_buttons.DISABLED --> disabled<!-- ENDIF -->" type="submit" name="{submit_buttons.KEY}" value="{submit_buttons.TITLE}"<!-- IF submit_buttons.DISABLED --> disabled="disabled"<!-- ENDIF --> /> +	<!-- 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 | 
