kartero.org

kartero.org

Git

This blob has been accessed 307 times via Git panel.

  1. <?php
  2.  
  3. require_once("core.php");
  4.  
  5. if (!isset($_SESSION['logged_uid']) or !isset($_SESSION['logged_lvl']) or !isset($_SESSION['logged_key']) or ($_SESSION['logged_lvl'] != "subscriber")) {
  6.         exit;
  7. }
  8.  
  9. if (isset($_POST['msg']) and !empty($_POST['msg']) and is_numeric($_POST['msg'])) {
  10.  
  11.         $msgno = trim(strip_tags($_POST['msg']));
  12.  
  13.         $header = imap_rfc822_parse_headers(imap_fetchbody($mbox,$msgno,0,FT_UID));
  14.  
  15.         $header_subject = imap_utf8($header->subject);
  16.  
  17.         $header_fromaddress = imap_utf8($header->fromaddress);
  18.         $header_fromaddress = htmlentities($header_fromaddress,ENT_QUOTES,"UTF-8");
  19.  
  20.         $header_toaddress = imap_utf8($header->toaddress);
  21.         $header_toaddress = htmlentities($header_toaddress,ENT_QUOTES,"UTF-8");
  22.  
  23.         $header_date = imap_utf8($header->date);
  24.         $header_date = preg_replace("/\([^\)]+\)/","",$header_date);
  25.         $header_date = trim($header_date);
  26.         $header_date_age = time_elapsed_string(strtotime($header_date));
  27.  
  28.         $header_ccaddress = imap_utf8($header->ccaddress);
  29.         $header_ccaddress = htmlentities($header_ccaddress,ENT_QUOTES,"UTF-8");
  30.  
  31.         $header_bccaddress = imap_utf8($header->bccaddress);
  32.         $header_bccaddress = htmlentities($header_bccaddress,ENT_QUOTES,"UTF-8");
  33.  
  34.         $header_fetch = imap_utf8(imap_fetchheader($mbox,$msgno,FT_UID|FT_PREFETCHTEXT));
  35.  
  36.         $header_raw_lines = explode("\r\n",$header_fetch);
  37.  
  38.         foreach ($header_raw_lines as $header_raw_line) {
  39.  
  40.                 if (strstr($header_raw_line,"X-Mailer:")) {
  41.                         $header_mailer = $header_raw_line;
  42.                 }
  43.  
  44.                 if (strstr($header_raw_line,"User-Agent:")) {
  45.                         $header_user_agent = $header_raw_line;
  46.                 }
  47.  
  48.                 if (strstr($header_raw_line,"X-Priority: 1")) {
  49.                         $header_priority = $header_raw_line;
  50.                 }
  51.  
  52.                 if (strstr($header_raw_line,"Importance: High")) {
  53.                         $header_priority = $header_raw_line;
  54.                 }
  55.  
  56.                 if (strstr($header_raw_line,"X-Confirm-Reading-To:")) {
  57.                         $header_rr = $header_raw_line;
  58.                 }
  59.  
  60.                 if (strstr($header_raw_line,"Disposition-Notification-To:")) {
  61.                         $header_rr = $header_raw_line;
  62.                 }
  63.  
  64.                 if (strstr($header_raw_line,"Return-Receipt-To:")) {
  65.                         $header_dr = $header_raw_line;
  66.                 }
  67.         }
  68.  
  69.         if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  70.  
  71.                 $imap_search_query = $_POST['imap_search_query'];
  72.                 $imap_search_where = $_POST['imap_search_where'];
  73.                 $imap_search_criteria = $imap_search_where . ' "'. $imap_search_query . '"';
  74.                 $mbox_sort = imap_search($mbox,$imap_search_criteria,SE_UID);
  75.  
  76.                 rsort($mbox_sort);
  77.  
  78.                 if ($mbox_sort) {
  79.                         $msgCount = count($mbox_sort);
  80.                 }
  81.                 else {
  82.                         $msgCount = 0;
  83.                 }
  84.         }
  85.         else {
  86.                 //$mbox_sort = imap_sort($mbox,SORTARRIVAL,1,SE_UID|SE_NOPREFETCH);
  87.                 $mbox_sort = imap_sort($mbox,SORTDATE,1,SE_UID|SE_NOPREFETCH);
  88.         }
  89.  
  90.         $mbox_row = array_search($msgno, $mbox_sort);
  91.  
  92.         $mbox_row_prev = $mbox_row - 1;
  93.         $mbox_row_next = $mbox_row + 1;
  94.  
  95.         $msgno_next = $mbox_sort[$mbox_row_prev];
  96.         $msgno_prev = $mbox_sort[$mbox_row_next];
  97.        
  98.         if (strlen($header_subject) == 0) {
  99.                 $header_subject = "(No Subject)";
  100.         }
  101.  
  102.         echo "<title>Kartero - $folder - $header_subject</title>";
  103.  
  104.         echo "<table border=\"0\" cellspacing=\"0\" callpadding=\"0\" width=\"100%\"><tr><td valign=\"top\">";
  105.  
  106.         echo "<div class=\"message\">";
  107.  
  108.         $fileFrom = extract_emails_from($header_fromaddress);
  109.         $fileFrom = $fileFrom[0];
  110.         $fileFrom = sha1($fileFrom);
  111.  
  112.         $filePic = "";
  113.  
  114.         if (file_exists("images/contacts/$fileUsr/{$fileFrom}.gif") and !file_exists("images/contacts/$fileUsr/{$fileFrom}.jpg") and !file_exists("images/contacts/$fileUsr/{$fileFrom}.png")) {
  115.                 $filePic = "images/contacts/$fileUsr/{$fileFrom}.gif";
  116.         }
  117.  
  118.         if (!file_exists("images/contacts/$fileUsr/{$fileFrom}.gif") and file_exists("images/contacts/$fileUsr/{$fileFrom}.jpg") and !file_exists("images/contacts/$fileUsr/{$fileFrom}.png")) {
  119.                 $filePic = "images/contacts/$fileUsr/{$fileFrom}.jpg";
  120.         }
  121.  
  122.         if (!file_exists("images/contacts/$fileUsr/{$fileFrom}.gif") and !file_exists("images/contacts/$fileUsr/{$fileFrom}.jpg") and file_exists("images/contacts/$fileUsr/{$fileFrom}.png")) {
  123.                 $filePic = "images/contacts/$fileUsr/{$fileFrom}.png";
  124.         }
  125.  
  126.         if ($filePic != "") {
  127.  
  128.                 $filePicSize = getimagesize($filePic);
  129.  
  130.                 if (($filePicSize[0] > 0) and ($filePicSize[1] > 0)) {
  131.  
  132.                         //echo "<style> .apic { padding: 3px; background: #fff; -moz-box-shadow: 1px 1px 3px #222; -khtml-box-shadow: 1px 1px 3px #222; -webkit-box-shadow: 1px 1px 3px #222; box-shadow: 1px 1px 3px #222; } </style>";
  133.                         echo "<img class=\"apic\" src=\"$filePic\" border=\"0\" width=\"{$filePicSize[0]}\" height=\"{$filePicSize[1]}\" align=\"right\">";
  134.                 }
  135.         }
  136.  
  137.         if ($header_priority != "") {
  138.                 echo "<b style=\"color: red; text-shadow: 0.1em 0.1em #dedede;\">!</b> ";
  139.         }
  140.  
  141.         echo "<b>Subject: $header_subject</b>";
  142.         echo "<br><br>From: $header_fromaddress";
  143.         echo "<br>To: $header_toaddress";
  144.  
  145.         if ($header_ccaddress != "") {
  146.                 echo "<br>Cc: $header_ccaddress";
  147.         }
  148.  
  149.         if ($header_bccaddress != "") {
  150.                 echo "<br>Bcc: $header_bccaddress";
  151.         }
  152.  
  153.         if (strlen($header_date) > 0) {
  154.                 echo "<br>Date: $header_date ($header_date_age ago)";
  155.         }
  156.         else {
  157.                 echo "<br>Date: <font color=\"red\">Missing! Sender is non-standards compliant or message is probably spam.</font>";
  158.         }
  159.  
  160.         if ($header_mailer != "") {
  161.                 echo "<br>$header_mailer";
  162.         }
  163.  
  164.         if (($header_user_agent != "") and ($header_mailer == "")) {
  165.                 echo "<br>$header_user_agent";
  166.         }
  167.  
  168.         echo "<a style=\"float: right;\" id=\"headerM\" onclick=\"document.getElementById('header1').className ='message';document.getElementById('header2').className='spacer';document.getElementById('headerL').style.display='inline';document.getElementById('headerM').style.display='none'\">...</a>";
  169.         echo "<a class=\"hide\" style=\"float: right;\" id=\"headerL\" onclick=\"document.getElementById('header1').className ='hide';document.getElementById('header2').className='hide';document.getElementById('headerL').style.display='none';document.getElementById('headerM').style.display='inline'\">...</a>";
  170.  
  171.         echo "</div>";
  172.  
  173.         echo "<div class=\"spacer\"></div>";
  174.  
  175.         echo "<div id=\"header1\" class=\"hide\">";
  176.         echo nl2br(htmlentities(preg_replace('/^\n+|^[\t\s]*\n+/m','',$header_fetch),ENT_QUOTES,"UTF-8"));
  177.         echo "</div>";
  178.  
  179.         echo "<div id=\"header2\" class=\"hide\"></div>";
  180.  
  181.         $fileDir = sha1(microtime(true));
  182.  
  183.         echo "<div class=\"message\" style=\"padding: 2px;\">";
  184.  
  185.         echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\"><tr>";
  186.  
  187.         echo "<form method=\"post\"><td class=\"label\">";
  188.         echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  189.         echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  190.         echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  191.  
  192.         if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  193.                 echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  194.                 echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  195.         }
  196.  
  197.         if ($folder == "Trash") {
  198.                 echo "<input type=\"hidden\" name=\"del\" value=\"0\">";
  199.                 echo "<input type=\"image\" src=\"images/trashcan_full.png\">";
  200.         }
  201.         else {
  202.                 echo "<input type=\"hidden\" name=\"del\" value=\"1\">";
  203.                 echo "<input type=\"image\" src=\"images/trashcan_empty.png\">";
  204.         }
  205.  
  206.         echo "</td></form>";
  207.  
  208.         echo "<td></td>";
  209.  
  210.         echo "<form method=\"post\"><td class=\"label\">";
  211.         echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  212.         echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  213.         echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  214.         echo "<input type=\"hidden\" name=\"not\" value=\"1\">";
  215.  
  216.         if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  217.                 echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  218.                 echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  219.         }
  220.  
  221.         echo "<input type=\"image\" src=\"images/mail-unread.png\">";
  222.         echo "</td></form>";
  223.        
  224.         echo "<td width=\"5\"></td>";
  225.  
  226.         if ($folder != "Drafts") {
  227.        
  228.                 echo "<form method=\"post\"><td class=\"label\">";
  229.                 echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  230.                 echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  231.                 echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  232.                 echo "<input type=\"hidden\" name=\"rep\" value=\"4\">";
  233.        
  234.                 if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  235.                         echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  236.                         echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  237.                 }
  238.        
  239.                 echo "<input type=\"image\" src=\"images/mail-redirect.png\">";
  240.                 echo "</td></form>";
  241.        
  242.                 echo "<td width=\"5\"></td>";
  243.        
  244.                 echo "<form method=\"post\"><td class=\"label\">";
  245.                 echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  246.                 echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  247.                 echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  248.                 echo "<input type=\"hidden\" name=\"rep\" value=\"2\">";
  249.        
  250.                 if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  251.                         echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  252.                         echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  253.                 }
  254.        
  255.                 echo "<input type=\"image\" src=\"images/mail-forward.png\">";
  256.                 echo "</td></form>";
  257.        
  258.                 echo "<td width=\"5\"></td>";
  259.  
  260.                 if (strpos($header->toaddress,",")) {
  261.        
  262.                         echo "<form method=\"post\"><td class=\"label\">";
  263.                         echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  264.                         echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  265.                         echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  266.                         echo "<input type=\"hidden\" name=\"rep\" value=\"3\">";
  267.        
  268.                         if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  269.                                 echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  270.                                 echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  271.                         }
  272.  
  273.                         echo "<input type=\"image\" src=\"images/mail-reply-all.png\">";
  274.                         echo "</td></form>";
  275.  
  276.                         echo "<td width=\"5\"></td>";
  277.                 }
  278.         }
  279.        
  280.         echo "<form method=\"post\"><td class=\"label\">";
  281.         echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  282.         echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  283.         echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  284.         echo "<input type=\"hidden\" name=\"rep\" value=\"1\">";
  285.  
  286.         if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  287.                 echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  288.                 echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  289.         }
  290.  
  291.         echo "<input type=\"image\" src=\"images/mail-reply.png\">";
  292.         echo "</td></form>";
  293.  
  294.         echo "<td width=\"5\"></td>";
  295.  
  296.         if ($msgno_next != "") {
  297.                 echo "<form method=\"post\"><td class=\"label\">";
  298.                 echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  299.                 echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno_next\">";
  300.                 echo "<input type=\"hidden\" name=\"get\" value=\"1\">";
  301.  
  302.                 if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  303.                         echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  304.                         echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  305.                 }
  306.  
  307.                 echo "<input type=\"image\" src=\"images/mail-next.png\">";
  308.                 echo "</td></form>";
  309.  
  310.                 echo "<td width=\"5\"></td>";
  311.         }
  312.  
  313.         if ($msgno_prev != "") {
  314.                 echo "<form method=\"post\"><td class=\"label\">";
  315.                 echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  316.                 echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno_prev\">";
  317.                 echo "<input type=\"hidden\" name=\"get\" value=\"1\">";
  318.  
  319.                 if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  320.                         echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  321.                         echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  322.                 }
  323.  
  324.                 echo "<input type=\"image\" src=\"images/mail-prev.png\">";
  325.                 echo "</td></form>";
  326.         }
  327.  
  328.         echo "</tr><tr>";
  329.  
  330.         if ($folder == "Trash") {
  331.                 echo "<td class=\"label\">undelete</td>";
  332.         }
  333.         else {
  334.                 echo "<td class=\"label\">delete</td>";
  335.         }
  336.  
  337.         echo "<td></td>";
  338.  
  339.         echo "<td class=\"label\">unread</td>";
  340.         echo "<td width=\"5\"></td>";
  341.  
  342.         if ($folder != "Drafts") {
  343.                 echo "<td class=\"label\">redirect</td>";
  344.                 echo "<td width=\"5\"></td>";
  345.        
  346.                 echo "<td class=\"label\">forward</td>";
  347.                 echo "<td width=\"5\"></td>";
  348.         }
  349.        
  350.         if ($folder == "Drafts") {
  351.                 echo "<td class=\"label\">edit</td>";
  352.                 echo "<td width=\"5\"></td>";
  353.         }
  354.         else {
  355.                 if (strpos($header->toaddress,",")) {
  356.                         echo "<td class=\"label\"><nobr>reply all</nobr></td>";
  357.                         echo "<td width=\"5\"></td>";
  358.                 }
  359.                 echo "<td class=\"label\">reply</td>";
  360.                 echo "<td width=\"5\"></td>";
  361.         }
  362.        
  363.         if ($msgno_next != "") {
  364.                 echo "<td class=\"label\"><nobr>prev msg</nobr></td>";
  365.                 echo "<td width=\"5\"></td>";
  366.         }
  367.  
  368.         if ($msgno_prev != "") {
  369.                 echo "<td class=\"label\"><nobr>next msg</nobr></td>";
  370.         }
  371.  
  372.         echo "</tr></table>";  
  373.        
  374.         echo "</div>";
  375.        
  376.         echo "<div class=\"spacer\"></div>";
  377.  
  378.         $usr_mbox = kartero_sort_folders($imap_host,imap_list($mbox,$imap_host,"*"));
  379.        
  380.         if ((count($usr_mbox) > 0) and ($folder != "Drafts") and ($folder != "Sent") and ($folder != "Trash")) {
  381.        
  382.                 echo "<div class=\"message\">";
  383.                 echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
  384.                 echo "<form method=\"post\">";
  385.                 echo "<input type=\"hidden\" name=\"move_msg\" value=\"$msgno\">";
  386.                 echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  387.                 echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  388.        
  389.                 if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  390.                         echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  391.                         echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  392.                 }
  393.  
  394.                 echo "<tr><td><select name=\"move_box\" onchange=\"this.form.submit();\">";
  395.                 echo "<option value=\"\" selected>$folder</option>";
  396.  
  397.                 foreach ($usr_mbox as $move_box) {
  398.        
  399.                         $move_box = str_replace($imap_host,"",$move_box);
  400.        
  401.                         if ($folder == $move_box) {
  402.                                 continue;
  403.                         }
  404.  
  405.                         if ($move_box == "Drafts") {
  406.                                 continue;
  407.                         }
  408.                        
  409.                         if ($move_box == "Sent") {
  410.                                 continue;
  411.                         }
  412.  
  413.                         if ($move_box == "Trash") {
  414.                                 continue;
  415.                         }
  416.  
  417.                         echo "<option value=\"$move_box\">$move_box</option>";
  418.                 }
  419.  
  420.                 echo "</select></td>";
  421.                 echo "<noscript><td><input type=\"submit\" value=\"move\"></td></noscript>";
  422.                 echo "</tr></form></table>";
  423.                 echo "</div>";
  424.        
  425.                 echo "<div class=\"spacer\"></div>";
  426.         }
  427.  
  428.         echo "<div class=\"message\">";
  429.  
  430.         $filePath = "attach/o/$fileUsr/$fileDir";
  431.  
  432.         pass1_process($mbox, $msgno, $filePath);
  433.         pass2_process($mbox, $msgno, $filePath);
  434.  
  435.         $bodyTEXT = get_part($mbox, $msgno, "TEXT/PLAIN");
  436.         $bodyHTML = get_part($mbox, $msgno, "TEXT/HTML");
  437.  
  438.         if ($bodyHTML != "") {
  439.  
  440.                 $msgBody = $bodyHTML;
  441.  
  442.                 if (stristr($msgBody,'src="cid:')) {
  443.                         $msgBody = str_ireplace('src="cid:',"src=\"$filePath/",$msgBody);
  444.                 }
  445.  
  446.                 if (stristr($msgBody,'src=cid:')) {
  447.                         $msgBody = str_ireplace('src=cid:',"src=$filePath/",$msgBody);
  448.                 }
  449.         }
  450.         else {
  451.                 $msgBody = trim($bodyTEXT);
  452.                 $msgBody = nl2br($msgBody);
  453.                 $msgBody = preg_replace("/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i","$1http://$2",$msgBody);
  454.                 $msgBody = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</a>",$msgBody);
  455.                 $msgBody = preg_replace("/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<a href=\"mailto:$1\">$1</a>",$msgBody);
  456.         }
  457.  
  458.         $msgBody = mb_convert_encoding($msgBody,"UTF-8","auto");
  459.         $msgBody = mb_convert_encoding($msgBody,"UTF-8","UTF-8");
  460.  
  461.         if (strlen($msgBody) == 0) {
  462.                 $msgBody = "This message has no content.";
  463.                 include("ics1.php");
  464.         }
  465.  
  466.         $get_fromaddress = extract_emails_from($header->fromaddress);
  467.         $get_fromaddress = explode("@",$get_fromaddress[0]);
  468.  
  469.         if (strtoupper($get_fromaddress[0]) == "MAILER-DAEMON") {
  470.                 echo nl2br(htmlentities(imap_body($mbox,$msgno,FT_UID)));
  471.         }
  472.         else {
  473.                 echo $msgBody;
  474.         }
  475.  
  476.         echo "</div>";
  477.  
  478.         if (file_exists("$filePath")) {
  479.                
  480.                 $fileAttachments = glob("$filePath/*");
  481.  
  482.                 if (count($fileAttachments) > 0) {
  483.  
  484.                         sort($fileAttachments);
  485.                         reset($fileAttachments);
  486.        
  487.                         echo "<div class=\"spacer\"></div>";
  488.        
  489.                         echo "<div class=\"message\" style=\"position: relative;\">";
  490.        
  491.                         echo "<div style=\"position: absolute; top: -15px; right: -15px;\"><img src=\"images/attach.png\" border=\"0\" width=\"48\" height=\"48\"></div>";
  492.        
  493.                         echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\">";
  494.                
  495.                         foreach ($fileAttachments as $fileAttachment) {
  496.  
  497.                                 $fileName = str_replace("$filePath/","",$fileAttachment);
  498.  
  499.                                 $fileSize = filesize($fileAttachment);
  500.                                 $fileSize = HumanReadableFilesize($fileSize);
  501.  
  502.                                 $fileScan = "";
  503.  
  504.                                 $scanFile = exec("clamdscan -i --no-summary $fileAttachment",$scanResult,$scanErr);
  505.  
  506.                                 if ($scanErr == "1") {
  507.  
  508.                                         $fileScan = explode(" ", $scanFile);
  509.                                         $fileScan = " <font color=\"red\">{$fileScan[1]}</font>";
  510.                                 }
  511.  
  512.                                 if (is_image($fileAttachment)) {
  513.  
  514.                                         $img_size = getimagesize($fileAttachment);
  515.  
  516.                                         $imgSize = "";
  517.  
  518.                                         if (($img_size[0] > 0) and ($img_size[1] > 0)) {
  519.  
  520.                                                 $imgSize = ", {$img_size[0]}x{$img_size[1]} pixels";
  521.  
  522.                                                 if ($img_size[bits] > 0) {
  523.  
  524.                                                         $imgSize = "$imgSize, {$img_size[bits]}-bit image";
  525.                                                 }
  526.                                         }
  527.  
  528.                                         echo "\r\n<tr><td><a href=\"$fileAttachment\" target=\"_blank\"><img src=\"images/file.png\" border=\"0\" width=\"36\" height=\"36\"></a></td><td><a href=\"$fileAttachment\" target=\"_blank\">$fileName</a><br>$fileSize{$imgSize}{$fileScan}</td></tr>\r\n";
  529.                                 }
  530.                                 else {
  531.                                         echo "\r\n<tr><td><a href=\"$fileAttachment\" download=\"$fileName\"><img src=\"images/file.png\" border=\"0\" width=\"36\" height=\"36\"></a></td><td><a href=\"$fileAttachment\" download=\"$fileName\">$fileName</a><br>$fileSize{$fileScan}</td></tr>\r\n";
  532.  
  533.                                         if (pathinfo($fileAttachment,PATHINFO_EXTENSION) == "ics") {
  534.                                                 include("ics2.php");
  535.                                                 ics2table($fileAttachment);
  536.                                         }
  537.                                 }
  538.                         }
  539.        
  540.                         echo "</table>";
  541.                         echo "</div>";
  542.  
  543.                         $_SESSION['clean_up_o'] = $fileDir;
  544.                 }
  545.                 else {
  546.                         rmdirr($filePath);
  547.                 }
  548.         }
  549.  
  550.         echo "</td></tr></table>";
  551. }
  552.  
  553. if (isset($header_rr) and (strlen($header_rr) > 0)) {
  554.  
  555.         $rcpt_mail = extract_emails_from($header_rr);
  556.         $rcpt_mail = $rcpt_mail[0];
  557.  
  558.         $header_ov = imap_fetch_overview($mbox,$msgno,FT_UID);
  559.  
  560.         if ((strlen($rcpt_mail) > 0) and ($folder != "Drafts") and ($folder != "Sent") and ($folder != "Trash") and ($folder != "Spam") and ($folder != "Junk") and ($header_ov[0]->answered == "0")) {
  561.  
  562.                 $header_message_id = imap_utf8($header->message_id);
  563.  
  564.                 echo "<form id=\"receipt\" method=\"post\" action=\"rcpt.php\" target=\"rcpt\" style=\"display: none;\">";
  565.                 echo "<input type=\"hidden\" name=\"rcpt_mail\" value=\"$rcpt_mail\">";
  566.                 echo "<input type=\"hidden\" name=\"rcpt_subj\" value=\"$header_subject\">";
  567.                 echo "<input type=\"hidden\" name=\"rcpt_date\" value=\"$header_date\">";
  568.                 echo "<input type=\"hidden\" name=\"rcpt_omid\" value=\"$header_message_id\">";
  569.                 echo "<input type=\"hidden\" name=\"rcpt_omno\" value=\"$msgno\">";
  570.                
  571.                 echo "<iframe id=\"rcpt\" name=\"rcpt\" src=\"rcpt.php\" frameborder=\"0\" scrolling=\"0\" width=\"0\" height=\"0\" style=\"display: none;\"></iframe>";
  572.  
  573.                 echo "</form>";
  574.  
  575.                 echo "<script>if (confirm('The message sender has requested a response to indicate that you have read this message.\\nWould you like to send a receipt?')) { document.getElementById('receipt').submit(); }</script>";
  576.         }
  577. }
  578.        
  579. ?>
  580.  
filedropkartero.git-41992ae.tar.bz2 new
412.12 KB
264 downloads
filedropkartero.git-41992ae.zip
448.41 KB
239 downloads
filedropkartero.git-b404ba2.tar.bz2
411.70 KB
250 downloads
filedropkartero.git-b404ba2.zip
447.96 KB
231 downloads
filedropkartero.git-a7684d9.tar.bz2
411.72 KB
235 downloads
filedropkartero.git-a7684d9.zip
447.96 KB
283 downloads
filedropkartero.git-83512be.tar.bz2
410.26 KB
227 downloads
filedropkartero.git-83512be.zip
445.30 KB
201 downloads
filedropkartero.git-1954b25.tar.bz2
410.21 KB
220 downloads
filedropkartero.git-1954b25.zip
445.30 KB
196 downloads
filedropkartero.git-2f7c910.tar.bz2
410.25 KB
210 downloads
filedropkartero.git-2f7c910.zip
445.29 KB
183 downloads
filedropkartero.git-6317ffb.tar.bz2
410.40 KB
195 downloads
filedropkartero.git-6317ffb.zip
445.28 KB
165 downloads
filedropkartero.git-60ccd7a.tar.bz2
410.40 KB
183 downloads
filedropkartero.git-60ccd7a.zip
445.20 KB
161 downloads
filedropkartero.git-ea6f885.tar.bz2
410.47 KB
170 downloads
filedropkartero.git-ea6f885.zip
445.26 KB
143 downloads
filedropkartero.git-7f580e5.zip
445.17 KB
133 downloads
filedropkartero.git-7f580e5.tar.bz2
410.18 KB
141 downloads
filedropkartero.git-b9364de.tar.bz2
409.41 KB
131 downloads
filedropkartero.git-b9364de.zip
444.09 KB
392 downloads
filedropkartero.git-e9bcd78.zip
444.03 KB
372 downloads
filedropkartero.git-e9bcd78.tar.bz2
409.39 KB
397 downloads
filedropkartero.git-96c60ff.tar.bz2
407.96 KB
389 downloads
filedropkartero.git-96c60ff.zip
441.87 KB
344 downloads
filedropkartero.git-4357b59.tar.bz2
407.17 KB
387 downloads
filedropkartero.git-4357b59.zip
440.69 KB
347 downloads
filedropkartero.git-c6ff319.tar.bz2
407.28 KB
385 downloads
filedropkartero.git-c6ff319.zip
440.70 KB
328 downloads
filedropkartero.git-8b87a29.tar.bz2
407.27 KB
365 downloads
filedropkartero.git-8b87a29.zip
440.71 KB
327 downloads
filedropkartero.git-ee42942.tar.bz2
406.49 KB
325 downloads
filedropkartero.git-ee42942.zip
439.92 KB
305 downloads
filedropkartero.git-867e7e6.tar.bz2
406.75 KB
347 downloads
filedropkartero.git-867e7e6.zip
440.03 KB
308 downloads
filedropkartero.git-3f3fc02.tar.bz2
406.38 KB
343 downloads
filedropkartero.git-3f3fc02.zip
439.71 KB
333 downloads
filedropkartero.git-b6f779d.tar.bz2
406.55 KB
363 downloads
filedropkartero.git-b6f779d.zip
440.00 KB
292 downloads
filedropkartero.git-83f24b0.zip
439.12 KB
274 downloads
filedropkartero.git-52316ec.tar.bz2
406.17 KB
319 downloads
filedropkartero.git-52316ec.zip
439.18 KB
297 downloads
filedropkartero.git-83f24b0.tar.bz2
405.84 KB
313 downloads
filedropkartero.git-8a42d47.tar.bz2
405.73 KB
292 downloads
filedropkartero.git-8a42d47.zip
439.02 KB
270 downloads
filedropkartero.git-830c9cb.tar.bz2
406.08 KB
295 downloads
filedropkartero.git-830c9cb.zip
439.08 KB
269 downloads
filedropkartero.git-ebec1be.tar.bz2
406.16 KB
298 downloads
filedropkartero.git-ebec1be.zip
439.09 KB
297 downloads
filedropkartero.git-7c0b70f.tar.bz2
402.43 KB
284 downloads
filedropkartero.git-7c0b70f.zip
435.91 KB
262 downloads
filedropkartero.git-80edc03.tar.bz2
402.75 KB
297 downloads
filedropkartero.git-80edc03.zip
435.84 KB
273 downloads
filedropkartero.git-b408c23.tar.bz2
402.19 KB
288 downloads
filedropkartero.git-b408c23.zip
435.59 KB
277 downloads
filedropkartero.git-29c0e1f.tar.bz2
401.84 KB
292 downloads
filedropkartero.git-29c0e1f.zip
435.25 KB
289 downloads
filedropkartero.git-9086094.tar.bz2
401.94 KB
292 downloads
filedropkartero.git-9086094.zip
435.34 KB
289 downloads
filedropkartero.git-47ca624.tar.bz2
402.10 KB
291 downloads
filedropkartero.git-47ca624.zip
435.51 KB
257 downloads
filedropkartero.git-81314a5.zip
435.53 KB
277 downloads
filedropkartero.git-81314a5.tar.bz2
402.25 KB
285 downloads
filedropkartero.git-cae7074.zip
435.20 KB
273 downloads
filedropkartero.git-cae7074.tar.bz2
401.98 KB
302 downloads
filedropkartero.git-cc68e56.tar.bz2
402.07 KB
285 downloads
filedropkartero.git-cc68e56.zip
435.16 KB
303 downloads
filedropkartero.git-230f35d.tar.bz2
401.43 KB
271 downloads
filedropkartero.git-230f35d.zip
434.68 KB
290 downloads
filedropkartero.git-5ae58a2.tar.bz2
401.54 KB
273 downloads
filedropkartero.git-5ae58a2.zip
434.68 KB
263 downloads
filedropkartero.git-a591f4b.tar.bz2
401.76 KB
273 downloads
filedropkartero.git-a591f4b.zip
435.17 KB
270 downloads
filedropkartero.git-36876c8.tar.bz2
400.44 KB
269 downloads
filedropkartero.git-36876c8.zip
432.36 KB
293 downloads
filedropkartero.git-a34c9ed.tar.bz2
400.57 KB
293 downloads
filedropkartero.git-a34c9ed.zip
432.27 KB
283 downloads
filedropkartero.git-e828148.zip
433.58 KB
264 downloads
filedropkartero.git-e828148.tar.bz2
400.88 KB
280 downloads
filedropkartero.git-476cdda.tar.bz2
400.60 KB
310 downloads
filedropkartero.git-476cdda.zip
432.26 KB
276 downloads
filedropkartero.git-054c286.tar.bz2
98.09 KB
350 downloads
filedropkartero.git-054c286.zip
109.53 KB
334 downloads
filedropkartero.git-071b099.tar.bz2
98.76 KB
352 downloads
filedropkartero.git-071b099.zip
110.21 KB
336 downloads
filedropkartero.git-551c38d.tar.bz2
98.51 KB
358 downloads
filedropkartero.git-551c38d.zip
110.20 KB
326 downloads
filedropkartero.git-569dc0c.tar.bz2
98.40 KB
352 downloads
filedropkartero.git-569dc0c.zip
109.86 KB
318 downloads
filedropkartero.git-58a052b.tar.bz2
97.95 KB
349 downloads
filedropkartero.git-58a052b.zip
109.36 KB
332 downloads
filedropkartero.git-43a5af3.tar.bz2
97.80 KB
345 downloads
filedropkartero.git-43a5af3.zip
109.30 KB
329 downloads
filedropkartero.git-bbe069d.tar.bz2
98.03 KB
358 downloads
filedropkartero.git-bbe069d.zip
109.19 KB
334 downloads
filedropkartero.git-02f97e1.tar.bz2
97.76 KB
325 downloads
filedropkartero.git-02f97e1.zip
109.24 KB
424 downloads
filedropkartero.git-d82e393.tar.bz2
97.74 KB
358 downloads
filedropkartero.git-d82e393.zip
109.24 KB
335 downloads
filedropkartero.git-7cdd1f5.tar.bz2
98.03 KB
341 downloads
filedropkartero.git-7cdd1f5.zip
109.24 KB
316 downloads
filedropkartero.git-40825aa.tar.bz2
97.71 KB
340 downloads
filedropkartero.git-40825aa.zip
109.16 KB
353 downloads
filedropkartero.git-3dd941b.tar.bz2
97.69 KB
340 downloads
filedropkartero.git-3dd941b.zip
109.12 KB
326 downloads
filedropkartero.git-50f1e46.tar.bz2
97.65 KB
348 downloads
filedropkartero.git-50f1e46.zip
109.02 KB
330 downloads
filedropkartero.git-fdf9225.tar.bz2
93.19 KB
380 downloads
filedropkartero.git-fdf9225.zip
104.25 KB
339 downloads
filedropkartero.git-21415da.tar.bz2
93.24 KB
336 downloads
filedropkartero.git-21415da.zip
104.22 KB
342 downloads
filedropkartero.git-aff5e89.tar.bz2
93.17 KB
358 downloads
filedropkartero.git-aff5e89.zip
104.22 KB
331 downloads
filedropkartero.git-b27ef39.tar.bz2
91.97 KB
357 downloads
filedropkartero.git-b27ef39.zip
102.80 KB
356 downloads
filedropkartero.git-3d6e8a2.tar.bz2
91.99 KB
341 downloads
filedropkartero.git-3d6e8a2.zip
102.77 KB
352 downloads
filedropkartero.git-1442b69.tar.bz2
91.79 KB
334 downloads
filedropkartero.git-1442b69.zip
102.50 KB
357 downloads
filedropkartero.git-6d15918.tar.bz2
91.56 KB
357 downloads
filedropkartero.git-6d15918.zip
102.28 KB
323 downloads
filedropkartero.git-45140d8.tar.bz2
91.52 KB
360 downloads
filedropkartero.git-45140d8.zip
102.23 KB
329 downloads
filedropkartero.git-d5b48e5.tar.bz2
91.35 KB
347 downloads
filedropkartero.git-d5b48e5.zip
102.01 KB
341 downloads
filedropkartero.git-e007e55.tar.bz2
91.35 KB
358 downloads
filedropkartero.git-e007e55.zip
102.01 KB
314 downloads
filedropkartero.git-30fd7e3.tar.bz2
90.87 KB
334 downloads
filedropkartero.git-30fd7e3.zip
101.44 KB
341 downloads
filedropkartero.git-421a4a7.tar.bz2
88.02 KB
73 downloads
filedropkartero.git-421a4a7.zip
97.96 KB
318 downloads
filedropkartero.git-b49b8bc.tar.bz2
88.09 KB
378 downloads
filedropkartero.git-b49b8bc.zip
97.99 KB
334 downloads
filedropkartero.git-1cc9571.tar.bz2
87.74 KB
355 downloads
filedropkartero.git-1cc9571.zip
97.70 KB
338 downloads
filedropkartero.git-159152f.tar.bz2
87.60 KB
353 downloads
filedropkartero.git-159152f.zip
97.52 KB
344 downloads
filedropkartero.git-35caaf3.tar.bz2
87.74 KB
336 downloads
filedropkartero.git-35caaf3.zip
97.57 KB
327 downloads
filedropkartero.git-3c9d305.zip
96.67 KB
330 downloads
filedropkartero.git-3c9d305.tar.bz2
86.77 KB
344 downloads
filedropkartero.git-14cb2af.tar.bz2
86.41 KB
343 downloads
filedropkartero.git-14cb2af.zip
96.13 KB
333 downloads
filedropkartero.git-e8f00cb.tar.bz2
86.46 KB
359 downloads
filedropkartero.git-e8f00cb.zip
96.21 KB
322 downloads
filedropkartero.git-bdab380.tar.bz2
86.14 KB
356 downloads
filedropkartero.git-bdab380.zip
95.79 KB
327 downloads
filedropkartero.git-48f9134.tar.bz2
85.78 KB
359 downloads
filedropkartero.git-48f9134.zip
95.48 KB
337 downloads
filedropkartero.git-adb9757.tar.bz2
85.67 KB
348 downloads
filedropkartero.git-adb9757.zip
95.37 KB
327 downloads
filedropkartero.git-1601cbd.zip
95.30 KB
339 downloads
filedropkartero.git-1601cbd.tar.bz2
85.69 KB
330 downloads
filedropkartero.git-18a5106.tar.bz2
85.72 KB
331 downloads
filedropkartero.git-18a5106.zip
95.48 KB
343 downloads
filedropkartero.git-a5b1caa.tar.bz2
85.61 KB
366 downloads
filedropkartero.git-a5b1caa.zip
95.36 KB
337 downloads
filedropkartero.git-effff82.zip
97.06 KB
348 downloads
filedropkartero.git-effff82.tar.bz2
87.13 KB
354 downloads
filedropkartero.git-b70d364.tar.bz2
84.09 KB
392 downloads
filedropkartero.git-b70d364.zip
93.67 KB
343 downloads
filedropkartero.git-48f0e53.tar.bz2
84.16 KB
366 downloads
filedropkartero.git-48f0e53.zip
93.66 KB
336 downloads
filedropkartero.git-c17135e.tar.bz2
84.09 KB
347 downloads
filedropkartero.git-c17135e.zip
93.57 KB
322 downloads
filedropkartero.git-a2e2848.tar.bz2
85.59 KB
352 downloads
filedropkartero.git-a2e2848.zip
100.10 KB
335 downloads
filedropkartero.git-1f683db.tar.bz2
83.55 KB
351 downloads
filedropkartero.git-1f683db.zip
93.24 KB
331 downloads
filedropkartero.git-d342596.tar.bz2
83.57 KB
350 downloads
filedropkartero.git-d342596.zip
93.28 KB
323 downloads
filedropkartero.git-e0131d5.tar.bz2
83.55 KB
353 downloads
filedropkartero.git-e0131d5.zip
93.27 KB
339 downloads
filedropkartero.git-ad467e8.tar.bz2
83.13 KB
361 downloads
filedropkartero.git-ad467e8.zip
92.78 KB
328 downloads
filedropkartero.git-b20e27d.tar.bz2
83.46 KB
366 downloads
filedropkartero.git-b20e27d.zip
93.19 KB
356 downloads
filedropkartero.git-eefd8fe.zip
92.67 KB
360 downloads
filedropkartero.git-eefd8fe.tar.bz2
83.01 KB
350 downloads
filedropkartero.git-bea685a.zip
96.88 KB
336 downloads
filedropkartero.git-bea685a.tar.bz2
84.44 KB
346 downloads
filedropkartero.git-a8bd019.tar.bz2
84.25 KB
360 downloads
filedropkartero.git-a8bd019.zip
96.60 KB
330 downloads
filedropkartero.git-cbc914d.tar.bz2
84.38 KB
354 downloads
filedropkartero.git-cbc914d.zip
96.64 KB
320 downloads
filedropkartero.git-09a2e70.tar.bz2
84.40 KB
334 downloads
filedropkartero.git-09a2e70.zip
96.70 KB
342 downloads
filedropkartero.git-641dc05.tar.bz2
84.37 KB
352 downloads
filedropkartero.git-641dc05.zip
96.73 KB
331 downloads
filedropkartero.git-cde49c6.tar.bz2
84.26 KB
363 downloads
filedropkartero.git-cde49c6.zip
96.59 KB
335 downloads
filedropkartero.git-1d004e0.tar.bz2
77.42 KB
365 downloads
filedropkartero.git-1d004e0.zip
87.56 KB
1,012 downloads
filedropkartero.git-1f0bf17.tar.bz2
77.47 KB
360 downloads
filedropkartero.git-1f0bf17.zip
87.56 KB
329 downloads
filedropkartero.git-265e63c.tar.bz2
77.43 KB
341 downloads
filedropkartero.git-265e63c.zip
87.52 KB
364 downloads
filedropkartero.git-635a5db.zip
87.60 KB
332 downloads
filedropkartero.git-a041f85.tar.bz2
77.37 KB
366 downloads
filedropkartero.git-a041f85.zip
87.52 KB
362 downloads
filedropkartero.git-ae049a7.tar.bz2
77.44 KB
362 downloads
filedropkartero.git-ae049a7.zip
87.52 KB
333 downloads
filedropkartero.git-eef571a.tar.bz2
20.56 KB
473 downloads
filedropkartero.git-eef571a.zip
25.69 KB
461 downloads
filedropkartero.git-0bc16f5.tar.bz2
82.61 KB
379 downloads
filedropkartero.git-0bc16f5.zip
94.75 KB
370 downloads
filedropkartero.git-2afc0f7.tar.bz2
83.61 KB
381 downloads
filedropkartero.git-2afc0f7.zip
96.00 KB
387 downloads
filedropkartero.git-3529bdf.tar.bz2
77.72 KB
347 downloads
filedropkartero.git-3529bdf.zip
87.92 KB
363 downloads
filedropkartero.git-49aac92.tar.bz2
78.98 KB
392 downloads
filedropkartero.git-49aac92.zip
90.01 KB
365 downloads
filedropkartero.git-5d48f21.tar.bz2
78.65 KB
65 downloads
filedropkartero.git-5d48f21.zip
89.51 KB
395 downloads
filedropkartero.git-635a5db.tar.bz2
77.50 KB
402 downloads
filedropkartero.git-6e34786.tar.bz2
77.76 KB
412 downloads
filedropkartero.git-6e34786.zip
88.09 KB
407 downloads
filedropkartero.git-7dc2fd2.tar.bz2
83.51 KB
461 downloads
filedropkartero.git-7dc2fd2.zip
95.99 KB
413 downloads
filedropkartero.git-9cad005.tar.bz2
78.85 KB
458 downloads
filedropkartero.git-9cad005.zip
90.00 KB
454 downloads
filedropkartero.git-b303f61.tar.bz2
82.57 KB
493 downloads
filedropkartero.git-b303f61.zip
94.78 KB
130 downloads
filedropkartero.git-c15ef85.tar.bz2
77.76 KB
148 downloads
filedropkartero.git-c15ef85.zip
88.16 KB
148 downloads
filedropkartero.git-c99e84d.tar.bz2
83.58 KB
170 downloads
filedropkartero.git-c99e84d.zip
96.01 KB
162 downloads
filedropkartero.git-e5009e6.tar.bz2
78.73 KB
178 downloads
filedropkartero.git-e5009e6.zip
89.69 KB
174 downloads
filedropkartero.git-0502d01.tar.bz2
83.54 KB
193 downloads
filedropkartero.git-0502d01.zip
96.00 KB
187 downloads
filedropkartero.git-44ca46d.tar.bz2
83.73 KB
206 downloads
filedropkartero.git-44ca46d.zip
96.20 KB
196 downloads
filedropkartero.git-834f923.tar.bz2
83.75 KB
211 downloads
filedropkartero.git-834f923.zip
96.14 KB
204 downloads