mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 22:28:51 +00:00
- get swatch converted into new acp format
- add page title to ucp pages - add ability to supress getting the who is online list in page_header() (saves us ideally 1-2 queries on ucp/mcp pages) - fixing pm rules a bit as well as now having complete author memberships for author_in_group (sender -> is in usergroup -> xxx) git-svn-id: file:///svn/phpbb/trunk@6054 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
4a0ddb9dfb
commit
298d3c0c50
22 changed files with 259 additions and 132 deletions
76
phpBB/adm/style/colour_swatch.html
Normal file
76
phpBB/adm/style/colour_swatch.html
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||||
|
<meta http-equiv="imagetoolbar" content="no" />
|
||||||
|
<title>{L_COLOUR_SWATCH}</title>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
body {
|
||||||
|
background-color: #404040;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
border: solid 1px #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.over {
|
||||||
|
border-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.out {
|
||||||
|
border-color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
//-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
<!--
|
||||||
|
var r = 0, g = 0, b = 0;
|
||||||
|
|
||||||
|
var numberList = new Array(6);
|
||||||
|
numberList[0] = '00';
|
||||||
|
numberList[1] = '33';
|
||||||
|
numberList[2] = '66';
|
||||||
|
numberList[3] = '99';
|
||||||
|
numberList[4] = 'CC';
|
||||||
|
numberList[5] = 'FF';
|
||||||
|
|
||||||
|
document.writeln('<table cellspacing="0" cellpadding="0" border="0">');
|
||||||
|
|
||||||
|
for (r = 0; r < 6; r++)
|
||||||
|
{
|
||||||
|
document.writeln('<tr>');
|
||||||
|
|
||||||
|
for (g = 0; g < 6; g++)
|
||||||
|
{
|
||||||
|
for (b = 0; b < 6; b++)
|
||||||
|
{
|
||||||
|
color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
|
||||||
|
document.write('<td style="background-color: #' + color + ';" onmouseover="this.className=\'over\'" onmouseout="this.className=\'out\'">');
|
||||||
|
document.write('<a href="javascript:cell(\'' + color + '\');"><img src="{T_IMAGES_PATH}spacer.gif" width="15" height="12" alt="#' + color + '" title="#' + color + '" \/><\/a>');
|
||||||
|
document.writeln('<\/td>');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
document.writeln('<\/tr>');
|
||||||
|
}
|
||||||
|
document.writeln('<\/table>');
|
||||||
|
|
||||||
|
function cell(color)
|
||||||
|
{
|
||||||
|
opener.document.forms["{OPENER}"].{NAME}.value = color;
|
||||||
|
}
|
||||||
|
//-->
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,73 +1,48 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
<?php
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
|
/**
|
||||||
<head>
|
*
|
||||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
* @package phpBB3
|
||||||
<meta http-equiv="imagetoolbar" content="no" />
|
* @version $Id$
|
||||||
<title>Color Swatch</title>
|
* @copyright (c) 2005 phpBB Group
|
||||||
|
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
<style type="text/css">
|
/**
|
||||||
<!--
|
* @ignore
|
||||||
body {
|
*/
|
||||||
background-color: #404040;
|
define('IN_PHPBB', true);
|
||||||
color: #fff;
|
$phpbb_root_path = './../';
|
||||||
}
|
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||||
|
include($phpbb_root_path . 'common.' . $phpEx);
|
||||||
|
|
||||||
td {
|
// Start session management
|
||||||
border: solid 1px #333;
|
$user->session_begin(false);
|
||||||
}
|
$auth->acl($user->data);
|
||||||
|
$user->setup();
|
||||||
|
|
||||||
.over {
|
// Set custom template for admin area
|
||||||
border-color: white;
|
$template->set_custom_template($phpbb_root_path . 'adm/style', 'admin');
|
||||||
}
|
|
||||||
|
|
||||||
.out {
|
$template->set_filenames(array(
|
||||||
border-color: #333333;
|
'body' => 'colour_swatch.html')
|
||||||
}
|
);
|
||||||
|
|
||||||
img {
|
$template->assign_vars(array(
|
||||||
border: 0;
|
'OPENER' => addslashes(request_var('form', '')),
|
||||||
}
|
'NAME' => request_var('name', ''),
|
||||||
|
'T_IMAGES_PATH' => "{$phpbb_root_path}images/",)
|
||||||
|
);
|
||||||
|
|
||||||
//-->
|
$template->display('body');
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
// Unload cache, must be done before the DB connection if closed
|
||||||
|
if (!empty($cache))
|
||||||
<script type="text/javascript">
|
|
||||||
<!--
|
|
||||||
var r = 0, g = 0, b = 0;
|
|
||||||
var numberList = new Array(6);
|
|
||||||
numberList[0] = "00";
|
|
||||||
numberList[1] = "33";
|
|
||||||
numberList[2] = "66";
|
|
||||||
numberList[3] = "99";
|
|
||||||
numberList[4] = "CC";
|
|
||||||
numberList[5] = "FF";
|
|
||||||
document.writeln('<table cellspacing="0" cellpadding="0" border="0">');
|
|
||||||
for(r = 0; r < 6; r++)
|
|
||||||
{
|
|
||||||
document.writeln('<tr>');
|
|
||||||
for(g = 0; g < 6; g++)
|
|
||||||
{
|
|
||||||
for(b = 0; b < 6; b++)
|
|
||||||
{
|
|
||||||
color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
|
|
||||||
document.write('<td bgcolor="#' + color + '" onmouseover="this.className=\'over\'" onmouseout="this.className=\'out\'">');
|
|
||||||
document.write('<a href="javascript:cell(\'' + color + '\');"><img src="./images/spacer.gif" width="15" height="12" alt="#' + color + '" title="#' + color + '" \/><\/a>');
|
|
||||||
document.writeln('<\/td>');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
document.writeln('<\/tr>');
|
|
||||||
}
|
|
||||||
document.writeln('<\/table>');
|
|
||||||
|
|
||||||
function cell(color)
|
|
||||||
{
|
{
|
||||||
opener.document.forms['<?php echo htmlspecialchars(addslashes($_GET['form'])); ?>'].<?php echo htmlspecialchars(addslashes($_GET['name'])); ?>.value = color;
|
$cache->unload();
|
||||||
}
|
}
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
// Close our DB connection.
|
||||||
</html>
|
$db->sql_close();
|
||||||
|
|
||||||
|
?>
|
|
@ -207,6 +207,15 @@ switch ($cron_type)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Unload cache, must be done before the DB connection is closed
|
||||||
|
if (!empty($cache))
|
||||||
|
{
|
||||||
|
$cache->unload();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close our DB connection.
|
||||||
|
$db->sql_close();
|
||||||
|
|
||||||
// Output transparent gif
|
// Output transparent gif
|
||||||
header('Cache-Control: no-cache');
|
header('Cache-Control: no-cache');
|
||||||
header('Content-type: image/gif');
|
header('Content-type: image/gif');
|
||||||
|
|
|
@ -384,6 +384,8 @@ class acp_groups
|
||||||
$auth->acl_clear_prefetch();
|
$auth->acl_clear_prefetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$cache->destroy('sql', GROUPS_TABLE);
|
||||||
|
|
||||||
$message = ($action == 'edit') ? 'GROUP_UPDATED' : 'GROUP_CREATED';
|
$message = ($action == 'edit') ? 'GROUP_UPDATED' : 'GROUP_CREATED';
|
||||||
trigger_error($user->lang[$message] . adm_back_link($this->u_action));
|
trigger_error($user->lang[$message] . adm_back_link($this->u_action));
|
||||||
}
|
}
|
||||||
|
|
|
@ -2343,7 +2343,7 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
|
||||||
/**
|
/**
|
||||||
* Generate page header
|
* Generate page header
|
||||||
*/
|
*/
|
||||||
function page_header($page_title = '')
|
function page_header($page_title = '', $display_online_list = true)
|
||||||
{
|
{
|
||||||
global $db, $config, $template, $SID, $_SID, $user, $auth, $phpEx, $phpbb_root_path;
|
global $db, $config, $template, $SID, $_SID, $user, $auth, $phpEx, $phpbb_root_path;
|
||||||
|
|
||||||
|
@ -2381,7 +2381,7 @@ function page_header($page_title = '')
|
||||||
// Get users online list ... if required
|
// Get users online list ... if required
|
||||||
$l_online_users = $online_userlist = $l_online_record = '';
|
$l_online_users = $online_userlist = $l_online_record = '';
|
||||||
|
|
||||||
if ($config['load_online'] && $config['load_online_time'])
|
if ($config['load_online'] && $config['load_online_time'] && $display_online_list)
|
||||||
{
|
{
|
||||||
$userlist_ary = $userlist_visible = array();
|
$userlist_ary = $userlist_visible = array();
|
||||||
$logged_visible_online = $logged_hidden_online = $guests_online = $prev_user_id = 0;
|
$logged_visible_online = $logged_hidden_online = $guests_online = $prev_user_id = 0;
|
||||||
|
@ -2635,6 +2635,7 @@ function page_header($page_title = '')
|
||||||
'T_TEMPLATE_PATH' => "{$phpbb_root_path}styles/" . $user->theme['template_path'] . '/template',
|
'T_TEMPLATE_PATH' => "{$phpbb_root_path}styles/" . $user->theme['template_path'] . '/template',
|
||||||
'T_IMAGESET_PATH' => "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset',
|
'T_IMAGESET_PATH' => "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset',
|
||||||
'T_IMAGESET_LANG_PATH' => "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset/' . $user->data['user_lang'],
|
'T_IMAGESET_LANG_PATH' => "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset/' . $user->data['user_lang'],
|
||||||
|
'T_IMAGES_PATH' => "{$phpbb_root_path}images/",
|
||||||
'T_SMILIES_PATH' => "{$phpbb_root_path}{$config['smilies_path']}/",
|
'T_SMILIES_PATH' => "{$phpbb_root_path}{$config['smilies_path']}/",
|
||||||
'T_AVATAR_PATH' => "{$phpbb_root_path}{$config['avatar_path']}/",
|
'T_AVATAR_PATH' => "{$phpbb_root_path}{$config['avatar_path']}/",
|
||||||
'T_AVATAR_GALLERY_PATH' => "{$phpbb_root_path}{$config['avatar_gallery_path']}/",
|
'T_AVATAR_GALLERY_PATH' => "{$phpbb_root_path}{$config['avatar_gallery_path']}/",
|
||||||
|
|
|
@ -600,7 +600,7 @@ class p_master
|
||||||
/**
|
/**
|
||||||
* Display module
|
* Display module
|
||||||
*/
|
*/
|
||||||
function display($page_title)
|
function display($page_title, $display_online_list = true)
|
||||||
{
|
{
|
||||||
global $template, $user;
|
global $template, $user;
|
||||||
|
|
||||||
|
@ -611,7 +611,7 @@ class p_master
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
page_header($page_title);
|
page_header($page_title, $display_online_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
$template->set_filenames(array(
|
$template->set_filenames(array(
|
||||||
|
|
|
@ -62,7 +62,8 @@ $global_privmsgs_rules = array(
|
||||||
RULE_IS => array('check0' => 'message_subject', 'function' => '{CHECK0} == {STRING}'),
|
RULE_IS => array('check0' => 'message_subject', 'function' => '{CHECK0} == {STRING}'),
|
||||||
RULE_IS_NOT => array('check0' => 'message_subject', 'function' => '{CHECK0} != {STRING}'),
|
RULE_IS_NOT => array('check0' => 'message_subject', 'function' => '{CHECK0} != {STRING}'),
|
||||||
RULE_BEGINS_WITH => array('check0' => 'message_subject', 'function' => 'preg_match("/^" . preg_quote({STRING}, "/") . "/i", {CHECK0})'),
|
RULE_BEGINS_WITH => array('check0' => 'message_subject', 'function' => 'preg_match("/^" . preg_quote({STRING}, "/") . "/i", {CHECK0})'),
|
||||||
RULE_ENDS_WITH => array('check0' => 'message_subject', 'function' => 'preg_match("/" . preg_quote({STRING}, "/") . "$/i", {CHECK0})')),
|
RULE_ENDS_WITH => array('check0' => 'message_subject', 'function' => 'preg_match("/" . preg_quote({STRING}, "/") . "$/i", {CHECK0})'),
|
||||||
|
),
|
||||||
|
|
||||||
CHECK_SENDER => array(
|
CHECK_SENDER => array(
|
||||||
RULE_IS_LIKE => array('check0' => 'username', 'function' => 'preg_match("/" . preg_quote({STRING}, "/") . "/i", {CHECK0})'),
|
RULE_IS_LIKE => array('check0' => 'username', 'function' => 'preg_match("/" . preg_quote({STRING}, "/") . "/i", {CHECK0})'),
|
||||||
|
@ -74,21 +75,25 @@ $global_privmsgs_rules = array(
|
||||||
RULE_IS_FRIEND => array('check0' => 'friend', 'function' => '{CHECK0} == 1'),
|
RULE_IS_FRIEND => array('check0' => 'friend', 'function' => '{CHECK0} == 1'),
|
||||||
RULE_IS_FOE => array('check0' => 'foe', 'function' => '{CHECK0} == 1'),
|
RULE_IS_FOE => array('check0' => 'foe', 'function' => '{CHECK0} == 1'),
|
||||||
RULE_IS_USER => array('check0' => 'author_id', 'function' => '{CHECK0} == {USER_ID}'),
|
RULE_IS_USER => array('check0' => 'author_id', 'function' => '{CHECK0} == {USER_ID}'),
|
||||||
RULE_IS_GROUP => array('check0' => 'author_in_group', 'function' => 'in_array({GROUP_ID}, {CHECK0})')),
|
RULE_IS_GROUP => array('check0' => 'author_in_group', 'function' => 'in_array({GROUP_ID}, {CHECK0})'),
|
||||||
|
),
|
||||||
|
|
||||||
CHECK_MESSAGE => array(
|
CHECK_MESSAGE => array(
|
||||||
RULE_IS_LIKE => array('check0' => 'message_text', 'function' => 'preg_match("/" . preg_quote({STRING}, "/") . "/i", {CHECK0})'),
|
RULE_IS_LIKE => array('check0' => 'message_text', 'function' => 'preg_match("/" . preg_quote({STRING}, "/") . "/i", {CHECK0})'),
|
||||||
RULE_IS_NOT_LIKE => array('check0' => 'message_text', 'function' => '!(preg_match("/" . preg_quote({STRING}, "/") . "/i", {CHECK0}))'),
|
RULE_IS_NOT_LIKE => array('check0' => 'message_text', 'function' => '!(preg_match("/" . preg_quote({STRING}, "/") . "/i", {CHECK0}))'),
|
||||||
RULE_IS => array('check0' => 'message_text', 'function' => '{CHECK0} == {STRING}'),
|
RULE_IS => array('check0' => 'message_text', 'function' => '{CHECK0} == {STRING}'),
|
||||||
RULE_IS_NOT => array('check0' => 'message_text', 'function' => '{CHECK0} != {STRING}')),
|
RULE_IS_NOT => array('check0' => 'message_text', 'function' => '{CHECK0} != {STRING}'),
|
||||||
|
),
|
||||||
|
|
||||||
CHECK_STATUS => array(
|
CHECK_STATUS => array(
|
||||||
RULE_ANSWERED => array('check0' => 'replied', 'function' => '{CHECK0} == 1'),
|
RULE_ANSWERED => array('check0' => 'replied', 'function' => '{CHECK0} == 1'),
|
||||||
RULE_FORWARDED => array('check0' => 'forwarded', 'function' => '{CHECK0} == 1')),
|
RULE_FORWARDED => array('check0' => 'forwarded', 'function' => '{CHECK0} == 1'),
|
||||||
|
),
|
||||||
|
|
||||||
CHECK_TO => array(
|
CHECK_TO => array(
|
||||||
RULE_TO_GROUP => array('check0' => 'to', 'check1' => 'bcc', 'check2' => 'user_in_group', 'function' => 'in_array("g_" . {CHECK2}, {CHECK0}) || in_array("g_" . {CHECK2}, {CHECK1})'),
|
RULE_TO_GROUP => array('check0' => 'to', 'check1' => 'bcc', 'check2' => 'user_in_group', 'function' => 'in_array("g_" . {CHECK2}, {CHECK0}) || in_array("g_" . {CHECK2}, {CHECK1})'),
|
||||||
RULE_TO_ME => array('check0' => 'to', 'check1' => 'bcc', 'function' => 'in_array("u_" . $user_id, {CHECK0}) || in_array("u_" . $user_id, {CHECK1})'))
|
RULE_TO_ME => array('check0' => 'to', 'check1' => 'bcc', 'function' => 'in_array("u_" . $user_id, {CHECK0}) || in_array("u_" . $user_id, {CHECK1})'),
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -301,9 +306,43 @@ function place_pm_into_folder(&$global_privmsgs_rules, $release = false)
|
||||||
$user_message_rules = (int) $user->data['user_message_rules'];
|
$user_message_rules = (int) $user->data['user_message_rules'];
|
||||||
$user_id = (int) $user->data['user_id'];
|
$user_id = (int) $user->data['user_id'];
|
||||||
|
|
||||||
$user_rules = $zebra = array();
|
$action_ary = $move_into_folder = array();
|
||||||
if ($user_message_rules)
|
|
||||||
|
if ($release)
|
||||||
{
|
{
|
||||||
|
$sql = 'UPDATE ' . PRIVMSGS_TO_TABLE . '
|
||||||
|
SET folder_id = ' . PRIVMSGS_NO_BOX . '
|
||||||
|
WHERE folder_id = ' . PRIVMSGS_HOLD_BOX . "
|
||||||
|
AND user_id = $user_id";
|
||||||
|
$db->sql_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get those messages not yet placed into any box
|
||||||
|
$retrieve_sql = 'SELECT t.*, p.*, u.username, u.user_id, u.group_id
|
||||||
|
FROM ' . PRIVMSGS_TO_TABLE . ' t, ' . PRIVMSGS_TABLE . ' p, ' . USERS_TABLE . " u
|
||||||
|
WHERE t.user_id = $user_id
|
||||||
|
AND p.author_id = u.user_id
|
||||||
|
AND t.folder_id = " . PRIVMSGS_NO_BOX . '
|
||||||
|
AND t.msg_id = p.msg_id';
|
||||||
|
|
||||||
|
// Just place into the appropiate arrays if no rules need to be checked
|
||||||
|
if (!$user_message_rules)
|
||||||
|
{
|
||||||
|
$result = $db->sql_query($retrieve_sql);
|
||||||
|
|
||||||
|
while ($row = $db->sql_fetchrow($result))
|
||||||
|
{
|
||||||
|
$action_ary[$row['msg_id']][] = array('action' => false);
|
||||||
|
$move_into_folder[PRIVMSGS_INBOX][] = $row['msg_id'];
|
||||||
|
}
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$user_rules = $zebra = $check_rows = array();
|
||||||
|
$user_ids = $memberships = array();
|
||||||
|
|
||||||
|
// First of all, grab all rules and retrieve friends/foes
|
||||||
$sql = 'SELECT *
|
$sql = 'SELECT *
|
||||||
FROM ' . PRIVMSGS_RULES_TABLE . "
|
FROM ' . PRIVMSGS_RULES_TABLE . "
|
||||||
WHERE user_id = $user_id";
|
WHERE user_id = $user_id";
|
||||||
|
@ -324,54 +363,69 @@ function place_pm_into_folder(&$global_privmsgs_rules, $release = false)
|
||||||
}
|
}
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ($release)
|
// Now build a bare-bone check_row array
|
||||||
{
|
$result = $db->sql_query($retrieve_sql);
|
||||||
$sql = 'UPDATE ' . PRIVMSGS_TO_TABLE . '
|
|
||||||
SET folder_id = ' . PRIVMSGS_NO_BOX . '
|
|
||||||
WHERE folder_id = ' . PRIVMSGS_HOLD_BOX . "
|
|
||||||
AND user_id = $user_id";
|
|
||||||
$db->sql_query($sql);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get those messages not yet placed into any box
|
while ($row = $db->sql_fetchrow($result))
|
||||||
// @todo question: expand group information to all groups the user/author is in on private message folder?? (user_in_group)
|
|
||||||
$sql = 'SELECT t.*, p.*, u.username, u.group_id as author_in_group
|
|
||||||
FROM ' . PRIVMSGS_TO_TABLE . ' t, ' . PRIVMSGS_TABLE . ' p, ' . USERS_TABLE . " u
|
|
||||||
WHERE t.user_id = $user_id
|
|
||||||
AND p.author_id = u.user_id
|
|
||||||
AND t.folder_id = " . PRIVMSGS_NO_BOX . '
|
|
||||||
AND t.msg_id = p.msg_id';
|
|
||||||
$result = $db->sql_query($sql);
|
|
||||||
|
|
||||||
$action_ary = $move_into_folder = array();
|
|
||||||
while ($row = $db->sql_fetchrow($result))
|
|
||||||
{
|
|
||||||
$row['to'] = explode(':', $row['to_address']);
|
|
||||||
$row['bcc'] = explode(':', $row['bcc_address']);
|
|
||||||
$row['friend'] = (isset($zebra[$row['author_id']])) ? $zebra[$row['author_id']]['friend'] : 0;
|
|
||||||
$row['foe'] = (isset($zebra[$row['author_id']])) ? $zebra[$row['author_id']]['foe'] : 0;
|
|
||||||
$row['user_in_group'] = $user->data['group_id'];
|
|
||||||
|
|
||||||
// Check Rule - this should be very quick since we have all informations we need
|
|
||||||
$is_match = false;
|
|
||||||
foreach ($user_rules as $rule_row)
|
|
||||||
{
|
{
|
||||||
if (($action = check_rule($global_privmsgs_rules, $rule_row, $row, $user_id)) !== false)
|
$check_rows[] = array_merge($row, array(
|
||||||
|
'to' => explode(':', $row['to_address']),
|
||||||
|
'bcc' => explode(':', $row['bcc_address']),
|
||||||
|
'friend' => (isset($zebra[$row['author_id']])) ? $zebra[$row['author_id']]['friend'] : 0,
|
||||||
|
'foe' => (isset($zebra[$row['author_id']])) ? $zebra[$row['author_id']]['foe'] : 0,
|
||||||
|
'user_in_group' => array($user->data['group_id']),
|
||||||
|
'author_in_group' => array())
|
||||||
|
);
|
||||||
|
|
||||||
|
$user_ids[] = $row['user_id'];
|
||||||
|
}
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
// Retrieve user memberships
|
||||||
|
if (sizeof($user_ids))
|
||||||
|
{
|
||||||
|
$sql = 'SELECT *
|
||||||
|
FROM ' . USER_GROUP_TABLE . '
|
||||||
|
WHERE user_id IN (' . implode(', ', $user_ids) . ')';
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
|
while ($row = $db->sql_fetchrow($result))
|
||||||
{
|
{
|
||||||
$is_match = true;
|
$memberships[$row['user_id']][] = $row['group_id'];
|
||||||
$action_ary[$row['msg_id']][] = $action;
|
}
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now place into the appropiate folder
|
||||||
|
foreach ($check_rows as $row)
|
||||||
|
{
|
||||||
|
// Add membership if set
|
||||||
|
if (isset($memberships[$row['author_id']]))
|
||||||
|
{
|
||||||
|
$row['author_in_group'] = $memberships[$row['user_id']];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check Rule - this should be very quick since we have all informations we need
|
||||||
|
$is_match = false;
|
||||||
|
foreach ($user_rules as $rule_row)
|
||||||
|
{
|
||||||
|
if (($action = check_rule($global_privmsgs_rules, $rule_row, $row, $user_id)) !== false)
|
||||||
|
{
|
||||||
|
$is_match = true;
|
||||||
|
$action_ary[$row['msg_id']][] = $action;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$is_match)
|
||||||
|
{
|
||||||
|
$action_ary[$row['msg_id']][] = array('action' => false);
|
||||||
|
$move_into_folder[PRIVMSGS_INBOX][] = $row['msg_id'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$is_match)
|
unset($user_rules, $zebra, $check_rows, $user_ids, $memberships);
|
||||||
{
|
|
||||||
$action_ary[$row['msg_id']][] = array('action' => false);
|
|
||||||
$move_into_folder[PRIVMSGS_INBOX][] = $row['msg_id'];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
$db->sql_freeresult($result);
|
|
||||||
|
|
||||||
// We place actions into arrays, to save queries.
|
// We place actions into arrays, to save queries.
|
||||||
$num_new = $num_unread = 0;
|
$num_new = $num_unread = 0;
|
||||||
|
@ -388,7 +442,7 @@ function place_pm_into_folder(&$global_privmsgs_rules, $release = false)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($rule_ary['action'])
|
switch ($rule_ary['action'])
|
||||||
{
|
{
|
||||||
case ACTION_PLACE_INTO_FOLDER:
|
case ACTION_PLACE_INTO_FOLDER:
|
||||||
|
|
|
@ -160,6 +160,7 @@ class ucp_attachments
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->tpl_name = 'ucp_attachments';
|
$this->tpl_name = 'ucp_attachments';
|
||||||
|
$this->page_title = 'UCP_ATTACHMENTS';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -514,6 +514,8 @@ class ucp_groups
|
||||||
|
|
||||||
if (!($error = group_create($group_id, $group_type, $group_name, $group_desc, $group_attributes, $allow_desc_bbcode, $allow_desc_urls, $allow_desc_smilies)))
|
if (!($error = group_create($group_id, $group_type, $group_name, $group_desc, $group_attributes, $allow_desc_bbcode, $allow_desc_urls, $allow_desc_smilies)))
|
||||||
{
|
{
|
||||||
|
$cache->destroy('sql', GROUPS_TABLE);
|
||||||
|
|
||||||
$message = ($action == 'edit') ? 'GROUP_UPDATED' : 'GROUP_CREATED';
|
$message = ($action == 'edit') ? 'GROUP_UPDATED' : 'GROUP_CREATED';
|
||||||
trigger_error($user->lang[$message] . $return_page);
|
trigger_error($user->lang[$message] . $return_page);
|
||||||
}
|
}
|
||||||
|
@ -919,6 +921,7 @@ class ucp_groups
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->tpl_name = 'ucp_groups_' . $mode;
|
$this->tpl_name = 'ucp_groups_' . $mode;
|
||||||
|
$this->page_title = 'UCP_GROUPS_' . strtoupper($mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -181,6 +181,7 @@ class ucp_main
|
||||||
case 'subscribed':
|
case 'subscribed':
|
||||||
|
|
||||||
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
|
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
|
||||||
|
|
||||||
$user->add_lang('viewforum');
|
$user->add_lang('viewforum');
|
||||||
|
|
||||||
$unwatch = (isset($_POST['unwatch'])) ? true : false;
|
$unwatch = (isset($_POST['unwatch'])) ? true : false;
|
||||||
|
@ -464,6 +465,7 @@ class ucp_main
|
||||||
}
|
}
|
||||||
|
|
||||||
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
|
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
|
||||||
|
|
||||||
$user->add_lang('viewforum');
|
$user->add_lang('viewforum');
|
||||||
|
|
||||||
$move_up = request_var('move_up', 0);
|
$move_up = request_var('move_up', 0);
|
||||||
|
@ -785,6 +787,7 @@ class ucp_main
|
||||||
|
|
||||||
// Set desired template
|
// Set desired template
|
||||||
$this->tpl_name = 'ucp_main_' . $mode;
|
$this->tpl_name = 'ucp_main_' . $mode;
|
||||||
|
$this->page_title = 'UCP_MAIN_' . strtoupper($mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,7 @@ class ucp_pm
|
||||||
$sql = 'SELECT group_message_limit
|
$sql = 'SELECT group_message_limit
|
||||||
FROM ' . GROUPS_TABLE . '
|
FROM ' . GROUPS_TABLE . '
|
||||||
WHERE group_id = ' . $user->data['group_id'];
|
WHERE group_id = ' . $user->data['group_id'];
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql, 3600);
|
||||||
$message_limit = (int) $db->sql_fetchfield('group_message_limit');
|
$message_limit = (int) $db->sql_fetchfield('group_message_limit');
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ class ucp_pm
|
||||||
$sql = 'SELECT group_message_limit
|
$sql = 'SELECT group_message_limit
|
||||||
FROM ' . GROUPS_TABLE . '
|
FROM ' . GROUPS_TABLE . '
|
||||||
WHERE group_id = ' . $user->data['group_id'];
|
WHERE group_id = ' . $user->data['group_id'];
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql, 3600);
|
||||||
$message_limit = (int) $db->sql_fetchfield('group_message_limit');
|
$message_limit = (int) $db->sql_fetchfield('group_message_limit');
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
@ -401,6 +401,7 @@ class ucp_pm
|
||||||
|
|
||||||
// Set desired template
|
// Set desired template
|
||||||
$this->tpl_name = $tpl_file;
|
$this->tpl_name = $tpl_file;
|
||||||
|
$this->page_title = 'UCP_PM_' . strtoupper($mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -741,7 +741,8 @@ function show_defined_rules($user_id, $check_lang, $rule_lang, $action_lang, $fo
|
||||||
|
|
||||||
$sql = 'SELECT *
|
$sql = 'SELECT *
|
||||||
FROM ' . PRIVMSGS_RULES_TABLE . '
|
FROM ' . PRIVMSGS_RULES_TABLE . '
|
||||||
WHERE user_id = ' . $user_id;
|
WHERE user_id = ' . $user_id . '
|
||||||
|
ORDER BY rule_id ASC';
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
$count = 0;
|
$count = 0;
|
||||||
|
|
|
@ -342,6 +342,7 @@ class ucp_prefs
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->tpl_name = 'ucp_prefs_' . $mode;
|
$this->tpl_name = 'ucp_prefs_' . $mode;
|
||||||
|
$this->page_title = 'UCP_PREFS_' . strtoupper($mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -672,6 +672,7 @@ class ucp_profile
|
||||||
|
|
||||||
// Set desired template
|
// Set desired template
|
||||||
$this->tpl_name = 'ucp_profile_' . $mode;
|
$this->tpl_name = 'ucp_profile_' . $mode;
|
||||||
|
$this->page_title = 'UCP_PROFILE_' . strtoupper($mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -470,6 +470,7 @@ class ucp_register
|
||||||
|
|
||||||
//
|
//
|
||||||
$this->tpl_name = 'ucp_register';
|
$this->tpl_name = 'ucp_register';
|
||||||
|
$this->page_title = 'UCP_REGISTRATION';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,7 @@ class ucp_remind
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->tpl_name = 'ucp_remind';
|
$this->tpl_name = 'ucp_remind';
|
||||||
|
$this->page_title = 'UCP_REMIND';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -140,6 +140,7 @@ class ucp_resend
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->tpl_name = 'ucp_resend';
|
$this->tpl_name = 'ucp_resend';
|
||||||
|
$this->page_title = 'UCP_RESEND';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -210,6 +210,7 @@ class ucp_zebra
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->tpl_name = 'ucp_zebra_' . $mode;
|
$this->tpl_name = 'ucp_zebra_' . $mode;
|
||||||
|
$this->page_title = 'UCP_ZEBRA_' . strtoupper($mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,6 +94,7 @@ $lang = array_merge($lang, array(
|
||||||
'CHANGE' => 'Change',
|
'CHANGE' => 'Change',
|
||||||
'CLICK_VIEW_PRIVMSG' => '%sReturn to your Inbox%s',
|
'CLICK_VIEW_PRIVMSG' => '%sReturn to your Inbox%s',
|
||||||
'CLOSE_WINDOW' => 'Close window',
|
'CLOSE_WINDOW' => 'Close window',
|
||||||
|
'COLOUR_SWATCH' => 'Colour swatch',
|
||||||
'CONFIRM' => 'Confirm',
|
'CONFIRM' => 'Confirm',
|
||||||
'CONFIRM_CODE' => 'Confirmation code',
|
'CONFIRM_CODE' => 'Confirmation code',
|
||||||
'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as you see it in the image, it is case insensitive.',
|
'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as you see it in the image, it is case insensitive.',
|
||||||
|
|
|
@ -477,7 +477,7 @@ $lang = array_merge($lang, array(
|
||||||
'ANSWERED' => 'answered',
|
'ANSWERED' => 'answered',
|
||||||
'FORWARDED' => 'forwarded',
|
'FORWARDED' => 'forwarded',
|
||||||
'REPORTED' => 'reported',
|
'REPORTED' => 'reported',
|
||||||
'TO_GROUP' => 'to usergroup',
|
'TO_GROUP' => 'to my default usergroup',
|
||||||
'TO_ME' => 'to me'
|
'TO_ME' => 'to me'
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
|
@ -218,8 +218,8 @@ $module->load_active();
|
||||||
// Assign data to the template engine for the list of modules
|
// Assign data to the template engine for the list of modules
|
||||||
$module->assign_tpl_vars(append_sid("{$phpbb_root_path}mcp.$phpEx"));
|
$module->assign_tpl_vars(append_sid("{$phpbb_root_path}mcp.$phpEx"));
|
||||||
|
|
||||||
// Generate the page
|
// Generate the page, do not display/query online list
|
||||||
$module->display($module->get_page_title());
|
$module->display($module->get_page_title(), false);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -111,7 +111,8 @@ switch ($mode)
|
||||||
'body' => 'ucp_agreement.html')
|
'body' => 'ucp_agreement.html')
|
||||||
);
|
);
|
||||||
|
|
||||||
page_header($user->lang[$title]);
|
// Disable online list
|
||||||
|
page_header($user->lang[$title], false);
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
'S_AGREEMENT' => true,
|
'S_AGREEMENT' => true,
|
||||||
|
@ -318,15 +319,8 @@ $module->load_active();
|
||||||
// Assign data to the template engine for the list of modules
|
// Assign data to the template engine for the list of modules
|
||||||
$module->assign_tpl_vars(append_sid("{$phpbb_root_path}ucp.$phpEx"));
|
$module->assign_tpl_vars(append_sid("{$phpbb_root_path}ucp.$phpEx"));
|
||||||
|
|
||||||
// Generate the page
|
// Generate the page, do not display/query online list
|
||||||
page_header($user->lang['UCP_MAIN']);
|
$module->display($module->get_page_title(), false);
|
||||||
|
|
||||||
$template->set_filenames(array(
|
|
||||||
'body' => $module->get_tpl_name())
|
|
||||||
);
|
|
||||||
|
|
||||||
page_footer();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function for assigning a template var if the zebra module got included
|
* Function for assigning a template var if the zebra module got included
|
||||||
|
|
Loading…
Add table
Reference in a new issue