some heavy private mail restructuring - work in progress
This commit is contained in:
		
							
								
								
									
										191
									
								
								mod/mail.php
									
									
									
									
									
								
							
							
						
						
									
										191
									
								
								mod/mail.php
									
									
									
									
									
								
							| @@ -101,7 +101,7 @@ function mail_post(&$a) { | ||||
| 		notice($ret['message']); | ||||
| 	} | ||||
|  | ||||
| 	goaway(z_root() . '/message'); | ||||
| 	goaway(z_root() . '/mail/combined'); | ||||
| 		 | ||||
| } | ||||
|  | ||||
| @@ -137,7 +137,7 @@ function mail_content(&$a) { | ||||
| 		if($r) { | ||||
| 			info( t('Message deleted.') . EOL ); | ||||
| 		} | ||||
| 		goaway($a->get_baseurl(true) . '/message' ); | ||||
| 		goaway($a->get_baseurl(true) . '/mail/combined' ); | ||||
| 	} | ||||
|  | ||||
| 	if((argc() == 3) && (argv(1) === 'recall')) { | ||||
| @@ -153,7 +153,7 @@ function mail_content(&$a) { | ||||
| 		if($r) { | ||||
| 				info( t('Message recalled.') . EOL ); | ||||
| 		} | ||||
| 		goaway($a->get_baseurl(true) . '/message' ); | ||||
| 		goaway($a->get_baseurl(true) . '/mail/combined' ); | ||||
|  | ||||
| 	} | ||||
|  | ||||
| @@ -249,117 +249,128 @@ function mail_content(&$a) { | ||||
| 		return $o; | ||||
| 	} | ||||
|  | ||||
| 	switch(argv(1)) { | ||||
| 		case 'combined': | ||||
| 			$mailbox = 'combined'; | ||||
| 			break; | ||||
| 		case 'inbox': | ||||
| 			$mailbox = 'inbox'; | ||||
| 			break; | ||||
| 		case 'outbox': | ||||
| 			$mailbox = 'outbox'; | ||||
| 			break; | ||||
| 		default: | ||||
| 			$mailbox = 'combined'; | ||||
| 			break; | ||||
| 	} | ||||
|  | ||||
| 	if((argc() > 1) && (intval(argv(1)))) { | ||||
| 	$last_message = private_messages_list(local_channel(), $mailbox, 0, 1); | ||||
|  | ||||
| 		$o .= $header; | ||||
| 	$mid = ((argc() > 1) && (intval(argv(1)))) ? argv(1) : $last_message[0]['id']; | ||||
|  | ||||
| 		$plaintext = true; | ||||
| 	$plaintext = true; | ||||
|  | ||||
| //		if( local_channel() && feature_enabled(local_channel(),'richtext') ) | ||||
| //			$plaintext = false; | ||||
| //	if( local_channel() && feature_enabled(local_channel(),'richtext') ) | ||||
| //		$plaintext = false; | ||||
|  | ||||
| 		$messages = private_messages_fetch_conversation(local_channel(), argv(1), true); | ||||
| 	$messages = private_messages_fetch_conversation(local_channel(), $mid, true); | ||||
|  | ||||
| 		if(! $messages) { | ||||
| 			info( t('Message not found.') . EOL); | ||||
| 			return $o; | ||||
| 		} | ||||
| 	if(! $messages) { | ||||
| 		//info( t('Message not found.') . EOL); | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 		if($messages[0]['to_xchan'] === $channel['channel_hash']) | ||||
| 			$a->poi = $messages[0]['from']; | ||||
| 		else | ||||
| 			$a->poi = $messages[0]['to']; | ||||
| 	if($messages[0]['to_xchan'] === $channel['channel_hash']) | ||||
| 		$a->poi = $messages[0]['from']; | ||||
| 	else | ||||
| 		$a->poi = $messages[0]['to']; | ||||
|  | ||||
| //		require_once('include/Contact.php'); | ||||
| //	require_once('include/Contact.php'); | ||||
|  | ||||
| //		$a->set_widget('mail_conversant',vcard_from_xchan($a->poi,$get_observer_hash,'mail')); | ||||
| //	$a->set_widget('mail_conversant',vcard_from_xchan($a->poi,$get_observer_hash,'mail')); | ||||
|  | ||||
|  | ||||
| 		$tpl = get_markup_template('msg-header.tpl'); | ||||
| 	$tpl = get_markup_template('msg-header.tpl'); | ||||
| 	 | ||||
| 		$a->page['htmlhead'] .= replace_macros($tpl, array( | ||||
| 			'$nickname' => $channel['channel_address'], | ||||
| 			'$baseurl' => $a->get_baseurl(true), | ||||
| 			'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'), | ||||
| 			'$linkurl' => t('Please enter a link URL:'), | ||||
| 			'$expireswhen' => t('Expires YYYY-MM-DD HH:MM') | ||||
| 		)); | ||||
| 	$a->page['htmlhead'] .= replace_macros($tpl, array( | ||||
| 		'$nickname' => $channel['channel_address'], | ||||
| 		'$baseurl' => $a->get_baseurl(true), | ||||
| 		'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'), | ||||
| 		'$linkurl' => t('Please enter a link URL:'), | ||||
| 		'$expireswhen' => t('Expires YYYY-MM-DD HH:MM') | ||||
| 	)); | ||||
|  | ||||
| 	$mails = array(); | ||||
|  | ||||
| 		$mails = array(); | ||||
| 		$seen = 0; | ||||
| 		$unknown = false; | ||||
| 	$seen = 0; | ||||
| 	$unknown = false; | ||||
|  | ||||
| 		foreach($messages as $message) { | ||||
| 	foreach($messages as $message) { | ||||
|  | ||||
| 			$s = theme_attachments($message); | ||||
| 		$s = theme_attachments($message); | ||||
|  | ||||
| 			$mails[] = array( | ||||
| 				'id' => $message['id'], | ||||
| 				'from_name' => $message['from']['xchan_name'], | ||||
| 				'from_url' =>  chanlink_hash($message['from_xchan']), | ||||
| 				'from_photo' => $message['from']['xchan_photo_m'], | ||||
| 				'to_name' => $message['to']['xchan_name'], | ||||
| 				'to_url' =>  chanlink_hash($message['to_xchan']), | ||||
| 				'to_photo' => $message['to']['xchan_photo_m'], | ||||
| 				'subject' => $message['title'], | ||||
| 				'body' => smilies(bbcode($message['body']) . $s), | ||||
| 				'delete' => t('Delete message'), | ||||
| 				'recall' => t('Recall message'), | ||||
| 				'can_recall' => (($channel['channel_hash'] == $message['from_xchan']) ? true : false), | ||||
| 				'is_recalled' => (intval($message['mail_recalled']) ? t('Message has been recalled.') : ''), | ||||
| 				'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'), | ||||
| 			); | ||||
| 		$mails[] = array( | ||||
| 			'id' => $message['id'], | ||||
| 			'from_name' => $message['from']['xchan_name'], | ||||
| 			'from_url' =>  chanlink_hash($message['from_xchan']), | ||||
| 			'from_photo' => $message['from']['xchan_photo_m'], | ||||
| 			'to_name' => $message['to']['xchan_name'], | ||||
| 			'to_url' =>  chanlink_hash($message['to_xchan']), | ||||
| 			'to_photo' => $message['to']['xchan_photo_m'], | ||||
| 			'subject' => $message['title'], | ||||
| 			'body' => smilies(bbcode($message['body']) . $s), | ||||
| 			'delete' => t('Delete message'), | ||||
| 			'recall' => t('Recall message'), | ||||
| 			'can_recall' => (($channel['channel_hash'] == $message['from_xchan']) ? true : false), | ||||
| 			'is_recalled' => (intval($message['mail_recalled']) ? t('Message has been recalled.') : ''), | ||||
| 			'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'), | ||||
| 		); | ||||
| 				 | ||||
| 			$seen = $message['seen']; | ||||
| 		$seen = $message['seen']; | ||||
|  | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 		$recp = (($message['from_xchan'] === $channel['channel_hash']) ? 'to' : 'from'); | ||||
| 	$recp = (($message['from_xchan'] === $channel['channel_hash']) ? 'to' : 'from'); | ||||
|  | ||||
| // FIXME - move this HTML to template | ||||
|  | ||||
| 		$select = $message[$recp]['xchan_name'] . '<input type="hidden" name="messageto" value="' . $message[$recp]['xchan_hash'] . '" />'; | ||||
| 		$parent = '<input type="hidden" name="replyto" value="' . $message['parent_mid'] . '" />'; | ||||
|  | ||||
| 		$tpl = get_markup_template('mail_display.tpl'); | ||||
| 		$o = replace_macros($tpl, array( | ||||
| 			'$prvmsg_header' => t('Private Conversation'), | ||||
| 			'$thread_id' => $a->argv[1], | ||||
| 			'$thread_subject' => $message['title'], | ||||
| 			'$thread_seen' => $seen, | ||||
| 			'$delete' =>  t('Delete conversation'), | ||||
| 			'$canreply' => (($unknown) ? false : '1'), | ||||
| 			'$unknown_text' => t("No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."),			 | ||||
| 			'$mails' => $mails, | ||||
| 	$select = $message[$recp]['xchan_name'] . '<input type="hidden" name="messageto" value="' . $message[$recp]['xchan_hash'] . '" />'; | ||||
| 	$parent = '<input type="hidden" name="replyto" value="' . $message['parent_mid'] . '" />'; | ||||
| 	$tpl = get_markup_template('mail_display.tpl'); | ||||
| 	$o = replace_macros($tpl, array( | ||||
| 		'$prvmsg_header' => t('Subject:') . ' ' . $message['title'], | ||||
| 		'$thread_id' => $mid, | ||||
| 		'$thread_subject' => $message['title'], | ||||
| 		'$thread_seen' => $seen, | ||||
| 		'$delete' =>  t('Delete Conversation'), | ||||
| 		'$canreply' => (($unknown) ? false : '1'), | ||||
| 		'$unknown_text' => t("No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."), | ||||
| 		'$mails' => $mails, | ||||
| 			 | ||||
| 			// reply | ||||
| 			'$header' => t('Send Reply'), | ||||
| 			'$to' => t('To:'), | ||||
| 			'$showinputs' => '', | ||||
| 			'$subject' => t('Subject:'), | ||||
| 			'$subjtxt' => $message['title'], | ||||
| 			'$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ', | ||||
| 			'$yourmessage' => t('Your message:'), | ||||
| 			'$text' => '', | ||||
| 			'$select' => $select, | ||||
| 			'$parent' => $parent, | ||||
| 			'$upload' => t('Upload photo'), | ||||
| 			'$attach' => t('Attach file'), | ||||
| 			'$insert' => t('Insert web link'), | ||||
| 			'$submit' => t('Submit'), | ||||
| 			'$wait' => t('Please wait'), | ||||
| 			'$defexpire' => '', | ||||
| 			'$feature_expire' => ((feature_enabled(local_channel(),'content_expire')) ? true : false), | ||||
| 			'$expires' => t('Set expiration date'), | ||||
| 			'$feature_encrypt' => ((feature_enabled(local_channel(),'content_encrypt')) ? true : false), | ||||
| 			'$encrypt' => t('Encrypt text'), | ||||
| 			'$cipher' => $cipher, | ||||
| 		// reply | ||||
| 		'$header' => t('Send Reply'), | ||||
| 		'$to' => t('To:'), | ||||
| 		'$showinputs' => '', | ||||
| 		'$subject' => t('Subject:'), | ||||
| 		'$subjtxt' => $message['title'], | ||||
| 		'$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ', | ||||
| 		'$yourmessage' => t('Your message:'), | ||||
| 		'$text' => '', | ||||
| 		'$select' => $select, | ||||
| 		'$parent' => $parent, | ||||
| 		'$upload' => t('Upload photo'), | ||||
| 		'$attach' => t('Attach file'), | ||||
| 		'$insert' => t('Insert web link'), | ||||
| 		'$submit' => t('Submit'), | ||||
| 		'$wait' => t('Please wait'), | ||||
| 		'$defexpire' => '', | ||||
| 		'$feature_expire' => ((feature_enabled(local_channel(),'content_expire')) ? true : false), | ||||
| 		'$expires' => t('Set expiration date'), | ||||
| 		'$feature_encrypt' => ((feature_enabled(local_channel(),'content_encrypt')) ? true : false), | ||||
| 		'$encrypt' => t('Encrypt text'), | ||||
| 		'$cipher' => $cipher, | ||||
| 	)); | ||||
|  | ||||
| 		)); | ||||
|  | ||||
| 		return $o; | ||||
| 	} | ||||
| 	return $o; | ||||
|  | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user