(function($) { // Avoid conflicts with other libraries /** * The following callbacks are for reording forums in acp_forums. forum_down * is triggered when a forum is moved down, and forum_up is triggered when * a forum is moved up. It moves the row up or down, and deactivates / * activates any up / down icons that require it (the ones at the top or bottom). */ phpbb.add_ajax_callback('forum_down', function(el) { var tr = $(el).parents('tr'); if (tr.is(':first-child')) { $(el).parents('span').siblings('.up').html('Move up'); tr.next().find('.up').html('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('Move down'); tr.prev().find('.down').html('Move down'); 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('Move down'); tr.prev().find('.down').html('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('Move up'); tr.next().find('.up').html('Move up'); phpbb.ajaxify({selector: tr.next().find('.up').children('a')}, false, 'forum_up'); } }); /** * This callback replaces activate links with deactivate links and vice versa. * It does this by replacing the text, and replacing all instances of "activate" * in the href with "deactivate", and vice versa. */ phpbb.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); }); /** * The removes the parent row of the link or form that triggered the callback, * and is good for stuff like the removal of forums. */ phpbb.add_ajax_callback('row_delete', function(el) { var tr = $(el).parents('tr'); tr.remove(); }); $('[data-ajax]').each(function() { var fn = ($(this).data('ajax') !== 'true') ? $(this).data('ajax') : null; phpbb.ajaxify({selector: this}, $(this).data('refresh') !== undefined, fn); }); })(jQuery); // Avoid conflicts with other libraries