diff options
Diffstat (limited to 'phpBB/includes/ucp/ucp_profile.php')
| -rw-r--r-- | phpBB/includes/ucp/ucp_profile.php | 148 | 
1 files changed, 80 insertions, 68 deletions
diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php index 8d8d42e742..2f4d650ed0 100644 --- a/phpBB/includes/ucp/ucp_profile.php +++ b/phpBB/includes/ucp/ucp_profile.php @@ -32,11 +32,10 @@ class ucp_profile  	function main($id, $mode)  	{  		global $cache, $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx; -		global $request, $phpbb_container, $phpbb_dispatcher; +		global $request, $phpbb_container, $phpbb_log, $phpbb_dispatcher;  		$user->add_lang('posting'); -		$preview	= $request->variable('preview', false, false, \phpbb\request\request_interface::POST);  		$submit		= $request->variable('submit', false, false, \phpbb\request\request_interface::POST);  		$delete		= $request->variable('delete', false, false, \phpbb\request\request_interface::POST);  		$error = $data = array(); @@ -47,8 +46,8 @@ class ucp_profile  			case 'reg_details':  				$data = array( -					'username'			=> utf8_normalize_nfc(request_var('username', $user->data['username'], true)), -					'email'				=> strtolower(request_var('email', $user->data['user_email'])), +					'username'			=> $request->variable('username', $user->data['username'], true), +					'email'				=> strtolower($request->variable('email', $user->data['user_email'])),  					'new_password'		=> $request->variable('new_password', '', true),  					'cur_password'		=> $request->variable('cur_password', '', true),  					'password_confirm'	=> $request->variable('password_confirm', '', true), @@ -96,6 +95,7 @@ class ucp_profile  					}  					// Instantiate passwords manager +					/* @var $passwords_manager \phpbb\passwords\manager */  					$passwords_manager = $phpbb_container->get('passwords.manager');  					// Only check the new password against the previous password if there have been no errors @@ -139,18 +139,30 @@ class ucp_profile  						if ($auth->acl_get('u_chgname') && $config['allow_namechange'] && $data['username'] != $user->data['username'])  						{ -							add_log('user', $user->data['user_id'], 'LOG_USER_UPDATE_NAME', $user->data['username'], $data['username']); +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_UPDATE_NAME', false, array( +								'reportee_id' => $user->data['user_id'], +								$user->data['username'], +								$data['username'] +							));  						}  						if ($auth->acl_get('u_chgpasswd') && $data['new_password'] && !$passwords_manager->check($data['new_password'], $user->data['user_password']))  						{  							$user->reset_login_keys(); -							add_log('user', $user->data['user_id'], 'LOG_USER_NEW_PASSWORD', $data['username']); +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_NEW_PASSWORD', false, array( +								'reportee_id' => $user->data['user_id'], +								$user->data['username'] +							));  						}  						if ($auth->acl_get('u_chgemail') && $data['email'] != $user->data['user_email'])  						{ -							add_log('user', $user->data['user_id'], 'LOG_USER_UPDATE_EMAIL', $data['username'], $user->data['user_email'], $data['email']); +							$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_UPDATE_EMAIL', false, array( +								'reportee_id' => $user->data['user_id'], +								$user->data['username'], +								$data['user_email'], +								$data['email'] +							));  						}  						$message = 'PROFILE_UPDATED'; @@ -296,12 +308,13 @@ class ucp_profile  					trigger_error('NO_AUTH_PROFILEINFO');  				} +				/* @var $cp \phpbb\profilefields\manager */  				$cp = $phpbb_container->get('profilefields.manager');  				$cp_data = $cp_error = array();  				$data = array( -					'jabber'		=> utf8_normalize_nfc(request_var('jabber', $user->data['user_jabber'], true)), +					'jabber'		=> $request->variable('jabber', $user->data['user_jabber'], true),  				);  				if ($config['allow_birthdays']) @@ -313,9 +326,9 @@ class ucp_profile  						list($data['bday_day'], $data['bday_month'], $data['bday_year']) = explode('-', $user->data['user_birthday']);  					} -					$data['bday_day'] = request_var('bday_day', $data['bday_day']); -					$data['bday_month'] = request_var('bday_month', $data['bday_month']); -					$data['bday_year'] = request_var('bday_year', $data['bday_year']); +					$data['bday_day'] = $request->variable('bday_day', $data['bday_day']); +					$data['bday_month'] = $request->variable('bday_month', $data['bday_month']); +					$data['bday_year'] = $request->variable('bday_year', $data['bday_year']);  					$data['user_birthday'] = sprintf('%2d-%2d-%4d', $data['bday_day'], $data['bday_month'], $data['bday_year']);  				} @@ -484,86 +497,82 @@ class ucp_profile  				include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);  				include($phpbb_root_path . 'includes/functions_display.' . $phpEx); -				$enable_bbcode	= ($config['allow_sig_bbcode']) ? (bool) $user->optionget('sig_bbcode') : false; -				$enable_smilies	= ($config['allow_sig_smilies']) ? (bool) $user->optionget('sig_smilies') : false; -				$enable_urls	= ($config['allow_sig_links']) ? (bool) $user->optionget('sig_links') : false; +				$enable_bbcode	= ($config['allow_sig_bbcode']) ? $user->optionget('sig_bbcode') : false; +				$enable_smilies	= ($config['allow_sig_smilies']) ? $user->optionget('sig_smilies') : false; +				$enable_urls	= ($config['allow_sig_links']) ? $user->optionget('sig_links') : false; -				$signature		= utf8_normalize_nfc(request_var('signature', (string) $user->data['user_sig'], true)); +				$decoded_message	= generate_text_for_edit($user->data['user_sig'], $user->data['user_sig_bbcode_uid'], $user->data['user_sig_bbcode_bitfield']); +				$signature			= $request->variable('signature', $decoded_message['text'], true); +				$signature_preview	= ''; -				add_form_key('ucp_sig'); - -				if ($submit || $preview) +				if ($submit || $request->is_set_post('preview'))  				{ -					include($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; +					$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 (!sizeof($error)) +					if (!check_form_key('ucp_sig'))  					{ -						$message_parser = new parse_message($signature); +						$error[] = 'FORM_INVALID'; +					} +				} -						// 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'); +				$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($message_parser->warn_msg)) -						{ -							$error[] = implode('<br />', $message_parser->warn_msg); -						} +				if (sizeof($warn_msg)) +				{ +					$error += $warn_msg; +				} -						if (!check_form_key('ucp_sig')) -						{ -							$error[] = 'FORM_INVALID'; -						} +				if (!$submit) +				{ +					// Parse it for displaying +					$signature_preview = generate_text_for_display($signature, $bbcode_uid, $bbcode_bitfield, $bbcode_flags); +				} +				else +				{ +					if (!sizeof($error)) +					{ +						$user->optionset('sig_bbcode', $enable_bbcode); +						$user->optionset('sig_smilies', $enable_smilies); +						$user->optionset('sig_links', $enable_urls); -						if (!sizeof($error) && $submit) -						{ -							$user->optionset('sig_bbcode', $enable_bbcode); -							$user->optionset('sig_smilies', $enable_smilies); -							$user->optionset('sig_links', $enable_urls); - -							$sql_ary = array( -								'user_sig'					=> (string) $message_parser->message, -								'user_options'				=> $user->data['user_options'], -								'user_sig_bbcode_uid'		=> (string) $message_parser->bbcode_uid, -								'user_sig_bbcode_bitfield'	=> $message_parser->bbcode_bitfield -							); +						$sql_ary = array( +							'user_sig'					=> $signature, +							'user_options'				=> $user->data['user_options'], +							'user_sig_bbcode_uid'		=> $bbcode_uid, +							'user_sig_bbcode_bitfield'	=> $bbcode_bitfield +						); -							$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); -							$message = $user->lang['PROFILE_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>'); -							trigger_error($message); -						} +						$message = $user->lang['PROFILE_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 = 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); + +				$decoded_message = generate_text_for_edit($signature, $bbcode_uid, $bbcode_bitfield); -				decode_message($signature, $user->data['user_sig_bbcode_uid']); +				/** @var \phpbb\controller\helper $controller_helper */ +				$controller_helper = $phpbb_container->get('controller.helper');  				$template->assign_vars(array(  					'ERROR'				=> (sizeof($error)) ? implode('<br />', $error) : '', -					'SIGNATURE'			=> $signature, +					'SIGNATURE'			=> $decoded_message['text'],  					'SIGNATURE_PREVIEW'	=> $signature_preview,  					'S_BBCODE_CHECKED' 		=> (!$enable_bbcode) ? ' checked="checked"' : '',  					'S_SMILIES_CHECKED' 	=> (!$enable_smilies) ? ' checked="checked"' : '',  					'S_MAGIC_URL_CHECKED' 	=> (!$enable_urls) ? ' checked="checked"' : '', -					'BBCODE_STATUS'			=> ($config['allow_sig_bbcode']) ? sprintf($user->lang['BBCODE_IS_ON'], '<a href="' . append_sid("{$phpbb_root_path}faq.$phpEx", 'mode=bbcode') . '">', '</a>') : sprintf($user->lang['BBCODE_IS_OFF'], '<a href="' . append_sid("{$phpbb_root_path}faq.$phpEx", 'mode=bbcode') . '">', '</a>'), +					'BBCODE_STATUS'			=> $user->lang(($config['allow_sig_bbcode'] ? 'BBCODE_IS_ON' : 'BBCODE_IS_OFF'), '<a href="' . $controller_helper->route('phpbb_help_bbcode_controller') . '">', '</a>'),  					'SMILIES_STATUS'		=> ($config['allow_sig_smilies']) ? $user->lang['SMILIES_ARE_ON'] : $user->lang['SMILIES_ARE_OFF'],  					'IMG_STATUS'			=> ($config['allow_sig_img']) ? $user->lang['IMAGES_ARE_ON'] : $user->lang['IMAGES_ARE_OFF'],  					'FLASH_STATUS'			=> ($config['allow_sig_flash']) ? $user->lang['FLASH_IS_ON'] : $user->lang['FLASH_IS_OFF'], @@ -579,6 +588,8 @@ class ucp_profile  					'S_LINKS_ALLOWED'		=> ($config['allow_sig_links']) ? true : false)  				); +				add_form_key('ucp_sig'); +  				// Build custom bbcodes array  				display_custom_bbcodes(); @@ -595,6 +606,7 @@ class ucp_profile  				if ($config['allow_avatar'] && $auth->acl_get('u_chgavatar'))  				{ +					/* @var $phpbb_avatar_manager \phpbb\avatar\manager */  					$phpbb_avatar_manager = $phpbb_container->get('avatar.manager');  					$avatar_drivers = $phpbb_avatar_manager->get_enabled_drivers(); @@ -713,7 +725,7 @@ class ucp_profile  				if ($submit)  				{ -					$keys = request_var('keys', array('')); +					$keys = $request->variable('keys', array(''));  					if (!check_form_key('ucp_autologin_keys'))  					{  | 
