mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
- fixed a few bugs
- added user_add() function - check posted images ([img]) for same domain/scipt and php files - auth_api.html updated to the coding guidelines look&feel - introduced ability to force non page-updates (cron is using it) - correctly resend coppa email git-svn-id: file:///svn/phpbb/trunk@6048 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -15,9 +15,12 @@
|
||||
*/
|
||||
class ucp_activate
|
||||
{
|
||||
var $u_action;
|
||||
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx;
|
||||
global $config, $phpbb_root_path, $phpEx;
|
||||
global $db, $user, $auth, $template;
|
||||
|
||||
$user_id = request_var('u', 0);
|
||||
$key = request_var('k', '');
|
||||
@@ -26,60 +29,64 @@ class ucp_activate
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE user_id = $user_id";
|
||||
$result = $db->sql_query($sql);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$user_row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!$row)
|
||||
if (!$user_row)
|
||||
{
|
||||
trigger_error($user->lang['NO_USER']);
|
||||
trigger_error('NO_USER');
|
||||
}
|
||||
|
||||
if ($row['user_type'] <> USER_INACTIVE && !$row['user_newpasswd'])
|
||||
if ($user_row['user_type'] <> USER_INACTIVE && !$user_row['user_newpasswd'])
|
||||
{
|
||||
meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));
|
||||
trigger_error($user->lang['ALREADY_ACTIVATED']);
|
||||
}
|
||||
|
||||
if ($row['user_actkey'] != $key)
|
||||
{
|
||||
trigger_error($user->lang['WRONG_ACTIVATION']);
|
||||
trigger_error('ALREADY_ACTIVATED');
|
||||
}
|
||||
|
||||
$update_password = ($row['user_newpasswd']) ? true : false;
|
||||
if ($user_row['user_actkey'] != $key)
|
||||
{
|
||||
trigger_error('WRONG_ACTIVATION');
|
||||
}
|
||||
|
||||
$update_password = ($user_row['user_newpasswd']) ? true : false;
|
||||
|
||||
if ($update_password)
|
||||
{
|
||||
$sql_ary = array(
|
||||
'user_type' => USER_NORMAL,
|
||||
'user_actkey' => '',
|
||||
'user_password' => $row['user_newpasswd'],
|
||||
'user_password' => $user_row['user_newpasswd'],
|
||||
'user_newpasswd' => ''
|
||||
);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
|
||||
WHERE user_id = ' . $row['user_id'];
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
|
||||
WHERE user_id = ' . $user_row['user_id'];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
// TODO: check for group membership after password update... active_flip there too
|
||||
if (!$update_password)
|
||||
{
|
||||
// Now we need to demote the user from the inactive group and add him to the registered group
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
|
||||
user_active_flip($row['user_id'], $row['user_type'], '', $row['username'], true);
|
||||
|
||||
// Now we need to demote the user from the inactive group and add him to the registered group
|
||||
user_active_flip($user_row['user_id'], $user_row['user_type'], '', $user_row['username'], true);
|
||||
|
||||
// Update last username
|
||||
update_last_username();
|
||||
set_config('num_users', $config['num_users'] + 1, true);
|
||||
}
|
||||
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN && !$update_password)
|
||||
{
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$messenger = new messenger();
|
||||
$messenger = new messenger(false);
|
||||
|
||||
$messenger->template('admin_welcome_activated', $row['user_lang']);
|
||||
$messenger->template('admin_welcome_activated', $user_row['user_lang']);
|
||||
|
||||
$messenger->replyto($config['board_contact']);
|
||||
$messenger->to($row['user_email'], $row['username']);
|
||||
$messenger->to($user_row['user_email'], $user_row['username']);
|
||||
|
||||
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
|
||||
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
|
||||
@@ -88,13 +95,12 @@ class ucp_activate
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
'SITENAME' => $config['sitename'],
|
||||
'USERNAME' => html_entity_decode($row['username']),
|
||||
'USERNAME' => html_entity_decode($user_row['username']),
|
||||
|
||||
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']))
|
||||
);
|
||||
|
||||
$messenger->send($row['user_notify_type']);
|
||||
$messenger->save_queue();
|
||||
$messenger->send($user_row['user_notify_type']);
|
||||
|
||||
$message = 'ACCOUNT_ACTIVE_ADMIN';
|
||||
}
|
||||
@@ -103,26 +109,6 @@ class ucp_activate
|
||||
$message = (!$update_password) ? 'ACCOUNT_ACTIVE' : 'PASSWORD_ACTIVATED';
|
||||
}
|
||||
|
||||
if (!$update_password)
|
||||
{
|
||||
// Get latest username
|
||||
$sql = 'SELECT user_id, username
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')
|
||||
ORDER BY user_id DESC';
|
||||
$result = $db->sql_query_limit($sql, 1);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($row)
|
||||
{
|
||||
set_config('newest_user_id', $row['user_id'], true);
|
||||
set_config('newest_username', $row['username'], true);
|
||||
}
|
||||
|
||||
set_config('num_users', $config['num_users'] + 1, true);
|
||||
}
|
||||
|
||||
meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));
|
||||
trigger_error($user->lang[$message]);
|
||||
}
|
||||
|
@@ -28,10 +28,12 @@ class ucp_attachments
|
||||
$delete = (isset($_POST['delete'])) ? true : false;
|
||||
$confirm = (isset($_POST['confirm'])) ? true : false;
|
||||
$delete_ids = isset($_REQUEST['attachment']) ? array_keys(array_map('intval', $_REQUEST['attachment'])) : array();
|
||||
|
||||
|
||||
if ($delete && sizeof($delete_ids))
|
||||
{
|
||||
$s_hidden_fields = array('delete' => 1);
|
||||
$s_hidden_fields = array(
|
||||
'delete' => 1
|
||||
);
|
||||
|
||||
foreach ($delete_ids as $attachment_id)
|
||||
{
|
||||
@@ -55,13 +57,13 @@ class ucp_attachments
|
||||
confirm_box(false, (sizeof($delete_ids) == 1) ? 'DELETE_ATTACHMENT' : 'DELETE_ATTACHMENTS', build_hidden_fields($s_hidden_fields));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Select box eventually
|
||||
$sort_key_text = array('a' => $user->lang['SORT_FILENAME'], 'b' => $user->lang['SORT_COMMENT'], 'c' => $user->lang['SORT_EXTENSION'], 'd' => $user->lang['SORT_SIZE'], 'e' => $user->lang['SORT_DOWNLOADS'], 'f' => $user->lang['SORT_POST_TIME'], 'g' => $user->lang['SORT_TOPIC_TITLE']);
|
||||
$sort_key_sql = array('a' => 'a.real_filename', 'b' => 'a.comment', 'c' => 'a.extension', 'd' => 'a.filesize', 'e' => 'a.download_count', 'f' => 'a.filetime', 'g' => 't.topic_title');
|
||||
|
||||
$sort_dir_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']);
|
||||
|
||||
|
||||
$s_sort_key = '';
|
||||
foreach ($sort_key_text as $key => $value)
|
||||
{
|
||||
@@ -77,20 +79,18 @@ class ucp_attachments
|
||||
}
|
||||
|
||||
$order_by = $sort_key_sql[$sort_key] . ' ' . (($sort_dir == 'a') ? 'ASC' : 'DESC');
|
||||
|
||||
|
||||
$sql = 'SELECT COUNT(attach_id) as num_attachments
|
||||
FROM ' . ATTACHMENTS_TABLE . '
|
||||
WHERE poster_id = ' . $user->data['user_id'];
|
||||
$result = $db->sql_query_limit($sql, 1);
|
||||
$result = $db->sql_query($sql);
|
||||
$num_attachments = $db->sql_fetchfield('num_attachments');
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
|
||||
$sql = 'SELECT a.*, t.topic_title, p.message_subject as message_title
|
||||
FROM ' . ATTACHMENTS_TABLE . ' a
|
||||
LEFT JOIN ' . TOPICS_TABLE . ' t ON (a.topic_id = t.topic_id
|
||||
AND a.in_message = 0)
|
||||
LEFT JOIN ' . PRIVMSGS_TABLE . ' p ON (a.post_msg_id = p.msg_id
|
||||
AND a.in_message = 1)
|
||||
LEFT JOIN ' . TOPICS_TABLE . ' t ON (a.topic_id = t.topic_id AND a.in_message = 0)
|
||||
LEFT JOIN ' . PRIVMSGS_TABLE . ' p ON (a.post_msg_id = p.msg_id AND a.in_message = 1)
|
||||
WHERE a.poster_id = ' . $user->data['user_id'] . "
|
||||
ORDER BY $order_by";
|
||||
$result = $db->sql_query_limit($sql, $config['posts_per_page'], $start);
|
||||
@@ -124,7 +124,7 @@ class ucp_attachments
|
||||
'ATTACH_ID' => $row['attach_id'],
|
||||
'POST_ID' => $row['post_msg_id'],
|
||||
'TOPIC_ID' => $row['topic_id'],
|
||||
|
||||
|
||||
'S_IN_MESSAGE' => $row['in_message'],
|
||||
|
||||
'U_VIEW_ATTACHMENT' => append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $row['attach_id']),
|
||||
@@ -146,7 +146,7 @@ class ucp_attachments
|
||||
|
||||
'U_SORT_FILENAME' => $this->u_action . "&sk=a&sd=" . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a'),
|
||||
'U_SORT_FILE_COMMENT' => $this->u_action . "&sk=b&sd=" . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a'),
|
||||
'U_SORT_EXTENSION' => $this->u_action . "&i=$id&sk=c&sd=" . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a'),
|
||||
'U_SORT_EXTENSION' => $this->u_action . "&sk=c&sd=" . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a'),
|
||||
'U_SORT_FILESIZE' => $this->u_action . "&sk=d&sd=" . (($sort_key == 'd' && $sort_dir == 'a') ? 'd' : 'a'),
|
||||
'U_SORT_DOWNLOADS' => $this->u_action . "&sk=e&sd=" . (($sort_key == 'e' && $sort_dir == 'a') ? 'd' : 'a'),
|
||||
'U_SORT_POST_TIME' => $this->u_action . "&sk=f&sd=" . (($sort_key == 'f' && $sort_dir == 'a') ? 'd' : 'a'),
|
||||
|
@@ -22,6 +22,8 @@
|
||||
*/
|
||||
class ucp_confirm
|
||||
{
|
||||
var $u_action;
|
||||
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $db, $user, $phpbb_root_path, $config, $phpEx;
|
||||
@@ -56,11 +58,7 @@ class ucp_confirm
|
||||
|
||||
if (function_exists('imagettfbbox') && function_exists('imagettftext'))
|
||||
{
|
||||
$policy_modules[] = 'policy_overlap';
|
||||
$policy_modules[] = 'policy_shape';
|
||||
$policy_modules[] = 'policy_cells';
|
||||
$policy_modules[] = 'policy_stencil';
|
||||
$policy_modules[] = 'policy_composite';
|
||||
$policy_modules += array('policy_overlap', 'policy_shape', 'policy_cells', 'policy_stencil', 'policy_composite');
|
||||
}
|
||||
|
||||
foreach ($policy_modules as $key => $name)
|
||||
@@ -87,4 +85,5 @@ class ucp_confirm
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@@ -62,7 +62,7 @@ class ucp_main
|
||||
$sql = 'SELECT forum_id
|
||||
FROM ' . FORUMS_TABLE . '
|
||||
WHERE forum_type = ' . FORUM_POST;
|
||||
|
||||
|
||||
if (sizeof($forum_ary))
|
||||
{
|
||||
$sql .= ' AND forum_id NOT IN ( ' . implode(', ', $forum_ary) . ')';
|
||||
@@ -122,26 +122,26 @@ class ucp_main
|
||||
}
|
||||
|
||||
$template->assign_block_vars('topicrow', array(
|
||||
'FORUM_ID' => $forum_id,
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'FORUM_ID' => $forum_id,
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']),
|
||||
'LAST_POST_AUTHOR' => ($row['topic_last_poster_id'] == ANONYMOUS) ? (($row['topic_last_poster_name'] != '') ? $row['topic_last_poster_name'] . ' ' : $user->lang['GUEST'] . ' ') : $row['topic_last_poster_name'],
|
||||
'TOPIC_TITLE' => censor_text($row['topic_title']),
|
||||
'TOPIC_TYPE' => $topic_type,
|
||||
'LAST_POST_AUTHOR' => ($row['topic_last_poster_id'] == ANONYMOUS) ? (($row['topic_last_poster_name'] != '') ? $row['topic_last_poster_name'] . ' ' : $user->lang['GUEST'] . ' ') : $row['topic_last_poster_name'],
|
||||
'TOPIC_TITLE' => censor_text($row['topic_title']),
|
||||
'TOPIC_TYPE' => $topic_type,
|
||||
|
||||
'LAST_POST_IMG' => $user->img('icon_post_latest', 'VIEW_LATEST_POST'),
|
||||
'NEWEST_POST_IMG' => $user->img('icon_post_newest', 'VIEW_NEWEST_POST'),
|
||||
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
|
||||
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
|
||||
'ATTACH_ICON_IMG' => ($auth->acl_gets('f_download', 'u_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_attach', '') : '',
|
||||
'LAST_POST_IMG' => $user->img('icon_post_latest', 'VIEW_LATEST_POST'),
|
||||
'NEWEST_POST_IMG' => $user->img('icon_post_newest', 'VIEW_NEWEST_POST'),
|
||||
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
|
||||
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
|
||||
'ATTACH_ICON_IMG' => ($auth->acl_gets('f_download', 'u_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_attach', '') : '',
|
||||
|
||||
'S_USER_POSTED' => (!empty($row['topic_posted']) && $row['topic_posted']) ? true : false,
|
||||
'S_UNREAD' => $unread_topic,
|
||||
|
||||
'U_LAST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&t=$topic_id&p=" . $row['topic_last_post_id']) . '#p' . $row['topic_last_post_id'],
|
||||
'U_LAST_POST_AUTHOR'=> ($row['topic_last_poster_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['topic_last_poster_id']) : '',
|
||||
'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&t=$topic_id&view=unread") . '#unread',
|
||||
'U_VIEW_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&t=$topic_id"))
|
||||
'U_LAST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&t=$topic_id&p=" . $row['topic_last_post_id']) . '#p' . $row['topic_last_post_id'],
|
||||
'U_LAST_POST_AUTHOR' => ($row['topic_last_poster_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['topic_last_poster_id']) : '',
|
||||
'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&t=$topic_id&view=unread") . '#unread',
|
||||
'U_VIEW_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&t=$topic_id"))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -174,10 +174,9 @@ class ucp_main
|
||||
// 'S_GROUP_OPTIONS' => $group_options,
|
||||
'S_SHOW_ACTIVITY' => ($config['load_user_activity']) ? true : false,
|
||||
|
||||
'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $user->data['user_id'] . '&sr=posts') : '',
|
||||
)
|
||||
'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $user->data['user_id'] . '&sr=posts') : '')
|
||||
);
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'subscribed':
|
||||
|
||||
@@ -185,7 +184,7 @@ class ucp_main
|
||||
$user->add_lang('viewforum');
|
||||
|
||||
$unwatch = (isset($_POST['unwatch'])) ? true : false;
|
||||
|
||||
|
||||
if ($unwatch)
|
||||
{
|
||||
$forums = (isset($_POST['f'])) ? implode(', ', array_map('intval', array_keys($_POST['f']))) : false;
|
||||
@@ -198,7 +197,7 @@ class ucp_main
|
||||
{
|
||||
$sql = 'DELETE FROM ' . FORUMS_WATCH_TABLE . "
|
||||
WHERE forum_id IN ($forums)
|
||||
AND user_id = " .$user->data['user_id'];
|
||||
AND user_id = " . $user->data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
$l_unwatch .= '_FORUMS';
|
||||
@@ -208,7 +207,7 @@ class ucp_main
|
||||
{
|
||||
$sql = 'DELETE FROM ' . TOPICS_WATCH_TABLE . "
|
||||
WHERE topic_id IN ($topics)
|
||||
AND user_id = " .$user->data['user_id'];
|
||||
AND user_id = " . $user->data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
$l_unwatch .= '_TOPICS';
|
||||
@@ -229,8 +228,8 @@ class ucp_main
|
||||
FORUMS_TABLE => 'f'
|
||||
),
|
||||
|
||||
'WHERE' => "fw.user_id = " . $user->data['user_id'] . '
|
||||
AND f.forum_id = fw.forum_id',
|
||||
'WHERE' => 'fw.user_id = ' . $user->data['user_id'] . '
|
||||
AND f.forum_id = fw.forum_id',
|
||||
|
||||
'ORDER_BY' => 'left_id'
|
||||
);
|
||||
@@ -243,6 +242,7 @@ class ucp_main
|
||||
'ON' => 'ft.user_id = ' . $user->data['user_id'] . ' AND ft.forum_id = f.forum_id'
|
||||
)
|
||||
);
|
||||
|
||||
$sql_array['SELECT'] .= ', ft.mark_time ';
|
||||
}
|
||||
else
|
||||
@@ -297,22 +297,21 @@ class ucp_main
|
||||
}
|
||||
|
||||
$template->assign_block_vars('forumrow', array(
|
||||
'FORUM_ID' => $forum_id,
|
||||
'FORUM_FOLDER_IMG' => $user->img($folder_image, $folder_alt),
|
||||
'FORUM_ID' => $forum_id,
|
||||
'FORUM_FOLDER_IMG' => $user->img($folder_image, $folder_alt),
|
||||
'FORUM_FOLDER_IMG_SRC' => $user->img($folder_image, $folder_alt, false, '', 'src'),
|
||||
'FORUM_NAME' => $row['forum_name'],
|
||||
'LAST_POST_IMG' => $user->img('icon_post_latest', 'VIEW_LATEST_POST'),
|
||||
'LAST_POST_TIME' => $last_post_time,
|
||||
'LAST_POST_AUTHOR' => $last_poster,
|
||||
|
||||
'U_LAST_POST_AUTHOR'=> $last_poster_url,
|
||||
'U_LAST_POST' => $last_post_url,
|
||||
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']))
|
||||
'FORUM_NAME' => $row['forum_name'],
|
||||
'LAST_POST_IMG' => $user->img('icon_post_latest', 'VIEW_LATEST_POST'),
|
||||
'LAST_POST_TIME' => $last_post_time,
|
||||
'LAST_POST_AUTHOR' => $last_poster,
|
||||
|
||||
'U_LAST_POST_AUTHOR' => $last_poster_url,
|
||||
'U_LAST_POST' => $last_post_url,
|
||||
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']))
|
||||
);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
|
||||
// Subscribed Topics
|
||||
$start = request_var('start', 0);
|
||||
|
||||
@@ -331,7 +330,7 @@ class ucp_main
|
||||
'TOTAL_TOPICS' => ($topics_count == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $topics_count))
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
$sql_array = array(
|
||||
'SELECT' => 't.*',
|
||||
|
||||
@@ -340,8 +339,8 @@ class ucp_main
|
||||
TOPICS_TABLE => 't'
|
||||
),
|
||||
|
||||
'WHERE' => "tw.user_id = " . $user->data['user_id'] . '
|
||||
AND t.topic_id = tw.topic_id',
|
||||
'WHERE' => 'tw.user_id = ' . $user->data['user_id'] . '
|
||||
AND t.topic_id = tw.topic_id',
|
||||
|
||||
'ORDER_BY' => 't.topic_last_post_time DESC'
|
||||
);
|
||||
@@ -419,44 +418,43 @@ class ucp_main
|
||||
|
||||
// Send vars to template
|
||||
$template->assign_block_vars('topicrow', array(
|
||||
'FORUM_ID' => $forum_id,
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'TOPIC_AUTHOR' => topic_topic_author($row),
|
||||
'FIRST_POST_TIME' => $user->format_date($row['topic_time']),
|
||||
'FORUM_ID' => $forum_id,
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'TOPIC_AUTHOR' => topic_topic_author($row),
|
||||
'FIRST_POST_TIME' => $user->format_date($row['topic_time']),
|
||||
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']),
|
||||
'LAST_VIEW_TIME' => $user->format_date($row['topic_last_view_time']),
|
||||
'LAST_POST_AUTHOR' => ($row['topic_last_poster_name'] != '') ? $row['topic_last_poster_name'] : $user->lang['GUEST'],
|
||||
'PAGINATION' => topic_generate_pagination($replies, append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . "&t=$topic_id")),
|
||||
'REPLIES' => $replies,
|
||||
'VIEWS' => $row['topic_views'],
|
||||
'TOPIC_TITLE' => censor_text($row['topic_title']),
|
||||
'TOPIC_TYPE' => $topic_type,
|
||||
'LAST_POST_AUTHOR' => ($row['topic_last_poster_name'] != '') ? $row['topic_last_poster_name'] : $user->lang['GUEST'],
|
||||
'PAGINATION' => topic_generate_pagination($replies, append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . "&t=$topic_id")),
|
||||
'REPLIES' => $replies,
|
||||
'VIEWS' => $row['topic_views'],
|
||||
'TOPIC_TITLE' => censor_text($row['topic_title']),
|
||||
'TOPIC_TYPE' => $topic_type,
|
||||
|
||||
'LAST_POST_IMG' => $user->img('icon_post_latest', 'VIEW_LATEST_POST'),
|
||||
'NEWEST_POST_IMG' => $user->img('icon_post_newest', 'VIEW_NEWEST_POST'),
|
||||
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
|
||||
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
|
||||
'TOPIC_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['img'] : '',
|
||||
'LAST_POST_IMG' => $user->img('icon_post_latest', 'VIEW_LATEST_POST'),
|
||||
'NEWEST_POST_IMG' => $user->img('icon_post_newest', 'VIEW_NEWEST_POST'),
|
||||
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
|
||||
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
|
||||
'TOPIC_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['img'] : '',
|
||||
'TOPIC_ICON_IMG_WIDTH' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['width'] : '',
|
||||
'TOPIC_ICON_IMG_HEIGHT' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['height'] : '',
|
||||
'ATTACH_ICON_IMG' => ($auth->acl_gets('f_download', 'u_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
|
||||
'ATTACH_ICON_IMG' => ($auth->acl_gets('f_download', 'u_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
|
||||
|
||||
'S_TOPIC_TYPE' => $row['topic_type'],
|
||||
'S_USER_POSTED' => (!empty($row['topic_posted'])) ? true : false,
|
||||
'S_UNREAD_TOPIC' => $unread_topic,
|
||||
|
||||
'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id&view=unread") . '#unread',
|
||||
'U_LAST_POST' => $view_topic_url . '&p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'],
|
||||
'U_LAST_POST_AUTHOR'=> ($row['topic_last_poster_id'] != ANONYMOUS && $row['topic_last_poster_id']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['topic_last_poster_id']) : '',
|
||||
'U_VIEW_TOPIC' => $view_topic_url)
|
||||
'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id&view=unread") . '#unread',
|
||||
'U_LAST_POST' => $view_topic_url . '&p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'],
|
||||
'U_LAST_POST_AUTHOR' => ($row['topic_last_poster_id'] != ANONYMOUS && $row['topic_last_poster_id']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['topic_last_poster_id']) : '',
|
||||
'U_VIEW_TOPIC' => $view_topic_url)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'bookmarks':
|
||||
|
||||
|
||||
if (!$config['allow_bookmarks'])
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
@@ -492,21 +490,21 @@ class ucp_main
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (isset($_POST['unbookmark']))
|
||||
{
|
||||
$s_hidden_fields = '<input type="hidden" name="unbookmark" value="1" />';
|
||||
$s_hidden_fields = array('unbookmark' => 1);
|
||||
$topics = (isset($_POST['t'])) ? array_map('intval', array_keys($_POST['t'])) : array();
|
||||
$url = $this->u_action;
|
||||
|
||||
|
||||
if (!sizeof($topics))
|
||||
{
|
||||
trigger_error('NO_BOOKMARKS_SELECTED');
|
||||
}
|
||||
|
||||
|
||||
foreach ($topics as $topic_id)
|
||||
{
|
||||
$s_hidden_fields .= '<input type="hidden" name="t[' . $topic_id . ']" value="1" />';
|
||||
$s_hidden_fields['t'][$topic_id] = 1;
|
||||
}
|
||||
|
||||
if (confirm_box(true))
|
||||
@@ -525,10 +523,12 @@ class ucp_main
|
||||
$i = 1;
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$db->sql_query('UPDATE ' . BOOKMARKS_TABLE . "
|
||||
$sql = 'UPDATE ' . BOOKMARKS_TABLE . "
|
||||
SET order_id = $i
|
||||
WHERE topic_id = {$row['topic_id']}
|
||||
AND user_id = {$user->data['user_id']}");
|
||||
AND user_id = {$user->data['user_id']}";
|
||||
$db->sql_query($sql);
|
||||
|
||||
$i++;
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
@@ -539,7 +539,7 @@ class ucp_main
|
||||
}
|
||||
else
|
||||
{
|
||||
confirm_box(false, 'REMOVE_SELECTED_BOOKMARKS', $s_hidden_fields);
|
||||
confirm_box(false, 'REMOVE_SELECTED_BOOKMARKS', build_hidden_fields($s_hidden_fields));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -553,67 +553,67 @@ class ucp_main
|
||||
WHERE b.user_id = ' . $user->data['user_id'] . '
|
||||
ORDER BY b.order_id ASC';
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$forum_id = $row['forum_id'];
|
||||
$topic_id = $row['b_topic_id'];
|
||||
|
||||
|
||||
$replies = ($auth->acl_get('m_approve', $forum_id)) ? $row['topic_replies_real'] : $row['topic_replies'];
|
||||
|
||||
|
||||
// Get folder img, topic status/type related informations
|
||||
$folder_img = $folder_alt = $topic_type = '';
|
||||
$unread_topic = false;
|
||||
|
||||
|
||||
topic_status($row, $replies, $unread_topic, $folder_img, $folder_alt, $topic_type);
|
||||
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id");
|
||||
|
||||
|
||||
$template->assign_block_vars('topicrow', array(
|
||||
'FORUM_ID' => $forum_id,
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'TOPIC_TITLE' => censor_text($row['topic_title']),
|
||||
'TOPIC_TYPE' => $topic_type,
|
||||
'FORUM_ID' => $forum_id,
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'TOPIC_TITLE' => censor_text($row['topic_title']),
|
||||
'TOPIC_TYPE' => $topic_type,
|
||||
'FORUM_NAME' => $row['forum_name'],
|
||||
|
||||
'S_DELETED_TOPIC' => (!$row['topic_id']) ? true : false,
|
||||
'S_GLOBAL_TOPIC' => (!$forum_id) ? true : false,
|
||||
|
||||
'TOPIC_AUTHOR' => topic_topic_author($row),
|
||||
'FIRST_POST_TIME' => $user->format_date($row['topic_time']),
|
||||
'TOPIC_AUTHOR' => topic_topic_author($row),
|
||||
'FIRST_POST_TIME' => $user->format_date($row['topic_time']),
|
||||
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']),
|
||||
'LAST_VIEW_TIME' => $user->format_date($row['topic_last_view_time']),
|
||||
'LAST_POST_AUTHOR' => ($row['topic_last_poster_name'] != '') ? $row['topic_last_poster_name'] : $user->lang['GUEST'],
|
||||
'PAGINATION' => topic_generate_pagination($replies, append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . "&t=$topic_id")),
|
||||
'LAST_POST_AUTHOR' => ($row['topic_last_poster_name'] != '') ? $row['topic_last_poster_name'] : $user->lang['GUEST'],
|
||||
'PAGINATION' => topic_generate_pagination($replies, append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . "&t=$topic_id")),
|
||||
|
||||
'POSTED_AT' => $user->format_date($row['topic_time']),
|
||||
|
||||
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
|
||||
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
|
||||
'ATTACH_ICON_IMG' => ($auth->acl_gets('f_download', 'u_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_attach', '') : '',
|
||||
'LAST_POST_IMG' => $user->img('icon_post_latest', 'VIEW_LATEST_POST'),
|
||||
|
||||
'U_LAST_POST' => $view_topic_url . '&p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'],
|
||||
'U_LAST_POST_AUTHOR'=> ($row['topic_last_poster_id'] != ANONYMOUS && $row['topic_last_poster_id']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['topic_last_poster_id']) : '',
|
||||
'U_VIEW_TOPIC' => $view_topic_url,
|
||||
'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id),
|
||||
'U_MOVE_UP' => ($row['order_id'] != 1) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&mode=bookmarks&move_up=' . $row['order_id']) : '',
|
||||
'U_MOVE_DOWN' => ($row['order_id'] != $max_order_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&mode=bookmarks&move_down=' . $row['order_id']) : '')
|
||||
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
|
||||
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
|
||||
'ATTACH_ICON_IMG' => ($auth->acl_gets('f_download', 'u_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_attach', '') : '',
|
||||
'LAST_POST_IMG' => $user->img('icon_post_latest', 'VIEW_LATEST_POST'),
|
||||
|
||||
'U_LAST_POST' => $view_topic_url . '&p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'],
|
||||
'U_LAST_POST_AUTHOR' => ($row['topic_last_poster_id'] != ANONYMOUS && $row['topic_last_poster_id']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['topic_last_poster_id']) : '',
|
||||
'U_VIEW_TOPIC' => $view_topic_url,
|
||||
'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id),
|
||||
'U_MOVE_UP' => ($row['order_id'] != 1) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&mode=bookmarks&move_up=' . $row['order_id']) : '',
|
||||
'U_MOVE_DOWN' => ($row['order_id'] != $max_order_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&mode=bookmarks&move_down=' . $row['order_id']) : '')
|
||||
);
|
||||
}
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'drafts':
|
||||
|
||||
|
||||
$pm_drafts = ($this->p_master->p_name == 'pm') ? true : false;
|
||||
$template->assign_var('S_SHOW_DRAFTS', true);
|
||||
|
||||
$user->add_lang('posting');
|
||||
|
||||
$edit = (isset($_REQUEST['edit'])) ? true : false;
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
$draft_id = ($edit) ? intval($_REQUEST['edit']) : 0;
|
||||
$delete = (isset($_POST['delete'])) ? true : false;
|
||||
$edit = (isset($_REQUEST['edit'])) ? true : false;
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
$draft_id = ($edit) ? intval($_REQUEST['edit']) : 0;
|
||||
$delete = (isset($_POST['delete'])) ? true : false;
|
||||
|
||||
$s_hidden_fields = ($edit) ? '<input type="hidden" name="edit" value="' . $draft_id . '" />' : '';
|
||||
$draft_subject = $draft_message = '';
|
||||
@@ -672,7 +672,7 @@ class ucp_main
|
||||
WHERE d.user_id = ' . $user->data['user_id'] . ' ' .
|
||||
(($edit) ? "AND d.draft_id = $draft_id" : '') . '
|
||||
AND f.forum_id = d.forum_id
|
||||
ORDER BY d.save_time DESC';
|
||||
ORDER BY d.save_time DESC';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -681,10 +681,10 @@ class ucp_main
|
||||
(($edit) ? "AND draft_id = $draft_id" : '') . '
|
||||
AND forum_id = 0
|
||||
AND topic_id = 0
|
||||
ORDER BY save_time DESC';
|
||||
ORDER BY save_time DESC';
|
||||
}
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
|
||||
$draftrows = $topic_ids = array();
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
@@ -696,7 +696,7 @@ class ucp_main
|
||||
$draftrows[] = $row;
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
|
||||
if (sizeof($topic_ids))
|
||||
{
|
||||
$sql = 'SELECT topic_id, forum_id, topic_title
|
||||
@@ -711,7 +711,7 @@ class ucp_main
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
unset($topic_ids);
|
||||
|
||||
|
||||
$template->assign_var('S_EDIT_DRAFT', $edit);
|
||||
|
||||
$row_count = 0;
|
||||
@@ -741,7 +741,7 @@ class ucp_main
|
||||
$link_pm = true;
|
||||
$insert_url = append_sid("{$phpbb_root_path}ucp.$phpEx", "i=$id&mode=compose&d=" . $draft['draft_id']);
|
||||
}
|
||||
|
||||
|
||||
$template_row = array(
|
||||
'DATE' => $user->format_date($draft['save_time']),
|
||||
'DRAFT_MESSAGE' => ($submit) ? $draft_message : $draft['draft_message'],
|
||||
@@ -762,7 +762,7 @@ class ucp_main
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields
|
||||
);
|
||||
$row_count++;
|
||||
|
||||
|
||||
($edit) ? $template->assign_vars($template_row) : $template->assign_block_vars('draftrow', $template_row);
|
||||
}
|
||||
|
||||
@@ -778,9 +778,9 @@ class ucp_main
|
||||
$template->assign_vars(array(
|
||||
'L_TITLE' => $user->lang['UCP_MAIN_' . strtoupper($mode)],
|
||||
|
||||
'S_DISPLAY_MARK_ALL'=> ($mode == 'watched' || ($mode == 'drafts' && !isset($_GET['edit']))) ? true : false,
|
||||
'S_HIDDEN_FIELDS' => (isset($s_hidden_fields)) ? $s_hidden_fields : '',
|
||||
'S_UCP_ACTION' => $this->u_action)
|
||||
'S_DISPLAY_MARK_ALL' => ($mode == 'watched' || ($mode == 'drafts' && !isset($_GET['edit']))) ? true : false,
|
||||
'S_HIDDEN_FIELDS' => (isset($s_hidden_fields)) ? $s_hidden_fields : '',
|
||||
'S_UCP_ACTION' => $this->u_action)
|
||||
);
|
||||
|
||||
// Set desired template
|
||||
|
@@ -38,7 +38,7 @@ class ucp_pm
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $user, $template, $phpbb_root_path, $auth, $phpEx, $db, $config;
|
||||
|
||||
|
||||
if (!$user->data['is_registered'])
|
||||
{
|
||||
trigger_error('NO_MESSAGE');
|
||||
@@ -101,7 +101,7 @@ class ucp_pm
|
||||
'U_INBOX' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&folder=inbox'),
|
||||
'UA_INBOX' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&folder=inbox', false))
|
||||
);
|
||||
|
||||
|
||||
$tpl_file = 'ucp_pm_popup';
|
||||
break;
|
||||
|
||||
@@ -116,7 +116,7 @@ class ucp_pm
|
||||
trigger_error('NO_AUTH_SEND_MESSAGE');
|
||||
}
|
||||
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_pm_compose.'.$phpEx);
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_pm_compose.' . $phpEx);
|
||||
compose_pm($id, $mode, $action);
|
||||
|
||||
$tpl_file = 'posting_body';
|
||||
@@ -134,7 +134,7 @@ class ucp_pm
|
||||
|
||||
get_folder($user->data['user_id']);
|
||||
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_pm_options.'.$phpEx);
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_pm_options.' . $phpEx);
|
||||
message_options($id, $mode, $global_privmsgs_rules, $global_rule_conditions);
|
||||
|
||||
$tpl_file = 'ucp_pm_options';
|
||||
@@ -144,21 +144,21 @@ class ucp_pm
|
||||
|
||||
get_folder($user->data['user_id']);
|
||||
$this->p_name = 'pm';
|
||||
|
||||
|
||||
// Call another module... please do not try this at home... Hoochie Coochie Man
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_main.'.$phpEx);
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_main.' . $phpEx);
|
||||
|
||||
$module = new ucp_main($this);
|
||||
$module->main($id, $mode);
|
||||
$this->tpl_name = $module->tpl_name;
|
||||
|
||||
|
||||
unset($module);
|
||||
return;
|
||||
|
||||
break;
|
||||
|
||||
case 'view':
|
||||
|
||||
|
||||
$sql = 'SELECT group_message_limit
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
WHERE group_id = ' . $user->data['group_id'];
|
||||
@@ -203,8 +203,8 @@ class ucp_pm
|
||||
// First Handle Mark actions and moving messages
|
||||
$submit_mark = (isset($_POST['submit_mark'])) ? true : false;
|
||||
$move_pm = (isset($_POST['move_pm'])) ? true : false;
|
||||
$mark_option = request_var('mark_option', '');
|
||||
$dest_folder = request_var('dest_folder', PRIVMSGS_NO_BOX);
|
||||
$mark_option = request_var('mark_option', '');
|
||||
$dest_folder = request_var('dest_folder', PRIVMSGS_NO_BOX);
|
||||
|
||||
// Is moving PM triggered through mark options?
|
||||
if (!in_array($mark_option, array('mark_important', 'delete_marked')) && $submit_mark)
|
||||
@@ -364,7 +364,7 @@ class ucp_pm
|
||||
|
||||
if ($action == 'view_folder')
|
||||
{
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_pm_viewfolder.'.$phpEx);
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_pm_viewfolder.' . $phpEx);
|
||||
view_folder($id, $mode, $folder_id, $folder);
|
||||
|
||||
$tpl_file = 'ucp_pm_viewfolder';
|
||||
@@ -381,7 +381,7 @@ class ucp_pm
|
||||
trigger_error('NO_MESSAGE');
|
||||
}
|
||||
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_pm_viewmessage.'.$phpEx);
|
||||
include($phpbb_root_path . 'includes/ucp/ucp_pm_viewmessage.' . $phpEx);
|
||||
view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row);
|
||||
|
||||
$tpl_file = ($view == 'print') ? 'ucp_pm_viewmessage_print' : 'ucp_pm_viewmessage';
|
||||
@@ -391,6 +391,7 @@ class ucp_pm
|
||||
|
||||
default:
|
||||
trigger_error('NO_ACTION_MODE');
|
||||
break;
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
|
@@ -27,15 +27,19 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
{
|
||||
case 1:
|
||||
$set_folder_id = FULL_FOLDER_DELETE;
|
||||
break;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$set_folder_id = request_var('full_move_to', PRIVMSGS_INBOX);
|
||||
break;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
$set_folder_id = FULL_FOLDER_HOLD;
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
$full_action = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if ($full_action)
|
||||
@@ -46,7 +50,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
$db->sql_query($sql);
|
||||
|
||||
$user->data['user_full_folder'] = $set_folder_id;
|
||||
|
||||
|
||||
$message = $user->lang['FULL_FOLDER_OPTION_CHANGED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $redirect_url . '">', '</a>');
|
||||
meta_refresh(3, $redirect_url);
|
||||
trigger_error($message);
|
||||
@@ -65,12 +69,13 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
WHERE folder_name = '" . $db->sql_escape($folder_name) . "'
|
||||
AND user_id = " . $user->data['user_id'];
|
||||
$result = $db->sql_query_limit($sql, 1);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($db->sql_fetchrow($result))
|
||||
if ($row)
|
||||
{
|
||||
trigger_error(sprintf($user->lang['FOLDER_NAME_EXIST'], $folder_name));
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = 'SELECT COUNT(folder_id) as num_folder
|
||||
FROM ' . PRIVMSGS_FOLDER_TABLE . '
|
||||
@@ -85,7 +90,9 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
}
|
||||
|
||||
$sql = 'INSERT INTO ' . PRIVMSGS_FOLDER_TABLE . ' ' . $db->sql_build_array('INSERT', array(
|
||||
'user_id' => (int) $user->data['user_id'], 'folder_name' => $folder_name));
|
||||
'user_id' => (int) $user->data['user_id'],
|
||||
'folder_name' => $folder_name)
|
||||
);
|
||||
$db->sql_query($sql);
|
||||
|
||||
$message = $user->lang['FOLDER_ADDED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $redirect_url . '">', '</a>');
|
||||
@@ -93,7 +100,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
trigger_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Rename folder
|
||||
if (isset($_POST['rename_folder']))
|
||||
{
|
||||
@@ -144,7 +151,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
{
|
||||
trigger_error('CANNOT_MOVE_TO_SAME_FOLDER');
|
||||
}
|
||||
|
||||
|
||||
// Select custom folder
|
||||
$sql = 'SELECT folder_name, pm_count
|
||||
FROM ' . PRIVMSGS_FOLDER_TABLE . "
|
||||
@@ -195,12 +202,12 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
{
|
||||
trigger_error(sprintf($user->lang['MOVE_PM_ERROR'], $num_moved, $folder_row['pm_count']));
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
// Remove Messages
|
||||
case 2:
|
||||
delete_pm($user->data['user_id'], $msg_ids, $remove_folder_id);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
// Remove folder
|
||||
@@ -256,7 +263,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
{
|
||||
trigger_error('RULE_NOT_DEFINED');
|
||||
}
|
||||
|
||||
|
||||
$rule_ary = array(
|
||||
'user_id' => $user->data['user_id'],
|
||||
'rule_check' => $check_option,
|
||||
@@ -272,20 +279,23 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
FROM ' . PRIVMSGS_RULES_TABLE . '
|
||||
WHERE ' . $db->sql_build_array('SELECT', $rule_ary);
|
||||
$result = $db->sql_query($sql);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($db->sql_fetchrow($result))
|
||||
if ($row)
|
||||
{
|
||||
trigger_error('RULE_ALREADY_DEFINED');
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
|
||||
$sql = 'INSERT INTO ' . PRIVMSGS_RULES_TABLE . ' ' . $db->sql_build_array('INSERT', $rule_ary);
|
||||
$db->sql_query($sql);
|
||||
|
||||
// Update users message rules
|
||||
$sql = 'UPDATE ' . USERS_TABLE . ' SET user_message_rules = 1 WHERE user_id = ' . $user->data['user_id'];
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET user_message_rules = 1
|
||||
WHERE user_id = ' . $user->data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
|
||||
$message = $user->lang['RULE_ADDED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $redirect_url . '">', '</a>');
|
||||
meta_refresh(3, $redirect_url);
|
||||
trigger_error($message);
|
||||
@@ -322,9 +332,11 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Update users message rules
|
||||
if ($row)
|
||||
if (!$row)
|
||||
{
|
||||
$sql = 'UPDATE ' . USERS_TABLE . ' SET user_message_rules = 0 WHERE user_id = ' . $user->data['user_id'];
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET user_message_rules = 0
|
||||
WHERE user_id = ' . $user->data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
@@ -337,7 +349,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
confirm_box(false, 'DELETE_RULE', build_hidden_fields(array('delete_rule' => array($delete_id => 1))));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$folder = array();
|
||||
|
||||
$sql = 'SELECT COUNT(msg_id) as num_messages
|
||||
@@ -349,8 +361,8 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$folder[PRIVMSGS_INBOX] = array(
|
||||
'folder_name' => $user->lang['PM_INBOX'],
|
||||
'message_status'=> sprintf($user->lang['FOLDER_MESSAGE_STATUS'], $num_messages, $user->data['message_limit'])
|
||||
'folder_name' => $user->lang['PM_INBOX'],
|
||||
'message_status' => sprintf($user->lang['FOLDER_MESSAGE_STATUS'], $num_messages, $user->data['message_limit'])
|
||||
);
|
||||
|
||||
$sql = 'SELECT folder_id, folder_name, pm_count
|
||||
@@ -363,8 +375,8 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
{
|
||||
$num_user_folder++;
|
||||
$folder[$row['folder_id']] = array(
|
||||
'folder_name' => $row['folder_name'],
|
||||
'message_status'=> sprintf($user->lang['FOLDER_MESSAGE_STATUS'], $row['pm_count'], $user->data['message_limit'])
|
||||
'folder_name' => $row['folder_name'],
|
||||
'message_status' => sprintf($user->lang['FOLDER_MESSAGE_STATUS'], $row['pm_count'], $user->data['message_limit'])
|
||||
);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
@@ -385,7 +397,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
{
|
||||
$s_full_folder_options .= '<option value="' . $folder_id . '"' . (($user->data['user_full_folder'] == $folder_id) ? ' selected="selected"' : '') . '>' . $folder_ary['folder_name'] . ' (' . $folder_ary['message_status'] . ')</option>';
|
||||
$s_to_folder_options .= '<option value="' . $folder_id . '"' . (($to_folder_id == $folder_id) ? ' selected="selected"' : '') . '>' . $folder_ary['folder_name'] . ' (' . $folder_ary['message_status'] . ')</option>';
|
||||
|
||||
|
||||
if ($folder_id != PRIVMSGS_INBOX)
|
||||
{
|
||||
$s_folder_options .= '<option value="' . $folder_id . '">' . $folder_ary['folder_name'] . ' (' . $folder_ary['message_status'] . ')</option>';
|
||||
@@ -402,11 +414,11 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
{
|
||||
case 1:
|
||||
$s_delete_checked = ' checked="checked"';
|
||||
break;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$s_hold_checked = ' checked="checked"';
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -420,7 +432,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
'S_MAX_FOLDER_REACHED' => ($num_user_folder >= $config['pm_max_boxes']) ? true : false,
|
||||
|
||||
'DEFAULT_ACTION' => ($config['full_folder_action'] == 1) ? $user->lang['DELETE_OLDEST_MESSAGES'] : $user->lang['HOLD_NEW_MESSAGES'],
|
||||
|
||||
|
||||
'U_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=ucp&field=rule_string'))
|
||||
);
|
||||
|
||||
@@ -490,7 +502,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
{
|
||||
define_action_option(false, $action_option, $action_lang, $folder);
|
||||
}
|
||||
|
||||
|
||||
show_defined_rules($user->data['user_id'], $check_lang, $rule_lang, $action_lang, $folder);
|
||||
}
|
||||
|
||||
@@ -612,7 +624,7 @@ function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Define Condition
|
||||
$condition = $global_rule_conditions[$rule_option];
|
||||
$current_value = '';
|
||||
@@ -630,7 +642,7 @@ function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule
|
||||
);
|
||||
|
||||
$current_value = $rule_string;
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
$rule_user_id = request_var('rule_user_id', 0);
|
||||
@@ -640,7 +652,7 @@ function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule
|
||||
{
|
||||
$sql = 'SELECT user_id
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE username = '" . $db->sql_escape($rule_string) . "'";
|
||||
WHERE LOWER(username) = '" . $db->sql_escape(strtolower($rule_string)) . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
$rule_user_id = (int) $db->sql_fetchfield('user_id');
|
||||
$db->sql_freeresult($result);
|
||||
@@ -673,7 +685,7 @@ function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule
|
||||
);
|
||||
|
||||
$current_value = $rule_string;
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'group':
|
||||
$rule_group_id = request_var('rule_group_id', 0);
|
||||
@@ -708,7 +720,7 @@ function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule
|
||||
);
|
||||
|
||||
$current_value = $rule_string;
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
return;
|
||||
|
@@ -35,7 +35,7 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
{
|
||||
$template->assign_block_vars('pm_colour_info', array(
|
||||
'IMG' => $user->img("pm_{$var}", ''),
|
||||
'CLASS' => "pm_{$var}_colour",
|
||||
'CLASS' => "pm_{$var}_colour",
|
||||
'LANG' => $user->lang[strtoupper($var) . '_MESSAGE'])
|
||||
);
|
||||
}
|
||||
@@ -125,7 +125,7 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
WHERE group_id';
|
||||
}
|
||||
$sql .= ' IN (' . implode(', ', array_keys($recipient_list[$ug_type])) . ')';
|
||||
$sql .= ' IN (' . implode(', ', array_map('intval', array_keys($recipient_list[$ug_type]))) . ')';
|
||||
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
@@ -185,16 +185,16 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
$template->assign_block_vars('messagerow', array(
|
||||
'PM_CLASS' => ($row_indicator) ? 'pm_' . $row_indicator . '_colour' : '',
|
||||
|
||||
'FOLDER_ID' => $folder_id,
|
||||
'FOLDER_ID' => $folder_id,
|
||||
'MESSAGE_ID' => $message_id,
|
||||
'MESSAGE_AUTHOR' => $message_author,
|
||||
'SENT_TIME' => $user->format_date($row['message_time']),
|
||||
'SENT_TIME' => $user->format_date($row['message_time']),
|
||||
'SUBJECT' => censor_text($row['message_subject']),
|
||||
'FOLDER' => (isset($folder[$row['folder_id']])) ? $folder[$row['folder_id']]['folder_name'] : '',
|
||||
'U_FOLDER' => (isset($folder[$row['folder_id']])) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'folder=' . $row['folder_id']) : '',
|
||||
'PM_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? '<img src="' . $config['icons_path'] . '/' . $icons[$row['icon_id']]['img'] . '" width="' . $icons[$row['icon_id']]['width'] . '" height="' . $icons[$row['icon_id']]['height'] . '" alt="" title="" />' : '',
|
||||
'FOLDER_IMG' => $user->img($folder_img, $folder_alt),
|
||||
'PM_IMG' => ($row_indicator) ? $user->img('pm_' . $row_indicator, '') : '',
|
||||
'PM_IMG' => ($row_indicator) ? $user->img('pm_' . $row_indicator, '') : '',
|
||||
'ATTACH_ICON_IMG' => ($auth->acl_get('u_download') && $row['message_attachment'] && $config['allow_pm_attach'] && $config['auth_download_pm']) ? $user->img('icon_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
|
||||
|
||||
'S_PM_DELETED' => ($row['deleted']) ? true : false,
|
||||
@@ -207,7 +207,7 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
unset($folder_info['rowset']);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_SHOW_RECIPIENTS' => ($folder_id == PRIVMSGS_OUTBOX || $folder_id == PRIVMSGS_SENTBOX) ? true : false,
|
||||
'S_SHOW_RECIPIENTS' => ($folder_id == PRIVMSGS_OUTBOX || $folder_id == PRIVMSGS_SENTBOX) ? true : false,
|
||||
'S_SHOW_COLOUR_LEGEND' => true)
|
||||
);
|
||||
}
|
||||
@@ -238,7 +238,8 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
{
|
||||
$row = &$folder_info['rowset'][$message_id];
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_posting.'.$phpEx);
|
||||
include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
|
||||
|
||||
$sql = 'SELECT p.message_text, p.bbcode_uid
|
||||
FROM ' . PRIVMSGS_TO_TABLE . ' t, ' . PRIVMSGS_TABLE . ' p, ' . USERS_TABLE . ' u
|
||||
WHERE t.user_id = ' . $user->data['user_id'] . "
|
||||
@@ -255,8 +256,19 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
{
|
||||
if (isset($address[$message_id][$ug_type]) && sizeof($address[$message_id][$ug_type]))
|
||||
{
|
||||
$sql = ($ug_type == 'u') ? 'SELECT user_id as id, username as name FROM ' . USERS_TABLE . ' WHERE user_id' : 'SELECT group_id as id, group_name as name FROM ' . GROUPS_TABLE . ' WHERE group_id';
|
||||
$sql .= ' IN (' . implode(', ', array_keys($address[$message_id][$ug_type])) . ')';
|
||||
if ($ug_type == 'u')
|
||||
{
|
||||
$sql = 'SELECT user_id as id, username as name
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE user_id';
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = 'SELECT group_id as id, group_name as name
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
WHERE group_id';
|
||||
}
|
||||
$sql .= ' IN (' . implode(', ', array_map('intval', array_keys($address[$message_id][$ug_type]))) . ')';
|
||||
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
@@ -311,6 +323,7 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
$value['bcc'] .= (isset($values['bcc']) && is_array($values['bcc'])) ? ',' . implode(',', $values['bcc']) : '';
|
||||
$value['to'] .= (isset($values['to']) && is_array($values['to'])) ? ',' . implode(',', $values['to']) : '';
|
||||
}
|
||||
|
||||
// Remove the commas which will appear before the first entry.
|
||||
$value['to'] = substr($value['to'], 1);
|
||||
$value['bcc'] = substr($value['bcc'], 1);
|
||||
@@ -332,14 +345,15 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
$string = substr($string, 0, -1) . $newline;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'XML':
|
||||
$mimetype = 'application/xml';
|
||||
$filetype = 'xml';
|
||||
$string = '<?xml version="1.0"?>' . "\n";
|
||||
$string .= "<phpbb>\n";
|
||||
|
||||
foreach ($data as $value)
|
||||
{
|
||||
|
||||
$string .= "\t<privmsg>\n";
|
||||
|
||||
if (is_array($value['to']))
|
||||
@@ -366,7 +380,9 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
$string .= "\t</privmsg>\n";
|
||||
}
|
||||
$string .= '</phpbb>';
|
||||
break;
|
||||
}
|
||||
|
||||
header('Pragma: no-cache');
|
||||
header("Content-Type: $mimetype; name=\"data.$filetype\"");
|
||||
header("Content-disposition: attachment; filename=data.$filetype");
|
||||
@@ -407,6 +423,11 @@ function get_pm_from($folder_id, $folder, $user_id)
|
||||
{
|
||||
$min_post_time = time() - ($sort_days * 86400);
|
||||
|
||||
if (isset($_POST['sort']))
|
||||
{
|
||||
$start = 0;
|
||||
}
|
||||
|
||||
$sql = 'SELECT COUNT(t.msg_id) AS pm_count
|
||||
FROM ' . PRIVMSGS_TO_TABLE . ' t, ' . PRIVMSGS_TABLE . " p
|
||||
WHERE $folder_sql
|
||||
@@ -414,13 +435,7 @@ function get_pm_from($folder_id, $folder, $user_id)
|
||||
AND t.msg_id = p.msg_id
|
||||
AND p.message_time >= $min_post_time";
|
||||
$result = $db->sql_query_limit($sql, 1);
|
||||
|
||||
if (isset($_POST['sort']))
|
||||
{
|
||||
$start = 0;
|
||||
}
|
||||
|
||||
$pm_count = ($row = $db->sql_fetchrow($result)) ? $row['pm_count'] : 0;
|
||||
$pm_count = (int) $db->sql_fetchfield('pm_count');
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql_limit_time = "AND p.message_time >= $min_post_time";
|
||||
@@ -432,9 +447,9 @@ function get_pm_from($folder_id, $folder, $user_id)
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}ucp.$phpEx", "i=pm&mode=view&action=view_folder&f=$folder_id&$u_sort_param"), $pm_count, $config['topics_per_page'], $start),
|
||||
'PAGE_NUMBER' => on_page($pm_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_MESSAGES'=> (($pm_count == 1) ? $user->lang['VIEW_PM_MESSAGE'] : sprintf($user->lang['VIEW_PM_MESSAGES'], $pm_count)),
|
||||
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}ucp.$phpEx", "i=pm&mode=view&action=view_folder&f=$folder_id&$u_sort_param"), $pm_count, $config['topics_per_page'], $start),
|
||||
'PAGE_NUMBER' => on_page($pm_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_MESSAGES' => (($pm_count == 1) ? $user->lang['VIEW_PM_MESSAGE'] : sprintf($user->lang['VIEW_PM_MESSAGES'], $pm_count)),
|
||||
|
||||
'POST_IMG' => (!$auth->acl_get('u_sendpm')) ? $user->img('btn_locked', 'PM_LOCKED') : $user->img('btn_post_pm', 'POST_PM'),
|
||||
|
||||
@@ -483,7 +498,6 @@ function get_pm_from($folder_id, $folder, $user_id)
|
||||
AND t.msg_id = p.msg_id
|
||||
$sql_limit_time
|
||||
ORDER BY $sql_sort_order";
|
||||
|
||||
$result = $db->sql_query_limit($sql, $sql_limit, $sql_start);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
|
@@ -38,10 +38,12 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
$icons = array();
|
||||
$cache->obtain_icons($icons);
|
||||
|
||||
$bbcode = false;
|
||||
|
||||
// Instantiate BBCode if need be
|
||||
if ($message_row['bbcode_bitfield'])
|
||||
{
|
||||
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
|
||||
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
|
||||
$bbcode = new bbcode($message_row['bbcode_bitfield']);
|
||||
}
|
||||
|
||||
@@ -146,9 +148,9 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
{
|
||||
if ($user_info['user_sig_bbcode_bitfield'])
|
||||
{
|
||||
if (!isset($bbcode) || !$bbcode)
|
||||
if ($bbcode === false)
|
||||
{
|
||||
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
|
||||
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
|
||||
$bbcode = new bbcode($user_info['user_sig_bbcode_bitfield']);
|
||||
}
|
||||
|
||||
@@ -163,41 +165,41 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
|
||||
$template->assign_vars(array(
|
||||
'AUTHOR_NAME' => ($user_info['user_colour']) ? '<span style="color:#' . $user_info['user_colour'] . '">' . $user_info['username'] . '</span>' : $user_info['username'],
|
||||
'AUTHOR_RANK' => $user_info['rank_title'],
|
||||
'RANK_IMAGE' => $user_info['rank_image'],
|
||||
'AUTHOR_RANK' => $user_info['rank_title'],
|
||||
'RANK_IMAGE' => $user_info['rank_image'],
|
||||
'AUTHOR_AVATAR' => (isset($user_info['avatar'])) ? $user_info['avatar'] : '',
|
||||
'AUTHOR_JOINED' => $user->format_date($user_info['user_regdate']),
|
||||
'AUTHOR_POSTS' => (!empty($user_info['user_posts'])) ? $user_info['user_posts'] : '',
|
||||
'AUTHOR_FROM' => (!empty($user_info['user_from'])) ? $user_info['user_from'] : '',
|
||||
'AUTHOR_POSTS' => (!empty($user_info['user_posts'])) ? $user_info['user_posts'] : '',
|
||||
'AUTHOR_FROM' => (!empty($user_info['user_from'])) ? $user_info['user_from'] : '',
|
||||
|
||||
'ONLINE_IMG' => (!$config['load_onlinetrack']) ? '' : ((isset($user_info['online']) && $user_info['online']) ? $user->img('btn_online', $user->lang['ONLINE']) : $user->img('btn_offline', $user->lang['OFFLINE'])),
|
||||
'S_ONLINE' => (!$config['load_onlinetrack']) ? false : ((isset($user_info['online']) && $user_info['online']) ? true : false),
|
||||
'DELETE_IMG' => $user->img('btn_delete', $user->lang['DELETE_MESSAGE']),
|
||||
'INFO_IMG' => $user->img('btn_info', $user->lang['VIEW_PM_INFO']),
|
||||
'DELETE_IMG' => $user->img('btn_delete', $user->lang['DELETE_MESSAGE']),
|
||||
'INFO_IMG' => $user->img('btn_info', $user->lang['VIEW_PM_INFO']),
|
||||
'PROFILE_IMG' => $user->img('btn_profile', $user->lang['READ_PROFILE']),
|
||||
'EMAIL_IMG' => $user->img('btn_email', $user->lang['SEND_EMAIL']),
|
||||
'QUOTE_IMG' => $user->img('btn_quote', $user->lang['POST_QUOTE_PM']),
|
||||
'EMAIL_IMG' => $user->img('btn_email', $user->lang['SEND_EMAIL']),
|
||||
'QUOTE_IMG' => $user->img('btn_quote', $user->lang['POST_QUOTE_PM']),
|
||||
'REPLY_IMG' => $user->img('btn_reply_pm', $user->lang['POST_REPLY_PM']),
|
||||
'EDIT_IMG' => $user->img('btn_edit', $user->lang['POST_EDIT_PM']),
|
||||
'EDIT_IMG' => $user->img('btn_edit', $user->lang['POST_EDIT_PM']),
|
||||
'MINI_POST_IMG' => $user->img('icon_post', $user->lang['PM']),
|
||||
|
||||
'SENT_DATE' => $user->format_date($message_row['message_time']),
|
||||
'SENT_DATE' => $user->format_date($message_row['message_time']),
|
||||
'SUBJECT' => $message_row['message_subject'],
|
||||
'MESSAGE' => $message,
|
||||
'SIGNATURE' => ($message_row['enable_sig']) ? $signature : '',
|
||||
'MESSAGE' => $message,
|
||||
'SIGNATURE' => ($message_row['enable_sig']) ? $signature : '',
|
||||
'EDITED_MESSAGE' => $l_edited_by,
|
||||
|
||||
'U_INFO' => ($auth->acl_get('m_info') && $message_row['forwarded']) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'mode=pm_details&p=' . $message_row['msg_id'], true, $user->session_id) : '',
|
||||
'U_DELETE' => ($auth->acl_get('u_pm_delete')) ? "$url&mode=compose&action=delete&f=$folder_id&p=" . $message_row['msg_id'] : '',
|
||||
'U_DELETE' => ($auth->acl_get('u_pm_delete')) ? "$url&mode=compose&action=delete&f=$folder_id&p=" . $message_row['msg_id'] : '',
|
||||
'U_AUTHOR_PROFILE' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $author_id),
|
||||
'U_EMAIL' => $user_info['email'],
|
||||
'U_QUOTE' => ($auth->acl_get('u_sendpm')) ? "$url&mode=compose&action=quote&f=$folder_id&p=" . $message_row['msg_id'] : '',
|
||||
'U_EDIT' => (($message_row['message_time'] > time() - $config['pm_edit_time'] || !$config['pm_edit_time']) && $folder_id == PRIVMSGS_OUTBOX && $auth->acl_get('u_pm_edit')) ? "$url&mode=compose&action=edit&f=$folder_id&p=" . $message_row['msg_id'] : '',
|
||||
'U_POST_REPLY_PM' => ($auth->acl_get('u_sendpm')) ? "$url&mode=compose&action=reply&f=$folder_id&p=" . $message_row['msg_id'] : '',
|
||||
'U_EMAIL' => $user_info['email'],
|
||||
'U_QUOTE' => ($auth->acl_get('u_sendpm')) ? "$url&mode=compose&action=quote&f=$folder_id&p=" . $message_row['msg_id'] : '',
|
||||
'U_EDIT' => (($message_row['message_time'] > time() - $config['pm_edit_time'] || !$config['pm_edit_time']) && $folder_id == PRIVMSGS_OUTBOX && $auth->acl_get('u_pm_edit')) ? "$url&mode=compose&action=edit&f=$folder_id&p=" . $message_row['msg_id'] : '',
|
||||
'U_POST_REPLY_PM' => ($auth->acl_get('u_sendpm')) ? "$url&mode=compose&action=reply&f=$folder_id&p=" . $message_row['msg_id'] : '',
|
||||
'U_PREVIOUS_PM' => "$url&f=$folder_id&p=" . $message_row['msg_id'] . "&view=previous",
|
||||
'U_NEXT_PM' => "$url&f=$folder_id&p=" . $message_row['msg_id'] . "&view=next",
|
||||
|
||||
'S_HAS_ATTACHMENTS' => (sizeof($attachments)) ? true : false,
|
||||
'S_HAS_ATTACHMENTS' => (sizeof($attachments)) ? true : false,
|
||||
'S_DISPLAY_NOTICE' => $display_notice && $message_row['message_attachment'],
|
||||
|
||||
'U_PRINT_PM' => ($config['print_pm'] && $auth->acl_get('u_pm_printpm')) ? "$url&f=$folder_id&p=" . $message_row['msg_id'] . "&view=print" : '',
|
||||
@@ -253,9 +255,11 @@ function message_history($msg_id, $user_id, $message_row, $folder)
|
||||
$sql .= ($sort_dir == 'd') ? 'ASC' : 'DESC';
|
||||
|
||||
$result = $db->sql_query($sql);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
|
||||
if (!($row = $db->sql_fetchrow($result)))
|
||||
if (!$row)
|
||||
{
|
||||
$db->sql_freeresult($result);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -291,11 +295,11 @@ function message_history($msg_id, $user_id, $message_row, $folder)
|
||||
}
|
||||
|
||||
// Instantiate BBCode class
|
||||
if (!isset($bbcode) && $bbcode_bitfield)
|
||||
if ((empty($bbcode) || $bbcode === false) && $bbcode_bitfield)
|
||||
{
|
||||
if (!class_exists('bbcode'))
|
||||
{
|
||||
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
|
||||
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
|
||||
}
|
||||
$bbcode = new bbcode($bbcode_bitfield);
|
||||
}
|
||||
@@ -332,10 +336,10 @@ function message_history($msg_id, $user_id, $message_row, $folder)
|
||||
}
|
||||
|
||||
$template->assign_block_vars('history_row', array(
|
||||
'AUTHOR_NAME' => $author,
|
||||
'SUBJECT' => $subject,
|
||||
'SENT_DATE' => $user->format_date($row['message_time']),
|
||||
'MESSAGE' => str_replace("\n", '<br />', $message),
|
||||
'AUTHOR_NAME' => $author,
|
||||
'SUBJECT' => $subject,
|
||||
'SENT_DATE' => $user->format_date($row['message_time']),
|
||||
'MESSAGE' => str_replace("\n", '<br />', $message),
|
||||
'FOLDER' => implode(', ', $row['folder']),
|
||||
|
||||
'S_CURRENT_MSG' => ($row['msg_id'] == $msg_id),
|
||||
@@ -351,7 +355,7 @@ function message_history($msg_id, $user_id, $message_row, $folder)
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'QUOTE_IMG' => $user->img('btn_quote', $user->lang['REPLY_WITH_QUOTE']),
|
||||
'QUOTE_IMG' => $user->img('btn_quote', $user->lang['REPLY_WITH_QUOTE']),
|
||||
'TITLE' => $title,
|
||||
|
||||
'U_VIEW_NEXT_HISTORY' => "$url&p=" . (($next_history_pm) ? $next_history_pm : $msg_id),
|
||||
@@ -396,9 +400,11 @@ function get_user_informations($user_id, $user_row)
|
||||
WHERE session_user_id = $user_id
|
||||
GROUP BY session_user_id";
|
||||
$result = $db->sql_query_limit($sql, 1);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$update_time = $config['load_online_time'] * 60;
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
if ($row)
|
||||
{
|
||||
$user_row['online'] = (time() - $update_time < $row['online_time'] && ($row['viewonline'] && $user_row['user_allow_viewonline'])) ? true : false;
|
||||
}
|
||||
@@ -415,10 +421,11 @@ function get_user_informations($user_id, $user_row)
|
||||
{
|
||||
case AVATAR_UPLOAD:
|
||||
$avatar_img = $config['avatar_path'] . '/';
|
||||
break;
|
||||
break;
|
||||
|
||||
case AVATAR_GALLERY:
|
||||
$avatar_img = $config['avatar_gallery_path'] . '/';
|
||||
break;
|
||||
break;
|
||||
}
|
||||
$avatar_img .= $user_row['user_avatar'];
|
||||
|
||||
@@ -426,7 +433,7 @@ function get_user_informations($user_id, $user_row)
|
||||
}
|
||||
|
||||
$user_row['rank_title'] = $user_row['rank_image'] = '';
|
||||
|
||||
|
||||
if (!empty($user_row['user_rank']))
|
||||
{
|
||||
$user_row['rank_title'] = (isset($ranks['special'][$user_row['user_rank']])) ? $ranks['special'][$user_row['user_rank']]['rank_title'] : '';
|
||||
|
@@ -29,6 +29,14 @@ class ucp_prefs
|
||||
{
|
||||
case 'personal':
|
||||
|
||||
$data = array(
|
||||
'notifymethod' => $user->data['user_notify_type'],
|
||||
'dateformat' => $user->data['user_dateformat'],
|
||||
'lang' => $user->data['user_lang'],
|
||||
'style' => $user->data['user_style'],
|
||||
'tz' => $user->data['user_timezone'],
|
||||
);
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
$var_ary = array(
|
||||
@@ -58,27 +66,25 @@ class ucp_prefs
|
||||
);
|
||||
|
||||
$error = validate_data($data, $var_ary);
|
||||
extract($data);
|
||||
unset($data);
|
||||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
$user->optionset('popuppm', $popuppm);
|
||||
$user->optionset('popuppm', $data['popuppm']);
|
||||
|
||||
$sql_ary = array(
|
||||
'user_allow_pm' => $allowpm,
|
||||
'user_allow_viewemail' => $viewemail,
|
||||
'user_allow_massemail' => $massemail,
|
||||
'user_allow_viewonline' => ($auth->acl_get('u_hideonline')) ? !$hideonline : $user->data['user_allow_viewonline'],
|
||||
'user_notify_type' => $notifymethod,
|
||||
'user_notify_pm' => $notifypm,
|
||||
'user_allow_pm' => $data['allowpm'],
|
||||
'user_allow_viewemail' => $data['viewemail'],
|
||||
'user_allow_massemail' => $data['massemail'],
|
||||
'user_allow_viewonline' => ($auth->acl_get('u_hideonline')) ? !$data['hideonline'] : $user->data['user_allow_viewonline'],
|
||||
'user_notify_type' => $data['notifymethod'],
|
||||
'user_notify_pm' => $data['notifypm'],
|
||||
'user_options' => $user->data['user_options'],
|
||||
|
||||
'user_dst' => $dst,
|
||||
'user_dateformat' => $dateformat,
|
||||
'user_lang' => $lang,
|
||||
'user_timezone' => $tz,
|
||||
'user_style' => $style,
|
||||
'user_dst' => $data['dst'],
|
||||
'user_dateformat' => $data['dateformat'],
|
||||
'user_lang' => $data['lang'],
|
||||
'user_timezone' => $data['tz'],
|
||||
'user_style' => $data['style'],
|
||||
);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
@@ -95,39 +101,11 @@ class ucp_prefs
|
||||
$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
|
||||
}
|
||||
|
||||
$viewemail = (isset($viewemail)) ? $viewemail : $user->data['user_allow_viewemail'];
|
||||
$view_email_yes = ($viewemail) ? ' checked="checked"' : '';
|
||||
$view_email_no = (!$viewemail) ? ' checked="checked"' : '';
|
||||
$massemail = (isset($massemail)) ? $massemail : $user->data['user_allow_massemail'];
|
||||
$mass_email_yes = ($massemail) ? ' checked="checked"' : '';
|
||||
$mass_email_no = (!$massemail) ? ' checked="checked"' : '';
|
||||
$allowpm = (isset($allowpm)) ? $allowpm : $user->data['user_allow_pm'];
|
||||
$allow_pm_yes = ($allowpm) ? ' checked="checked"' : '';
|
||||
$allow_pm_no = (!$allowpm) ? ' checked="checked"' : '';
|
||||
$hideonline = (isset($hideonline)) ? $hideonline : !$user->data['user_allow_viewonline'];
|
||||
$hide_online_yes = ($hideonline) ? ' checked="checked"' : '';
|
||||
$hide_online_no = (!$hideonline) ? ' checked="checked"' : '';
|
||||
$notifypm = (isset($notifypm)) ? $notifypm : $user->data['user_notify_pm'];
|
||||
$notify_pm_yes = ($notifypm) ? ' checked="checked"' : '';
|
||||
$notify_pm_no = (!$notifypm) ? ' checked="checked"' : '';
|
||||
$popuppm = (isset($popuppm)) ? $popuppm : $user->optionget('popuppm');
|
||||
$popup_pm_yes = ($popuppm) ? ' checked="checked"' : '';
|
||||
$popup_pm_no = (!$popuppm) ? ' checked="checked"' : '';
|
||||
$dst = (isset($dst)) ? $dst : $user->data['user_dst'];
|
||||
$dst_yes = ($dst) ? ' checked="checked"' : '';
|
||||
$dst_no = (!$dst) ? ' checked="checked"' : '';
|
||||
|
||||
$notifymethod = (isset($notifymethod)) ? $notifymethod : $user->data['user_notify_type'];
|
||||
$dateformat = (isset($dateformat)) ? $dateformat : $user->data['user_dateformat'];
|
||||
$lang = (isset($lang)) ? $lang : $user->data['user_lang'];
|
||||
$style = (isset($style)) ? $style : $user->data['user_style'];
|
||||
$tz = (isset($tz)) ? $tz : $user->data['user_timezone'];
|
||||
|
||||
$dateformat_options = '';
|
||||
|
||||
foreach ($user->lang['dateformats'] as $format => $null)
|
||||
{
|
||||
$dateformat_options .= '<option value="' . $format . '"' . (($format == $dateformat) ? ' selected="selected"' : '') . '>';
|
||||
$dateformat_options .= '<option value="' . $format . '"' . (($format == $data['dateformat']) ? ' selected="selected"' : '') . '>';
|
||||
$dateformat_options .= $user->format_date(time(), $format, true) . ((strpos($format, '|') !== false) ? ' [' . $user->lang['RELATIVE_DAYS'] . ']' : '');
|
||||
$dateformat_options .= '</option>';
|
||||
}
|
||||
@@ -135,7 +113,7 @@ class ucp_prefs
|
||||
$s_custom = false;
|
||||
|
||||
$dateformat_options .= '<option value="custom"';
|
||||
if (!in_array($dateformat, array_keys($user->lang['dateformats'])))
|
||||
if (!in_array($data['dateformat'], array_keys($user->lang['dateformats'])))
|
||||
{
|
||||
$dateformat_options .= ' selected="selected"';
|
||||
$s_custom = true;
|
||||
@@ -145,58 +123,54 @@ class ucp_prefs
|
||||
$template->assign_vars(array(
|
||||
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
|
||||
|
||||
'VIEW_EMAIL_YES' => $view_email_yes,
|
||||
'VIEW_EMAIL_NO' => $view_email_no,
|
||||
'ADMIN_EMAIL_YES' => $mass_email_yes,
|
||||
'ADMIN_EMAIL_NO' => $mass_email_no,
|
||||
'HIDE_ONLINE_YES' => $hide_online_yes,
|
||||
'HIDE_ONLINE_NO' => $hide_online_no,
|
||||
'ALLOW_PM_YES' => $allow_pm_yes,
|
||||
'ALLOW_PM_NO' => $allow_pm_no,
|
||||
'NOTIFY_PM_YES' => $notify_pm_yes,
|
||||
'NOTIFY_PM_NO' => $notify_pm_no,
|
||||
'POPUP_PM_YES' => $popup_pm_yes,
|
||||
'POPUP_PM_NO' => $popup_pm_no,
|
||||
'DST_YES' => $dst_yes,
|
||||
'DST_NO' => $dst_no,
|
||||
'NOTIFY_EMAIL' => ($notifymethod == NOTIFY_EMAIL) ? 'checked="checked"' : '',
|
||||
'NOTIFY_IM' => ($notifymethod == NOTIFY_IM) ? 'checked="checked"' : '',
|
||||
'NOTIFY_BOTH' => ($notifymethod == NOTIFY_BOTH) ? 'checked="checked"' : '',
|
||||
'S_NOTIFY_EMAIL' => ($data['notifymethod'] == NOTIFY_EMAIL) ? true : false,
|
||||
'S_NOTIFY_IM' => ($data['notifymethod'] == NOTIFY_IM) ? true : false,
|
||||
'S_NOTIFY_BOTH' => ($data['notifymethod'] == NOTIFY_BOTH) ? true : false,
|
||||
'S_VIEW_EMAIL' => (isset($data['viewemail'])) ? $data['viewemail'] : $user->data['user_allow_viewemail'],
|
||||
'S_MASS_EMAIL' => (isset($data['massemail'])) ? $data['massemail'] : $user->data['user_allow_massemail'],
|
||||
'S_ALLOW_PM' => (isset($data['allowpm'])) ? $data['allowpm'] : $user->data['user_allow_pm'],
|
||||
'S_HIDE_ONLINE' => (isset($data['hideonline'])) ? $data['hideonline'] : !$user->data['user_allow_viewonline'],
|
||||
'S_NOTIFY_PM' => (isset($data['notifypm'])) ? $data['notifypm'] : $user->data['user_notify_pm'],
|
||||
'S_POPUP_PM' => (isset($data['popuppm'])) ? $data['popuppm'] : $user->optionget('popuppm'),
|
||||
'S_DST' => (isset($data['dst'])) ? $data['dst'] : $user->data['user_dst'],
|
||||
|
||||
'DATE_FORMAT' => $dateformat,
|
||||
'DATE_FORMAT' => $data['dateformat'],
|
||||
'S_DATEFORMAT_OPTIONS' => $dateformat_options,
|
||||
'S_CUSTOM_DATEFORMAT' => $s_custom,
|
||||
'DEFAULT_DATEFORMAT' => $config['default_dateformat'],
|
||||
'A_DEFAULT_DATEFORMAT' => addslashes($config['default_dateformat']),
|
||||
|
||||
'S_LANG_OPTIONS' => language_select($lang),
|
||||
'S_STYLE_OPTIONS' => style_select($style),
|
||||
'S_TZ_OPTIONS' => tz_select($tz),
|
||||
'S_CAN_HIDE_ONLINE' => true,
|
||||
'S_LANG_OPTIONS' => language_select($data['lang']),
|
||||
'S_STYLE_OPTIONS' => style_select($data['style']),
|
||||
'S_TZ_OPTIONS' => tz_select($data['tz']),
|
||||
'S_CAN_HIDE_ONLINE' => ($auth->acl_get('u_hideonline')) ? true : false,
|
||||
'S_SELECT_NOTIFY' => ($config['jab_enable'] && $user->data['user_jabber'] && @extension_loaded('xml')) ? true : false)
|
||||
);
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
case 'view':
|
||||
|
||||
$data = array(
|
||||
'topic_sk' => (!empty($user->data['user_topic_sortby_type'])) ? $user->data['user_topic_sortby_type'] : 't',
|
||||
'topic_sd' => (!empty($user->data['user_topic_sortby_dir'])) ? $user->data['user_topic_sortby_dir'] : 'd',
|
||||
'topic_st' => (!empty($user->data['user_topic_show_days'])) ? $user->data['user_topic_show_days'] : 0,
|
||||
|
||||
'post_sk' => (!empty($user->data['user_post_sortby_type'])) ? $user->data['user_post_sortby_type'] : 't',
|
||||
'post_sd' => (!empty($user->data['user_post_sortby_dir'])) ? $user->data['user_post_sortby_dir'] : 'a',
|
||||
'post_st' => (!empty($user->data['user_post_show_days'])) ? $user->data['user_post_show_days'] : 0,
|
||||
);
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
$var_ary = array(
|
||||
'topic_sk' => (string) 't',
|
||||
'topic_sd' => (string) 'd',
|
||||
'topic_st' => 0,
|
||||
|
||||
'post_sk' => (string) 't',
|
||||
'post_sd' => (string) 'a',
|
||||
'post_st' => 0,
|
||||
|
||||
$var_ary = array_merge($data, array(
|
||||
'images' => true,
|
||||
'flash' => false,
|
||||
'smilies' => true,
|
||||
'sigs' => true,
|
||||
'avatars' => true,
|
||||
'wordcensor'=> false,
|
||||
);
|
||||
));
|
||||
|
||||
foreach ($var_ary as $var => $default)
|
||||
{
|
||||
@@ -211,30 +185,29 @@ class ucp_prefs
|
||||
);
|
||||
|
||||
$error = validate_data($data, $var_ary);
|
||||
extract($data);
|
||||
unset($data);
|
||||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
$user->optionset('viewimg', $images);
|
||||
$user->optionset('viewflash', $flash);
|
||||
$user->optionset('viewsmilies', $smilies);
|
||||
$user->optionset('viewsigs', $sigs);
|
||||
$user->optionset('viewavatars', $avatars);
|
||||
$user->optionset('viewimg', $data['images']);
|
||||
$user->optionset('viewflash', $data['flash']);
|
||||
$user->optionset('viewsmilies', $data['smilies']);
|
||||
$user->optionset('viewsigs', $data['sigs']);
|
||||
$user->optionset('viewavatars', $data['avatars']);
|
||||
|
||||
if ($auth->acl_get('u_chgcensors'))
|
||||
{
|
||||
$user->optionset('viewcensors', $wordcensor);
|
||||
$user->optionset('viewcensors', $data['wordcensor']);
|
||||
}
|
||||
|
||||
$sql_ary = array(
|
||||
'user_options' => $user->data['user_options'],
|
||||
'user_topic_sortby_type'=> $topic_sk,
|
||||
'user_post_sortby_type' => $post_sk,
|
||||
'user_topic_sortby_dir' => $topic_sd,
|
||||
'user_post_sortby_dir' => $post_sd,
|
||||
'user_options' => $user->data['user_options'],
|
||||
'user_topic_sortby_type' => $data['topic_sk'],
|
||||
'user_post_sortby_type' => $data['post_sk'],
|
||||
'user_topic_sortby_dir' => $data['topic_sd'],
|
||||
'user_post_sortby_dir' => $data['post_sd'],
|
||||
|
||||
'user_topic_show_days' => $topic_st,
|
||||
'user_post_show_days' => $post_st,
|
||||
'user_topic_show_days' => $data['topic_st'],
|
||||
'user_post_show_days' => $data['post_st'],
|
||||
);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
@@ -251,15 +224,6 @@ class ucp_prefs
|
||||
$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
|
||||
}
|
||||
|
||||
$topic_sk = (isset($topic_sk)) ? $topic_sk : ((!empty($user->data['user_topic_sortby_type'])) ? $user->data['user_topic_sortby_type'] : 't');
|
||||
$post_sk = (isset($post_sk)) ? $post_sk : ((!empty($user->data['user_post_sortby_type'])) ? $user->data['user_post_sortby_type'] : 't');
|
||||
|
||||
$topic_sd = (isset($topic_sd)) ? $topic_sd : ((!empty($user->data['user_topic_sortby_dir'])) ? $user->data['user_topic_sortby_dir'] : 'd');
|
||||
$post_sd = (isset($post_sd)) ? $post_sd : ((!empty($user->data['user_post_sortby_dir'])) ? $user->data['user_post_sortby_dir'] : 'd');
|
||||
|
||||
$topic_st = (isset($topic_st)) ? $topic_st : ((!empty($user->data['user_topic_show_days'])) ? $user->data['user_topic_show_days'] : 0);
|
||||
$post_st = (isset($post_st)) ? $post_st : ((!empty($user->data['user_post_show_days'])) ? $user->data['user_post_show_days'] : 0);
|
||||
|
||||
$sort_dir_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']);
|
||||
|
||||
// Topic ordering options
|
||||
@@ -280,7 +244,7 @@ class ucp_prefs
|
||||
${'s_limit_' . $sort_option . '_days'} = '<select name="' . $sort_option . '_st">';
|
||||
foreach (${'limit_' . $sort_option . '_days'} as $day => $text)
|
||||
{
|
||||
$selected = (${$sort_option . '_st'} == $day) ? ' selected="selected"' : '';
|
||||
$selected = ($data[$sort_option . '_st'] == $day) ? ' selected="selected"' : '';
|
||||
${'s_limit_' . $sort_option . '_days'} .= '<option value="' . $day . '"' . $selected . '>' . $text . '</option>';
|
||||
}
|
||||
${'s_limit_' . $sort_option . '_days'} .= '</select>';
|
||||
@@ -288,7 +252,7 @@ class ucp_prefs
|
||||
${'s_sort_' . $sort_option . '_key'} = '<select name="' . $sort_option . '_sk">';
|
||||
foreach (${'sort_by_' . $sort_option . '_text'} as $key => $text)
|
||||
{
|
||||
$selected = (${$sort_option . '_sk'} == $key) ? ' selected="selected"' : '';
|
||||
$selected = ($data[$sort_option . '_sk'] == $key) ? ' selected="selected"' : '';
|
||||
${'s_sort_' . $sort_option . '_key'} .= '<option value="' . $key . '"' . $selected . '>' . $text . '</option>';
|
||||
}
|
||||
${'s_sort_' . $sort_option . '_key'} .= '</select>';
|
||||
@@ -296,46 +260,21 @@ class ucp_prefs
|
||||
${'s_sort_' . $sort_option . '_dir'} = '<select name="' . $sort_option . '_sd">';
|
||||
foreach ($sort_dir_text as $key => $value)
|
||||
{
|
||||
$selected = (${$sort_option . '_sd'} == $key) ? ' selected="selected"' : '';
|
||||
$selected = ($data[$sort_option . '_sd'] == $key) ? ' selected="selected"' : '';
|
||||
${'s_sort_' . $sort_option . '_dir'} .= '<option value="' . $key . '"' . $selected . '>' . $value . '</option>';
|
||||
}
|
||||
${'s_sort_' . $sort_option . '_dir'} .= '</select>';
|
||||
}
|
||||
|
||||
$images = (isset($images)) ? $images : $user->optionget('viewimg');
|
||||
$images_yes = ($images) ? ' checked="checked"' : '';
|
||||
$images_no = (!$images) ? ' checked="checked"' : '';
|
||||
$flash = (isset($flash)) ? $flash : $user->optionget('viewflash');
|
||||
$flash_yes = ($flash) ? ' checked="checked"' : '';
|
||||
$flash_no = (!$flash) ? ' checked="checked"' : '';
|
||||
$smilies = (isset($smilies)) ? $smilies : $user->optionget('viewsmilies');
|
||||
$smilies_yes = ($smilies) ? ' checked="checked"' : '';
|
||||
$smilies_no = (!$smilies) ? ' checked="checked"' : '';
|
||||
$sigs = (isset($sigs)) ? $sigs : $user->optionget('viewsigs');
|
||||
$sigs_yes = ($sigs) ? ' checked="checked"' : '';
|
||||
$sigs_no = (!$sigs) ? ' checked="checked"' : '';
|
||||
$avatars = (isset($avatars)) ? $avatars : $user->optionget('viewavatars');
|
||||
$avatars_yes = ($avatars) ? ' checked="checked"' : '';
|
||||
$avatars_no = (!$avatars) ? ' checked="checked"' : '';
|
||||
$wordcensor = (isset($wordcensor)) ? $wordcensor : $user->optionget('viewcensors');
|
||||
$wordcensor_yes = ($wordcensor) ? ' checked="checked"' : '';
|
||||
$wordcensor_no = (!$wordcensor) ? ' checked="checked"' : '';
|
||||
|
||||
$template->assign_vars(array(
|
||||
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
|
||||
|
||||
'VIEW_IMAGES_YES' => $images_yes,
|
||||
'VIEW_IMAGES_NO' => $images_no,
|
||||
'VIEW_FLASH_YES' => $flash_yes,
|
||||
'VIEW_FLASH_NO' => $flash_no,
|
||||
'VIEW_SMILIES_YES' => $smilies_yes,
|
||||
'VIEW_SMILIES_NO' => $smilies_no,
|
||||
'VIEW_SIGS_YES' => $sigs_yes,
|
||||
'VIEW_SIGS_NO' => $sigs_no,
|
||||
'VIEW_AVATARS_YES' => $avatars_yes,
|
||||
'VIEW_AVATARS_NO' => $avatars_no,
|
||||
'DISABLE_CENSORS_YES' => $wordcensor_yes,
|
||||
'DISABLE_CENSORS_NO' => $wordcensor_no,
|
||||
'S_IMAGES' => (isset($data['images'])) ? $data['images'] : $user->optionget('viewimg'),
|
||||
'S_FLASH' => (isset($data['flash'])) ? $data['flash'] : $user->optionget('viewflash'),
|
||||
'S_SMILIES' => (isset($data['smilies'])) ? $data['smilies'] : $user->optionget('viewsmilies'),
|
||||
'S_SIGS' => (isset($data['sigs'])) ? $data['sigs'] : $user->optionget('viewsigs'),
|
||||
'S_AVATARS' => (isset($data['avatars'])) ? $data['avatars'] : $user->optionget('viewavatars'),
|
||||
'S_DISABLE_CENSORS' => (isset($data['wordcensor'])) ? $data['wordcensor'] : $user->optionget('viewcensors'),
|
||||
|
||||
'S_CHANGE_CENSORS' => ($auth->acl_get('u_chgcensors')) ? true : false,
|
||||
|
||||
@@ -347,75 +286,52 @@ class ucp_prefs
|
||||
'S_POST_SORT_DIR' => $s_sort_post_dir)
|
||||
);
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'post':
|
||||
|
||||
$data = array(
|
||||
'bbcode' => $user->optionget('bbcode'),
|
||||
'smilies' => $user->optionget('smilies'),
|
||||
'sig' => $user->optionget('attachsig'),
|
||||
'notify' => $user->data['user_notify'],
|
||||
);
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
$var_ary = array(
|
||||
'bbcode' => true,
|
||||
'smilies' => true,
|
||||
'sig' => true,
|
||||
'notify' => false,
|
||||
);
|
||||
$var_ary = $data;
|
||||
|
||||
foreach ($var_ary as $var => $default)
|
||||
{
|
||||
$$var = request_var($var, $default);
|
||||
$data[$var] = request_var($var, $default);
|
||||
}
|
||||
|
||||
$user->optionset('bbcode', $bbcode);
|
||||
$user->optionset('smilies', $smilies);
|
||||
$user->optionset('attachsig', $sig);
|
||||
$user->optionset('bbcode', $data['bbcode']);
|
||||
$user->optionset('smilies', $data['smilies']);
|
||||
$user->optionset('attachsig', $data['sig']);
|
||||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
$sql_ary = array(
|
||||
'user_options' => $user->data['user_options'],
|
||||
'user_notify' => $notify,
|
||||
);
|
||||
$sql_ary = array(
|
||||
'user_options' => $user->data['user_options'],
|
||||
'user_notify' => $data['notify'],
|
||||
);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
|
||||
WHERE user_id = ' . $user->data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
|
||||
WHERE user_id = ' . $user->data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
meta_refresh(3, $this->u_action);
|
||||
$message = $user->lang['PREFERENCES_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>');
|
||||
trigger_error($message);
|
||||
}
|
||||
|
||||
// Replace "error" strings with their real, localised form
|
||||
$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
|
||||
meta_refresh(3, $this->u_action);
|
||||
$message = $user->lang['PREFERENCES_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>');
|
||||
trigger_error($message);
|
||||
}
|
||||
|
||||
$bbcode = (isset($bbcode)) ? $bbcode : $user->optionget('bbcode');
|
||||
$bbcode_yes = ($bbcode) ? ' checked="checked"' : '';
|
||||
$bbcode_no = (!$bbcode) ? ' checked="checked"' : '';
|
||||
$smilies = (isset($smilies)) ? $smilies : $user->optionget('smilies');
|
||||
$smilies_yes = ($smilies) ? ' checked="checked"' : '';
|
||||
$smilies_no = (!$smilies) ? ' checked="checked"' : '';
|
||||
$sig = (isset($sig)) ? $sig : $user->optionget('attachsig');
|
||||
$sig_yes = ($sig) ? ' checked="checked"' : '';
|
||||
$sig_no = (!$sig) ? ' checked="checked"' : '';
|
||||
$notify = (isset($notify)) ? $notify : $user->data['user_notify'];
|
||||
$notify_yes = ($notify) ? ' checked="checked"' : '';
|
||||
$notify_no = (!$notify) ? ' checked="checked"' : '';
|
||||
|
||||
$template->assign_vars(array(
|
||||
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
|
||||
|
||||
'DEFAULT_BBCODE_YES' => $bbcode_yes,
|
||||
'DEFAULT_BBCODE_NO' => $bbcode_no,
|
||||
'DEFAULT_SMILIES_YES' => $smilies_yes,
|
||||
'DEFAULT_SMILIES_NO' => $smilies_no,
|
||||
'DEFAULT_SIG_YES' => $sig_yes,
|
||||
'DEFAULT_SIG_NO' => $sig_no,
|
||||
'DEFAULT_NOTIFY_YES' => $notify_yes,
|
||||
'DEFAULT_NOTIFY_NO' => $notify_no,)
|
||||
'S_BBCODE' => $data['bbcode'],
|
||||
'S_SMILIES' => $data['smilies'],
|
||||
'S_SIG' => $data['sig'],
|
||||
'S_NOTIFY' => $data['notify'])
|
||||
);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
|
@@ -220,7 +220,7 @@ class ucp_profile
|
||||
'L_USERNAME_EXPLAIN' => sprintf($user->lang[$user_char_ary[str_replace('\\\\', '\\', $config['allow_name_chars'])] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
|
||||
'L_CHANGE_PASSWORD_EXPLAIN' => sprintf($user->lang['CHANGE_PASSWORD_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
|
||||
|
||||
'S_FORCE_PASSWORD' => ($config['chg_passforce'] && $this->data['user_passchg'] < time() - $config['chg_passforce']) ? true : false,
|
||||
'S_FORCE_PASSWORD' => ($config['chg_passforce'] && $user->data['user_passchg'] < time() - $config['chg_passforce']) ? true : false,
|
||||
'S_CHANGE_USERNAME' => ($config['allow_namechange'] && $auth->acl_get('u_chgname')) ? true : false,
|
||||
'S_CHANGE_EMAIL' => ($auth->acl_get('u_chgemail')) ? true : false,
|
||||
'S_CHANGE_PASSWORD' => ($auth->acl_get('u_chgpasswd')) ? true : false)
|
||||
|
@@ -24,16 +24,16 @@ class ucp_register
|
||||
//
|
||||
if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
|
||||
{
|
||||
trigger_error($user->lang['UCP_REGISTER_DISABLE']);
|
||||
trigger_error('UCP_REGISTER_DISABLE');
|
||||
}
|
||||
|
||||
include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
|
||||
|
||||
$confirm_id = request_var('confirm_id', '');
|
||||
$coppa = (isset($_REQUEST['coppa'])) ? ((!empty($_REQUEST['coppa'])) ? 1 : 0) : false;
|
||||
$agreed = (!empty($_POST['agreed'])) ? 1 : 0;
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
$change_lang = request_var('change_lang', '');
|
||||
$confirm_id = request_var('confirm_id', '');
|
||||
$coppa = (isset($_REQUEST['coppa'])) ? ((!empty($_REQUEST['coppa'])) ? 1 : 0) : false;
|
||||
$agreed = (!empty($_POST['agreed'])) ? 1 : 0;
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
$change_lang = request_var('change_lang', '');
|
||||
|
||||
if ($change_lang)
|
||||
{
|
||||
@@ -155,8 +155,10 @@ class ucp_register
|
||||
AND session_id = '" . $db->sql_escape($user->session_id) . "'
|
||||
AND confirm_type = " . CONFIRM_REG;
|
||||
$result = $db->sql_query($sql);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
if ($row)
|
||||
{
|
||||
if (strcasecmp($row['code'], $confirm_code) === 0)
|
||||
{
|
||||
@@ -177,7 +179,6 @@ class ucp_register
|
||||
$error[] = $user->lang['CONFIRM_CODE_WRONG'];
|
||||
$wrong_confirm = true;
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -193,7 +194,7 @@ class ucp_register
|
||||
$error[] = $user->lang['NEW_EMAIL_ERROR'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
$server_url = generate_board_url();
|
||||
@@ -208,13 +209,14 @@ class ucp_register
|
||||
WHERE group_name = '" . $db->sql_escape($group_name) . "'
|
||||
AND group_type = " . GROUP_SPECIAL;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if (!($row = $db->sql_fetchrow($result)))
|
||||
{
|
||||
trigger_error($user->lang['NO_GROUP']);
|
||||
}
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!$row)
|
||||
{
|
||||
trigger_error('NO_GROUP');
|
||||
}
|
||||
|
||||
$group_id = $row['group_id'];
|
||||
|
||||
if (($coppa ||
|
||||
@@ -223,7 +225,7 @@ class ucp_register
|
||||
{
|
||||
$user_actkey = gen_rand_string(10);
|
||||
$key_len = 54 - (strlen($server_url));
|
||||
$key_len = ($key_len > 6) ? $key_len : 6;
|
||||
$key_len = ($key_len < 6) ? 6 : $key_len;
|
||||
$user_actkey = substr($user_actkey, 0, $key_len);
|
||||
$user_type = USER_INACTIVE;
|
||||
}
|
||||
@@ -233,80 +235,21 @@ class ucp_register
|
||||
$user_actkey = '';
|
||||
}
|
||||
|
||||
// Begin transaction ... should this screw up we can rollback
|
||||
$db->sql_transaction('begin');
|
||||
|
||||
$sql_ary = array(
|
||||
'username' => $username,
|
||||
'user_permissions' => '',
|
||||
'user_password' => md5($new_password),
|
||||
'user_email' => $email,
|
||||
'user_email_hash' => (int) crc32(strtolower($email)) . strlen($email),
|
||||
'group_id' => (int) $group_id,
|
||||
'user_timezone' => (float) $tz,
|
||||
'user_dateformat' => $config['default_dateformat'],
|
||||
'user_lang' => $lang,
|
||||
'user_style' => $config['default_style'],
|
||||
'user_allow_pm' => 1,
|
||||
'user_type' => $user_type,
|
||||
'user_actkey' => $user_actkey,
|
||||
'user_ip' => $user->ip,
|
||||
'user_regdate' => time(),
|
||||
|
||||
'user_lastmark' => time(),
|
||||
'user_lastvisit' => 0,
|
||||
'user_lastpost_time' => 0,
|
||||
'user_lastpage' => '',
|
||||
'user_posts' => 0,
|
||||
'user_dst' => 0,
|
||||
'user_colour' => '',
|
||||
'user_avatar' => '',
|
||||
'user_avatar_type' => 0,
|
||||
'user_avatar_width' => 0,
|
||||
'user_avatar_height' => 0,
|
||||
'user_new_privmsg' => 0,
|
||||
'user_unread_privmsg' => 0,
|
||||
'user_last_privmsg' => 0,
|
||||
'user_message_rules' => 0,
|
||||
'user_full_folder' => PRIVMSGS_NO_BOX,
|
||||
'user_emailtime' => 0,
|
||||
|
||||
'user_notify' => 0,
|
||||
'user_notify_pm' => 1,
|
||||
'user_notify_type' => NOTIFY_EMAIL,
|
||||
'user_allow_pm' => 1,
|
||||
'user_allow_email' => 1,
|
||||
'user_allow_viewonline' => 1,
|
||||
'user_allow_viewemail' => 1,
|
||||
'user_allow_massemail' => 1,
|
||||
|
||||
'user_sig' => '',
|
||||
'user_sig_bbcode_uid' => '',
|
||||
'user_sig_bbcode_bitfield' => 0,
|
||||
);
|
||||
|
||||
$sql = 'INSERT INTO ' . USERS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
|
||||
$db->sql_query($sql);
|
||||
|
||||
$user_id = $db->sql_nextid();
|
||||
|
||||
// Insert Custom Profile Fields
|
||||
if (sizeof($cp_data))
|
||||
{
|
||||
$cp_data['user_id'] = (int) $user_id;
|
||||
$sql = 'INSERT INTO ' . PROFILE_FIELDS_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $cp->build_insert_sql_array($cp_data));
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
// Place into appropriate group, either REGISTERED(_COPPA) or INACTIVE(_COPPA) depending on config
|
||||
$sql = 'INSERT INTO ' . USER_GROUP_TABLE . ' ' . $db->sql_build_array('INSERT', array(
|
||||
'user_id' => (int) $user_id,
|
||||
$user_row = array(
|
||||
'username' => $username,
|
||||
'user_password' => md5($new_password),
|
||||
'user_email' => $email,
|
||||
'group_id' => (int) $group_id,
|
||||
'user_pending' => 0)
|
||||
'user_timezone' => (float) $tz,
|
||||
'user_lang' => $lang,
|
||||
'user_type' => $user_type,
|
||||
'user_actkey' => $user_actkey,
|
||||
'user_ip' => $user->ip,
|
||||
'user_regdate' => time(),
|
||||
);
|
||||
$db->sql_query($sql);
|
||||
|
||||
$db->sql_transaction('commit');
|
||||
// Register user...
|
||||
$user_id = user_add($user_row, $cp_data);
|
||||
|
||||
if ($coppa && $config['email_enable'])
|
||||
{
|
||||
@@ -331,7 +274,7 @@ class ucp_register
|
||||
|
||||
if ($config['email_enable'])
|
||||
{
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$messenger = new messenger(false);
|
||||
|
||||
@@ -360,7 +303,7 @@ class ucp_register
|
||||
$messenger->assign_vars(array(
|
||||
'FAX_INFO' => $config['coppa_fax'],
|
||||
'MAIL_INFO' => $config['coppa_mail'],
|
||||
'EMAIL_ADDRESS' => $email,
|
||||
'EMAIL_ADDRESS' => $email,
|
||||
'SITENAME' => $config['sitename'])
|
||||
);
|
||||
}
|
||||
@@ -369,8 +312,7 @@ class ucp_register
|
||||
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
|
||||
{
|
||||
// Grab an array of user_id's with a_user permissions ... these users
|
||||
// can activate a user
|
||||
// Grab an array of user_id's with a_user permissions ... these users can activate a user
|
||||
$admin_ary = $auth->acl_get_list(false, 'a_user', false);
|
||||
|
||||
$sql = 'SELECT user_id, username, user_email, user_lang, user_jabber, user_notify_type
|
||||
@@ -412,12 +354,13 @@ class ucp_register
|
||||
}
|
||||
|
||||
$s_hidden_fields = build_hidden_fields(array(
|
||||
'agreed' => 'true',
|
||||
'coppa' => $coppa,
|
||||
'agreed' => 'true',
|
||||
'coppa' => $coppa,
|
||||
'change_lang' => 0)
|
||||
);
|
||||
|
||||
$confirm_image = '';
|
||||
|
||||
// Visual Confirmation - Show images
|
||||
if ($config['enable_confirm'])
|
||||
{
|
||||
@@ -448,16 +391,14 @@ class ucp_register
|
||||
WHERE session_id = '" . $db->sql_escape($user->session_id) . "'
|
||||
AND confirm_type = " . CONFIRM_REG;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
if ($config['max_reg_attempts'] && $row['attempts'] >= $config['max_reg_attempts'])
|
||||
{
|
||||
trigger_error($user->lang['TOO_MANY_REGISTERS']);
|
||||
}
|
||||
}
|
||||
$attempts = (int) $db->sql_fetchfield('attempts');
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
|
||||
if ($config['max_reg_attempts'] && $attempts > $config['max_reg_attempts'])
|
||||
{
|
||||
trigger_error($user->lang['TOO_MANY_REGISTERS']);
|
||||
}
|
||||
|
||||
$code = gen_rand_string(mt_rand(5, 8));
|
||||
$confirm_id = md5(unique_id($user->ip));
|
||||
|
||||
@@ -480,11 +421,11 @@ class ucp_register
|
||||
{
|
||||
case USER_ACTIVATION_SELF:
|
||||
$l_reg_cond = $user->lang['UCP_EMAIL_ACTIVATE'];
|
||||
break;
|
||||
break;
|
||||
|
||||
case USER_ACTIVATION_ADMIN:
|
||||
$l_reg_cond = $user->lang['UCP_ADMIN_ACTIVATE'];
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
$user_char_ary = array('.*' => 'USERNAME_CHARS_ANY', '[\w]+' => 'USERNAME_ALPHA_ONLY', '[\w_\+\. \-\[\]]+' => 'USERNAME_ALPHA_SPACERS');
|
||||
@@ -502,10 +443,10 @@ class ucp_register
|
||||
'EMAIL_CONFIRM' => (isset($email_confirm)) ? $email_confirm : '',
|
||||
'CONFIRM_IMG' => $confirm_image,
|
||||
|
||||
'L_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlentities($config['board_contact']) . '">', '</a>'),
|
||||
'L_ITEMS_REQUIRED' => $l_reg_cond,
|
||||
'L_USERNAME_EXPLAIN' => sprintf($user->lang[$user_char_ary[str_replace('\\\\', '\\', $config['allow_name_chars'])] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
|
||||
'L_NEW_PASSWORD_EXPLAIN'=> sprintf($user->lang['NEW_PASSWORD_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
|
||||
'L_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlentities($config['board_contact']) . '">', '</a>'),
|
||||
'L_ITEMS_REQUIRED' => $l_reg_cond,
|
||||
'L_USERNAME_EXPLAIN' => sprintf($user->lang[$user_char_ary[str_replace('\\\\', '\\', $config['allow_name_chars'])] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
|
||||
'L_NEW_PASSWORD_EXPLAIN' => sprintf($user->lang['NEW_PASSWORD_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
|
||||
|
||||
'S_LANG_OPTIONS' => language_select($lang),
|
||||
'S_TZ_OPTIONS' => tz_select($tz),
|
||||
|
@@ -19,86 +19,80 @@ class ucp_remind
|
||||
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx;
|
||||
global $config, $phpbb_root_path, $phpEx;
|
||||
global $db, $user, $auth, $template;
|
||||
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
$username = request_var('username', '', true);
|
||||
$email = request_var('email', '');
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
$username = request_var('username', '', true);
|
||||
$email = request_var('email', '');
|
||||
|
||||
$sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type, user_type, user_lang
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE user_email = '" . $db->sql_escape($email) . "'
|
||||
AND username = '" . $db->sql_escape($username) . "'";
|
||||
AND LOWER(username) = '" . $db->sql_escape(strtolower($username)) . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
$user_row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!($row = $db->sql_fetchrow($result)))
|
||||
if (!$user_row)
|
||||
{
|
||||
trigger_error('NO_EMAIL_USER');
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($row['user_type'] == USER_INACTIVE)
|
||||
if ($user_row['user_type'] == USER_INACTIVE)
|
||||
{
|
||||
trigger_error('ACCOUNT_NOT_ACTIVATED');
|
||||
}
|
||||
|
||||
$server_url = generate_board_url();
|
||||
$username = $row['username'];
|
||||
$user_id = $row['user_id'];
|
||||
|
||||
$key_len = 54 - strlen($server_url);
|
||||
$key_len = ($key_len > 6) ? $key_len : 6;
|
||||
$key_len = ($key_len < 6) ? 6 : $key_len;
|
||||
$user_actkey = substr(gen_rand_string(10), 0, $key_len);
|
||||
$user_password = gen_rand_string(8);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . "
|
||||
SET user_newpasswd = '" . $db->sql_escape(md5($user_password)) . "', user_actkey = '" . $db->sql_escape($user_actkey) . "'
|
||||
WHERE user_id = " . $row['user_id'];
|
||||
WHERE user_id = " . $user_row['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$messenger = new messenger();
|
||||
$messenger = new messenger(false);
|
||||
|
||||
$messenger->template('user_activate_passwd', $row['user_lang']);
|
||||
|
||||
$messenger->replyto($user->data['user_email']);
|
||||
$messenger->to($row['user_email'], $row['username']);
|
||||
$messenger->im($row['user_jabber'], $row['username']);
|
||||
$messenger->to($user_row['user_email'], $user_row['username']);
|
||||
$messenger->im($user_row['user_jabber'], $user_row['username']);
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
'SITENAME' => $config['sitename'],
|
||||
'USERNAME' => html_entity_decode($username),
|
||||
'USERNAME' => html_entity_decode($user_row['username']),
|
||||
'PASSWORD' => html_entity_decode($user_password),
|
||||
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']),
|
||||
|
||||
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u=$user_id&k=$user_actkey")
|
||||
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k=$user_actkey")
|
||||
);
|
||||
|
||||
$messenger->send($row['user_notify_type']);
|
||||
$messenger->save_queue();
|
||||
|
||||
$messenger->send($user_row['user_notify_type']);
|
||||
|
||||
meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));
|
||||
|
||||
$message = $user->lang['PASSWORD_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
|
||||
trigger_error($message);
|
||||
}
|
||||
else
|
||||
{
|
||||
$username = $email = '';
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'USERNAME' => $username,
|
||||
'EMAIL' => $email)
|
||||
'USERNAME' => $username,
|
||||
'EMAIL' => $email,
|
||||
'S_PROFILE_ACTION' => append_sid($phpbb_root_path . 'ucp.' . $phpEx, 'mode=sendpassword'))
|
||||
);
|
||||
|
||||
$this->tpl_name = 'ucp_remind';
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
@@ -19,61 +19,57 @@ class ucp_resend
|
||||
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx;
|
||||
global $config, $phpbb_root_path, $phpEx;
|
||||
global $db, $user, $auth, $template;
|
||||
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
$username = request_var('username', '', true);
|
||||
$email = request_var('email', '');
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
$username = request_var('username', '', true);
|
||||
$email = request_var('email', '');
|
||||
|
||||
$sql = 'SELECT user_id, username, user_email, user_type, user_lang, user_actkey
|
||||
$sql = 'SELECT user_id, group_id, username, user_email, user_type, user_lang, user_actkey
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE user_email = '" . $db->sql_escape($email) . "'
|
||||
AND username = '" . $db->sql_escape($username) . "'";
|
||||
AND LOWER(username) = '" . $db->sql_escape(strtolower($username)) . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
$user_row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!($row = $db->sql_fetchrow($result)))
|
||||
if (!$user_row)
|
||||
{
|
||||
trigger_error('NO_EMAIL_USER');
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!$row['user_actkey'])
|
||||
if (!$user_row['user_actkey'])
|
||||
{
|
||||
trigger_error('ACCOUNT_ALREADY_ACTIVATED');
|
||||
}
|
||||
|
||||
$server_url = generate_board_url();
|
||||
$username = $row['username'];
|
||||
$user_id = $row['user_id'];
|
||||
// Determine coppa status on group (INACTIVE(_COPPA))
|
||||
$sql = 'SELECT group_name, group_type
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
WHERE group_id = ' . $user_row['group_id'];
|
||||
$result = $db->sql_query($sql);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
/* if ($coppa)
|
||||
if (!$row)
|
||||
{
|
||||
$email_template = 'coppa_welcome_inactive';
|
||||
}*/
|
||||
/*
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
|
||||
{
|
||||
$email_template = 'admin_welcome_inactive';
|
||||
trigger_error('NO_GROUP');
|
||||
}
|
||||
else
|
||||
{
|
||||
$email_template = 'user_welcome_inactive';
|
||||
}
|
||||
*/
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
|
||||
$coppa = ($row['group_name'] == 'INACTIVE_COPPA' && $row['group_type'] == GROUP_SPECIAL) ? true : false;
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
$messenger = new messenger(false);
|
||||
|
||||
if ($config['require_activation'] == USER_ACTIVATION_SELF || $coppa)
|
||||
{
|
||||
$messenger->template('user_resend_inactive', $row['user_lang']);
|
||||
$messenger->template(($coppa) ? 'coppa_resend_inactive' : 'user_resend_inactive', $user_row['user_lang']);
|
||||
|
||||
$messenger->replyto($config['board_contact']);
|
||||
$messenger->to($row['user_email'], $row['username']);
|
||||
$messenger->to($user_row['user_email'], $user_row['username']);
|
||||
|
||||
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
|
||||
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
|
||||
@@ -83,10 +79,10 @@ class ucp_resend
|
||||
$messenger->assign_vars(array(
|
||||
'SITENAME' => $config['sitename'],
|
||||
'WELCOME_MSG' => sprintf($user->lang['WELCOME_SUBJECT'], $config['sitename']),
|
||||
'USERNAME' => html_entity_decode($row['username']),
|
||||
'USERNAME' => html_entity_decode($user_row['username']),
|
||||
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']),
|
||||
|
||||
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u={$row['user_id']}&k={$row['user_actkey']}")
|
||||
'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k={$user_row['user_actkey']}")
|
||||
);
|
||||
|
||||
if ($coppa)
|
||||
@@ -94,7 +90,7 @@ class ucp_resend
|
||||
$messenger->assign_vars(array(
|
||||
'FAX_INFO' => $config['coppa_fax'],
|
||||
'MAIL_INFO' => $config['coppa_mail'],
|
||||
'EMAIL_ADDRESS' => $row['user_email'],
|
||||
'EMAIL_ADDRESS' => $user_row['user_email'],
|
||||
'SITENAME' => $config['sitename'])
|
||||
);
|
||||
}
|
||||
@@ -104,8 +100,7 @@ class ucp_resend
|
||||
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
|
||||
{
|
||||
// Grab an array of user_id's with a_user permissions ... these users
|
||||
// can activate a user
|
||||
// Grab an array of user_id's with a_user permissions ... these users can activate a user
|
||||
$admin_ary = $auth->acl_get_list(false, 'a_user', false);
|
||||
|
||||
$sql = 'SELECT user_id, username, user_email, user_lang, user_jabber, user_notify_type
|
||||
@@ -121,10 +116,10 @@ class ucp_resend
|
||||
$messenger->im($row['user_jabber'], $row['username']);
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
'USERNAME' => html_entity_decode($row['username']),
|
||||
'USERNAME' => html_entity_decode($user_row['username']),
|
||||
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']),
|
||||
|
||||
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u={$row['user_id']}&k={$row['user_actkey']}")
|
||||
'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k={$user_row['user_actkey']}")
|
||||
);
|
||||
|
||||
$messenger->send($row['user_notify_type']);
|
||||
@@ -137,18 +132,15 @@ class ucp_resend
|
||||
$message = $user->lang['ACTIVATION_EMAIL_SENT'] . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
|
||||
trigger_error($message);
|
||||
}
|
||||
else
|
||||
{
|
||||
$username = $email = '';
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'USERNAME' => $username,
|
||||
'EMAIL' => $email)
|
||||
'USERNAME' => $username,
|
||||
'EMAIL' => $email,
|
||||
'S_PROFILE_ACTION' => append_sid($phpbb_root_path . 'ucp.' . $phpEx, 'mode=resend_act'))
|
||||
);
|
||||
|
||||
$this->tpl_name = 'ucp_resend';
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
Reference in New Issue
Block a user