kartero.org

kartero.org

Git

This blob has been accessed 289 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.         echo "<form method=\"post\"><td class=\"label\">";
  227.         echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  228.         echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  229.         echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  230.         echo "<input type=\"hidden\" name=\"rep\" value=\"4\">";
  231.  
  232.         if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  233.                 echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  234.                 echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  235.         }
  236.  
  237.         echo "<input type=\"image\" src=\"images/mail-redirect.png\">";
  238.         echo "</td></form>";
  239.  
  240.         echo "<td width=\"5\"></td>";
  241.  
  242.         echo "<form method=\"post\"><td class=\"label\">";
  243.         echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  244.         echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  245.         echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  246.         echo "<input type=\"hidden\" name=\"rep\" value=\"2\">";
  247.  
  248.         if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  249.                 echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  250.                 echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  251.         }
  252.  
  253.         echo "<input type=\"image\" src=\"images/mail-forward.png\">";
  254.         echo "</td></form>";
  255.  
  256.         echo "<td width=\"5\"></td>";
  257.  
  258.         if (strpos($header->toaddress,",")) {
  259.  
  260.                 echo "<form method=\"post\"><td class=\"label\">";
  261.                 echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  262.                 echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  263.                 echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  264.                 echo "<input type=\"hidden\" name=\"rep\" value=\"3\">";
  265.  
  266.                 if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  267.                         echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  268.                         echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  269.                 }
  270.  
  271.                 echo "<input type=\"image\" src=\"images/mail-reply-all.png\">";
  272.                 echo "</td></form>";
  273.  
  274.                 echo "<td width=\"5\"></td>";
  275.         }
  276.  
  277.         echo "<form method=\"post\"><td class=\"label\">";
  278.         echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  279.         echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  280.         echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno\">";
  281.         echo "<input type=\"hidden\" name=\"rep\" value=\"1\">";
  282.  
  283.         if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  284.                 echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  285.                 echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  286.         }
  287.  
  288.         echo "<input type=\"image\" src=\"images/mail-reply.png\">";
  289.         echo "</td></form>";
  290.  
  291.         echo "<td width=\"5\"></td>";
  292.  
  293.         if ($msgno_next != "") {
  294.                 echo "<form method=\"post\"><td class=\"label\">";
  295.                 echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  296.                 echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno_next\">";
  297.                 echo "<input type=\"hidden\" name=\"get\" value=\"1\">";
  298.  
  299.                 if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  300.                         echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  301.                         echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  302.                 }
  303.  
  304.                 echo "<input type=\"image\" src=\"images/mail-next.png\">";
  305.                 echo "</td></form>";
  306.  
  307.                 echo "<td width=\"5\"></td>";
  308.         }
  309.  
  310.         if ($msgno_prev != "") {
  311.                 echo "<form method=\"post\"><td class=\"label\">";
  312.                 echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  313.                 echo "<input type=\"hidden\" name=\"msg\" value=\"$msgno_prev\">";
  314.                 echo "<input type=\"hidden\" name=\"get\" value=\"1\">";
  315.  
  316.                 if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  317.                         echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  318.                         echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  319.                 }
  320.  
  321.                 echo "<input type=\"image\" src=\"images/mail-prev.png\">";
  322.                 echo "</td></form>";
  323.         }
  324.  
  325.         echo "</tr><tr>";
  326.  
  327.         if ($folder == "Trash") {
  328.                 echo "<td class=\"label\">undelete</td>";
  329.         }
  330.         else {
  331.                 echo "<td class=\"label\">delete</td>";
  332.         }
  333.  
  334.         echo "<td></td>";
  335.  
  336.         echo "<td class=\"label\">unread</td>";
  337.         echo "<td width=\"5\"></td>";
  338.  
  339.         echo "<td class=\"label\">redirect</td>";
  340.         echo "<td width=\"5\"></td>";
  341.  
  342.         echo "<td class=\"label\">forward</td>";
  343.         echo "<td width=\"5\"></td>";
  344.  
  345.         if (strpos($header->toaddress,",")) {
  346.                 echo "<td class=\"label\"><nobr>reply all</nobr></td>";
  347.                 echo "<td width=\"5\"></td>";
  348.         }
  349.  
  350.         echo "<td class=\"label\">reply</td>";
  351.         echo "<td width=\"5\"></td>";
  352.  
  353.         if ($msgno_next != "") {
  354.                 echo "<td class=\"label\"><nobr>prev msg</nobr></td>";
  355.                 echo "<td width=\"5\"></td>";
  356.         }
  357.  
  358.         if ($msgno_prev != "") {
  359.                 echo "<td class=\"label\"><nobr>next msg</nobr></td>";
  360.         }
  361.  
  362.         echo "</tr></table>";  
  363.        
  364.         echo "</div>";
  365.        
  366.         echo "<div class=\"spacer\"></div>";
  367.  
  368.         $usr_mbox = kartero_sort_folders($imap_host,imap_list($mbox,$imap_host,"*"));
  369.        
  370.         if ((count($usr_mbox) > 0) and ($folder != "Sent") and ($folder != "Trash")) {
  371.        
  372.                 echo "<div class=\"message\">";
  373.                 echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
  374.                 echo "<form method=\"post\">";
  375.                 echo "<input type=\"hidden\" name=\"move_msg\" value=\"$msgno\">";
  376.                 echo "<input type=\"hidden\" name=\"mbox_min\" value=\"$mbox_min\">";
  377.                 echo "<input type=\"hidden\" name=\"box\" value=\"$folder\">";
  378.        
  379.                 if (isset($_POST['imap_search_query']) and !empty($_POST['imap_search_query']) and isset($_POST['imap_search_where']) and !empty($_POST['imap_search_where'])) {
  380.                         echo "<input type=\"hidden\" name=\"imap_search_query\" value=\"{$_POST['imap_search_query']}\">";
  381.                         echo "<input type=\"hidden\" name=\"imap_search_where\" value=\"{$_POST['imap_search_where']}\">";
  382.                 }
  383.  
  384.                 echo "<tr><td><select name=\"move_box\" onchange=\"this.form.submit();\">";
  385.                 echo "<option value=\"\" selected>$folder</option>";
  386.  
  387.                 foreach ($usr_mbox as $move_box) {
  388.        
  389.                         $move_box = str_replace($imap_host,"",$move_box);
  390.        
  391.                         if ($folder == $move_box) {
  392.                                 continue;
  393.                         }
  394.  
  395.                         if ($move_box == "Sent") {
  396.                                 continue;
  397.                         }
  398.  
  399.                         if ($move_box == "Trash") {
  400.                                 continue;
  401.                         }
  402.  
  403.                         echo "<option value=\"$move_box\">$move_box</option>";
  404.                 }
  405.  
  406.                 echo "</select></td>";
  407.                 echo "<noscript><td><input type=\"submit\" value=\"move\"></td></noscript>";
  408.                 echo "</tr></form></table>";
  409.                 echo "</div>";
  410.        
  411.                 echo "<div class=\"spacer\"></div>";
  412.         }
  413.  
  414.         echo "<div class=\"message\">";
  415.  
  416.         $filePath = "attach/o/$fileUsr/$fileDir";
  417.  
  418.         $emailMessage = new EmailMessage($mbox, imap_msgno($mbox,$msgno));
  419.         $emailMessage->fetch();
  420.  
  421.         if (count($emailMessage->attachments > 0)) {
  422.  
  423.                 if (!file_exists($filePath)) {
  424.                         mkdir($filePath,0700,1);
  425.                 }
  426.        
  427.                 foreach ($emailMessage->attachments as $key => $attachment) {
  428.  
  429.                         $fileContent = $attachment[data];
  430.  
  431.                         if (($fileContent != "") and (($attachment[inline] == 1) or ($attachment[filename] == ""))) {
  432.                                 $fileName = $key;
  433.                         }      
  434.                         else {
  435.                                 $fileName = $attachment[filename];
  436.                         }
  437.  
  438.                         $fileName = str_replace(" ", "_", $fileName);
  439.                         $fileName = preg_replace("/[^a-zA-Z0-9.\-_@]/u", "", $fileName);
  440.  
  441.                         if (!file_exists("$filePath/$fileName") and (mb_strlen($fileContent,"8bit") > 0)) {
  442.                                 file_put_contents("$filePath/$fileName",$fileContent);
  443.                         }
  444.                 }
  445.         }
  446.  
  447.         include("pass2.php");
  448.  
  449.         $bodyTEXT = get_part($mbox, $msgno, "TEXT/PLAIN");
  450.         $bodyHTML = get_part($mbox, $msgno, "TEXT/HTML");
  451.  
  452.         if ($bodyHTML != "") {
  453.  
  454.                 $msgBody = $bodyHTML;
  455.  
  456.                 if (stristr($msgBody,'src="cid:')) {
  457.                         $msgBody = str_ireplace('src="cid:',"src=\"$filePath/",$msgBody);
  458.                 }
  459.  
  460.                 if (stristr($msgBody,'src=cid:')) {
  461.                         $msgBody = str_ireplace('src=cid:',"src=$filePath/",$msgBody);
  462.                 }
  463.         }
  464.         else {
  465.                 $msgBody = trim($bodyTEXT);
  466.                 $msgBody = nl2br($msgBody);
  467.                 $msgBody = preg_replace("/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i","$1http://$2",$msgBody);
  468.                 $msgBody = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</a>",$msgBody);
  469.                 $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);
  470.         }
  471.  
  472.         $msgBody = mb_convert_encoding($msgBody,"UTF-8","auto");
  473.         $msgBody = mb_convert_encoding($msgBody,"UTF-8","UTF-8");
  474.  
  475.         if (strlen($msgBody) == 0) {
  476.                 $msgBody = "This message has no content.";
  477.         }
  478.  
  479.         $get_fromaddress = extract_emails_from($header->fromaddress);
  480.         $get_fromaddress = explode("@",$get_fromaddress[0]);
  481.  
  482.         if (strtoupper($get_fromaddress[0]) == "MAILER-DAEMON") {
  483.                 echo nl2br(htmlentities(imap_body($mbox,$msgno,FT_UID)));
  484.         }
  485.         else {
  486.                 echo $msgBody;
  487.         }
  488.  
  489.         echo "</div>";
  490.  
  491.         if (file_exists("$filePath")) {
  492.                
  493.                 $fileAttachments = glob("$filePath/*");
  494.  
  495.                 if (count($fileAttachments) > 0) {
  496.  
  497.                         sort($fileAttachments);
  498.                         reset($fileAttachments);
  499.        
  500.                         echo "<div class=\"spacer\"></div>";
  501.        
  502.                         echo "<div class=\"message\" style=\"position: relative;\">";
  503.        
  504.                         echo "<div style=\"position: absolute; top: -15px; right: -15px;\"><img src=\"images/attach.png\" border=\"0\" width=\"48\" height=\"48\"></div>";
  505.        
  506.                         echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\">";
  507.                
  508.                         foreach ($fileAttachments as $fileAttachment) {
  509.  
  510.                                 $fileName = str_replace("$filePath/","",$fileAttachment);
  511.  
  512.                                 $fileSize = filesize($fileAttachment);
  513.                                 $fileSize = HumanReadableFilesize($fileSize);
  514.  
  515.                                 $fileScan = "";
  516.  
  517.                                 $scanFile = exec("clamdscan -i --no-summary $fileAttachment",$scanResult,$scanErr);
  518.  
  519.                                 if ($scanErr == "1") {
  520.  
  521.                                         $fileScan = explode(" ", $scanFile);
  522.                                         $fileScan = " <font color=\"red\">{$fileScan[1]}</font>";
  523.                                 }
  524.  
  525.                                 if (is_image($fileAttachment)) {
  526.  
  527.                                         $img_size = getimagesize($fileAttachment);
  528.  
  529.                                         $imgSize = "";
  530.  
  531.                                         if (($img_size[0] > 0) and ($img_size[1] > 0)) {
  532.  
  533.                                                 $imgSize = ", {$img_size[0]}x{$img_size[1]} pixels";
  534.  
  535.                                                 if ($img_size[bits] > 0) {
  536.  
  537.                                                         $imgSize = "$imgSize, {$img_size[bits]}-bit image";
  538.                                                 }
  539.                                         }
  540.  
  541.                                         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";
  542.                                 }
  543.                                 else {
  544.                                         echo "\r\n<tr><td><a href=\"$fileAttachment\"><img src=\"images/file.png\" border=\"0\" width=\"36\" height=\"36\"></a></td><td><a href=\"$fileAttachment\">$fileName</a><br>$fileSize{$fileScan}</td></tr>\r\n";
  545.                                 }
  546.                         }
  547.        
  548.                         echo "</table>";
  549.                         echo "</div>";
  550.  
  551.                         $_SESSION['clean_up_o'] = $fileDir;
  552.                 }
  553.                 else {
  554.                         rmdirr($filePath);
  555.                 }
  556.         }
  557.  
  558.         echo "</td></tr></table>";
  559. }
  560.  
  561. if (isset($header_rr) and (strlen($header_rr) > 0)) {
  562.  
  563.         $rcpt_mail = extract_emails_from($header_rr);
  564.         $rcpt_mail = $rcpt_mail[0];
  565.  
  566.         $header_ov = imap_fetch_overview($mbox,$msgno,FT_UID);
  567.  
  568.         if ((strlen($rcpt_mail) > 0) and ($folder != "Sent") and ($folder != "Trash") and ($folder != "Spam") and ($folder != "Junk") and ($header_ov[0]->answered == "0")) {
  569.  
  570.                 $header_message_id = imap_utf8($header->message_id);
  571.  
  572.                 echo "<form id=\"receipt\" method=\"post\" action=\"rcpt.php\" target=\"rcpt\" style=\"display: none;\">";
  573.                 echo "<input type=\"hidden\" name=\"rcpt_mail\" value=\"$rcpt_mail\">";
  574.                 echo "<input type=\"hidden\" name=\"rcpt_subj\" value=\"$header_subject\">";
  575.                 echo "<input type=\"hidden\" name=\"rcpt_date\" value=\"$header_date\">";
  576.                 echo "<input type=\"hidden\" name=\"rcpt_omid\" value=\"$header_message_id\">";
  577.                 echo "<input type=\"hidden\" name=\"rcpt_omno\" value=\"$msgno\">";
  578.                
  579.                 echo "<iframe id=\"rcpt\" name=\"rcpt\" src=\"rcpt.php\" frameborder=\"0\" scrolling=\"0\" width=\"0\" height=\"0\" style=\"display: none;\"></iframe>";
  580.  
  581.                 echo "</form>";
  582.  
  583.                 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>";
  584.         }
  585. }
  586.        
  587. ?>
  588.  
filedropkartero.git-41992ae.tar.bz2 new
412.12 KB
261 downloads
filedropkartero.git-41992ae.zip
448.41 KB
237 downloads
filedropkartero.git-b404ba2.tar.bz2
411.70 KB
247 downloads
filedropkartero.git-b404ba2.zip
447.96 KB
229 downloads
filedropkartero.git-a7684d9.tar.bz2
411.72 KB
233 downloads
filedropkartero.git-a7684d9.zip
447.96 KB
271 downloads
filedropkartero.git-83512be.tar.bz2
410.26 KB
225 downloads
filedropkartero.git-83512be.zip
445.30 KB
200 downloads
filedropkartero.git-1954b25.tar.bz2
410.21 KB
218 downloads
filedropkartero.git-1954b25.zip
445.30 KB
195 downloads
filedropkartero.git-2f7c910.tar.bz2
410.25 KB
208 downloads
filedropkartero.git-2f7c910.zip
445.29 KB
182 downloads
filedropkartero.git-6317ffb.tar.bz2
410.40 KB
193 downloads
filedropkartero.git-6317ffb.zip
445.28 KB
164 downloads
filedropkartero.git-60ccd7a.tar.bz2
410.40 KB
181 downloads
filedropkartero.git-60ccd7a.zip
445.20 KB
160 downloads
filedropkartero.git-ea6f885.tar.bz2
410.47 KB
168 downloads
filedropkartero.git-ea6f885.zip
445.26 KB
142 downloads
filedropkartero.git-7f580e5.zip
445.17 KB
132 downloads
filedropkartero.git-7f580e5.tar.bz2
410.18 KB
139 downloads
filedropkartero.git-b9364de.tar.bz2
409.41 KB
129 downloads
filedropkartero.git-b9364de.zip
444.09 KB
391 downloads
filedropkartero.git-e9bcd78.zip
444.03 KB
371 downloads
filedropkartero.git-e9bcd78.tar.bz2
409.39 KB
395 downloads
filedropkartero.git-96c60ff.tar.bz2
407.96 KB
387 downloads
filedropkartero.git-96c60ff.zip
441.87 KB
343 downloads
filedropkartero.git-4357b59.tar.bz2
407.17 KB
385 downloads
filedropkartero.git-4357b59.zip
440.69 KB
346 downloads
filedropkartero.git-c6ff319.tar.bz2
407.28 KB
383 downloads
filedropkartero.git-c6ff319.zip
440.70 KB
327 downloads
filedropkartero.git-8b87a29.tar.bz2
407.27 KB
363 downloads
filedropkartero.git-8b87a29.zip
440.71 KB
326 downloads
filedropkartero.git-ee42942.tar.bz2
406.49 KB
323 downloads
filedropkartero.git-ee42942.zip
439.92 KB
304 downloads
filedropkartero.git-867e7e6.tar.bz2
406.75 KB
345 downloads
filedropkartero.git-867e7e6.zip
440.03 KB
307 downloads
filedropkartero.git-3f3fc02.tar.bz2
406.38 KB
342 downloads
filedropkartero.git-3f3fc02.zip
439.71 KB
333 downloads
filedropkartero.git-b6f779d.tar.bz2
406.55 KB
362 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
318 downloads
filedropkartero.git-52316ec.zip
439.18 KB
297 downloads
filedropkartero.git-83f24b0.tar.bz2
405.84 KB
312 downloads
filedropkartero.git-8a42d47.tar.bz2
405.73 KB
291 downloads
filedropkartero.git-8a42d47.zip
439.02 KB
270 downloads
filedropkartero.git-830c9cb.tar.bz2
406.08 KB
294 downloads
filedropkartero.git-830c9cb.zip
439.08 KB
269 downloads
filedropkartero.git-ebec1be.tar.bz2
406.16 KB
297 downloads
filedropkartero.git-ebec1be.zip
439.09 KB
297 downloads
filedropkartero.git-7c0b70f.tar.bz2
402.43 KB
283 downloads
filedropkartero.git-7c0b70f.zip
435.91 KB
262 downloads
filedropkartero.git-80edc03.tar.bz2
402.75 KB
296 downloads
filedropkartero.git-80edc03.zip
435.84 KB
273 downloads
filedropkartero.git-b408c23.tar.bz2
402.19 KB
287 downloads
filedropkartero.git-b408c23.zip
435.59 KB
277 downloads
filedropkartero.git-29c0e1f.tar.bz2
401.84 KB
291 downloads
filedropkartero.git-29c0e1f.zip
435.25 KB
289 downloads
filedropkartero.git-9086094.tar.bz2
401.94 KB
291 downloads
filedropkartero.git-9086094.zip
435.34 KB
289 downloads
filedropkartero.git-47ca624.tar.bz2
402.10 KB
290 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
284 downloads
filedropkartero.git-cae7074.zip
435.20 KB
273 downloads
filedropkartero.git-cae7074.tar.bz2
401.98 KB
301 downloads
filedropkartero.git-cc68e56.tar.bz2
402.07 KB
284 downloads
filedropkartero.git-cc68e56.zip
435.16 KB
303 downloads
filedropkartero.git-230f35d.tar.bz2
401.43 KB
270 downloads
filedropkartero.git-230f35d.zip
434.68 KB
290 downloads
filedropkartero.git-5ae58a2.tar.bz2
401.54 KB
272 downloads
filedropkartero.git-5ae58a2.zip
434.68 KB
263 downloads
filedropkartero.git-a591f4b.tar.bz2
401.76 KB
272 downloads
filedropkartero.git-a591f4b.zip
435.17 KB
270 downloads
filedropkartero.git-36876c8.tar.bz2
400.44 KB
268 downloads
filedropkartero.git-36876c8.zip
432.36 KB
293 downloads
filedropkartero.git-a34c9ed.tar.bz2
400.57 KB
292 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
279 downloads
filedropkartero.git-476cdda.tar.bz2
400.60 KB
309 downloads
filedropkartero.git-476cdda.zip
432.26 KB
276 downloads
filedropkartero.git-054c286.tar.bz2
98.09 KB
349 downloads
filedropkartero.git-054c286.zip
109.53 KB
334 downloads
filedropkartero.git-071b099.tar.bz2
98.76 KB
351 downloads
filedropkartero.git-071b099.zip
110.21 KB
336 downloads
filedropkartero.git-551c38d.tar.bz2
98.51 KB
357 downloads
filedropkartero.git-551c38d.zip
110.20 KB
326 downloads
filedropkartero.git-569dc0c.tar.bz2
98.40 KB
351 downloads
filedropkartero.git-569dc0c.zip
109.86 KB
318 downloads
filedropkartero.git-58a052b.tar.bz2
97.95 KB
348 downloads
filedropkartero.git-58a052b.zip
109.36 KB
332 downloads
filedropkartero.git-43a5af3.tar.bz2
97.80 KB
344 downloads
filedropkartero.git-43a5af3.zip
109.30 KB
329 downloads
filedropkartero.git-bbe069d.tar.bz2
98.03 KB
357 downloads
filedropkartero.git-bbe069d.zip
109.19 KB
334 downloads
filedropkartero.git-02f97e1.tar.bz2
97.76 KB
324 downloads
filedropkartero.git-02f97e1.zip
109.24 KB
424 downloads
filedropkartero.git-d82e393.tar.bz2
97.74 KB
357 downloads
filedropkartero.git-d82e393.zip
109.24 KB
335 downloads
filedropkartero.git-7cdd1f5.tar.bz2
98.03 KB
340 downloads
filedropkartero.git-7cdd1f5.zip
109.24 KB
316 downloads
filedropkartero.git-40825aa.tar.bz2
97.71 KB
339 downloads
filedropkartero.git-40825aa.zip
109.16 KB
353 downloads
filedropkartero.git-3dd941b.tar.bz2
97.69 KB
339 downloads
filedropkartero.git-3dd941b.zip
109.12 KB
326 downloads
filedropkartero.git-50f1e46.tar.bz2
97.65 KB
347 downloads
filedropkartero.git-50f1e46.zip
109.02 KB
330 downloads
filedropkartero.git-fdf9225.tar.bz2
93.19 KB
379 downloads
filedropkartero.git-fdf9225.zip
104.25 KB
339 downloads
filedropkartero.git-21415da.tar.bz2
93.24 KB
335 downloads
filedropkartero.git-21415da.zip
104.22 KB
342 downloads
filedropkartero.git-aff5e89.tar.bz2
93.17 KB
357 downloads
filedropkartero.git-aff5e89.zip
104.22 KB
331 downloads
filedropkartero.git-b27ef39.tar.bz2
91.97 KB
356 downloads
filedropkartero.git-b27ef39.zip
102.80 KB
356 downloads
filedropkartero.git-3d6e8a2.tar.bz2
91.99 KB
340 downloads
filedropkartero.git-3d6e8a2.zip
102.77 KB
352 downloads
filedropkartero.git-1442b69.tar.bz2
91.79 KB
333 downloads
filedropkartero.git-1442b69.zip
102.50 KB
357 downloads
filedropkartero.git-6d15918.tar.bz2
91.56 KB
356 downloads
filedropkartero.git-6d15918.zip
102.28 KB
323 downloads
filedropkartero.git-45140d8.tar.bz2
91.52 KB
359 downloads
filedropkartero.git-45140d8.zip
102.23 KB
329 downloads
filedropkartero.git-d5b48e5.tar.bz2
91.35 KB
346 downloads
filedropkartero.git-d5b48e5.zip
102.01 KB
341 downloads
filedropkartero.git-e007e55.tar.bz2
91.35 KB
357 downloads
filedropkartero.git-e007e55.zip
102.01 KB
314 downloads
filedropkartero.git-30fd7e3.tar.bz2
90.87 KB
333 downloads
filedropkartero.git-30fd7e3.zip
101.44 KB
341 downloads
filedropkartero.git-421a4a7.tar.bz2
88.02 KB
72 downloads
filedropkartero.git-421a4a7.zip
97.96 KB
318 downloads
filedropkartero.git-b49b8bc.tar.bz2
88.09 KB
377 downloads
filedropkartero.git-b49b8bc.zip
97.99 KB
334 downloads
filedropkartero.git-1cc9571.tar.bz2
87.74 KB
354 downloads
filedropkartero.git-1cc9571.zip
97.70 KB
338 downloads
filedropkartero.git-159152f.tar.bz2
87.60 KB
352 downloads
filedropkartero.git-159152f.zip
97.52 KB
344 downloads
filedropkartero.git-35caaf3.tar.bz2
87.74 KB
335 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
343 downloads
filedropkartero.git-14cb2af.tar.bz2
86.41 KB
342 downloads
filedropkartero.git-14cb2af.zip
96.13 KB
333 downloads
filedropkartero.git-e8f00cb.tar.bz2
86.46 KB
358 downloads
filedropkartero.git-e8f00cb.zip
96.21 KB
322 downloads
filedropkartero.git-bdab380.tar.bz2
86.14 KB
355 downloads
filedropkartero.git-bdab380.zip
95.79 KB
327 downloads
filedropkartero.git-48f9134.tar.bz2
85.78 KB
358 downloads
filedropkartero.git-48f9134.zip
95.48 KB
337 downloads
filedropkartero.git-adb9757.tar.bz2
85.67 KB
347 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
329 downloads
filedropkartero.git-18a5106.tar.bz2
85.72 KB
330 downloads
filedropkartero.git-18a5106.zip
95.48 KB
343 downloads
filedropkartero.git-a5b1caa.tar.bz2
85.61 KB
365 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
353 downloads
filedropkartero.git-b70d364.tar.bz2
84.09 KB
391 downloads
filedropkartero.git-b70d364.zip
93.67 KB
343 downloads
filedropkartero.git-48f0e53.tar.bz2
84.16 KB
365 downloads
filedropkartero.git-48f0e53.zip
93.66 KB
336 downloads
filedropkartero.git-c17135e.tar.bz2
84.09 KB
346 downloads
filedropkartero.git-c17135e.zip
93.57 KB
322 downloads
filedropkartero.git-a2e2848.tar.bz2
85.59 KB
351 downloads
filedropkartero.git-a2e2848.zip
100.10 KB
335 downloads
filedropkartero.git-1f683db.tar.bz2
83.55 KB
350 downloads
filedropkartero.git-1f683db.zip
93.24 KB
331 downloads
filedropkartero.git-d342596.tar.bz2
83.57 KB
349 downloads
filedropkartero.git-d342596.zip
93.28 KB
323 downloads
filedropkartero.git-e0131d5.tar.bz2
83.55 KB
352 downloads
filedropkartero.git-e0131d5.zip
93.27 KB
339 downloads
filedropkartero.git-ad467e8.tar.bz2
83.13 KB
360 downloads
filedropkartero.git-ad467e8.zip
92.78 KB
328 downloads
filedropkartero.git-b20e27d.tar.bz2
83.46 KB
365 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
349 downloads
filedropkartero.git-bea685a.zip
96.88 KB
336 downloads
filedropkartero.git-bea685a.tar.bz2
84.44 KB
345 downloads
filedropkartero.git-a8bd019.tar.bz2
84.25 KB
359 downloads
filedropkartero.git-a8bd019.zip
96.60 KB
330 downloads
filedropkartero.git-cbc914d.tar.bz2
84.38 KB
353 downloads
filedropkartero.git-cbc914d.zip
96.64 KB
320 downloads
filedropkartero.git-09a2e70.tar.bz2
84.40 KB
333 downloads
filedropkartero.git-09a2e70.zip
96.70 KB
342 downloads
filedropkartero.git-641dc05.tar.bz2
84.37 KB
351 downloads
filedropkartero.git-641dc05.zip
96.73 KB
331 downloads
filedropkartero.git-cde49c6.tar.bz2
84.26 KB
362 downloads
filedropkartero.git-cde49c6.zip
96.59 KB
335 downloads
filedropkartero.git-1d004e0.tar.bz2
77.42 KB
364 downloads
filedropkartero.git-1d004e0.zip
87.56 KB
997 downloads
filedropkartero.git-1f0bf17.tar.bz2
77.47 KB
359 downloads
filedropkartero.git-1f0bf17.zip
87.56 KB
329 downloads
filedropkartero.git-265e63c.tar.bz2
77.43 KB
340 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
365 downloads
filedropkartero.git-a041f85.zip
87.52 KB
362 downloads
filedropkartero.git-ae049a7.tar.bz2
77.44 KB
361 downloads
filedropkartero.git-ae049a7.zip
87.52 KB
333 downloads
filedropkartero.git-eef571a.tar.bz2
20.56 KB
472 downloads
filedropkartero.git-eef571a.zip
25.69 KB
461 downloads
filedropkartero.git-0bc16f5.tar.bz2
82.61 KB
377 downloads
filedropkartero.git-0bc16f5.zip
94.75 KB
369 downloads
filedropkartero.git-2afc0f7.tar.bz2
83.61 KB
379 downloads
filedropkartero.git-2afc0f7.zip
96.00 KB
386 downloads
filedropkartero.git-3529bdf.tar.bz2
77.72 KB
345 downloads
filedropkartero.git-3529bdf.zip
87.92 KB
362 downloads
filedropkartero.git-49aac92.tar.bz2
78.98 KB
390 downloads
filedropkartero.git-49aac92.zip
90.01 KB
364 downloads
filedropkartero.git-5d48f21.tar.bz2
78.65 KB
63 downloads
filedropkartero.git-5d48f21.zip
89.51 KB
394 downloads
filedropkartero.git-635a5db.tar.bz2
77.50 KB
400 downloads
filedropkartero.git-6e34786.tar.bz2
77.76 KB
410 downloads
filedropkartero.git-6e34786.zip
88.09 KB
406 downloads
filedropkartero.git-7dc2fd2.tar.bz2
83.51 KB
459 downloads
filedropkartero.git-7dc2fd2.zip
95.99 KB
412 downloads
filedropkartero.git-9cad005.tar.bz2
78.85 KB
456 downloads
filedropkartero.git-9cad005.zip
90.00 KB
453 downloads
filedropkartero.git-b303f61.tar.bz2
82.57 KB
491 downloads
filedropkartero.git-b303f61.zip
94.78 KB
129 downloads
filedropkartero.git-c15ef85.tar.bz2
77.76 KB
146 downloads
filedropkartero.git-c15ef85.zip
88.16 KB
147 downloads
filedropkartero.git-c99e84d.tar.bz2
83.58 KB
168 downloads
filedropkartero.git-c99e84d.zip
96.01 KB
161 downloads
filedropkartero.git-e5009e6.tar.bz2
78.73 KB
176 downloads
filedropkartero.git-e5009e6.zip
89.69 KB
173 downloads
filedropkartero.git-0502d01.tar.bz2
83.54 KB
191 downloads
filedropkartero.git-0502d01.zip
96.00 KB
186 downloads
filedropkartero.git-44ca46d.tar.bz2
83.73 KB
204 downloads
filedropkartero.git-44ca46d.zip
96.20 KB
195 downloads
filedropkartero.git-834f923.tar.bz2
83.75 KB
209 downloads
filedropkartero.git-834f923.zip
96.14 KB
203 downloads