⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucp_pm_compose.php

📁 这些都是我以前学习是用到的源码
💻 PHP
📖 第 1 页 / 共 3 页
字号:
	{		// Do not change to SELECT *		$sql = 'SELECT attach_id, is_orphan, attach_comment, real_filename			FROM ' . ATTACHMENTS_TABLE . "			WHERE post_msg_id = $msg_id				AND in_message = 1				AND is_orphan = 0			ORDER BY filetime DESC";		$result = $db->sql_query($sql);		$message_parser->attachment_data = array_merge($message_parser->attachment_data, $db->sql_fetchrowset($result));		$db->sql_freeresult($result);	}	if (!in_array($action, array('quote', 'edit', 'delete', 'forward')))	{		$enable_sig		= ($config['allow_sig'] && $auth->acl_get('u_sig') && $user->optionget('attachsig'));		$enable_smilies	= ($config['allow_smilies'] && $auth->acl_get('u_pm_smilies') && $user->optionget('smilies'));		$enable_bbcode	= ($config['allow_bbcode'] && $auth->acl_get('u_pm_bbcode') && $user->optionget('bbcode'));		$enable_urls	= true;	}	$enable_magic_url = $drafts = false;	// User own some drafts?	if ($auth->acl_get('u_savedrafts') && $action != 'delete')	{		$sql = 'SELECT draft_id			FROM ' . DRAFTS_TABLE . '			WHERE forum_id = 0				AND topic_id = 0				AND user_id = ' . $user->data['user_id'] .				(($draft_id) ? " AND draft_id <> $draft_id" : '');		$result = $db->sql_query_limit($sql, 1);		$row = $db->sql_fetchrow($result);		$db->sql_freeresult($result);		if ($row)		{			$drafts = true;		}	}	if ($action == 'edit')	{		$message_parser->bbcode_uid = $bbcode_uid;	}	$bbcode_status	= ($config['allow_bbcode'] && $config['auth_bbcode_pm'] && $auth->acl_get('u_pm_bbcode')) ? true : false;	$smilies_status	= ($config['allow_smilies'] && $config['auth_smilies_pm'] && $auth->acl_get('u_pm_smilies')) ? true : false;	$img_status		= ($config['auth_img_pm'] && $auth->acl_get('u_pm_img')) ? true : false;	$flash_status	= ($config['auth_flash_pm'] && $auth->acl_get('u_pm_flash')) ? true : false;	$url_status		= ($config['allow_post_links']) ? true : false;	// Save Draft	if ($save && $auth->acl_get('u_savedrafts'))	{		$subject = utf8_normalize_nfc(request_var('subject', '', true));		$subject = (!$subject && $action != 'post') ? $user->lang['NEW_MESSAGE'] : $subject;		$message = utf8_normalize_nfc(request_var('message', '', true));				if ($subject && $message)		{			if (confirm_box(true))			{				$sql = 'INSERT INTO ' . DRAFTS_TABLE . ' ' . $db->sql_build_array('INSERT', array(					'user_id'		=> $user->data['user_id'],					'topic_id'		=> 0,					'forum_id'		=> 0,					'save_time'		=> $current_time,					'draft_subject'	=> $subject,					'draft_message'	=> $message)				);				$db->sql_query($sql);				$redirect_url = append_sid("{$phpbb_root_path}ucp.$phpEx", "i=pm&amp;mode=$mode");				meta_refresh(3, $redirect_url);				$message = $user->lang['DRAFT_SAVED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $redirect_url . '">', '</a>');				trigger_error($message);			}			else			{				$s_hidden_fields = build_hidden_fields(array(					'mode'		=> $mode,					'action'	=> $action,					'save'		=> true,					'subject'	=> $subject,					'message'	=> $message,					'u'			=> $to_user_id,					'g'			=> $to_group_id,					'p'			=> $msg_id)				);				confirm_box(false, 'SAVE_DRAFT', $s_hidden_fields);			}		}		unset($subject, $message);	}	// Load Draft	if ($draft_id && $auth->acl_get('u_savedrafts'))	{		$sql = 'SELECT draft_subject, draft_message			FROM ' . DRAFTS_TABLE . "			WHERE draft_id = $draft_id				AND topic_id = 0				AND forum_id = 0				AND user_id = " . $user->data['user_id'];		$result = $db->sql_query_limit($sql, 1);		if ($row = $db->sql_fetchrow($result))		{			$message_parser->message = $row['draft_message'];			$message_subject = $row['draft_subject'];			$template->assign_var('S_DRAFT_LOADED', true);		}		else		{			$draft_id = 0;		}		$db->sql_freeresult($result);	}	// Load Drafts	if ($load && $drafts)	{		load_drafts(0, 0, $id);	}	if ($submit || $preview || $refresh)	{		$subject = utf8_normalize_nfc(request_var('subject', '', true));		$message_parser->message = utf8_normalize_nfc(request_var('message', '', true));				$icon_id			= request_var('icon', 0);		$enable_bbcode 		= (!$bbcode_status || isset($_POST['disable_bbcode'])) ? false : true;		$enable_smilies		= (!$smilies_status || isset($_POST['disable_smilies'])) ? false : true;		$enable_urls 		= (isset($_POST['disable_magic_url'])) ? 0 : 1;		$enable_sig			= (!$config['allow_sig']) ? false : ((isset($_POST['attach_sig'])) ? true : false);		if ($submit)		{			$status_switch	= (($enable_bbcode+1) << 8) + (($enable_smilies+1) << 4) + (($enable_urls+1) << 2) + (($enable_sig+1) << 1);			$status_switch = ($status_switch != $check_value);		}		else		{			$status_switch = 1;		}		// Parse Attachments - before checksum is calculated		$message_parser->parse_attachments('fileupload', $action, 0, $submit, $preview, $refresh, true);		// Parse message		$message_parser->parse($enable_bbcode, ($config['allow_post_links']) ? $enable_urls : false, $enable_smilies, $img_status, $flash_status, true, $config['allow_sig_links']);		if ($action != 'edit' && !$preview && !$refresh && $config['flood_interval'] && !$auth->acl_get('u_ignoreflood'))		{			// Flood check			$last_post_time = $user->data['user_lastpost_time'];			if ($last_post_time)			{				if ($last_post_time && ($current_time - $last_post_time) < intval($config['flood_interval']))				{					$error[] = $user->lang['FLOOD_ERROR'];				}			}		}		// Subject defined		if (!$subject && !($remove_u || $remove_g || $add_to || $add_bcc))		{			$error[] = $user->lang['EMPTY_SUBJECT'];		}		if (!sizeof($address_list))		{			$error[] = $user->lang['NO_RECIPIENT'];		}		if (sizeof($message_parser->warn_msg) && !($remove_u || $remove_g || $add_to || $add_bcc))		{			$error[] = implode('<br />', $message_parser->warn_msg);		}		// Store message, sync counters		if (!sizeof($error) && $submit)		{			$pm_data = array(				'msg_id'				=> (int) $msg_id,				'from_user_id'			=> $user->data['user_id'],				'from_user_ip'			=> $user->data['user_ip'],				'from_username'			=> $user->data['username'],				'reply_from_root_level'	=> (isset($root_level)) ? (int) $root_level : 0,				'reply_from_msg_id'		=> (int) $msg_id,				'icon_id'				=> (int) $icon_id,				'enable_sig'			=> (bool) $enable_sig,				'enable_bbcode'			=> (bool) $enable_bbcode,				'enable_smilies'		=> (bool) $enable_smilies,				'enable_urls'			=> (bool) $enable_urls,				'bbcode_bitfield'		=> $message_parser->bbcode_bitfield,				'bbcode_uid'			=> $message_parser->bbcode_uid,				'message'				=> $message_parser->message,				'attachment_data'		=> $message_parser->attachment_data,				'filename_data'			=> $message_parser->filename_data,				'address_list'			=> $address_list			);			unset($message_parser);			// ((!$message_subject) ? $subject : $message_subject)			$msg_id = submit_pm($action, $subject, $pm_data, true);			$return_message_url = append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&amp;mode=view&amp;p=' . $msg_id);			$return_folder_url = append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&amp;folder=outbox');			meta_refresh(3, $return_message_url);			$message = $user->lang['MESSAGE_STORED'] . '<br /><br />' . sprintf($user->lang['VIEW_MESSAGE'], '<a href="' . $return_message_url . '">', '</a>') . '<br /><br />' . sprintf($user->lang['CLICK_RETURN_FOLDER'], '<a href="' . $return_folder_url . '">', '</a>', $user->lang['PM_OUTBOX']);			trigger_error($message);		}		$message_subject = $subject;	}	// Preview	if (!sizeof($error) && $preview)	{		$post_time = ($action == 'edit') ? $post_time : $current_time;		$preview_message = $message_parser->format_display($enable_bbcode, $enable_urls, $enable_smilies, false);		$preview_signature = $user->data['user_sig'];		$preview_signature_uid = $user->data['user_sig_bbcode_uid'];		$preview_signature_bitfield = $user->data['user_sig_bbcode_bitfield'];		// Signature		if ($enable_sig && $config['allow_sig'] && $preview_signature)		{			$parse_sig = new parse_message($preview_signature);			$parse_sig->bbcode_uid = $preview_signature_uid;			$parse_sig->bbcode_bitfield = $preview_signature_bitfield;			$parse_sig->format_display($enable_bbcode, $enable_urls, $enable_smilies);			$preview_signature = $parse_sig->message;			unset($parse_sig);		}		else		{			$preview_signature = '';		}		// Attachment Preview		if (sizeof($message_parser->attachment_data))		{			$extensions = $update_count = array();			$template->assign_var('S_HAS_ATTACHMENTS', true);			display_attachments(0, 'attachment', $message_parser->attachment_data, $update_count);		}		$preview_subject = censor_text($subject);		if (!sizeof($error))		{			$template->assign_vars(array(				'PREVIEW_SUBJECT'		=> $preview_subject,				'PREVIEW_MESSAGE'		=> $preview_message,				'PREVIEW_SIGNATURE'		=> $preview_signature,				'S_DISPLAY_PREVIEW'		=> true)			);		}		unset($message_text);	}	// Decode text for message display	$bbcode_uid = (($action == 'quote' || $action == 'forward') && !$preview && !$refresh && !sizeof($error)) ? $bbcode_uid : $message_parser->bbcode_uid;	$message_parser->decode_message($bbcode_uid);	if (($action == 'quote' || $action == 'quotepost') && !$preview && !$refresh)	{		if ($action == 'quotepost')		{			$post_id = request_var('p', 0);			if ($config['allow_post_links'])			{				$message_link = "[url=" . generate_board_url() . "/viewtopic.$phpEx?p={$post_id}#p{$post_id}]{$message_subject}[/url]\n\n";			}			else			{				$message_link = $user->lang['SUBJECT'] . ': ' . $message_subject . " (" . generate_board_url() . "/viewtopic.$phpEx?p={$post_id}#p{$post_id})\n\n";			}		}		else 		{			$message_link = '';		}		$message_parser->message = $message_link . '[quote="' . $quote_username . '"]' . censor_text(trim($message_parser->message)) . "[/quote]\n";	}	if (($action == 'reply' || $action == 'quote' || $action == 'quotepost') && !$preview && !$refresh)	{		$message_subject = ((!preg_match('/^Re:/', $message_subject)) ? 'Re: ' : '') . censor_text($message_subject);	}	if ($action == 'forward' && !$preview && !$refresh && !$submit)	{		$fwd_to_field = write_pm_addresses(array('to' => $post['to_address']), 0, true);		if ($config['allow_post_links'])		{			$quote_username_text = '[url=' . generate_board_url() . "/memberlist.$phpEx?mode=viewprofile&u={$post['author_id']}]{$quote_username}[/url]";		}		else		{			$quote_username_text = $quote_username . ' (' . generate_board_url() . "/memberlist.$phpEx?mode=viewprofile&u={$post['author_id']})";		}		$forward_text = array();		$forward_text[] = $user->lang['FWD_ORIGINAL_MESSAGE'];		$forward_text[] = sprintf($user->lang['FWD_SUBJECT'], censor_text($message_subject));		$forward_text[] = sprintf($user->lang['FWD_DATE'], $user->format_date($message_time));		$forward_text[] = sprintf($user->lang['FWD_FROM'], $quote_username_text);		$forward_text[] = sprintf($user->lang['FWD_TO'], implode(', ', $fwd_to_field['to']));		$message_parser->message = implode("\n", $forward_text) . "\n\n[quote=\"{$quote_username}\"]\n" . censor_text(trim($message_parser->message)) . "\n[/quote]";		$message_subject = ((!preg_match('/^Fwd:/', $message_subject)) ? 'Fwd: ' : '') . censor_text($message_subject);	}	$attachment_data = $message_parser->attachment_data;	$filename_data = $message_parser->filename_data;	$message_text = $message_parser->message;	unset($message_parser);	// MAIN PM PAGE BEGINS HERE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -