diff options
Diffstat (limited to 'phpBB/includes/acp/acp_users.php')
| -rw-r--r-- | phpBB/includes/acp/acp_users.php | 170 | 
1 files changed, 102 insertions, 68 deletions
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index 881e50dd5a..de4664a711 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -34,7 +34,7 @@ class acp_users  		global $config, $db, $user, $auth, $template, $cache;  		global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix, $file_uploads;  		global $phpbb_dispatcher, $request; -		global $phpbb_container; +		global $phpbb_container, $phpbb_log;  		$user->add_lang(array('posting', 'ucp', 'acp/users'));  		$this->tpl_name = 'acp_users'; @@ -220,7 +220,7 @@ class acp_users  							{  								user_delete($delete_type, $user_id, $user_row['username']); -								add_log('admin', 'LOG_USER_DELETED', $user_row['username']); +								$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_DELETED', false, array($user_row['username']));  								trigger_error($user->lang['USER_DELETED'] . adm_back_link($this->u_action));  							}  							else @@ -381,8 +381,10 @@ class acp_users  								$messenger->send(NOTIFY_EMAIL); -								add_log('admin', 'LOG_USER_REACTIVATE', $user_row['username']); -								add_log('user', $user_id, 'LOG_USER_REACTIVATE_USER'); +								$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_REACTIVATE', false, array($user_row['username'])); +								$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_REACTIVATE_USER', false, array( +									'reportee_id' => $user_id +								));  								trigger_error($user->lang['FORCE_REACTIVATION_SUCCESS'] . adm_back_link($this->u_action . '&u=' . $user_id));  							} @@ -418,6 +420,7 @@ class acp_users  							{  								if ($config['require_activation'] == USER_ACTIVATION_ADMIN)  								{ +									/* @var $phpbb_notifications \phpbb\notification\manager */  									$phpbb_notifications = $phpbb_container->get('notification_manager');  									$phpbb_notifications->delete_notifications('notification.type.admin_activate_user', $user_row['user_id']); @@ -442,8 +445,10 @@ class acp_users  							$message = ($user_row['user_type'] == USER_INACTIVE) ? 'USER_ADMIN_ACTIVATED' : 'USER_ADMIN_DEACTIVED';  							$log = ($user_row['user_type'] == USER_INACTIVE) ? 'LOG_USER_ACTIVE' : 'LOG_USER_INACTIVE'; -							add_log('admin', $log, $user_row['username']); -							add_log('user', $user_id, $log . '_USER'); +							$phpbb_log->add('admin', $user->data['user_id'], $user->ip, $log, false, array($user_row['username'])); +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, $log . '_USER', false, array( +								'reportee_id' => $user_id +							));  							trigger_error($user->lang[$message] . adm_back_link($this->u_action . '&u=' . $user_id)); @@ -466,8 +471,10 @@ class acp_users  								WHERE user_id = $user_id";  							$db->sql_query($sql); -							add_log('admin', 'LOG_USER_DEL_SIG', $user_row['username']); -							add_log('user', $user_id, 'LOG_USER_DEL_SIG_USER'); +							$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_DEL_SIG', false, array($user_row['username'])); +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_DEL_SIG_USER', false, array( +								'reportee_id' => $user_id +							));  							trigger_error($user->lang['USER_ADMIN_SIG_REMOVED'] . adm_back_link($this->u_action . '&u=' . $user_id)); @@ -481,11 +488,14 @@ class acp_users  							}  							// Delete old avatar if present +							/* @var $phpbb_avatar_manager \phpbb\avatar\manager */  							$phpbb_avatar_manager = $phpbb_container->get('avatar.manager');  							$phpbb_avatar_manager->handle_avatar_delete($db, $user, $phpbb_avatar_manager->clean_row($user_row, 'user'), USERS_TABLE, 'user_'); -							add_log('admin', 'LOG_USER_DEL_AVATAR', $user_row['username']); -							add_log('user', $user_id, 'LOG_USER_DEL_AVATAR_USER'); +							$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_DEL_AVATAR', false, array($user_row['username'])); +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_DEL_AVATAR_USER', false, array( +								'reportee_id' => $user_id +							));  							trigger_error($user->lang['USER_ADMIN_AVATAR_REMOVED'] . adm_back_link($this->u_action . '&u=' . $user_id));  						break; @@ -497,7 +507,7 @@ class acp_users  								// Delete posts, attachments, etc.  								delete_posts('poster_id', $user_id); -								add_log('admin', 'LOG_USER_DEL_POSTS', $user_row['username']); +								$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_DEL_POSTS', false, array($user_row['username']));  								trigger_error($user->lang['USER_POSTS_DELETED'] . adm_back_link($this->u_action . '&u=' . $user_id));  							}  							else @@ -519,7 +529,7 @@ class acp_users  							{  								delete_attachments('user', $user_id); -								add_log('admin', 'LOG_USER_DEL_ATTACH', $user_row['username']); +								$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_DEL_ATTACH', false, array($user_row['username']));  								trigger_error($user->lang['USER_ATTACHMENTS_REMOVED'] . adm_back_link($this->u_action . '&u=' . $user_id));  							}  							else @@ -565,7 +575,7 @@ class acp_users  									delete_pm($user_id, $msg_ids, PRIVMSGS_OUTBOX); -									add_log('admin', 'LOG_USER_DEL_OUTBOX', $user_row['username']); +									$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_DEL_OUTBOX', false, array($user_row['username']));  									$lang = 'EMPTIED';  								} @@ -736,8 +746,11 @@ class acp_users  								sync('forum', 'forum_id', $forum_id_ary, false, true);  							} -							add_log('admin', 'LOG_USER_MOVE_POSTS', $user_row['username'], $forum_info['forum_name']); -							add_log('user', $user_id, 'LOG_USER_MOVE_POSTS_USER', $forum_info['forum_name']); +							$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_MOVE_POSTS', false, array($user_row['username'], $forum_info['forum_name'])); +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_MOVE_POSTS_USER', false, array( +								'reportee_id' => $user_id, +								$forum_info['forum_name'] +							));  							trigger_error($user->lang['USER_POSTS_MOVED'] . adm_back_link($this->u_action . '&u=' . $user_id)); @@ -749,7 +762,7 @@ class acp_users  							{  								remove_newly_registered($user_id, $user_row); -								add_log('admin', 'LOG_USER_REMOVED_NR', $user_row['username']); +								$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_REMOVED_NR', false, array($user_row['username']));  								trigger_error($user->lang['USER_LIFTED_NR'] . adm_back_link($this->u_action . '&u=' . $user_id));  							}  							else @@ -831,6 +844,7 @@ class acp_users  					}  					// Instantiate passwords manager +					/* @var $passwords_manager \phpbb\passwords\manager */  					$passwords_manager = $phpbb_container->get('passwords.manager');  					// Which updates do we need to do? @@ -903,7 +917,11 @@ class acp_users  							$sql_ary['username'] = $update_username;  							$sql_ary['username_clean'] = utf8_clean_string($update_username); -							add_log('user', $user_id, 'LOG_USER_UPDATE_NAME', $user_row['username'], $update_username); +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_UPDATE_NAME', false, array( +								'reportee_id' => $user_id, +								$user_row['username'], +								$update_username +							));  						}  						if ($update_email !== false) @@ -913,7 +931,12 @@ class acp_users  								'user_email_hash'	=> phpbb_email_hash($update_email),  							); -							add_log('user', $user_id, 'LOG_USER_UPDATE_EMAIL', $user_row['username'], $user_row['user_email'], $update_email); +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_UPDATE_EMAIL', false, array( +								'reportee_id' => $user_id, +								$user_row['username'], +								$user_row['user_email'], +								$update_email +							));  						}  						if ($update_password) @@ -924,7 +947,11 @@ class acp_users  							);  							$user->reset_login_keys($user_id); -							add_log('user', $user_id, 'LOG_USER_NEW_PASSWORD', $user_row['username']); + +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_NEW_PASSWORD', false, array( +								'reportee_id' => $user_id, +								$user_row['username'] +							));  						}  						if (sizeof($sql_ary)) @@ -943,7 +970,7 @@ class acp_users  						// Let the users permissions being updated  						$auth->acl_clear_prefetch($user_id); -						add_log('admin', 'LOG_USER_USER_UPDATE', $data['username']); +						$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_USER_UPDATE', false, array($data['username']));  						trigger_error($user->lang['USER_OVERVIEW_UPDATED'] . adm_back_link($this->u_action . '&u=' . $user_id));  					} @@ -1105,6 +1132,8 @@ class acp_users  				$deleteall	= (isset($_POST['delall'])) ? true : false;  				$marked		= request_var('mark', array(0));  				$message	= utf8_normalize_nfc(request_var('message', '', true)); + +				/* @var $pagination \phpbb\pagination */  				$pagination = $phpbb_container->get('pagination');  				// Sort keys @@ -1140,7 +1169,7 @@ class acp_users  							$where_sql";  						$db->sql_query($sql); -						add_log('admin', 'LOG_CLEAR_USER', $user_row['username']); +						$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_CLEAR_USER', false, array($user_row['username']));  					}  				} @@ -1151,9 +1180,16 @@ class acp_users  						trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action . '&u=' . $user_id), E_USER_WARNING);  					} -					add_log('admin', 'LOG_USER_FEEDBACK', $user_row['username']); -					add_log('mod', 0, 0, 'LOG_USER_FEEDBACK', $user_row['username']); -					add_log('user', $user_id, 'LOG_USER_GENERAL', $message); +					$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_FEEDBACK', false, array($user_row['username'])); +					$phpbb_log->add('mod', $user->data['user_id'], $user->ip, 'LOG_USER_FEEDBACK', false, array( +						'forum_id' => 0, +						'topic_id' => 0, +						$user_row['username'] +					)); +					$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_GENERAL', false, array( +						'reportee_id' => $user_id, +						$message +					));  					trigger_error($user->lang['USER_FEEDBACK_ADDED'] . adm_back_link($this->u_action . '&u=' . $user_id));  				} @@ -1254,11 +1290,11 @@ class acp_users  							if ($log_warnings)  							{ -								add_log('admin', 'LOG_WARNINGS_DELETED', $user_row['username'], $num_warnings); +								$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_WARNINGS_DELETED', false, array($user_row['username'], $num_warnings));  							}  							else  							{ -								add_log('admin', 'LOG_WARNINGS_DELETED_ALL', $user_row['username']); +								$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_WARNINGS_DELETED_ALL', false, array($user_row['username']));  							}  						}  					} @@ -1347,6 +1383,7 @@ class acp_users  				include($phpbb_root_path . 'includes/functions_user.' . $phpEx); +				/* @var $cp \phpbb\profilefields\manager */  				$cp = $phpbb_container->get('profilefields.manager');  				$cp_data = $cp_error = array(); @@ -1741,6 +1778,7 @@ class acp_users  				if ($config['allow_avatar'])  				{ +					/* @var $phpbb_avatar_manager \phpbb\avatar\manager */  					$phpbb_avatar_manager = $phpbb_container->get('avatar.manager');  					$avatar_drivers = $phpbb_avatar_manager->get_enabled_drivers(); @@ -1891,50 +1929,54 @@ class acp_users  			case 'sig': -				include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);  				include_once($phpbb_root_path . 'includes/functions_display.' . $phpEx); -				$enable_bbcode	= ($config['allow_sig_bbcode']) ? (bool) $this->optionget($user_row, 'sig_bbcode') : false; -				$enable_smilies	= ($config['allow_sig_smilies']) ? (bool) $this->optionget($user_row, 'sig_smilies') : false; -				$enable_urls	= ($config['allow_sig_links']) ? (bool) $this->optionget($user_row, 'sig_links') : false; -				$signature		= utf8_normalize_nfc(request_var('signature', (string) $user_row['user_sig'], true)); +				$enable_bbcode	= ($config['allow_sig_bbcode']) ? $this->optionget($user_row, 'sig_bbcode') : false; +				$enable_smilies	= ($config['allow_sig_smilies']) ? $this->optionget($user_row, 'sig_smilies') : false; +				$enable_urls	= ($config['allow_sig_links']) ? $this->optionget($user_row, 'sig_links') : false; -				$preview		= (isset($_POST['preview'])) ? true : false; +				$decoded_message	= generate_text_for_edit($user_row['user_sig'], $user_row['user_sig_bbcode_uid'], $user_row['user_sig_bbcode_bitfield']); +				$signature			= $request->variable('signature', $decoded_message['text'], true); +				$signature_preview	= ''; -				if ($submit || $preview) +				if ($submit || $request->is_set_post('preview'))  				{ -					include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx); - -					$enable_bbcode	= ($config['allow_sig_bbcode']) ? ((request_var('disable_bbcode', false)) ? false : true) : false; -					$enable_smilies	= ($config['allow_sig_smilies']) ? ((request_var('disable_smilies', false)) ? false : true) : false; -					$enable_urls	= ($config['allow_sig_links']) ? ((request_var('disable_magic_url', false)) ? false : true) : false; - -					$message_parser = new parse_message($signature); - -					// Allowing Quote BBCode -					$message_parser->parse($enable_bbcode, $enable_urls, $enable_smilies, $config['allow_sig_img'], $config['allow_sig_flash'], true, $config['allow_sig_links'], true, 'sig'); - -					if (sizeof($message_parser->warn_msg)) -					{ -						$error[] = implode('<br />', $message_parser->warn_msg); -					} +					$enable_bbcode	= ($config['allow_sig_bbcode']) ? !$request->variable('disable_bbcode', false) : false; +					$enable_smilies	= ($config['allow_sig_smilies']) ? !$request->variable('disable_smilies', false) : false; +					$enable_urls	= ($config['allow_sig_links']) ? !$request->variable('disable_magic_url', false) : false;  					if (!check_form_key($form_name))  					{ -						$error = 'FORM_INVALID'; +						$error[] = 'FORM_INVALID';  					} +				} -					if (!sizeof($error) && $submit) +				$bbcode_uid = $bbcode_bitfield = $bbcode_flags = ''; +				$warn_msg = generate_text_for_storage($signature, $bbcode_uid, $bbcode_bitfield, $bbcode_flags, $enable_bbcode, $enable_urls, $enable_smilies); + +				if (sizeof($warn_msg)) +				{ +					$error += $warn_msg; +				} + +				if (!$submit) +				{ +					// Parse it for displaying +					$signature_preview = generate_text_for_display($signature, $bbcode_uid, $bbcode_bitfield, $bbcode_flags); +				} +				else +				{ +					if (!sizeof($error))  					{  						$this->optionset($user_row, 'sig_bbcode', $enable_bbcode);  						$this->optionset($user_row, 'sig_smilies', $enable_smilies);  						$this->optionset($user_row, 'sig_links', $enable_urls);  						$sql_ary = array( -							'user_sig'					=> (string) $message_parser->message, +							'user_sig'					=> $signature,  							'user_options'				=> $user_row['user_options'], -							'user_sig_bbcode_uid'		=> (string) $message_parser->bbcode_uid, -							'user_sig_bbcode_bitfield'	=> (string) $message_parser->bbcode_bitfield +							'user_sig_bbcode_uid'		=> $bbcode_uid, +							'user_sig_bbcode_bitfield'	=> $bbcode_bitfield,  						);  						$sql = 'UPDATE ' . USERS_TABLE . ' @@ -1944,26 +1986,17 @@ class acp_users  						trigger_error($user->lang['USER_SIG_UPDATED'] . adm_back_link($this->u_action . '&u=' . $user_id));  					} - -					// Replace "error" strings with their real, localised form -					$error = array_map(array($user, 'lang'), $error);  				} -				$signature_preview = ''; - -				if ($preview) -				{ -					// Now parse it for displaying -					$signature_preview = $message_parser->format_display($enable_bbcode, $enable_urls, $enable_smilies, false); -					unset($message_parser); -				} +				// Replace "error" strings with their real, localised form +				$error = array_map(array($user, 'lang'), $error); -				decode_message($signature, $user_row['user_sig_bbcode_uid']); +				$decoded_message = generate_text_for_edit($signature, $bbcode_uid, $bbcode_bitfield);  				$template->assign_vars(array(  					'S_SIGNATURE'		=> true, -					'SIGNATURE'			=> $signature, +					'SIGNATURE'			=> $decoded_message['text'],  					'SIGNATURE_PREVIEW'	=> $signature_preview,  					'S_BBCODE_CHECKED'		=> (!$enable_bbcode) ? ' checked="checked"' : '', @@ -1991,11 +2024,12 @@ class acp_users  			break;  			case 'attach': +				/* @var $pagination \phpbb\pagination */ +				$pagination = $phpbb_container->get('pagination');  				$start		= request_var('start', 0);  				$deletemark = (isset($_POST['delmarked'])) ? true : false;  				$marked		= request_var('mark', array(0)); -				$pagination = $phpbb_container->get('pagination');  				// Sort keys  				$sort_key	= request_var('sk', 'a'); @@ -2038,7 +2072,7 @@ class acp_users  						$message = (sizeof($log_attachments) == 1) ? $user->lang['ATTACHMENT_DELETED'] : $user->lang['ATTACHMENTS_DELETED']; -						add_log('admin', 'LOG_ATTACHMENTS_DELETED', implode($user->lang['COMMA_SEPARATOR'], $log_attachments)); +						$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_ATTACHMENTS_DELETED', false, array(implode($user->lang['COMMA_SEPARATOR'], $log_attachments)));  						trigger_error($message . adm_back_link($this->u_action . '&u=' . $user_id));  					}  					else  | 
