mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-06 00:37:42 +02:00
Merge branch 'develop' of https://github.com/phpbb/phpbb3 into ticket/11842
Conflicts: phpBB/includes/acp/acp_groups.php
This commit is contained in:
@@ -748,7 +748,6 @@ class acp_attachments
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PHPBB_ROOT_PATH' => $phpbb_root_path,
|
||||
'IMG_PATH' => $img_path,
|
||||
'ACTION' => $action,
|
||||
'GROUP_ID' => $group_id,
|
||||
|
@@ -108,11 +108,12 @@ class acp_bbcodes
|
||||
'DISPLAY_ON_POSTING' => $display_on_posting)
|
||||
);
|
||||
|
||||
foreach ($user->lang['tokens'] as $token => $token_explain)
|
||||
$bbcode_tokens = array('TEXT', 'SIMPLETEXT', 'INTTEXT', 'IDENTIFIER', 'NUMBER', 'EMAIL', 'URL', 'LOCAL_URL', 'RELATIVE_URL', 'COLOR');
|
||||
foreach ($bbcode_tokens as $token)
|
||||
{
|
||||
$template->assign_block_vars('token', array(
|
||||
'TOKEN' => '{' . $token . '}',
|
||||
'EXPLAIN' => ($token === 'LOCAL_URL') ? sprintf($token_explain, generate_board_url() . '/') : $token_explain,
|
||||
'EXPLAIN' => ($token === 'LOCAL_URL') ? $user->lang(array('tokens', $token), generate_board_url() . '/') : $user->lang(array('tokens', $token)),
|
||||
));
|
||||
}
|
||||
|
||||
|
@@ -763,8 +763,8 @@ class acp_board
|
||||
global $user, $config;
|
||||
|
||||
$act_ary = array(
|
||||
'ACC_DISABLE' => USER_ACTIVATION_DISABLE,
|
||||
'ACC_NONE' => USER_ACTIVATION_NONE,
|
||||
'ACC_DISABLE' => USER_ACTIVATION_DISABLE,
|
||||
'ACC_NONE' => USER_ACTIVATION_NONE,
|
||||
);
|
||||
if ($config['email_enable'])
|
||||
{
|
||||
|
@@ -94,29 +94,29 @@ class acp_database
|
||||
case 'mysqli':
|
||||
case 'mysql4':
|
||||
case 'mysql':
|
||||
$extractor = new mysql_extractor($download, $store, $format, $filename, $time);
|
||||
$extractor = new mysql_extractor($format, $filename, $time, $download, $store);
|
||||
break;
|
||||
|
||||
case 'sqlite':
|
||||
$extractor = new sqlite_extractor($download, $store, $format, $filename, $time);
|
||||
$extractor = new sqlite_extractor($format, $filename, $time, $download, $store);
|
||||
break;
|
||||
|
||||
case 'postgres':
|
||||
$extractor = new postgres_extractor($download, $store, $format, $filename, $time);
|
||||
$extractor = new postgres_extractor($format, $filename, $time, $download, $store);
|
||||
break;
|
||||
|
||||
case 'oracle':
|
||||
$extractor = new oracle_extractor($download, $store, $format, $filename, $time);
|
||||
$extractor = new oracle_extractor($format, $filename, $time, $download, $store);
|
||||
break;
|
||||
|
||||
case 'mssql':
|
||||
case 'mssql_odbc':
|
||||
case 'mssqlnative':
|
||||
$extractor = new mssql_extractor($download, $store, $format, $filename, $time);
|
||||
$extractor = new mssql_extractor($format, $filename, $time, $download, $store);
|
||||
break;
|
||||
|
||||
case 'firebird':
|
||||
$extractor = new firebird_extractor($download, $store, $format, $filename, $time);
|
||||
$extractor = new firebird_extractor($format, $filename, $time, $download, $store);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -488,7 +488,7 @@ class base_extractor
|
||||
var $format;
|
||||
var $run_comp = false;
|
||||
|
||||
function base_extractor($download = false, $store = false, $format, $filename, $time)
|
||||
function base_extractor($format, $filename, $time, $download = false, $store = false)
|
||||
{
|
||||
global $request;
|
||||
|
||||
@@ -1607,16 +1607,17 @@ class mssql_extractor extends base_extractor
|
||||
return;
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM $table_name";
|
||||
$result_fields = $db->sql_query_limit($sql, 1);
|
||||
$sql = "SELECT COLUMN_NAME, DATA_TYPE
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = '" . $db->sql_escape($table_name) . "'";
|
||||
$result_fields = $db->sql_query($sql);
|
||||
|
||||
$row = new result_mssqlnative($result_fields);
|
||||
$i_num_fields = $row->num_fields();
|
||||
|
||||
for ($i = 0; $i < $i_num_fields; $i++)
|
||||
$i_num_fields = 0;
|
||||
while ($row = $db->sql_fetchrow($result_fields))
|
||||
{
|
||||
$ary_type[$i] = $row->field_type($i);
|
||||
$ary_name[$i] = $row->field_name($i);
|
||||
$ary_type[$i_num_fields] = $row['DATA_TYPE'];
|
||||
$ary_name[$i_num_fields] = $row['COLUMN_NAME'];
|
||||
$i_num_fields++;
|
||||
}
|
||||
$db->sql_freeresult($result_fields);
|
||||
|
||||
|
@@ -55,6 +55,11 @@ class acp_extensions
|
||||
$ext_name = '';
|
||||
}
|
||||
|
||||
if (in_array($action, array('enable', 'disable', 'delete_data')) && !check_link_hash($request->variable('hash', ''), $action . '.' . $ext_name))
|
||||
{
|
||||
trigger_error('FORM_INVALID', E_USER_WARNING);
|
||||
}
|
||||
|
||||
// If they've specified an extension, let's load the metadata manager and validate it.
|
||||
if ($ext_name)
|
||||
{
|
||||
@@ -66,7 +71,7 @@ class acp_extensions
|
||||
}
|
||||
catch(\phpbb\extension\exception $e)
|
||||
{
|
||||
trigger_error($e);
|
||||
trigger_error($e, E_USER_WARNING);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,8 +101,9 @@ class acp_extensions
|
||||
$this->tpl_name = 'acp_ext_enable';
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PRE' => true,
|
||||
'U_ENABLE' => $this->u_action . '&action=enable&ext_name=' . urlencode($ext_name),
|
||||
'PRE' => true,
|
||||
'L_CONFIRM_MESSAGE' => $this->user->lang('EXTENSION_ENABLE_CONFIRM', $md_manager->get_metadata('display-name')),
|
||||
'U_ENABLE' => $this->u_action . '&action=enable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('enable.' . $ext_name),
|
||||
));
|
||||
break;
|
||||
|
||||
@@ -116,7 +122,7 @@ class acp_extensions
|
||||
{
|
||||
$template->assign_var('S_NEXT_STEP', true);
|
||||
|
||||
meta_refresh(0, $this->u_action . '&action=enable&ext_name=' . urlencode($ext_name));
|
||||
meta_refresh(0, $this->u_action . '&action=enable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('enable.' . $ext_name));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -128,7 +134,7 @@ class acp_extensions
|
||||
$this->tpl_name = 'acp_ext_enable';
|
||||
|
||||
$template->assign_vars(array(
|
||||
'U_RETURN' => $this->u_action . '&action=list',
|
||||
'U_RETURN' => $this->u_action . '&action=list',
|
||||
));
|
||||
break;
|
||||
|
||||
@@ -141,8 +147,9 @@ class acp_extensions
|
||||
$this->tpl_name = 'acp_ext_disable';
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PRE' => true,
|
||||
'U_DISABLE' => $this->u_action . '&action=disable&ext_name=' . urlencode($ext_name),
|
||||
'PRE' => true,
|
||||
'L_CONFIRM_MESSAGE' => $this->user->lang('EXTENSION_DISABLE_CONFIRM', $md_manager->get_metadata('display-name')),
|
||||
'U_DISABLE' => $this->u_action . '&action=disable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('disable.' . $ext_name),
|
||||
));
|
||||
break;
|
||||
|
||||
@@ -154,7 +161,7 @@ class acp_extensions
|
||||
{
|
||||
$template->assign_var('S_NEXT_STEP', true);
|
||||
|
||||
meta_refresh(0, $this->u_action . '&action=disable&ext_name=' . urlencode($ext_name));
|
||||
meta_refresh(0, $this->u_action . '&action=disable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('disable.' . $ext_name));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,16 +172,21 @@ class acp_extensions
|
||||
));
|
||||
break;
|
||||
|
||||
case 'purge_pre':
|
||||
$this->tpl_name = 'acp_ext_purge';
|
||||
case 'delete_data_pre':
|
||||
if ($phpbb_extension_manager->enabled($ext_name))
|
||||
{
|
||||
redirect($this->u_action);
|
||||
}
|
||||
$this->tpl_name = 'acp_ext_delete_data';
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PRE' => true,
|
||||
'U_PURGE' => $this->u_action . '&action=purge&ext_name=' . urlencode($ext_name),
|
||||
'PRE' => true,
|
||||
'L_CONFIRM_MESSAGE' => $this->user->lang('EXTENSION_DELETE_DATA_CONFIRM', $md_manager->get_metadata('display-name')),
|
||||
'U_PURGE' => $this->u_action . '&action=delete_data&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('delete_data.' . $ext_name),
|
||||
));
|
||||
break;
|
||||
|
||||
case 'purge':
|
||||
case 'delete_data':
|
||||
try
|
||||
{
|
||||
while ($phpbb_extension_manager->purge_step($ext_name))
|
||||
@@ -184,7 +196,7 @@ class acp_extensions
|
||||
{
|
||||
$template->assign_var('S_NEXT_STEP', true);
|
||||
|
||||
meta_refresh(0, $this->u_action . '&action=purge&ext_name=' . urlencode($ext_name));
|
||||
meta_refresh(0, $this->u_action . '&action=delete_data&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('delete_data.' . $ext_name));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -193,7 +205,7 @@ class acp_extensions
|
||||
$template->assign_var('MIGRATOR_ERROR', $e->getLocalisedMessage($user));
|
||||
}
|
||||
|
||||
$this->tpl_name = 'acp_ext_purge';
|
||||
$this->tpl_name = 'acp_ext_delete_data';
|
||||
|
||||
$template->assign_vars(array(
|
||||
'U_RETURN' => $this->u_action . '&action=list',
|
||||
@@ -233,7 +245,6 @@ class acp_extensions
|
||||
|
||||
$this->output_actions('enabled', array(
|
||||
'DISABLE' => $this->u_action . '&action=disable_pre&ext_name=' . urlencode($name),
|
||||
'PURGE' => $this->u_action . '&action=purge_pre&ext_name=' . urlencode($name),
|
||||
));
|
||||
}
|
||||
catch(\phpbb\extension\exception $e)
|
||||
@@ -267,7 +278,7 @@ class acp_extensions
|
||||
|
||||
$this->output_actions('disabled', array(
|
||||
'ENABLE' => $this->u_action . '&action=enable_pre&ext_name=' . urlencode($name),
|
||||
'PURGE' => $this->u_action . '&action=purge_pre&ext_name=' . urlencode($name),
|
||||
'DELETE_DATA' => $this->u_action . '&action=delete_data_pre&ext_name=' . urlencode($name),
|
||||
));
|
||||
}
|
||||
catch(\phpbb\extension\exception $e)
|
||||
@@ -325,8 +336,9 @@ class acp_extensions
|
||||
foreach ($actions as $lang => $url)
|
||||
{
|
||||
$this->template->assign_block_vars($block . '.actions', array(
|
||||
'L_ACTION' => $this->user->lang($lang),
|
||||
'U_ACTION' => $url,
|
||||
'L_ACTION' => $this->user->lang('EXTENSION_' . $lang),
|
||||
'L_ACTION_EXPLAIN' => (isset($this->user->lang['EXTENSION_' . $lang . '_EXPLAIN'])) ? $this->user->lang('EXTENSION_' . $lang . '_EXPLAIN') : '',
|
||||
'U_ACTION' => $url,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@@ -1470,7 +1470,7 @@ class acp_forums
|
||||
/**
|
||||
* Event when we move content from one forum to another
|
||||
*
|
||||
* @event core.acp_manage_forums_move_children
|
||||
* @event core.acp_manage_forums_move_content
|
||||
* @var int from_id If of the current parent forum
|
||||
* @var int to_id If of the new parent forum
|
||||
* @var bool sync Shall we sync the "to"-forum's data
|
||||
|
@@ -324,7 +324,7 @@ class acp_groups
|
||||
$avatar_drivers = $phpbb_avatar_manager->get_enabled_drivers();
|
||||
|
||||
// This is normalised data, without the group_ prefix
|
||||
$avatar_data = \phpbb\avatar\manager::clean_row($group_row);
|
||||
$avatar_data = \phpbb\avatar\manager::clean_row($group_row, 'group');
|
||||
if (!isset($avatar_data['id']))
|
||||
{
|
||||
$avatar_data['id'] = 'g' . $group_id;
|
||||
@@ -661,7 +661,6 @@ class acp_groups
|
||||
'GROUP_HIDDEN' => $type_hidden,
|
||||
|
||||
'U_BACK' => $u_back,
|
||||
'U_SWATCH' => append_sid("{$phpbb_admin_path}swatch.$phpEx", 'form=settings&name=group_colour'),
|
||||
'U_ACTION' => "{$this->u_action}&action=$action&g=$group_id",
|
||||
'L_AVATAR_EXPLAIN' => phpbb_avatar_explanation_string(),
|
||||
));
|
||||
|
@@ -307,7 +307,6 @@ class acp_icons
|
||||
|
||||
'IMG_SRC' => $phpbb_root_path . $img_path . '/' . $default_row['smiley_url'],
|
||||
'IMG_PATH' => $img_path,
|
||||
'PHPBB_ROOT_PATH' => $phpbb_root_path,
|
||||
|
||||
'CODE' => $default_row['code'],
|
||||
'EMOTION' => $default_row['emotion'],
|
||||
@@ -480,7 +479,7 @@ class acp_icons
|
||||
$icons_updated++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$cache->destroy('_icons');
|
||||
|
@@ -888,7 +888,11 @@ class acp_styles
|
||||
protected function list_style(&$style, $level)
|
||||
{
|
||||
// Mark row as shown
|
||||
if (!empty($style['_shown'])) return;
|
||||
if (!empty($style['_shown']))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$style['_shown'] = true;
|
||||
|
||||
// Generate template variables
|
||||
|
@@ -396,6 +396,9 @@ class acp_users
|
||||
{
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
|
||||
{
|
||||
$phpbb_notifications = $phpbb_container->get('notification_manager');
|
||||
$phpbb_notifications->delete_notifications('admin_activate_user', $user_row['user_id']);
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$messenger = new messenger(false);
|
||||
@@ -647,8 +650,8 @@ class acp_users
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
if ($topic_id_ary[$row['topic_id']][ITEM_APPROVED] == $row['topic_posts_approved']
|
||||
&& $topic_id_ary[$row['topic_id']][ITEM_UNAPPROVED] == $row['topic_posts_unapproved']
|
||||
&& $topic_id_ary[$row['topic_id']][ITEM_DELETED] == $row['topic_posts_softdeleted'])
|
||||
&& $topic_id_ary[$row['topic_id']][ITEM_UNAPPROVED] == $row['topic_posts_unapproved']
|
||||
&& $topic_id_ary[$row['topic_id']][ITEM_DELETED] == $row['topic_posts_softdeleted'])
|
||||
{
|
||||
$move_topic_ary[] = $row['topic_id'];
|
||||
}
|
||||
@@ -1509,7 +1512,6 @@ class acp_users
|
||||
'hideonline' => request_var('hideonline', !$user_row['user_allow_viewonline']),
|
||||
'notifymethod' => request_var('notifymethod', $user_row['user_notify_type']),
|
||||
'notifypm' => request_var('notifypm', $user_row['user_notify_pm']),
|
||||
'popuppm' => request_var('popuppm', $this->optionget($user_row, 'popuppm')),
|
||||
'allowpm' => request_var('allowpm', $user_row['user_allow_pm']),
|
||||
|
||||
'topic_sk' => request_var('topic_sk', ($user_row['user_topic_sortby_type']) ? $user_row['user_topic_sortby_type'] : 't'),
|
||||
@@ -1553,7 +1555,6 @@ class acp_users
|
||||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
$this->optionset($user_row, 'popuppm', $data['popuppm']);
|
||||
$this->optionset($user_row, 'viewimg', $data['view_images']);
|
||||
$this->optionset($user_row, 'viewflash', $data['view_flash']);
|
||||
$this->optionset($user_row, 'viewsmilies', $data['view_smilies']);
|
||||
@@ -1696,7 +1697,6 @@ class acp_users
|
||||
'NOTIFY_IM' => ($data['notifymethod'] == NOTIFY_IM) ? true : false,
|
||||
'NOTIFY_BOTH' => ($data['notifymethod'] == NOTIFY_BOTH) ? true : false,
|
||||
'NOTIFY_PM' => $data['notifypm'],
|
||||
'POPUP_PM' => $data['popuppm'],
|
||||
'BBCODE' => $data['bbcode'],
|
||||
'SMILIES' => $data['smilies'],
|
||||
'ATTACH_SIG' => $data['sig'],
|
||||
@@ -1742,7 +1742,7 @@ class acp_users
|
||||
$avatar_drivers = $phpbb_avatar_manager->get_enabled_drivers();
|
||||
|
||||
// This is normalised data, without the user_ prefix
|
||||
$avatar_data = \phpbb\avatar\manager::clean_row($user_row);
|
||||
$avatar_data = \phpbb\avatar\manager::clean_row($user_row, 'user');
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
|
@@ -506,7 +506,7 @@ class auth_admin extends \phpbb\auth\auth
|
||||
'FORUM_ID' => $forum_id)
|
||||
);
|
||||
|
||||
$this->assign_cat_array($ug_array, $tpl_pmask . '.' . $tpl_fmask . '.' . $tpl_category, $tpl_mask, $ug_id, $forum_id, $show_trace, ($mode == 'view'));
|
||||
$this->assign_cat_array($ug_array, $tpl_pmask . '.' . $tpl_fmask . '.' . $tpl_category, $tpl_mask, $ug_id, $forum_id, ($mode == 'view'), $show_trace);
|
||||
|
||||
unset($content_array[$ug_id]);
|
||||
}
|
||||
@@ -593,7 +593,7 @@ class auth_admin extends \phpbb\auth\auth
|
||||
'FORUM_ID' => $forum_id)
|
||||
);
|
||||
|
||||
$this->assign_cat_array($forum_array, $tpl_pmask . '.' . $tpl_fmask . '.' . $tpl_category, $tpl_mask, $ug_id, $forum_id, $show_trace, ($mode == 'view'));
|
||||
$this->assign_cat_array($forum_array, $tpl_pmask . '.' . $tpl_fmask . '.' . $tpl_category, $tpl_mask, $ug_id, $forum_id, ($mode == 'view'), $show_trace);
|
||||
}
|
||||
|
||||
unset($hold_ary[$ug_id], $ug_names_ary[$ug_id]);
|
||||
@@ -1099,7 +1099,7 @@ class auth_admin extends \phpbb\auth\auth
|
||||
* Assign category to template
|
||||
* used by display_mask()
|
||||
*/
|
||||
function assign_cat_array(&$category_array, $tpl_cat, $tpl_mask, $ug_id, $forum_id, $show_trace = false, $s_view)
|
||||
function assign_cat_array(&$category_array, $tpl_cat, $tpl_mask, $ug_id, $forum_id, $s_view, $show_trace = false)
|
||||
{
|
||||
global $template, $user, $phpbb_admin_path, $phpEx, $phpbb_container;
|
||||
|
||||
|
@@ -26,7 +26,6 @@ class captcha
|
||||
var $width = 360;
|
||||
var $height = 96;
|
||||
|
||||
|
||||
/**
|
||||
* Create the image containing $code with a seed of $seed
|
||||
*/
|
||||
@@ -69,7 +68,6 @@ class captcha
|
||||
$bounding_boxes[$i] = $box;
|
||||
}
|
||||
|
||||
|
||||
// Redistribute leftover x-space
|
||||
$offset = array();
|
||||
for ($i = 0; $i < $code_len; ++$i)
|
||||
@@ -99,12 +97,12 @@ class captcha
|
||||
imagedashedline($img, mt_rand($x -3, $x + 3), mt_rand(0, 4), mt_rand($x -3, $x + 3), mt_rand($this->height - 5, $this->height), $current_colour);
|
||||
}
|
||||
}
|
||||
|
||||
if ($config['captcha_gd_wave'] && ($config['captcha_gd_y_grid'] || $config['captcha_gd_y_grid']))
|
||||
{
|
||||
$this->wave($img);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ($config['captcha_gd_3d_noise'])
|
||||
{
|
||||
$xoffset = mt_rand(0,9);
|
||||
@@ -122,11 +120,12 @@ class captcha
|
||||
$dimm = $bounding_boxes[$i];
|
||||
$xoffset += ($offset[$i] - $dimm[0]);
|
||||
$yoffset = mt_rand(-$dimm[1], $this->height - $dimm[3]);
|
||||
|
||||
|
||||
$noise[$i]->drawchar($sizes[$i], $xoffset, $yoffset, $img, $colour->get_resource('background'), $scheme);
|
||||
$xoffset += $dimm[2];
|
||||
}
|
||||
}
|
||||
|
||||
$xoffset = 5;
|
||||
for ($i = 0; $i < $code_len; ++$i)
|
||||
{
|
||||
@@ -137,14 +136,17 @@ class captcha
|
||||
$characters[$i]->drawchar($sizes[$i], $xoffset, $yoffset, $img, $colour->get_resource('background'), $scheme);
|
||||
$xoffset += $dimm[2];
|
||||
}
|
||||
|
||||
if ($config['captcha_gd_wave'])
|
||||
{
|
||||
$this->wave($img);
|
||||
}
|
||||
|
||||
if ($config['captcha_gd_foreground_noise'])
|
||||
{
|
||||
$this->noise_line($img, 0, 0, $this->width, $this->height, $colour->get_resource('background'), $scheme, $bg_colours);
|
||||
}
|
||||
|
||||
// Send image
|
||||
header('Content-Type: image/png');
|
||||
header('Cache-control: no-cache, no-store');
|
||||
@@ -233,7 +235,6 @@ class captcha
|
||||
imagesetthickness($img, 1);
|
||||
}
|
||||
|
||||
|
||||
function captcha_noise_bg_bitmaps()
|
||||
{
|
||||
return array(
|
||||
@@ -292,7 +293,7 @@ class captcha
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return bitmaps
|
||||
*/
|
||||
|
@@ -86,7 +86,7 @@ class captcha
|
||||
|
||||
$fontcolors[0] = imagecolorallocate($img, mt_rand(0, 120), mt_rand(0, 120), mt_rand(0, 120));
|
||||
|
||||
$colors = array();
|
||||
$colors = array();
|
||||
|
||||
$minr = mt_rand(20, 30);
|
||||
$ming = mt_rand(20, 30);
|
||||
@@ -184,7 +184,7 @@ class captcha
|
||||
|
||||
for ($x = 1; $x <= $full_x; ++$x)
|
||||
{
|
||||
$cur_height = $this->wave_height($x, $y, $subdivision_factor) + $this->grid_height($x, $y, 1, $x_grid, $y_grid);
|
||||
$cur_height = $this->wave_height($x, $y, $subdivision_factor) + $this->grid_height($x, $y, $x_grid, $y_grid, 1);
|
||||
|
||||
// height is a z-factor, not a y-factor
|
||||
$offset = $cur_height - $prev_height;
|
||||
@@ -264,7 +264,7 @@ class captcha
|
||||
return ((sin($x / (3 * $factor)) + sin($y / (3 * $factor))) * 10 * $tweak);
|
||||
}
|
||||
|
||||
function grid_height($x, $y, $factor = 1, $x_grid, $y_grid)
|
||||
function grid_height($x, $y, $x_grid, $y_grid, $factor = 1)
|
||||
{
|
||||
return ((!($x % ($x_grid * $factor)) || !($y % ($y_grid * $factor))) ? 3 : 0);
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ if (!defined('IN_PHPBB'))
|
||||
*/
|
||||
|
||||
// phpBB Version
|
||||
define('PHPBB_VERSION', '3.1.0-a2-dev');
|
||||
define('PHPBB_VERSION', '3.1.0-a3-dev');
|
||||
|
||||
// QA-related
|
||||
// define('PHPBB_QA', 1);
|
||||
|
@@ -1318,18 +1318,12 @@ function phpbb_timezone_select($user, $default = '', $truncate = false)
|
||||
$tz_dates .= '<option value="' . $timezone['offest'] . ' - ' . $timezone['current'] . '"' . $selected . '>' . $timezone['offest'] . ' - ' . $timezone['current'] . '</option>';
|
||||
}
|
||||
|
||||
if (isset($user->lang['timezones'][$timezone['tz']]))
|
||||
$label = $timezone['tz'];
|
||||
if (isset($user->lang['timezones'][$label]))
|
||||
{
|
||||
$title = $label = $user->lang['timezones'][$timezone['tz']];
|
||||
}
|
||||
else
|
||||
{
|
||||
// No label, we'll figure one out
|
||||
$bits = explode('/', str_replace('_', ' ', $timezone['tz']));
|
||||
|
||||
$label = implode(' - ', $bits);
|
||||
$title = $timezone['offest'] . ' - ' . $label;
|
||||
$label = $user->lang['timezones'][$label];
|
||||
}
|
||||
$title = $timezone['offest'] . ' - ' . $label;
|
||||
|
||||
if ($truncate)
|
||||
{
|
||||
@@ -1478,7 +1472,6 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
|
||||
$sql = 'SELECT forum_id
|
||||
FROM ' . FORUMS_TRACK_TABLE . "
|
||||
WHERE user_id = {$user->data['user_id']}
|
||||
AND mark_time < $post_time
|
||||
AND " . $db->sql_in_set('forum_id', $forum_id);
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
@@ -5365,7 +5358,6 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
|
||||
|
||||
'U_PRIVATEMSGS' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&folder=inbox'),
|
||||
'U_RETURN_INBOX' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&folder=inbox'),
|
||||
'U_POPUP_PM' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=popup'),
|
||||
'U_MEMBERLIST' => append_sid("{$phpbb_root_path}memberlist.$phpEx"),
|
||||
'U_VIEWONLINE' => ($auth->acl_gets('u_viewprofile', 'a_user', 'a_useradd', 'a_userdel')) ? append_sid("{$phpbb_root_path}viewonline.$phpEx") : '',
|
||||
'U_LOGIN_LOGOUT' => $u_login_logout,
|
||||
@@ -5393,7 +5385,6 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
|
||||
'S_BOARD_DISABLED' => ($config['board_disable']) ? true : false,
|
||||
'S_REGISTERED_USER' => (!empty($user->data['is_registered'])) ? true : false,
|
||||
'S_IS_BOT' => (!empty($user->data['is_bot'])) ? true : false,
|
||||
'S_USER_PM_POPUP' => $user->optionget('popuppm'),
|
||||
'S_USER_LANG' => $user_lang,
|
||||
'S_USER_BROWSER' => (isset($user->data['session_browser'])) ? $user->data['session_browser'] : $user->lang['UNKNOWN_BROWSER'],
|
||||
'S_USERNAME' => $user->data['username'],
|
||||
@@ -5597,14 +5588,14 @@ function garbage_collection()
|
||||
global $cache, $db;
|
||||
global $phpbb_dispatcher;
|
||||
|
||||
/**
|
||||
* Unload some objects, to free some memory, before we finish our task
|
||||
*
|
||||
* @event core.garbage_collection
|
||||
* @since 3.1-A1
|
||||
*/
|
||||
if (!empty($phpbb_dispatcher))
|
||||
{
|
||||
/**
|
||||
* Unload some objects, to free some memory, before we finish our task
|
||||
*
|
||||
* @event core.garbage_collection
|
||||
* @since 3.1-A1
|
||||
*/
|
||||
$phpbb_dispatcher->dispatch('core.garbage_collection');
|
||||
}
|
||||
|
||||
|
@@ -67,7 +67,8 @@ function adm_page_header($page_title)
|
||||
'SID' => $SID,
|
||||
'_SID' => $_SID,
|
||||
'SESSION_ID' => $user->session_id,
|
||||
'ROOT_PATH' => $phpbb_admin_path,
|
||||
'ROOT_PATH' => $phpbb_root_path,
|
||||
'ADMIN_ROOT_PATH' => $phpbb_admin_path,
|
||||
|
||||
'U_LOGOUT' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=logout'),
|
||||
'U_ADM_LOGOUT' => append_sid("{$phpbb_admin_path}index.$phpEx", 'action=admlogout'),
|
||||
|
@@ -46,7 +46,7 @@ class compress
|
||||
|
||||
if (is_file($phpbb_root_path . $src))
|
||||
{
|
||||
$this->data($src_path, file_get_contents("$phpbb_root_path$src"), false, stat("$phpbb_root_path$src"));
|
||||
$this->data($src_path, file_get_contents("$phpbb_root_path$src"), stat("$phpbb_root_path$src"), false);
|
||||
}
|
||||
else if (is_dir($phpbb_root_path . $src))
|
||||
{
|
||||
@@ -86,7 +86,7 @@ class compress
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->data("$src_path$path$file", file_get_contents("$phpbb_root_path$src$path$file"), false, stat("$phpbb_root_path$src$path$file"));
|
||||
$this->data("$src_path$path$file", file_get_contents("$phpbb_root_path$src$path$file"), stat("$phpbb_root_path$src$path$file"), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -109,7 +109,7 @@ class compress
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->data($filename, file_get_contents($src), false, stat($src));
|
||||
$this->data($filename, file_get_contents($src), stat($src), false);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ class compress
|
||||
$stat[4] = $stat[5] = 0;
|
||||
$stat[7] = strlen($src);
|
||||
$stat[9] = time();
|
||||
$this->data($name, $src, false, $stat);
|
||||
$this->data($name, $src, $stat, false);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -395,7 +395,7 @@ class compress_zip extends compress
|
||||
/**
|
||||
* Create the structures ... note we assume version made by is MSDOS
|
||||
*/
|
||||
function data($name, $data, $is_dir = false, $stat)
|
||||
function data($name, $data, $stat, $is_dir = false)
|
||||
{
|
||||
$name = str_replace('\\', '/', $name);
|
||||
$name = $this->unique_filename($name);
|
||||
@@ -669,7 +669,7 @@ class compress_tar extends compress
|
||||
/**
|
||||
* Create the structures
|
||||
*/
|
||||
function data($name, $data, $is_dir = false, $stat)
|
||||
function data($name, $data, $stat, $is_dir = false)
|
||||
{
|
||||
$name = $this->unique_filename($name);
|
||||
$this->wrote = true;
|
||||
|
@@ -481,6 +481,16 @@ function generate_text_for_display($text, $uid, $bitfield, $flags, $censor_text
|
||||
* For parsing custom parsed text to be stored within the database.
|
||||
* This function additionally returns the uid and bitfield that needs to be stored.
|
||||
* Expects $text to be the value directly from request_var() and in it's non-parsed form
|
||||
*
|
||||
* @param string $text The text to be replaced with the parsed one
|
||||
* @param string $uid The BBCode uid for this parse
|
||||
* @param string $bitfield The BBCode bitfield for this parse
|
||||
* @param int $flags The allow_bbcode, allow_urls and allow_smilies compiled into a single integer.
|
||||
* @param bool $allow_bbcode If BBCode is allowed (i.e. if BBCode is parsed)
|
||||
* @param bool $allow_urls If urls is allowed
|
||||
* @param bool $allow_smilies If smilies are allowed
|
||||
*
|
||||
* @return array An array of string with the errors that occurred while parsing
|
||||
*/
|
||||
function generate_text_for_storage(&$text, &$uid, &$bitfield, &$flags, $allow_bbcode = false, $allow_urls = false, $allow_smilies = false)
|
||||
{
|
||||
@@ -542,7 +552,7 @@ function generate_text_for_storage(&$text, &$uid, &$bitfield, &$flags, $allow_bb
|
||||
$vars = array('text', 'uid', 'bitfield', 'flags');
|
||||
extract($phpbb_dispatcher->trigger_event('core.modify_text_for_storage_after', compact($vars)));
|
||||
|
||||
return;
|
||||
return $message_parser->warn_msg;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -823,7 +823,7 @@ function get_avatar_dim($src, $axis, $func = false, $arg1 = false, $arg2 = false
|
||||
break;
|
||||
|
||||
case AVATAR_REMOTE:
|
||||
// see notes on this functions usage and (hopefully) model $func to avoid this accordingly
|
||||
// see notes on this functions usage and (hopefully) model $func to avoid this accordingly
|
||||
return get_remote_avatar_dim($src, $axis);
|
||||
break;
|
||||
|
||||
@@ -1027,7 +1027,6 @@ function set_user_options()
|
||||
'attachsig' => array('bit' => 6, 'default' => 0),
|
||||
'bbcode' => array('bit' => 8, 'default' => 1),
|
||||
'smilies' => array('bit' => 9, 'default' => 1),
|
||||
'popuppm' => array('bit' => 10, 'default' => 0),
|
||||
'sig_bbcode' => array('bit' => 15, 'default' => 1),
|
||||
'sig_smilies' => array('bit' => 16, 'default' => 1),
|
||||
'sig_links' => array('bit' => 17, 'default' => 1),
|
||||
@@ -1117,7 +1116,7 @@ function words_unique(&$words)
|
||||
* Adds a user to the specified group and optionally makes them a group leader
|
||||
* This function does not create the group if it does not exist and so should only be called after the groups have been created
|
||||
*/
|
||||
function add_user_group($group_id, $user_id, $group_leader=false)
|
||||
function add_user_group($group_id, $user_id, $group_leader = false)
|
||||
{
|
||||
global $convert, $phpbb_root_path, $config, $user, $db;
|
||||
|
||||
@@ -1297,7 +1296,7 @@ function restore_config($schema)
|
||||
$src_ary = $schema['array_name'];
|
||||
$config_value = (isset($convert_config[$src_ary][$src])) ? $convert_config[$src_ary][$src] : '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($config_value !== '')
|
||||
{
|
||||
@@ -1719,7 +1718,7 @@ function add_default_groups()
|
||||
'GUESTS' => array('', 0, 0),
|
||||
'REGISTERED' => array('', 0, 0),
|
||||
'REGISTERED_COPPA' => array('', 0, 0),
|
||||
'GLOBAL_MODERATORS' => array('00AA00', 1, 0),
|
||||
'GLOBAL_MODERATORS' => array('00AA00', 2, 0),
|
||||
'ADMINISTRATORS' => array('AA0000', 1, 1),
|
||||
'BOTS' => array('9E8DA7', 0, 0),
|
||||
'NEWLY_REGISTERED' => array('', 0, 0),
|
||||
@@ -1748,7 +1747,7 @@ function add_default_groups()
|
||||
'group_type' => GROUP_SPECIAL,
|
||||
'group_colour' => (string) $data[0],
|
||||
'group_legend' => (int) $data[1],
|
||||
'group_founder_manage' => (int) $data[2]
|
||||
'group_founder_manage' => (int) $data[2],
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1758,6 +1757,38 @@ function add_default_groups()
|
||||
}
|
||||
}
|
||||
|
||||
function add_groups_to_teampage()
|
||||
{
|
||||
global $db;
|
||||
|
||||
$teampage_groups = array(
|
||||
'ADMINISTRATORS' => 1,
|
||||
'GLOBAL_MODERATORS' => 2,
|
||||
);
|
||||
|
||||
$sql = 'SELECT *
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
WHERE ' . $db->sql_in_set('group_name', array_keys($teampage_groups));
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$teampage_ary = array();
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$teampage_ary[] = array(
|
||||
'group_id' => (int) $row['group_id'],
|
||||
'teampage_name' => '',
|
||||
'teampage_position' => (int) $teampage_groups[$row['group_name']],
|
||||
'teampage_parent' => 0,
|
||||
);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (sizeof($teampage_ary))
|
||||
{
|
||||
$db->sql_multi_insert(TEAMPAGE_TABLE, $teampage_ary);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sync post count. We might need to do this in batches.
|
||||
|
@@ -1352,7 +1352,7 @@ function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank
|
||||
*/
|
||||
function phpbb_get_user_avatar($user_row, $alt = 'USER_AVATAR', $ignore_config = false)
|
||||
{
|
||||
$row = \phpbb\avatar\manager::clean_row($user_row);
|
||||
$row = \phpbb\avatar\manager::clean_row($user_row, 'user');
|
||||
return phpbb_get_avatar($row, $alt, $ignore_config);
|
||||
}
|
||||
|
||||
@@ -1367,7 +1367,7 @@ function phpbb_get_user_avatar($user_row, $alt = 'USER_AVATAR', $ignore_config =
|
||||
*/
|
||||
function phpbb_get_group_avatar($user_row, $alt = 'GROUP_AVATAR', $ignore_config = false)
|
||||
{
|
||||
$row = \phpbb\avatar\manager::clean_row($user_row);
|
||||
$row = \phpbb\avatar\manager::clean_row($user_row, 'group');
|
||||
return phpbb_get_avatar($row, $alt, $ignore_config);
|
||||
}
|
||||
|
||||
|
@@ -533,3 +533,51 @@ function phpbb_create_config_file_data($data, $dbms, $debug = false, $debug_test
|
||||
|
||||
return $config_data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether a file should be ignored on update
|
||||
*
|
||||
* We ignore new files in some circumstances:
|
||||
* 1. The file is a language file, but the language is not installed
|
||||
* 2. The file is a style file, but the style is not installed
|
||||
* 3. The file is a style language file, but the language is not installed
|
||||
*
|
||||
* @param string $phpbb_root_path phpBB root path
|
||||
* @param string $file File including path from phpbb root
|
||||
* @return bool Should we ignore the new file or add it to the board?
|
||||
*/
|
||||
function phpbb_ignore_new_file_on_update($phpbb_root_path, $file)
|
||||
{
|
||||
$ignore_new_file = false;
|
||||
|
||||
// We ignore new files in some circumstances:
|
||||
// 1. The file is a language file, but the language is not installed
|
||||
if (!$ignore_new_file && strpos($file, 'language/') === 0)
|
||||
{
|
||||
list($language_dir, $language_iso) = explode('/', $file);
|
||||
$ignore_new_file = !file_exists($phpbb_root_path . $language_dir . '/' . $language_iso);
|
||||
}
|
||||
|
||||
// 2. The file is a style file, but the style is not installed
|
||||
if (!$ignore_new_file && strpos($file, 'styles/') === 0)
|
||||
{
|
||||
list($styles_dir, $style_name) = explode('/', $file);
|
||||
$ignore_new_file = !file_exists($phpbb_root_path . $styles_dir . '/' . $style_name);
|
||||
}
|
||||
|
||||
// 3. The file is a style language file, but the language is not installed
|
||||
if (!$ignore_new_file && strpos($file, 'styles/') === 0)
|
||||
{
|
||||
$dirs = explode('/', $file);
|
||||
if (sizeof($dirs) >= 5)
|
||||
{
|
||||
list($styles_dir, $style_name, $template_component, $language_iso) = explode('/', $file);
|
||||
if ($template_component == 'theme' && $language_iso !== 'images')
|
||||
{
|
||||
$ignore_new_file = !file_exists($phpbb_root_path . 'language/' . $language_iso);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $ignore_new_file;
|
||||
}
|
||||
|
@@ -1414,7 +1414,7 @@ class smtp_class
|
||||
$result = false;
|
||||
$stream_meta = stream_get_meta_data($this->socket);
|
||||
|
||||
if (socket_set_blocking($this->socket, 1));
|
||||
if (socket_set_blocking($this->socket, 1))
|
||||
{
|
||||
$result = stream_socket_enable_crypto($this->socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
|
||||
socket_set_blocking($this->socket, (int) $stream_meta['blocked']);
|
||||
|
@@ -22,7 +22,6 @@ class ucp_pm_info
|
||||
'compose' => array('title' => 'UCP_PM_COMPOSE', 'auth' => 'cfg_allow_privmsg', 'cat' => array('UCP_PM')),
|
||||
'drafts' => array('title' => 'UCP_PM_DRAFTS', 'auth' => 'cfg_allow_privmsg', 'cat' => array('UCP_PM')),
|
||||
'options' => array('title' => 'UCP_PM_OPTIONS', 'auth' => 'cfg_allow_privmsg', 'cat' => array('UCP_PM')),
|
||||
'popup' => array('title' => 'UCP_PM_POPUP_TITLE', 'auth' => 'cfg_allow_privmsg', 'display' => false, 'cat' => array('UCP_PM')),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
@@ -27,7 +27,7 @@ class ucp_activate
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $config, $phpbb_root_path, $phpEx;
|
||||
global $db, $user, $auth, $template;
|
||||
global $db, $user, $auth, $template, $phpbb_container;
|
||||
|
||||
$user_id = request_var('u', 0);
|
||||
$key = request_var('k', '');
|
||||
@@ -108,6 +108,9 @@ class ucp_activate
|
||||
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN && !$update_password)
|
||||
{
|
||||
$phpbb_notifications = $phpbb_container->get('notification_manager');
|
||||
$phpbb_notifications->delete_notifications('admin_activate_user', $user_row['user_id']);
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$messenger = new messenger(false);
|
||||
|
@@ -465,7 +465,7 @@ class ucp_groups
|
||||
$avatar_drivers = $phpbb_avatar_manager->get_enabled_drivers();
|
||||
|
||||
// This is normalised data, without the group_ prefix
|
||||
$avatar_data = \phpbb\avatar\manager::clean_row($group_row);
|
||||
$avatar_data = \phpbb\avatar\manager::clean_row($group_row, 'group');
|
||||
}
|
||||
|
||||
// Did we submit?
|
||||
@@ -699,7 +699,6 @@ class ucp_groups
|
||||
'GROUP_CLOSED' => $type_closed,
|
||||
'GROUP_HIDDEN' => $type_hidden,
|
||||
|
||||
'U_SWATCH' => append_sid("{$phpbb_admin_path}swatch.$phpEx", 'form=ucp&name=group_colour'),
|
||||
'S_UCP_ACTION' => $this->u_action . "&action=$action&g=$group_id",
|
||||
'L_AVATAR_EXPLAIN' => phpbb_avatar_explanation_string(),
|
||||
));
|
||||
|
@@ -27,7 +27,8 @@ class ucp_notifications
|
||||
add_form_key('ucp_notification');
|
||||
|
||||
$start = $request->variable('start', 0);
|
||||
$form_time = min($request->variable('form_time', 0), time());
|
||||
$form_time = $request->variable('form_time', 0);
|
||||
$form_time = ($form_time <= 0 || $form_time > time()) ? time() : $form_time;
|
||||
|
||||
$phpbb_notifications = $phpbb_container->get('notification_manager');
|
||||
|
||||
@@ -78,9 +79,9 @@ class ucp_notifications
|
||||
trigger_error($message);
|
||||
}
|
||||
|
||||
$this->output_notification_methods('notification_methods', $phpbb_notifications, $template, $user);
|
||||
$this->output_notification_methods($phpbb_notifications, $template, $user, 'notification_methods');
|
||||
|
||||
$this->output_notification_types($subscriptions, 'notification_types', $phpbb_notifications, $template, $user);
|
||||
$this->output_notification_types($subscriptions, $phpbb_notifications, $template, $user, 'notification_types');
|
||||
|
||||
$this->tpl_name = 'ucp_notifications';
|
||||
$this->page_title = 'UCP_NOTIFICATION_OPTIONS';
|
||||
@@ -162,12 +163,13 @@ class ucp_notifications
|
||||
/**
|
||||
* Output all the notification types to the template
|
||||
*
|
||||
* @param string $block
|
||||
* @param array $subscriptions Array containing global subscriptions
|
||||
* @param \phpbb\notification\manager $phpbb_notifications
|
||||
* @param \phpbb\template\template $template
|
||||
* @param \phpbb\user $user
|
||||
* @param string $block
|
||||
*/
|
||||
public function output_notification_types($subscriptions, $block = 'notification_types', \phpbb\notification\manager $phpbb_notifications, \phpbb\template\template $template, \phpbb\user $user)
|
||||
public function output_notification_types($subscriptions, \phpbb\notification\manager $phpbb_notifications, \phpbb\template\template $template, \phpbb\user $user, $block = 'notification_types')
|
||||
{
|
||||
$notification_methods = $phpbb_notifications->get_subscription_methods();
|
||||
|
||||
@@ -209,12 +211,12 @@ class ucp_notifications
|
||||
/**
|
||||
* Output all the notification methods to the template
|
||||
*
|
||||
* @param string $block
|
||||
* @param \phpbb\notification\manager $phpbb_notifications
|
||||
* @param \phpbb\template\template $template
|
||||
* @param \phpbb\user $user
|
||||
* @param string $block
|
||||
*/
|
||||
public function output_notification_methods($block = 'notification_methods', \phpbb\notification\manager $phpbb_notifications, \phpbb\template\template $template, \phpbb\user $user)
|
||||
public function output_notification_methods(\phpbb\notification\manager $phpbb_notifications, \phpbb\template\template $template, \phpbb\user $user, $block = 'notification_methods')
|
||||
{
|
||||
$notification_methods = $phpbb_notifications->get_subscription_methods();
|
||||
|
||||
|
@@ -83,33 +83,6 @@ class ucp_pm
|
||||
|
||||
switch ($mode)
|
||||
{
|
||||
// New private messages popup
|
||||
case 'popup':
|
||||
|
||||
$l_new_message = '';
|
||||
if ($user->data['is_registered'])
|
||||
{
|
||||
if ($user->data['user_new_privmsg'])
|
||||
{
|
||||
$l_new_message = ($user->data['user_new_privmsg'] == 1) ? $user->lang['YOU_NEW_PM'] : $user->lang['YOU_NEW_PMS'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$l_new_message = $user->lang['YOU_NO_NEW_PM'];
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'MESSAGE' => $l_new_message,
|
||||
'S_NOT_LOGGED_IN' => ($user->data['user_id'] == ANONYMOUS) ? true : false,
|
||||
'CLICK_TO_VIEW' => sprintf($user->lang['CLICK_VIEW_PRIVMSG'], '<a href="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&folder=inbox') . '" onclick="jump_to_inbox(this.href); return false;">', '</a>'),
|
||||
'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;
|
||||
|
||||
// Compose message
|
||||
case 'compose':
|
||||
$action = request_var('action', 'post');
|
||||
|
@@ -269,7 +269,7 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
// There is the chance that all recipients of the message got deleted. To avoid creating
|
||||
// exports without recipients, we add a bogus "undisclosed recipient".
|
||||
if (!(isset($address[$message_id]['g']) && sizeof($address[$message_id]['g'])) &&
|
||||
!(isset($address[$message_id]['u']) && sizeof($address[$message_id]['u'])))
|
||||
!(isset($address[$message_id]['u']) && sizeof($address[$message_id]['u'])))
|
||||
{
|
||||
$address[$message_id]['u'] = array();
|
||||
$address[$message_id]['u']['to'] = array();
|
||||
|
@@ -567,7 +567,7 @@ class ucp_profile
|
||||
$avatar_drivers = $phpbb_avatar_manager->get_enabled_drivers();
|
||||
|
||||
// This is normalised data, without the user_ prefix
|
||||
$avatar_data = \phpbb\avatar\manager::clean_row($user->data);
|
||||
$avatar_data = \phpbb\avatar\manager::clean_row($user->data, 'user');
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
|
@@ -379,41 +379,16 @@ class ucp_register
|
||||
}
|
||||
|
||||
$messenger->send(NOTIFY_EMAIL);
|
||||
}
|
||||
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
|
||||
{
|
||||
// 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);
|
||||
$admin_ary = (!empty($admin_ary[0]['a_user'])) ? $admin_ary[0]['a_user'] : array();
|
||||
|
||||
// Also include founders
|
||||
$where_sql = ' WHERE user_type = ' . USER_FOUNDER;
|
||||
|
||||
if (sizeof($admin_ary))
|
||||
{
|
||||
$where_sql .= ' OR ' . $db->sql_in_set('user_id', $admin_ary);
|
||||
}
|
||||
|
||||
$sql = 'SELECT user_id, username, user_email, user_lang, user_jabber, user_notify_type
|
||||
FROM ' . USERS_TABLE . ' ' .
|
||||
$where_sql;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$messenger->template('admin_activate', $row['user_lang']);
|
||||
$messenger->set_addresses($row);
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
'USERNAME' => htmlspecialchars_decode($data['username']),
|
||||
'U_USER_DETAILS' => "$server_url/memberlist.$phpEx?mode=viewprofile&u=$user_id",
|
||||
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u=$user_id&k=$user_actkey")
|
||||
);
|
||||
|
||||
$messenger->send($row['user_notify_type']);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
|
||||
{
|
||||
$phpbb_notifications = $phpbb_container->get('notification_manager');
|
||||
$phpbb_notifications->add_notifications('admin_activate_user', array(
|
||||
'user_id' => $user_id,
|
||||
'user_actkey' => $user_row['user_actkey'],
|
||||
'user_regdate' => $user_row['user_regdate'],
|
||||
));
|
||||
}
|
||||
|
||||
// Perform account linking if necessary
|
||||
|
@@ -64,7 +64,7 @@ class ucp_zebra
|
||||
* @var array user_ids User ids we remove
|
||||
* @since 3.1-A1
|
||||
*/
|
||||
$vars = array('user_ids');
|
||||
$vars = array('mode', 'user_ids');
|
||||
extract($phpbb_dispatcher->trigger_event('core.ucp_remove_zebra', compact($vars)));
|
||||
|
||||
$sql = 'DELETE FROM ' . ZEBRA_TABLE . '
|
||||
|
Reference in New Issue
Block a user