include_once("include.html");
checksession($id);
require_once("inc/function.view.php");
getusersession($id, $user, $config);
$sort = getsort();
$sort = $sort["READMAIL"];
// originalfolder must be relative
$originalfolder = validatefolder($originalfolder);
$fileitem = getfolderpath($user, $originalfolder, $messageid);
if (!$originalfolder || !$messageid || !$fileitem || !validatefile($fileitem)) {
$folder = inboxfolder;
include("readmail.html");
exit;
}
$Old_Folder= $originalfolder;
$Old_Message = $messageid;
if (isset($Move_To_x)) {
$Move_x = $Move_To_x;
$folder = $tofolder;
}
if($folder) $folder = validatefolder($folder);
if ($originalfolder && ($action == "delete" || (isset($Move_x) && $folder)))
{
getusersettings($id, $signature, $deletemove, $writesent, $shownumber, $forwardtext, $other);
$messages = getmessages($id, $originalfolder);
sortmessages($messages,$sort);
$shortid = getfilemessageuid($messageid);
$ret="";
foreach($messages as $key => $value) {
if (getfilemessageuid($value[ID])===$shortid) {
$ret=$key;
break;
}
}
if ($action == "delete" && $deletemove && strcasecmp($originalfolder,trashfolder)) {
$Move_x=1;
$folder = trashfolder;
}
if($fileitem && isset($Move_x))
{
if ($folder && ($newpath = getfolderpath($user, $folder))) {
@mkdirtree($newpath,1);
if (@rename($fileitem, $newpath . basename($fileitem))) {
$Fsize = @filesize($newpath . basename($fileitem));
changeindex(dirname($fileitem),-1,0,-$Fsize);
changeindex($newpath,1,0,$Fsize);
}
}
}
elseif($action == "delete")
{
$Fsize = @filesize($fileitem);
if(@unlink($fileitem)) changeindex(dirname($fileitem),-1,0,-$Fsize);
deleteuid($id, basename($fileitem));
}
if ($action == "delete")
{
$folder=$originalfolder;
if (count($messages)>1 && !$returntolistupondelete)
{
if($messages[$ret+1]["ID"])
{
$messageid = $messages[$ret+1]["ID"];
$count=count($messages)-1;
if($count>$ret+1) $messageindex=$ret+1; else $messageindex=$count;
}
else
{
$messageid = $messages[$ret-1]["ID"];
$count=count($messages)-1;
if($count>$ret-1) $messageindex=$ret-1; else $messageindex=$count;
}
include("view.html");
exit;
}
else
{
include("readmail.html");
exit;
}
}
elseif (isset($Move_x))
{
$folder = $originalfolder;
if(!$showlite)
{
include("readmail.html");
exit;
}
}
include("view.html");
exit;
}
if ($action == "next")
{
$folder = $originalfolder;
$messages = getmessages($id, $folder);
sortmessages($messages,$sort);
$count=count($messages);
$shortid=getfilemessageuid($messageid);
foreach($messages as $key => $value)
{
if(getfilemessageuid($value[ID])===$shortid)
{
$ret=$key;
break;
}
}
if($ret+1 $value)
{
if(getfilemessageuid($value[ID])===$shortid)
{
getfilemessageuid($value[ID]);
$ret=$key;
break;
}
}
if($ret>0)
{
$messageid = $messages[$ret-1]["ID"];
$messageindex= $ret-1;
}
else $messageindex=0;
include("view.html");
exit;
}
if (($action == "reply") || ($action == "reply_all") || ($action == "reply_delete"))
{
$folder = $originalfolder;
$messages = getmessages($id, $folder, basename($fileitem));
$writeto = trim($messages[0]["FROM"]);
if ($writeto) $writeto = trim(getfileheaderitem($fileitem, "Reply-To: "));
if ($action == "reply_all") $writecc = trim(getfileheaderitem($fileitem, "Cc:"));
if (!$writeto) $writeto = trim($messages[0]["FROM"]);
if ($action == "reply_all")
{
$xwriteto = trim($messages[0]["TO"]);
if ($xwriteto) $xwriteto = trim(getfileheaderitem($fileitem, "To: "));
$writeto .= addressdelimiter . filteremail($xwriteto, $config["EMAIL"]);
}
$writesubject = $messages[0]["SUBJECT"];
if ($writesubject) $xwritesubject = $writesubject = trim(getfileheaderitem($fileitem, "Subject: "));
if (!eregi($restr,$writesubject)) $writesubject = $restr . " " . $writesubject;
getusersettings($id, $signature, $deletemove, $writesent, $shownumber, $forwardtext, $other);
if (@$file = fopen($fileitem, "rb"))
{
$writebody=
"$lang[MSG_ORIGINALMESSAGE]
From: ".str_replace("<","",str_replace(">","",trim($messages[0]["FROM"])))."
Date: ".date("r",trim($messages[0]["SORTDATE"]))."
To: ".str_replace("<","",str_replace(">","",trim(ereg_replace("\r|\n","",$messages[0]["TO_FULL"]))))."
Subject: ".trim($messages[0]["SUBJECT"])."\r\n\r\n";
$writebody .= getreplytext($file, ($otheruser["REPLYSYMBOL"]!==""?$otheruser["REPLYSYMBOL"].' ':''),false); //!$other["SENDPLAIN"]
if ($htmlpresent){
switch(strtolower($display_contenttype)){
case 'multipart/mixed':
case 'multipart/alternative':
$oAttach = new upAttachment($usessid);
$usessid = $oAttach->sUSessId;
// Attached original message
copy($fileitem,$oAttach->pUppath.$oAttach->sUSessId.'/'.$oAttach->nameEncode($xwritesubject,'message/rfc822',strtolower(substr($fileitem,strrpos($fileitem,'.')))));
}
}
fclose($file);
}
if ($action == "reply_delete") $Delete_Message = 1;
include("writemail.html");
exit;
}
elseif ($action == "forward")
{
getusersettings($id, $signature, $deletemove, $writesent, $shownumber, $forwardtext, $other);
$folder = $originalfolder;
$messages = getmessages($id, $folder, basename($fileitem));
$xwritesubject = $messages[0]["SUBJECT"];
$writesubject = $fwstr . " " . $xwritesubject;
if (@$file = fopen($fileitem, "rb"))
{
$writebody="\r\n\r\n$lang[MSG_ORIGINALMESSAGE]\r\n
From: ".str_replace("<","",str_replace(">","",trim($messages[0]["FROM"])))."
Date: ".date("r",trim($messages[0]["SORTDATE"]))."
To: ".str_replace("<","",str_replace(">","",trim($messages[0]["TO"])))."
Subject: ".trim($messages[0]["SUBJECT"])."\r\n\r\n";
unset($replyattachments);
$writebody .= getreplytext($file, "", false);
$oAttach = new upAttachment($usessid);
$usessid = $oAttach->sUSessId;
// Attachments
if (is_array($replyattachments) && count($replyattachments)) extractAttFromFile($file,$replyattachments,$usessid);
fclose($file);
// Attached original message
require_once('inc/function.view.php');
copy($fileitem,$oAttach->pUppath.$oAttach->sUSessId.'/'.$oAttach->nameEncode($xwritesubject,'message/rfc822',strtolower(substr($fileitem,strrpos($fileitem,'.')))));
}
include("writemail.html");
exit;
}
else if ($action == "redirect")
{
$redirect = 1;
include("writemail.html");
exit;
}
else if ($action == "print")
{
$folder = $originalfolder;
include("printemail.html");
exit;
}
if (isset($Go_x))
{
$folder = $skipfolder;
include("readmail.html");
exit;
}
//Show attached pictures
getusersettings($id, $signature, $delete_move, $writesentcopy, $shownumber, $forwardtext, $otheruser);
$xotheruser = $otheruser;
$otheruser["SHOWATTIMAGES"]=$showattimages;
saveusersettings($id,$signature, $delete_move, $writesentcopy, $shownumber, $forwardtext, $otheruser);
$folder=$originalfolder;
include("view.html");
exit;
?>