diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 7a96dd3609..572986bb4b 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -2448,15 +2448,25 @@ function build_url($strip_vars = false)
*/
function meta_refresh($time, $url, $disable_cd_check = false)
{
- global $template;
+ global $template, $refresh_data;
- $url = redirect($url, true, $disable_cd_check);
- $url = str_replace('&', '&', $url);
+ if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
+ {
+ $refresh_data = array(
+ 'time' => $time,
+ 'url' => str_replace('&', '&', $url)
+ );
+ }
+ else
+ {
+ $url = redirect($url, true, $disable_cd_check);
+ $url = str_replace('&', '&', $url);
- // For XHTML compatibility we change back & to &
- $template->assign_vars(array(
- 'META' => '')
- );
+ // For XHTML compatibility we change back & to &
+ $template->assign_vars(array(
+ 'META' => '')
+ );
+ }
return $url;
}
@@ -2699,6 +2709,21 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
WHERE user_id = " . $user->data['user_id'];
$db->sql_query($sql);
+
+ if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
+ {
+ $u_action .= '&confirm_uid=' . $user->data['user_id'] . '&sess=' . $user->session_id . '&sid=' . $user->session_id;
+ echo json_encode(array(
+ 'MESSAGE_TITLE' => (!isset($user->lang[$title])) ? $user->lang['CONFIRM'] : $user->lang[$title],
+ 'MESSAGE_TEXT' => (!isset($user->lang[$title . '_CONFIRM'])) ? $title : $user->lang[$title . '_CONFIRM'],
+
+ 'YES_VALUE' => $user->lang['YES'],
+ 'S_CONFIRM_ACTION' => str_replace('&', '&', $u_action), //inefficient, rewrite whole function
+ 'S_HIDDEN_FIELDS' => $hidden . $s_hidden_fields
+ ));
+ exit;
+ }
+
if (defined('IN_ADMIN') && isset($user->data['session_admin']) && $user->data['session_admin'])
{
adm_page_footer();
@@ -3922,6 +3947,20 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
'S_USER_NOTICE' => ($errno == E_USER_NOTICE) ? true : false)
);
+ if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
+ {
+ global $refresh_data;
+
+ echo json_encode(array(
+ 'MESSAGE_TITLE' => $msg_title,
+ 'MESSAGE_TEXT' => $msg_text,
+ 'S_USER_WARNING' => ($errno == E_USER_WARNING) ? true : false,
+ 'S_USER_NOTICE' => ($errno == E_USER_NOTICE) ? true : false,
+ 'REFRESH_DATA' => (!empty($refresh_data)) ? $refresh_data : null
+ ));
+ exit;
+ }
+
// We do not want the cron script to be called on error messages
define('IN_CRON', true);
diff --git a/phpBB/styles/prosilver/template/overall_footer.html b/phpBB/styles/prosilver/template/overall_footer.html
index 4456d6b37d..0d2fd4d27a 100644
--- a/phpBB/styles/prosilver/template/overall_footer.html
+++ b/phpBB/styles/prosilver/template/overall_footer.html
@@ -24,6 +24,9 @@
{DEBUG_OUTPUT}
{L_ACP}
+
+
+
diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css
index 27a55caf7a..5cf12be1ce 100644
--- a/phpBB/styles/prosilver/theme/common.css
+++ b/phpBB/styles/prosilver/theme/common.css
@@ -468,7 +468,7 @@ table.info tbody th {
/* Misc layout styles
---------------------------------------- */
-/* column[1-2] styles are containers for two column layouts
+/* column[1-2] styles are containers for two column layouts
Also see tweaks.css */
.column1 {
float: left;
@@ -580,6 +580,34 @@ li.pagination {
background: none 0 50% no-repeat;
}
+.row .pagination span a, li.pagination span a {
+ background-color: #FFFFFF;
+}
+
+.row .pagination span a:hover, li.pagination span a:hover {
+ background-color: #d2d2d2;
+}
+
+/* jQuery popups
+---------------------------------------- */
+.jalert {
+ background-color: #FFFFFF;
+ border: 1px solid #999999;
+ display: none;
+ position: fixed;
+ top: 100px;
+ left: 35%;
+ width: 30%;
+ z-index: 50;
+ padding: 25px;
+ padding: 0 25px 20px 25px;
+}
+
+.jalert p {
+ margin: 8px 0;
+ padding-bottom: 8px;
+}
+
/* Miscellaneous styles
---------------------------------------- */
#forum-permissions {
diff --git a/phpBB/styles/script.js b/phpBB/styles/script.js
new file mode 100644
index 0000000000..9be3efd4ce
--- /dev/null
+++ b/phpBB/styles/script.js
@@ -0,0 +1,80 @@
+var phpbb = {};
+
+/**
+ * Display a simple alert.
+ *
+ * @param string title Title of the message, eg "Information"
+ * @param string msg Message to display. Can be HTML.
+ */
+phpbb.alert = function(title, msg) {
+ var div = $('
' + msg + '
' + msg + '
\ + \ +