aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/styles
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/styles')
-rw-r--r--phpBB/styles/prosilver/template/timezone.js61
-rw-r--r--phpBB/styles/prosilver/template/ucp_prefs_personal.html10
-rw-r--r--phpBB/styles/prosilver/theme/forms.css5
3 files changed, 65 insertions, 11 deletions
diff --git a/phpBB/styles/prosilver/template/timezone.js b/phpBB/styles/prosilver/template/timezone.js
index 5d07b1d3ad..deebbf36a8 100644
--- a/phpBB/styles/prosilver/template/timezone.js
+++ b/phpBB/styles/prosilver/template/timezone.js
@@ -1,10 +1,37 @@
-function phpbb_preselect_tz_select()
+function phpbb_switch_tz_date(keep_selection)
{
- var selector = document.getElementsByClassName('tz_select')[0];
- if (selector.value)
+ var timezone_groups = document.getElementById("timezone");
+ for (var i = 0; i < timezone_groups.childElementCount; i++) {
+ if (timezone_groups.children[i].tagName == "OPTGROUP" &&
+ timezone_groups.children[i].label != document.getElementById("tz_date").value)
+ {
+ timezone_groups.children[i].style.display = "none";
+ }
+ else if (timezone_groups.children[i].tagName == "OPTGROUP")
+ {
+ // Display other options
+ timezone_groups.children[i].style.display = "block";
+ }
+ }
+ if (typeof keep_selection !== 'undefined')
{
- return;
+ if (!keep_selection)
+ {
+ timezone_groups.children[0].selected = true;
+ }
}
+}
+
+function phpbb_enable_tz_dates()
+{
+ var tz_select_date = document.getElementById("tz_select_date");
+ tz_select_date.style.display = "block";
+}
+
+function phpbb_preselect_tz_select(force_selector, l_suggestion)
+{
+
+ var selector = document.getElementById('tz_date');
// The offset returned here is in minutes and negated.
// http://www.w3schools.com/jsref/jsref_getTimezoneOffset.asp
var offset = (new Date()).getTimezoneOffset();
@@ -42,12 +69,26 @@ function phpbb_preselect_tz_select()
var option = selector.options[i];
if (option.value.substring(0, prefix_length) == prefix)
{
- // Firefox scrolls the selector only to put the option into view;
- // for negative-offset timezones, this means the first timezone
- // of a particular offset will be the bottom one, and selected,
- // with all other timezones not visible. Not much can be done
- // about that here unfortunately.
- option.selected = true;
+ if (selector.value && selector.value != option.value && !force_selector)
+ {
+ // We do not select the option for the user, but notify him,
+ // that we would suggest a different setting.
+ document.getElementById("tz_select_date_suggest").style.display = "inline";
+ document.getElementById("tz_select_date_suggest").title = l_suggestion.replace("%s", option.innerHTML);
+ document.getElementById("tz_select_date_suggest").innerHTML = l_suggestion.replace("%s", option.innerHTML.substring(0, 9));
+ phpbb_switch_tz_date(true);
+ }
+ else
+ {
+ // Firefox scrolls the selector only to put the option into view;
+ // for negative-offset timezones, this means the first timezone
+ // of a particular offset will be the bottom one, and selected,
+ // with all other timezones not visible. Not much can be done
+ // about that here unfortunately.
+ option.selected = true;
+ phpbb_switch_tz_date(!force_selector);
+ document.getElementById("tz_select_date_suggest").style.display = "none";
+ }
break;
}
}
diff --git a/phpBB/styles/prosilver/template/ucp_prefs_personal.html b/phpBB/styles/prosilver/template/ucp_prefs_personal.html
index b09e7b1591..c798b1a1f2 100644
--- a/phpBB/styles/prosilver/template/ucp_prefs_personal.html
+++ b/phpBB/styles/prosilver/template/ucp_prefs_personal.html
@@ -75,6 +75,13 @@
<!-- ENDIF -->
<dl>
<dt><label for="timezone">{L_BOARD_TIMEZONE}:</label></dt>
+ <dd id="tz_select_date" style="display: none;">
+ <select name="tz_date" id="tz_date" class="autowidth tz_select" onchange="phpbb_switch_tz_date(false);">
+ <option value="">{L_SELECT_CURRENT_TIME}</option>
+ {S_TZ_DATE_OPTIONS}
+ </select>
+ <a id="tz_select_date_suggest" style="display: none;" href="javascript: phpbb_preselect_tz_select(true, '');">{L_TIMEZONE_DATE_SUGGESTION}</a>
+ </dd>
<dd>
<select name="tz" id="timezone" class="autowidth tz_select">
<option value="">{L_SELECT_TIMEZONE}</option>
@@ -140,6 +147,7 @@
</script>
<script type="text/javascript" src="{T_SUPER_TEMPLATE_PATH}/timezone.js"></script>
-<script type="text/javascript">phpbb_preselect_tz_select();</script>
+<script type="text/javascript">phpbb_enable_tz_dates();</script>
+<script type="text/javascript">phpbb_preselect_tz_select(false, '{L_TIMEZONE_DATE_SUGGESTION}');</script>
<!-- INCLUDE ucp_footer.html -->
diff --git a/phpBB/styles/prosilver/theme/forms.css b/phpBB/styles/prosilver/theme/forms.css
index 77b3be5cfa..8829211934 100644
--- a/phpBB/styles/prosilver/theme/forms.css
+++ b/phpBB/styles/prosilver/theme/forms.css
@@ -32,6 +32,11 @@ option {
padding-right: 1em;
}
+select optgroup option {
+ padding-right: 1em;
+ font-family: Verdana, Helvetica, Arial, sans-serif;
+}
+
textarea {
font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
width: 60%;