aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/styles
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/styles')
-rw-r--r--phpBB/styles/prosilver/template/ajax.js66
-rw-r--r--phpBB/styles/prosilver/template/overall_footer.html3
-rw-r--r--phpBB/styles/script.js400
3 files changed, 68 insertions, 401 deletions
diff --git a/phpBB/styles/prosilver/template/ajax.js b/phpBB/styles/prosilver/template/ajax.js
new file mode 100644
index 0000000000..38233ad0e0
--- /dev/null
+++ b/phpBB/styles/prosilver/template/ajax.js
@@ -0,0 +1,66 @@
+(function($) { // Avoid conflicts with other libraries
+
+
+
+phpbb.add_ajax_callback('post_delete', function(el) {
+ if ($(this).data('refresh') === undefined)
+ {
+ var pid = el.href.split('&p=')[1];
+ $(el).parents('div #p' + pid).fadeOut(function() {
+ $(this).remove();
+ });
+ }
+}).add_ajax_callback('bookmark', function(el, res) {
+ var text = (res.MESSAGE_TEXT.indexOf('Removed') === -1);
+ text = (text) ? 'Remove from bookmarks' : 'Bookmark topic';
+ $(el).text(el.title = text);
+}).add_ajax_callback('topic_subscribe', function(el) {
+ $(el).text(el.title = 'Unsubscribe topic');
+}).add_ajax_callback('topic_unsubscribe', function(el) {
+ $(el).text(el.title = 'Subscribe forum');
+}).add_ajax_callback('forum_subscribe', function(el) {
+ $(el).text(el.title = 'Unsubscribe topic');
+}).add_ajax_callback('forum_unsubscribe', function(el) {
+ $(el).text(el.title = 'Subscribe forum');
+}).add_ajax_callback('post_approve', function(el, res, act) {
+ $(el).parents((act === 'approve') ? '.rules' : '.post').fadeOut(function() {
+ $(this).remove();
+ });
+}).add_ajax_callback('qr-submit', function(el) {
+ $(el).parents('form').fadeOut(function() {
+ $(this).remove();
+ });
+}).add_ajax_callback('row_delete', function(el) {
+ var tr = $(el).parents('tr');
+ tr.remove();
+}).add_ajax_callback('zebra', function(el, res) {
+ if (res.success) {
+ $('.zebra').html(res.MESSAGE_TEXT);
+ $($('.zebra').get(1)).remove();
+ }
+});;
+
+
+
+$('[data-ajax]').each(function() {
+ var fn = ($(this).data('ajax') !== 'true') ? $(this).data('ajax') : null;
+ phpbb.ajaxify({selector: this}, $(this).data('refresh') !== undefined, fn);
+});
+
+
+
+phpbb.ajaxify({
+ selector: '#quickmodform',
+ exception: function(el, act, data) {
+ var d = phpbb.parse_querystring(data).action;
+ if (d == 'make_normal')
+ {
+ return !(el.find('select option[value="make_global"]').length);
+ }
+ return !(d == 'lock' || d == 'unlock' || d == 'delete_topic' || d.slice(0, 5) == 'make_');
+ }
+}, true);
+
+
+
+})(jQuery); // Avoid conflicts with other libraries
diff --git a/phpBB/styles/prosilver/template/overall_footer.html b/phpBB/styles/prosilver/template/overall_footer.html
index 20f6ee1f91..a89cd7f04e 100644
--- a/phpBB/styles/prosilver/template/overall_footer.html
+++ b/phpBB/styles/prosilver/template/overall_footer.html
@@ -40,7 +40,8 @@
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
<!-- IF S_JQUERY_FALLBACK --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
-<script type="text/javascript" src="styles/script.js"></script>
+<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js"></script>
+<script type="text/javascript" src="{T_TEMPLATE_PATH}/ajax.js"></script>
</body>
</html>
diff --git a/phpBB/styles/script.js b/phpBB/styles/script.js
deleted file mode 100644
index dd9d2532cc..0000000000
--- a/phpBB/styles/script.js
+++ /dev/null
@@ -1,400 +0,0 @@
-var phpbb = {};
-
-(function($) { // Avoid conflicts with other libraries
-
-
-var dark = $('#darkenwrapper'),
- loading_alert = $('#loadingalert');
-
-
-/**
- * Display a loading screen.
- *
- * @returns object Returns loading_alert.
- */
-phpbb.loading_alert = function() {
- if (dark.is(':visible'))
- {
- loading_alert.fadeIn(100);
- }
- else
- {
- loading_alert.show();
- dark.fadeIn(100, function() {
- setTimeout(function() {
- if (loading_alert.is(':visible'))
- {
- phpbb.alert('Error', 'Error processing your request. Please try again.');
- }
- }, 5000);
- });
- }
-
- return loading_alert;
-}
-
-/**
- * Display a simple alert similar to JSs native alert().
- *
- * @param string title Title of the message, eg "Information"
- * @param string msg Message to display. Can be HTML.
- * @param bool fadedark Remove the dark background when done? Defaults
- * to yes.
- *
- * @returns object Returns the div created.
- */
-phpbb.alert = function(title, msg, fadedark) {
- var div = $('<div class="jalert"><h3>' + title + '</h3><p>' + msg + '</p></div>');
-
- div.bind('click', function(e) {
- e.stopPropagation();
- return true;
- });
- dark.one('click', function(e) {
- var fade = (typeof fadedark !== 'undefined' && !fadedark) ? div : dark;
- fade.fadeOut(100, function() {
- div.remove();
- });
- return false;
- });
-
- $(document).bind('keydown', function(e) {
- if (e.keyCode === 13 || e.keyCode === 27) {
- dark.trigger('click');
- return false;
- }
- return true;
- });
-
- if (loading_alert.is(':visible'))
- {
- loading_alert.fadeOut(100, function() {
- dark.append(div);
- div.fadeIn(100);
- });
- }
- else if (dark.is(':visible'))
- {
- dark.append(div);
- div.fadeIn(100);
- }
- else
- {
- dark.append(div);
- div.show();
- dark.fadeIn(100);
- }
-
- return div;
-}
-
-/**
- * Display a simple yes / no box to the user.
- *
- * @param string msg Message to display. Can be HTML.
- * @param function callback Callback. Bool param, whether the user pressed
- * yes or no (or whatever their language is).
- * @param bool fadedark Remove the dark background when done? Defaults
- * to yes.
- *
- * @returns object Returns the div created.
- */
-phpbb.confirm = function(msg, callback, fadedark) {
- var div = $('<div class="jalert"><p>' + msg + '</p>\
- <input type="button" class="jalertbut button1" value="Yes" />&nbsp;\
- <input type="button" class="jalertbut button2" value="No" /></div>');
-
- div.find('.jalertbut').bind('click', function() {
- var res = this.value === 'Yes';
- var fade = (typeof fadedark !== 'undefined' && !fadedark && res) ? div : dark;
- fade.fadeOut(100, function() {
- div.remove();
- });
- callback(res);
- return false;
- });
-
- $(document).bind('keydown', function(e) {
- if (e.keyCode === 13) {
- $('.jalertbut.button1').trigger('click');
- return false;
- } else if (e.keyCode === 27) {
- $('.jalertbut.button2').trigger('click');
- return false;
- }
- return true;
- });
-
- if (loading_alert.is(':visible'))
- {
- loading_alert.fadeOut(100, function() {
- dark.append(div);
- div.fadeIn(100);
- });
- }
- else if (dark.is(':visible'))
- {
- dark.append(div);
- div.fadeIn(100);
- }
- else
- {
- dark.append(div);
- div.show();
- dark.fadeIn(100);
- }
-
- return div;
-}
-
-/**
- * Turn a querystring into an array.
- *
- * @argument string string The querystring to parse.
- * @returns array The array created.
- */
-phpbb.parse_querystring = function(string) {
- var end = {}, i;
-
- string = string.split('&');
- for (i = 0; i < string.length; i++)
- {
- end[string[i].split('=')[0]] = decodeURIComponent(string[i].split('=')[1]);
- }
- return end;
-}
-
-
-/**
- * Makes a link use AJAX instead of loading an entire page.
- *
- * @param object options Options, if a string will be the selector.
- * @param bool/function refresh If we are sent back a refresh, should it be
- * acted upon? This can either be true / false / a function.
- * @param function callback Callback.
- */
-phpbb.ajaxify = function(options, refresh, callback) {
- var selector = $((typeof options === 'string') ? options : options.selector);
- var is_form = selector.is('form');
- if (is_form)
- {
- selector = selector.find('input:submit');
- }
-
- selector.click(function() {
- var act, data, path, that = this;
-
- if ($(this).data('ajax') == false)
- {
- return true;
- }
-
- function return_handler(res)
- {
- if (typeof res.S_CONFIRM_ACTION === 'undefined')
- {
- // It is a standard link, no confirm_box required.
- if (typeof res.MESSAGE_TITLE !== 'undefined')
- {
- var alert = phpbb.alert(res.MESSAGE_TITLE, res.MESSAGE_TEXT);
- }
- else
- {
- dark.fadeOut(100);
- }
-
- if (typeof phpbb.ajax_callbacks[callback] === 'function')
- {
- phpbb.ajax_callbacks[callback](that, res, (is_form) ? act : null);
- }
-
- if (res.REFRESH_DATA)
- {
- if (typeof refresh === 'function')
- {
- refresh = refresh(res.REFRESH_DATA.url);
- }
- else if (typeof refresh !== 'boolean')
- {
- refresh = false;
- }
-
- setTimeout(function() {
- if (refresh)
- {
- window.location = res.REFRESH_DATA.url;
- }
-
- dark.fadeOut(100, function() {
- alert.remove();
- });
- }, res.REFRESH_DATA.time * 1000);
- }
- }
- else
- {
- // confirm_box - confirm with the user and send back
- phpbb.confirm(res.MESSAGE_TEXT, function(del) {
- if (del)
- {
- phpbb.loading_alert();
- data = $('<form>' + res.S_HIDDEN_FIELDS + '</form>').serialize();
- $.post(res.S_CONFIRM_ACTION, data + '&confirm=' + res.YES_VALUE, return_handler);
- }
- }, false);
- }
- }
-
- var run_exception = (typeof options.exception === 'function');
- if (is_form)
- {
- act = /action\[([a-z]+)\]/.exec(this.name);
- data = decodeURI($(this).closest('form').serialize());
- path = $(this).closest('form').attr('action').replace('&amp;', '&');
-
- if (act)
- {
- act = act[1]
- data += '&action=' + act;
- }
- else
- {
- data += '&' + this.name + '=' + this.value;
- }
-
- if (run_exception && options.exception($(this).parents('form'), act, data))
- {
- return true;
- }
- phpbb.loading_alert();
- $.post(path, data, return_handler);
- }
- else
- {
- if (run_exception && options.exception($(this).parents('form')))
- {
- return true;
- }
- phpbb.loading_alert();
- $.get(this.href, return_handler);
- }
-
- return false;
- });
- return this;
-}
-
-phpbb.ajax_callbacks = {};
-phpbb.add_ajax_callback = function(id, callback)
-{
- if (typeof callback === 'function')
- {
- phpbb.ajax_callbacks[id] = callback;
- }
- return this;
-}
-
-
-phpbb.add_ajax_callback('post_delete', function(el) {
- if ($(this).data('refresh') === undefined)
- {
- var pid = el.href.split('&p=')[1];
- $(el).parents('div #p' + pid).fadeOut(function() {
- $(this).remove();
- });
- }
-}).add_ajax_callback('bookmark', function(el, res) {
- var text = (res.MESSAGE_TEXT.indexOf('Removed') === -1);
- text = (text) ? 'Remove from bookmarks' : 'Bookmark topic';
- $(el).text(el.title = text);
-}).add_ajax_callback('topic_subscribe', function(el) {
- $(el).text(el.title = 'Unsubscribe topic');
-}).add_ajax_callback('topic_unsubscribe', function(el) {
- $(el).text(el.title = 'Subscribe forum');
-}).add_ajax_callback('forum_subscribe', function(el) {
- $(el).text(el.title = 'Unsubscribe topic');
-}).add_ajax_callback('forum_unsubscribe', function(el) {
- $(el).text(el.title = 'Subscribe forum');
-}).add_ajax_callback('post_approve', function(el, res, act) {
- $(el).parents((act === 'approve') ? '.rules' : '.post').fadeOut(function() {
- $(this).remove();
- });
-}).add_ajax_callback('qr-submit', function(el) {
- $(el).parents('form').fadeOut(function() {
- $(this).remove();
- });
-}).add_ajax_callback('forum_down', function(el) {
- var tr = $(el).parents('tr');
- if (tr.is(':first-child'))
- {
- $(el).parents('span').siblings('.up').html('<a href="' + tr.data('up') + '"><img src="./images/icon_up.gif" alt="Move up" title="Move up" /></a>');
- tr.next().find('.up').html('<img src="./images/icon_up_disabled.gif" alt="Move up" title="Move up" />');
- phpbb.ajaxify({selector: $(el).parents('span').siblings('.up').children('a')}, false, 'forum_up');
- }
- tr.insertAfter(tr.next());
- if (tr.is(':last-child'))
- {
- $(el).html('<img src="./images/icon_down_disabled.gif" alt="Move down" title="Move down" />');
- tr.prev().find('.down').html('<a href="' + tr.data('down') + '"><img src="./images/icon_down.gif" alt="Move down" title="Move down" /></a>');
- phpbb.ajaxify({selector: tr.prev().find('.down').children('a')}, false, 'forum_down');
- }
-}).add_ajax_callback('forum_up', function(el) {
- var tr = $(el).parents('tr');
- if (tr.is(':last-child'))
- {
- $(el).parents('span').siblings('.down').html('<a href="' + tr.data('down') + '"><img src="./images/icon_down.gif" alt="Move down" title="Move down" /></a>');
- tr.prev().find('.down').html('<img src="./images/icon_down_disabled.gif" alt="Move down" title="Move down" />');
- phpbb.ajaxify({selector: $(el).parents('span').siblings('.down').children('a')}, false, 'forum_down');
- }
- tr.insertBefore(tr.prev());
- if (tr.is(':first-child'))
- {
- $(el).html('<img src="./images/icon_up_disabled.gif" alt="Move up" title="Move up" />');
- tr.next().find('.up').html('<a href="' + tr.data('up') + '"><img src="./images/icon_up.gif" alt="Move up" title="Move up" /></a>');
- phpbb.ajaxify({selector: tr.next().find('.up').children('a')}, false, 'forum_up');
- }
-}).add_ajax_callback('act_deact', function(el, res) {
- $(el).text(res.text);
- var new_href = $(el).attr('href');
- if (new_href.indexOf('deactivate') !== -1)
- {
- new_href = new_href.replace('deactivate', 'activate')
- }
- else
- {
- new_href = new_href.replace('activate', 'deactivate')
- }
- $(el).attr('href', new_href);
-}).add_ajax_callback('row_delete', function(el) {
- var tr = $(el).parents('tr');
- tr.remove();
-}).add_ajax_callback('zebra', function(el, res) {
- if (res.success) {
- $('.zebra').html(res.MESSAGE_TEXT);
- $($('.zebra').get(1)).remove();
- }
-});;
-
-
-
-$('[data-ajax]').each(function() {
- var fn = ($(this).data('ajax') !== 'true') ? $(this).data('ajax') : null;
- phpbb.ajaxify({selector: this}, $(this).data('refresh') !== undefined, fn);
-});
-
-
-
-phpbb.ajaxify({
- selector: '#quickmodform',
- exception: function(el, act, data) {
- var d = phpbb.parse_querystring(data).action;
- if (d == 'make_normal')
- {
- return !(el.find('select option[value="make_global"]').length);
- }
- return !(d == 'lock' || d == 'unlock' || d == 'delete_topic' || d.slice(0, 5) == 'make_');
- }
-}, true);
-
-
-})(jQuery); // Avoid conflicts with other libraries