diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 75174dadee..dadad76e91 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -1744,8 +1744,8 @@ function page_header($page_title = '')
$l_privmsgs_text = $l_privmsgs_text_unread = '';
$s_privmsg_new = false;
- // Obtain number of new private messages if user is logged in, not if in trigger_error
- if (!defined('IN_ERROR_HANDLER') && $user->data['is_registered'])
+ // Obtain number of new private messages if user is logged in
+ if ($user->data['is_registered'])
{
if ($user->data['user_new_privmsg'])
{
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index a15b92a344..eaca6a4cb4 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -923,9 +923,9 @@ class user extends session
// - add appropiate variables here, name them as they are used within the language file...
if (!$use_db)
{
- if ( (@include $this->lang_path . (($use_help) ? 'help_' : '') . "$lang_file.$phpEx") === FALSE )
+ if ((include($this->lang_path . (($use_help) ? 'help_' : '') . "$lang_file.$phpEx")) === false)
{
- trigger_error("Language file " . $this->lang_path . (($use_help) ? 'help_' : '') . "$lang_file.$phpEx" . " couldn't be opened.");
+ trigger_error("Language file {$this->lang_path}" . (($use_help) ? 'help_' : '') . "$lang_file.$phpEx couldn't be opened.");
}
}
else if ($use_db)
diff --git a/phpBB/includes/template.php b/phpBB/includes/template.php
index 986c5641d3..1e230dd311 100644
--- a/phpBB/includes/template.php
+++ b/phpBB/includes/template.php
@@ -275,10 +275,10 @@ class template
$str = &$str[sizeof($str) - 1];
}
- $vararray['S_ROW_COUNT'] = sizeof($str[$blocks[$blockcount]]);
+ $vararray['S_ROW_COUNT'] = isset($str[$blocks[$blockcount]]) ? sizeof($str[$blocks[$blockcount]]) : 0;
// Assign S_FIRST_ROW
- if (sizeof($str[$blocks[$blockcount]]) == 0)
+ if (!isset($str[$blocks[$blockcount]]) || sizeof($str[$blocks[$blockcount]]) == 0)
{
$vararray['S_FIRST_ROW'] = true;
}
@@ -286,7 +286,7 @@ class template
// Now the tricky part, we always assign S_LAST_ROW and remove the entry before
// This is much more clever than going through the complete template data on display (phew)
$vararray['S_LAST_ROW'] = true;
- if (sizeof($str[$blocks[$blockcount]]) > 0)
+ if (isset($str[$blocks[$blockcount]]) && sizeof($str[$blocks[$blockcount]]) > 0)
{
unset($str[$blocks[$blockcount]][sizeof($str[$blocks[$blockcount]]) - 1]['S_LAST_ROW']);
}
@@ -299,17 +299,17 @@ class template
else
{
// Top-level block.
- $vararray['S_ROW_COUNT'] = sizeof($this->_tpldata[$blockname]);
+ $vararray['S_ROW_COUNT'] = (isset($this->_tpldata[$blockname])) ? sizeof($this->_tpldata[$blockname]) : 0;
// Assign S_FIRST_ROW
- if (sizeof($this->_tpldata[$blockname]) == 0)
+ if (!isset($this->_tpldata[$blockname]) || sizeof($this->_tpldata[$blockname]) == 0)
{
$vararray['S_FIRST_ROW'] = true;
}
// We always assign S_LAST_ROW and remove the entry before
$vararray['S_LAST_ROW'] = true;
- if (sizeof($this->_tpldata[$blockname]) > 0)
+ if (isset($this->_tpldata[$blockname]) && sizeof($this->_tpldata[$blockname]) > 0)
{
unset($this->_tpldata[$blockname][sizeof($this->_tpldata[$blockname]) - 1]['S_LAST_ROW']);
}
@@ -635,8 +635,8 @@ class template
$text_blocks = preg_replace('#\{L_([A-Z0-9\-_]*?)\}#e', "'_tpldata[\'.\'][0][\'L_\\1\'])) ? \$this->_tpldata[\'.\'][0][\'L_\\1\'] : \'' . ((isset(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '') . '\'); ?>'" , $text_blocks);
}
- $text_blocks = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "_tpldata['.'][0]['\\1']; ?>", $text_blocks);
- $text_blocks = preg_replace('#\{\$([a-z0-9\-_]*?)\}#is', "_tpldata['DEFINE']['.']['\\1']; ?>", $text_blocks);
+ $text_blocks = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "_tpldata['.'][0]['\\1'])) ? \$this->_tpldata['.'][0]['\\1'] : ''; ?>", $text_blocks);
+ $text_blocks = preg_replace('#\{\$([a-z0-9\-_]*?)\}#is', "_tpldata['DEFINE']['.']['\\1'])) ? \$this->_tpldata['DEFINE']['.']['\\1'] : ''; ?>", $text_blocks);
return;
}
@@ -709,13 +709,13 @@ class template
return $tag_template_php;
}
- //
- // Compile IF tags - much of this is from Smarty with
- // some adaptions for our block level methods
- //
+ /**
+ * Compile IF tags - much of this is from Smarty with
+ * some adaptions for our block level methods
+ */
function compile_tag_if($tag_args, $elseif)
{
- /* Tokenize args for 'if' tag. */
+ // Tokenize args for 'if' tag.
preg_match_all('/(?:
"[^"\\\\]*(?:\\\\.[^"\\\\]*)*" |
\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\' |
@@ -823,7 +823,8 @@ class template
}
else if (preg_match('#^\.((([a-z0-9\-_]+)?\.?)+?)$#s', $token, $varrefs))
{
- $token = 'sizeof(' . $this->generate_block_data_ref($varrefs[1], false) . ')';
+ $_tok = $this->generate_block_data_ref($varrefs[1], false);
+ $token = "(isset($_tok) && sizeof($_tok))";
}
break;
diff --git a/phpBB/includes/ucp/ucp_pm.php b/phpBB/includes/ucp/ucp_pm.php
index d16cf4e9fa..b1ffc4f79b 100644
--- a/phpBB/includes/ucp/ucp_pm.php
+++ b/phpBB/includes/ucp/ucp_pm.php
@@ -99,7 +99,8 @@ class ucp_pm
'CLICK_TO_VIEW' => sprintf($user->lang['CLICK_VIEW_PRIVMSG'], '', ''),
'U_INBOX' => "{$phpbb_root_path}ucp.$phpEx$SID&i=pm&folder=inbox")
);
-
+
+ $tpl_file = 'ucp_pm_popup';
break;
// Compose message
@@ -155,7 +156,7 @@ class ucp_pm
case 'unread':
case 'view':
-
+
$sql = 'SELECT group_message_limit
FROM ' . GROUPS_TABLE . '
WHERE group_id = ' . $user->data['group_id'];
@@ -251,7 +252,7 @@ class ucp_pm
}
$message_row = array();
- if ($mode == 'view' && $action == 'view_message' && $msg_id)
+ if ($action == 'view_message' && $msg_id)
{
// Get Message user want to see
@@ -384,4 +385,35 @@ class ucp_pm
}
}
+/**
+* @package module_install
+*/
+class ucp_pm_info
+{
+ function module()
+ {
+ return array(
+ 'filename' => 'ucp_pm',
+ 'title' => 'UCP_PM',
+ 'version' => '1.0.0',
+ 'modes' => array(
+ 'view' => array('title' => 'UCP_PM_VIEW', 'auth' => 'cfg_allow_privmsg'),
+ 'compose' => array('title' => 'UCP_PM_COMPOSE', 'auth' => 'cfg_allow_privmsg'),
+ 'unread' => array('title' => 'UCP_PM_UNREAD', 'auth' => 'cfg_allow_privmsg'),
+ 'drafts' => array('title' => 'UCP_PM_DRAFTS', 'auth' => 'cfg_allow_privmsg'),
+ 'options' => array('title' => 'UCP_PM_OPTIONS', 'auth' => 'cfg_allow_privmsg'),
+ 'popup' => array('title' => 'UCP_PM_POPUP_TITLE', 'auth' => 'cfg_allow_privmsg', 'display' => 0),
+ ),
+ );
+ }
+
+ function install()
+ {
+ }
+
+ function uninstall()
+ {
+ }
+}
+
?>
\ No newline at end of file
diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php
index ce8282bbbd..1c14f917d5 100644
--- a/phpBB/includes/ucp/ucp_pm_compose.php
+++ b/phpBB/includes/ucp/ucp_pm_compose.php
@@ -99,7 +99,7 @@ function compose_pm($id, $mode, $action)
if ($action == 'quotepost')
{
- $sql = 'SELECT p.post_text as message_text, p.poster_id as author_id, p.post_time as message_time, p.bbcode_bitfield, p.bbcode_uid, p.enable_sig, p.enable_html, p.enable_smilies, p.enable_magic_url, t.topic_title as message_subject, u.username as quote_username
+ $sql = 'SELECT p.post_id as msg_id, p.post_text as message_text, p.poster_id as author_id, p.post_time as message_time, p.bbcode_bitfield, p.bbcode_uid, p.enable_sig, p.enable_html, p.enable_smilies, p.enable_magic_url, t.topic_title as message_subject, u.username as quote_username
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t, ' . USERS_TABLE . " u
WHERE p.post_id = $msg_id
AND t.topic_id = p.topic_id
@@ -179,15 +179,17 @@ function compose_pm($id, $mode, $action)
$msg_id = (int) $post['msg_id'];
$enable_urls = $post['enable_magic_url'];
+ $enable_sig = (isset($post['enable_sig'])) ? $post['enable_sig'] : 0;
- $message_attachment = $post['message_attachement'];
+ $message_attachment = (isset($post['message_attachement'])) ? $post['message_attachement'] : 0;
$message_text = $post['message_text'];
$message_subject = $post['message_subject'];
$quote_username = $post['quote_username'];
$message_time = $post['message_time'];
- $icon_id = $post['icon_id'];
- $folder_id = $post['folder_id'];
+ $icon_id = (isset($post['icon_id'])) ? $post['icon_id'] : 0;
+ $folder_id = (isset($post['folder_id'])) ? $post['folder_id'] : 0;
+ $bbcode_uid = $post['bbcode_uid'];
if (!$post['author_id'] && $msg_id)
{
@@ -204,7 +206,14 @@ function compose_pm($id, $mode, $action)
$address_list = rebuild_header(array('to' => $post['to_address'], 'bcc' => $post['bcc_address']));
}
- $check_value = (($post['enable_html']+1) << 16) + (($post['enable_bbcode']+1) << 8) + (($post['enable_smilies']+1) << 4) + (($enable_urls+1) << 2) + (($post['enable_sig']+1) << 1);
+ if ($action == 'quotepost')
+ {
+ $check_value = 0;
+ }
+ else
+ {
+ $check_value = (($post['enable_html']+1) << 16) + (($post['enable_bbcode']+1) << 8) + (($post['enable_smilies']+1) << 4) + (($enable_urls+1) << 2) + (($post['enable_sig']+1) << 1);
+ }
}
else
{
@@ -308,7 +317,7 @@ function compose_pm($id, $mode, $action)
$db->sql_freeresult($result);
}
- if (!in_array($action, array('quote', 'quotepost', 'edit', 'delete', 'forward')))
+ if (!in_array($action, array('quote', 'edit', 'delete', 'forward')))
{
$enable_sig = ($config['allow_sig'] && $auth->acl_get('u_sig') && $user->optionget('attachsig'));
$enable_smilies = ($config['allow_smilies'] && $auth->acl_get('u_pm_smilies') && $user->optionget('smilies'));
@@ -578,7 +587,7 @@ function compose_pm($id, $mode, $action)
}
// Decode text for message display
- $bbcode_uid = (($action == 'quote' || $action == 'forward' || $action == 'quotepost') && !$preview && !$refresh && !sizeof($error)) ? $bbcode_uid : $message_parser->bbcode_uid;
+ $bbcode_uid = (($action == 'quote' || $action == 'forward') && !$preview && !$refresh && !sizeof($error)) ? $bbcode_uid : $message_parser->bbcode_uid;
$message_parser->decode_message($bbcode_uid);
@@ -603,7 +612,7 @@ function compose_pm($id, $mode, $action)
if ($action == 'forward' && !$preview && !$refresh)
{
- $fwd_to_field = write_pm_addresses(array('to' => $to_address), 0, true);
+ $fwd_to_field = write_pm_addresses(array('to' => $post['to_address']), 0, true);
$forward_text = array();
$forward_text[] = $user->lang['FWD_ORIGINAL_MESSAGE'];
@@ -612,7 +621,7 @@ function compose_pm($id, $mode, $action)
$forward_text[] = sprintf($user->lang['FWD_FROM'], $quote_username);
$forward_text[] = sprintf($user->lang['FWD_TO'], implode(', ', $fwd_to_field['to']));
- $message_parser->message = implode("\n", $forward_text) . "\n\n[quote=\"[url=" . generate_board_url() . "/memberlist.$phpEx$SID&mode=viewprofile&u={$author_id}]{$quote_username}[/url]\"]\n" . censor_text(trim($message_parser->message)) . "\n[/quote]";
+ $message_parser->message = implode("\n", $forward_text) . "\n\n[quote=\"[url=" . generate_board_url() . "/memberlist.$phpEx$SID&mode=viewprofile&u={$post['author_id']}]{$quote_username}[/url]\"]\n" . censor_text(trim($message_parser->message)) . "\n[/quote]";
$message_subject = ((!preg_match('/^Fwd:/', $message_subject)) ? 'Fwd: ' : '') . censor_text($message_subject);
}
diff --git a/phpBB/install/install.php b/phpBB/install/install.php
index 568a55df3f..5d1496036a 100644
--- a/phpBB/install/install.php
+++ b/phpBB/install/install.php
@@ -341,7 +341,7 @@ if ($stage == 0)
$php_version = phpversion();
- if (version_compare($php_version, '4.1.0') < 0)
+ if (version_compare($php_version, '4.3.3') < 0)
{
$passed['db'] = false;
echo '' . $lang['NO'] . '';