kartero.org

kartero.org

Git

This commit has been accessed 591 times via Git panel.

commit 554e8fb513483e27040e5647036978997b04f37e
tree a591f4b7d4cdafe6a9e5a93ac852dbb175b1bf50
parent 439c3878901839454ad2490052a0d276c99c2b9e
author Engels Antonio <engels@majcms.org> 1343662383 +0800
committer Engels Antonio <engels@majcms.org> 1343662383 +0800

    Move settings to conf.php

diff --git a/conf.php b/conf.php
new file mode 100644
index 0000000..57708b8
--- /dev/null
+++ b/conf.php
@@ -0,0 +1,15 @@
+<?php
+
+/* modify the values of $db_host, $db_name, $db_user, $db_pass, $imap_host, $mail_root, and $mail_home for basic configuration */
+
+$db_host = "localhost";
+$db_name = "kartero";
+$db_user = "kartero";
+$db_pass = "fr1ng3!";
+
+$imap_host = "{127.0.0.1:143/imap/notls/norsh}";
+
+$mail_root = "/kartero/mail";
+$mail_home = "/kartero/home";
+
+?>
diff --git a/core.php b/core.php
index ad550b2..04994c5 100644
--- a/core.php
+++ b/core.php
@@ -38,6 +38,39 @@ else {
 
 $mbox_max = $mbox_min + $mbox_ppg;
 
+function rmdirr($recurse_dirname) {
+
+       if (!file_exists($recurse_dirname)) {
+               return false;
+       }
+
+       if (is_file($recurse_dirname)) {
+               return unlink($recurse_dirname);
+       }
+
+       $recurse_dir = dir($recurse_dirname);
+
+       while (false !== $recurse_entry = $recurse_dir->read()) {
+
+               if ($recurse_entry == '.' || $recurse_entry == '..') {
+                       continue;
+               }
+
+               rmdirr("$recurse_dirname/$recurse_entry");
+       }
+
+       $recurse_dir->close();
+       return rmdir($recurse_dirname);
+}
+
+function ack($ack_string) {
+       echo "<table width=\"100%\"><tr></td><div class=\"ack\">$ack_string</div></td></tr></table>";
+}
+
+function nak($nak_string) {
+       echo "<table width=\"100%\"><tr></td><div class=\"nak\">$nak_string</div></td></tr></table>";
+}
+
 function time_elapsed_string($ptime) {
     $etime = time() - $ptime;
     
diff --git a/css.php b/css.php
index c58c339..51dee72 100644
--- a/css.php
+++ b/css.php
@@ -125,3 +125,32 @@ a,a:link,a:visited,a:hover,a:active {
 .hide {
        display: none;
 }
+
+@-webkit-keyframes strength {
+       0% {
+               width: 0;
+               height: 11px;
+       }
+}
+
+@-moz-keyframes strength {
+       0% {
+               width: 0;
+               height: 11px;
+       }
+}
+
+#mtr {
+       width: 0;
+       height: 11px;
+       padding: 0;
+       margin: 0;
+       -webkit-animation-name: strength;
+       -moz-animation-name: strength;
+       -webkit-animation-duration: 1s;
+       -moz-animation-duration: 1s;
+       -webkit-animation-iteration-count: 1;
+       -moz-animation-iteration-count: 1;
+       -webkit-animation-timing-function: ease;
+       -moz-animation-timing-function: ease;
+}
diff --git a/folders.php b/folders.php
index bbd52e5..25f32c3 100644
--- a/folders.php
+++ b/folders.php
@@ -87,7 +87,7 @@ if (!isset($_POST['get']) and !isset($_POST['rep'])) {
 
 if ($folder == "Trash") {
 
-       $trash_status = imap_status($mbox, "{$host}Trash", SA_MESSAGES+SA_UNSEEN);
+       $trash_status = imap_status($mbox, "{$imap_host}Trash", SA_MESSAGES+SA_UNSEEN);
 
        if ($trash_status->messages > 0) {
 
@@ -123,7 +123,7 @@ if (is_array($quota) and ($quota[limit] > 0)) {
        echo "<div style=\"height: 4px;\"></div>";
 }
 
-$get_folders = kartero_sort_folders($host,imap_list($mbox,$host,"*"));
+$get_folders = kartero_sort_folders($imap_host,imap_list($mbox,$imap_host,"*"));
 
 if (is_array($get_folders)) {
 
@@ -135,7 +135,7 @@ if (is_array($get_folders)) {
 
                $status_folder = "(" . $status->unseen . "/" . $status->messages . ")";
 
-               $get_folder = imap_utf7_decode(trim(str_replace($host,"",$get_folder)));
+               $get_folder = imap_utf7_decode(trim(str_replace($imap_host,"",$get_folder)));
 
                echo "<tr><form method=\"post\"><td align=\"center\"><input type=\"hidden\" name=\"box\" value=\"$get_folder\">";
 
diff --git a/inbox.php b/inbox.php
index 9355b77..c6c2658 100644
--- a/inbox.php
+++ b/inbox.php
@@ -11,7 +11,7 @@ if (isset($_POST['msg']) and !empty($_POST['msg']) and is_numeric($_POST['msg'])
        $msgno = trim(strip_tags($_POST['msg']));
 
        if ($_POST['del'] == "1") {
-               imap_createmailbox($mbox,"{$host}Trash");
+               imap_createmailbox($mbox,"{$imap_host}Trash");
                imap_mail_move($mbox,$msgno,"Trash",CP_UID);
                imap_expunge($mbox);
        }
diff --git a/index.php b/index.php
index cecacc5..f745490 100644
--- a/index.php
+++ b/index.php
@@ -1,51 +1,14 @@
 <?php
 
-/* modify the values of $db_host, $db_name, $db_user, $db_pass, and $mail_root for basic configuration */
-
-$db_host = "localhost";
-$db_name = "kartero";
-$db_user = "kartero";
-$db_pass = "fr1ng3!";
-
-$mail_root = "/kartero/mail";
-$mail_home = "/kartero/home";
-
 /* feel free to hack the succeeding code to suit your needs (basic php and mysql skills required) */
 
-require_once("core.php");
-
-function rmdirr($recurse_dirname) {
-
-       if (!file_exists($recurse_dirname)) {
-               return false;
-       }
-
-       if (is_file($recurse_dirname)) {
-               return unlink($recurse_dirname);
-       }
+ob_start();
 
-       $recurse_dir = dir($recurse_dirname);
+require_once("conf.php");
 
-       while (false !== $recurse_entry = $recurse_dir->read()) {
-
-               if ($recurse_entry == '.' || $recurse_entry == '..') {
-                       continue;
-               }
-
-               rmdirr("$recurse_dirname/$recurse_entry");
-       }
-
-       $recurse_dir->close();
-       return rmdir($recurse_dirname);
-}
-
-function ack($ack_string) {
-       echo "<table width=\"100%\"><tr></td><div class=\"ack\">$ack_string</div></td></tr></table>";
-}
+ob_end_clean();
 
-function nak($nak_string) {
-       echo "<table width=\"100%\"><tr></td><div class=\"nak\">$nak_string</div></td></tr></table>";
-}
+require_once("core.php");
 
 if (file_exists("css.php")) {
 
@@ -957,7 +920,7 @@ if (isset($_SESSION['logged_uid'])) {
 
        if ($_SESSION['logged_lvl'] == "subscriber") {
 
-               $host = "{127.0.0.1:143/imap/notls/norsh}";
+               //$imap_host = "{127.0.0.1:143/imap/notls/norsh}";
 
                if (!isset($_POST['box']) or empty($_POST['box'])) {
                        $folder = "INBOX";
@@ -966,7 +929,7 @@ if (isset($_SESSION['logged_uid'])) {
                        $folder = trim(strip_tags($_POST['box']));
                }
 
-               $mbox = @imap_open("{$host}$folder", $_SESSION['logged_uid'], $_SESSION['logged_key'], CL_EXPUNGE) or die(imap_last_error());
+               $mbox = @imap_open("{$imap_host}$folder", $_SESSION['logged_uid'], $_SESSION['logged_key'], CL_EXPUNGE) or die(imap_last_error());
 
                if (isset($_POST['move_msg']) and !empty($_POST['move_msg']) and isset($_POST['move_box']) and !empty($_POST['move_box'])) {
 
@@ -982,7 +945,7 @@ if (isset($_SESSION['logged_uid'])) {
                if (isset($_POST['new_box']) and !empty($_POST['new_box'])) {
 
                        $new_box = imap_utf7_encode(ucwords(trim(preg_replace("/[^a-z0-9 ]/i","",strip_tags($_POST['new_box'])))));
-                       imap_createmailbox($mbox,"{$host}$new_box");
+                       imap_createmailbox($mbox,"{$imap_host}$new_box");
                }
 
                if (isset($_POST['del_box']) and !empty($_POST['del_box'])) {
@@ -991,7 +954,7 @@ if (isset($_SESSION['logged_uid'])) {
                        $del_siv = $del_box;
 
                        if (($del_box != "INBOX") and ($del_box != "Sent") and ($del_box != "Trash")) {
-                               imap_deletemailbox($mbox,"{$host}$del_box");
+                               imap_deletemailbox($mbox,"{$imap_host}$del_box");
                        }
                }
 
@@ -1096,7 +1059,7 @@ if (isset($_SESSION['logged_uid'])) {
                                $reply_headers = $reply_headers . "Return-Receipt-To: {$reply_fenv[0]}\n";
                        }
 
-                       imap_createmailbox($mbox,"{$host}Sent");
+                       imap_createmailbox($mbox,"{$imap_host}Sent");
 
                        $reply_date = date ("d-M-Y H:i:s O");
                       
@@ -1105,7 +1068,7 @@ if (isset($_SESSION['logged_uid'])) {
                        $reply_headers = preg_replace('#(?<!\r)\n#si', "\n", $reply_headers);
                        $reply_headers = str_replace("\n\n","\n",$reply_headers);
 
-                       imap_append($mbox,"{$host}Sent","To: $reply_to\nSubject: $reply_subj\nDate: $reply_date\n$reply_headers\n\n$reply_body\n");
+                       imap_append($mbox,"{$imap_host}Sent","To: $reply_to\nSubject: $reply_subj\nDate: $reply_date\n$reply_headers\n\n$reply_body\n");
 
                        mail($reply_to, $reply_subj, $reply_body, $reply_headers, "-f {$reply_fenv[0]}");
 
@@ -1151,8 +1114,8 @@ if (isset($_SESSION['logged_uid'])) {
                        echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
 
                        echo "<tr>";
-                       echo "<td class=\"label\"><img src=\"images/mail-contacts.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('list').className ='';document.getElementById('add').className='hide'\"></td>";
-                       echo "<td class=\"label\"><img src=\"images/mail-contacts.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('list').className ='hide';document.getElementById('add').className=''\"></td>";
+                       echo "<td class=\"label\"><img src=\"images/mail-contacts.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('list').style.display='inline';document.getElementById('add').style.display='none'\"></td>";
+                       echo "<td class=\"label\"><img src=\"images/mail-contacts.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('list').style.display='none';document.getElementById('add').style.display='inline'\"></td>";
 echo "</tr>";
 
                        echo "<tr><td class=\"label\">list</td><td class=\"label\">add</td></tr>";
@@ -1168,7 +1131,7 @@ echo "</tr>";
                                echo "<div id=\"add\">";
                        }
                        else {
-                               echo "<div id=\"add\" class=\"hide\">";
+                               echo "<div id=\"add\" style=\"display: none;\">";
                        }
 
                        echo "<div class=\"spacer\"></div>";
@@ -1190,7 +1153,7 @@ echo "</tr>";
                                echo "<div id=\"list\">";
                        }
                        else {
-                               echo "<div id=\"list\" class=\"hide\">";
+                               echo "<div id=\"list\" style=\"display: none;\">";
                        }
 
                        if (mysql_num_rows($addr_query) > 0) {
@@ -1226,8 +1189,6 @@ echo "</tr>";
                elseif (isset($_POST['set']) and !empty($_POST['set'])) {
 
                        echo "<script type=\"text/javascript\" src=\"core.js\" async></script>";
-                      
-                       echo "<style> @-webkit-keyframes strength { 0% { width: 0; height: 11px; } } @-moz-keyframes strength { 0% { width: 0; height: 11px; } } #mtr { width: 0; height: 11px; padding: 0; margin: 0; -webkit-animation-name: strength; -moz-animation-name: strength; -webkit-animation-duration: 1s; -moz-animation-duration: 1s; -webkit-animation-iteration-count: 1; -moz-animation-iteration-count: 1; -webkit-animation-timing-function: ease; -moz-animation-timing-function: ease; } </style>";
 
                        echo "<title>Kartero - Settings</title>";
 
@@ -1237,9 +1198,9 @@ echo "</tr>";
                        echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
 
                        echo "<tr>";
-                       echo "<td class=\"label\"><img src=\"images/mail-settings.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('account').className ='';document.getElementById('folders').className='hide';document.getElementById('filters').className='hide'\"></td>";
-                       echo "<td class=\"label\"><img src=\"images/mail-settings.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('account').className ='hide';document.getElementById('folders').className='';document.getElementById('filters').className='hide'\"></td>";
-                       echo "<td class=\"label\"><img src=\"images/mail-settings.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('account').className ='hide';document.getElementById('folders').className='hide';document.getElementById('filters').className=''\"></td>";
+                       echo "<td class=\"label\"><img src=\"images/mail-settings.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('account').style.display='inline';document.getElementById('folders').style.display='none';document.getElementById('filters').style.display='none'\"></td>";
+                       echo "<td class=\"label\"><img src=\"images/mail-settings.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('account').style.display='none';document.getElementById('folders').style.display='inline';document.getElementById('filters').style.display='none'\"></td>";
+                       echo "<td class=\"label\"><img src=\"images/mail-settings.png\" border=\"0\" width=\"32\" height=\"32\" onclick=\"document.getElementById('account').style.display='none';document.getElementById('folders').style.display='none';document.getElementById('filters').style.display='inline'\"></td>";
 echo "</tr>";
 
                        echo "<tr><td class=\"label\">account</td><td class=\"label\">folders</td><td class=\"label\">filters</td></tr>";
@@ -1253,19 +1214,21 @@ echo "</tr>";
                                echo "<div id=\"account\">";
                        }
                        else {
-                               echo "<div id=\"account\" class=\"hide\">";
+                               echo "<div id=\"account\" style=\"display: none;\">";
                        }
 
                        echo "<div class=\"spacer\"></div>";
+                      
                        echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"1\">";
                        echo "<form method=\"post\">";
                        echo "<input type=\"hidden\" name=\"set\" value=\"account\">";
                        echo "<tr bgcolor=\"#ffffff\"><td width=\"400\"><input class=\"input\" type=\"text\" name=\"usr_name\" value=\"$usr_name\" autocomplete=\"off\" maxlength=\"128\" required autofocus></td><td>name</td></tr>";
-                       echo "<tr bgcolor=\"#ffffff\"><td><input class=\"input\" type=\"password\" name=\"usr_pw1\" autocomplete=\"off\" maxlength=\"64\"></td><td><nobr>current password</nobr></td></tr>";
-
-                       echo "<tr bgcolor=\"#ffffff\"><td><table border=\"0\" cellspacing=\"1\" cellpadding=\"2\" bgcolor=\"#cccccc\" width=\"100%\"><tr bgcolor=\"#ffffff\"><td height=\"17\"><div id=\"mtr\" style=\"display: none;\"></div></td></tr></table></td><td id=\"ctd\"></td></tr>";
+                       echo "<tr bgcolor=\"#ffffff\"><td width=\"400\"><input class=\"input\" type=\"password\" name=\"usr_pw1\" autocomplete=\"off\" maxlength=\"64\"></td><td><nobr>current password</nobr></td></tr>";
+                       echo "</table>";
 
-                       echo "<tr bgcolor=\"#ffffff\"><td><input class=\"input\" type=\"password\" name=\"usr_pw2\" autocomplete=\"off\" maxlength=\"64\" onkeyup=\"eval(this.value)\" id=\"usr_pw2\"></td><td id=\"pmc1\"><nobr>new password";
+                       echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"1\">";
+                       echo "<tr bgcolor=\"#ffffff\"><td width=\"400\"><table border=\"0\" cellspacing=\"1\" cellpadding=\"2\" bgcolor=\"#cccccc\" width=\"100%\"><tr bgcolor=\"#ffffff\"><td height=\"17\"><span id=\"mtr\" style=\"display: none;\"></span></td></tr></table></td><td id=\"ctd\"></td></tr>";
+                       echo "<tr bgcolor=\"#ffffff\"><td width=\"400\"><input class=\"input\" type=\"password\" name=\"usr_pw2\" autocomplete=\"off\" maxlength=\"64\" onkeyup=\"eval(this.value)\" id=\"usr_pw2\"></td><td id=\"pmc1\"><nobr>new password";
 
                        if (isset($_POST['usr_pw1']) and !empty($_POST['usr_pw1']) and isset($_POST['usr_pw2']) and (strlen($_POST['usr_pw2']) < 8)) {
                                echo " <font color=\"red\">too short</font>";
@@ -1273,7 +1236,7 @@ echo "</tr>";
 
                        echo "</nobr></td></tr>";
 
-                       echo "<tr bgcolor=\"#ffffff\"><td><input class=\"input\" type=\"password\" name=\"usr_pw3\" autocomplete=\"off\" maxlength=\"64\" onkeyup=\"same(this.value)\" id=\"usr_pw3\"></td><td id=\"pmc2\"><nobr>new password";
+                       echo "<tr bgcolor=\"#ffffff\"><td width=\"400\"><input class=\"input\" type=\"password\" name=\"usr_pw3\" autocomplete=\"off\" maxlength=\"64\" onkeyup=\"same(this.value)\" id=\"usr_pw3\"></td><td id=\"pmc2\"><nobr>new password";
 
                        if (isset($_POST['usr_pw1']) and !empty($_POST['usr_pw1']) and isset($_POST['usr_pw3']) and (strlen($_POST['usr_pw3']) < 8)) {
                                echo " <font color=\"red\">too short</font>";
@@ -1281,7 +1244,7 @@ echo "</tr>";
 
                        echo "</nobr></td></tr>";
 
-                       echo "<tr bgcolor=\"#ffffff\"><td><input class=\"button\" type=\"submit\" value=\"update\"></td><td></td></tr>";
+                       echo "<tr bgcolor=\"#ffffff\"><td width=\"400\"><input class=\"button\" type=\"submit\" value=\"update\"></td><td></td></tr>";
                        echo "</form></table>";
                        echo "</div>";
 
@@ -1289,7 +1252,7 @@ echo "</tr>";
                                echo "<div id=\"folders\">";
                        }
                        else {
-                               echo "<div id=\"folders\" class=\"hide\">";
+                               echo "<div id=\"folders\" style=\"display: none;\">";
                        }
 
                        echo "<div class=\"spacer\"></div>";
@@ -1300,21 +1263,30 @@ echo "</tr>";
                        echo "<td width=\"197\"><input class=\"button\" type=\"submit\" value=\"create folder\"></td><td></td></tr>";
                         echo "</form>";
 
-                       $usr_box = imap_list($mbox,$host,"*");
-                       $usr_box = array_diff($usr_box,array("{$host}INBOX","{$host}Sent","{$host}Trash"));
+                       $usr_box = kartero_sort_folders($imap_host,imap_list($mbox,$imap_host,"*"));
 
                        if (count($usr_box) > 0) {
 
-                               sort($usr_box);
-
                                echo "<form method=\"post\">";
                                echo "<input type=\"hidden\" name=\"set\" value=\"folders\">";
                                echo "<tr bgcolor=\"#ffffff\"><td width=\"200\"><select class=\"input\" name=\"del_box\">";
 
                                foreach ($usr_box as $del_box) {
-      
-                                       $del_box = imap_utf7_decode(str_replace($host,"",$del_box));
+
+                                       $del_box = imap_utf7_decode(str_replace($imap_host,"",$del_box));
                                       
+                                       if ($del_box == "INBOX") {
+                                               continue;
+                                       }
+
+                                       if ($del_box == "Sent") {
+                                               continue;
+                                       }
+
+                                       if ($del_box == "Trash") {
+                                               continue;
+                                       }
+
                                        echo "<option value=\"$del_box\">$del_box</option>";
                                }              
               
@@ -1430,7 +1402,7 @@ echo "</tr>";
                                        echo "<div id=\"filters\">";
                                }
                                else {
-                                       echo "<div id=\"filters\" class=\"hide\">";
+                                       echo "<div id=\"filters\" style=\"display: none;\">";
                                }
 
                                echo "<div class=\"spacer\"></div>";
@@ -1449,7 +1421,7 @@ echo "</tr>";
 
                                foreach ($usr_box as $sieveF) {
 
-                                       $sieveF = str_replace($host,"",$sieveF);
+                                       $sieveF = str_replace($imap_host,"",$sieveF);
 
                                        echo "<option value=\"$sieveF\">then move to $sieveF</option>";
                                }
@@ -1568,7 +1540,7 @@ echo "</tr>";
                }
                else {
                        // imap_ping() should be doing this, but it's not working:
-                       $mbox = @imap_open("{$host}$folder", $_SESSION['logged_uid'], $_SESSION['logged_key'], CL_EXPUNGE) or die(imap_last_error());
+                       $mbox = @imap_open("{$imap_host}$folder", $_SESSION['logged_uid'], $_SESSION['logged_key'], CL_EXPUNGE) or die(imap_last_error());
 
                        include("inbox.php");
 
@@ -1584,7 +1556,7 @@ echo "</tr>";
                echo "<td valign=\"top\" width=\"100\">";
 
                // imap_ping() should be doing this, but it's not working:
-               $mbox = @imap_open("{$host}$folder", $_SESSION['logged_uid'], $_SESSION['logged_key'], CL_EXPUNGE) or die(imap_last_error());
+               $mbox = @imap_open("{$imap_host}$folder", $_SESSION['logged_uid'], $_SESSION['logged_key'], CL_EXPUNGE) or die(imap_last_error());
 
                include("folders.php");
                echo "</td>";
diff --git a/rcpt.php b/rcpt.php
index 423f5e0..f0dfae7 100644
--- a/rcpt.php
+++ b/rcpt.php
@@ -1,12 +1,18 @@
 <?php
 
+ob_start();
+
+require_once("conf.php");
+
+ob_end_clean();
+
 session_start();
 
 if (!isset($_SESSION['logged_uid']) or !isset($_SESSION['logged_lvl']) or !isset($_SESSION['logged_key']) or ($_SESSION['logged_lvl'] != "subscriber")) {
         exit;
 }
 
-if (!isset($_POST['rcpt_mail']) or empty($_POST['rcpt_mail']) or !isset($_POST['rcpt_subj']) or empty($_POST['rcpt_subj']) or !isset($_POST['rcpt_date']) or empty($_POST['rcpt_date']) or !isset($_POST['rcpt_omid']) or empty($_POST['rcpt_omid'])) {
+if (!isset($_POST['rcpt_mail']) or empty($_POST['rcpt_mail']) or !isset($_POST['rcpt_subj']) or empty($_POST['rcpt_subj']) or !isset($_POST['rcpt_date']) or empty($_POST['rcpt_date']) or !isset($_POST['rcpt_omid']) or empty($_POST['rcpt_omid']) or !isset($_POST['rcpt_omno']) or empty($_POST['rcpt_omno'])) {
        exit;
 }
 
@@ -15,13 +21,22 @@ $rcpt_mail = strtolower(trim(strip_tags($_POST['rcpt_mail'])));
 $rcpt_subj = trim(strip_tags($_POST['rcpt_subj']));
 $rcpt_date = trim(strip_tags($_POST['rcpt_date']));
 $rcpt_part = md5(microtime(true));
-$rcpt_omid = trim($_POST['rcpt_omid']);
-$rcpt_head = "From: $rcpt_user\nX-Mailer: Kartero/1.0 (PHP/" . phpversion() . ")\nContent-Type: multipart/report;report-type=disposition-notification;boundary=\"$rcpt_part\"";
+$rcpt_omid = trim($_POST['rcpt_omid']);
+$rcpt_omno = trim($_POST['rcpt_omno']);
+$rcpt_head = "From: $rcpt_user\nX-Mailer: Kartero/1.0 (PHP/" . phpversion() . ")\nMIME-Version: 1.0\nContent-Type: multipart/report;report-type=disposition-notification;boundary=\"$rcpt_part\"";
 $rcpt_body = "--$rcpt_part\nContent-Type: text/plain; charset=\"iso-8859-1\"\nContent-Transfer-Encoding: quoted-printable\n\nYour message\n\nTo: $rcpt_user\nSubject: $rcpt_subj\nDate: $rcpt_date\n\nWas displayed on " . date("D, j M Y H:i:s O (T)") . "\n\n--$rcpt_part\nContent-Type: message/disposition-notification\nContent-Transfer-Encoding: quoted-printable\n\nReporting-UA : " . $_SERVER['SERVER_NAME'] . " ; Kartero/1.0 (PHP/" . phpversion() . ")\nOriginal-Recipient : $rcpt_mail\nFinal-Recipient : rfc822;\nOriginal-Message-ID : $rcpt_omid\nDisposition: manual-action/MDN-sent-manually; displayed\n--$rcpt_part--";
 $rcpt_subj = "Read: $rcpt_subj";
 
 mail($rcpt_mail, $rcpt_subj, $rcpt_body, $rcpt_head, "-f $rcpt_user");
 
+$mbox = @imap_open($imap_host, $_SESSION['logged_uid'], $_SESSION['logged_key'], CL_EXPUNGE) or die(imap_last_error());
+
+imap_createmailbox($mbox,"{$imap_host}Sent");
+
+imap_append($mbox,"{$imap_host}Sent","To: $rcpt_mail\nSubject: $rcpt_subj\nDate: $rcpt_date\n$rcpt_head\n\n$rcpt_body\n");
+
+imap_setflag_full($mbox, $rcpt_omno, '\\Answered',ST_UID);
+
 //echo "<script>alert('Read receipt sent to $rcpt_mail');</script>";
 
 ?>
diff --git a/read.php b/read.php
index 955855d..3dcc037 100644
--- a/read.php
+++ b/read.php
@@ -365,14 +365,9 @@ echo "<span class=\"hide\" id=\"headerL\" onclick=\"document.getElementById('hea
       
        echo "<div class=\"spacer\"></div>";
 
-       $usr_mbox = imap_list($mbox,$host,"*");
-       $usr_mbox = array_diff($usr_mbox,array("{$host}INBOX","{$host}Sent","{$host}Trash"));
-
-       if ((count($usr_mbox) > 0) and ($folder != "Sent") and ($folder != "Trash")) {
+       $usr_mbox = kartero_sort_folders($imap_host,imap_list($mbox,$imap_host,"*"));
       
-               sort($usr_mbox);
-      
-               array_unshift($usr_mbox,"{$host}INBOX");
+       if ((count($usr_mbox) > 0) and ($folder != "Sent") and ($folder != "Trash")) {
       
                echo "<div class=\"message\">";
                echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
@@ -391,12 +386,20 @@ echo "<span class=\"hide\" id=\"headerL\" onclick=\"document.getElementById('hea
 
                foreach ($usr_mbox as $move_box) {
       
-                       $move_box = str_replace($host,"",$move_box);
+                       $move_box = str_replace($imap_host,"",$move_box);
       
                        if ($folder == $move_box) {
                                continue;
                        }
 
+                       if ($move_box == "Sent") {
+                               continue;
+                       }
+
+                       if ($move_box == "Trash") {
+                               continue;
+                       }
+
                        echo "<option value=\"$move_box\">$move_box</option>";
                }
 
@@ -408,8 +411,6 @@ echo "<span class=\"hide\" id=\"headerL\" onclick=\"document.getElementById('hea
                echo "<div class=\"spacer\"></div>";
        }
 
-
-
        echo "<div class=\"message\">";
 
        $filePath = "attach/o/$fileUsr/$fileDir";
@@ -556,7 +557,9 @@ if (isset($header_rr) and (strlen($header_rr) > 0)) {
        $rcpt_mail = extract_emails_from($header_rr);
        $rcpt_mail = $rcpt_mail[0];
 
-       if (strlen($rcpt_mail) > 0) {
+       $header_ov = imap_fetch_overview($mbox,$msgno,FT_UID);
+
+       if ((strlen($rcpt_mail) > 0) and ($folder != "Sent") and ($folder != "Trash") and ($folder != "Spam") and ($folder != "Junk") and ($header_ov[0]->answered == "0")) {
 
                $header_message_id = header_mime2text($header->message_id);
 
@@ -565,7 +568,8 @@ if (isset($header_rr) and (strlen($header_rr) > 0)) {
                echo "<input type=\"hidden\" name=\"rcpt_subj\" value=\"$header_subject\">";
                echo "<input type=\"hidden\" name=\"rcpt_date\" value=\"$header_date\">";
                echo "<input type=\"hidden\" name=\"rcpt_omid\" value=\"$header_message_id\">";
-      
+               echo "<input type=\"hidden\" name=\"rcpt_omno\" value=\"$msgno\">";
+              
                echo "<iframe id=\"rcpt\" name=\"rcpt\" src=\"rcpt.php\" frameborder=\"0\" scrolling=\"0\" width=\"0\" height=\"0\" style=\"display: none;\"></iframe>";
 
                echo "</form>";
diff --git a/search.php b/search.php
index 57a8e17..3fcecdc 100644
--- a/search.php
+++ b/search.php
@@ -6,7 +6,7 @@ if (!isset($_SESSION['logged_uid']) or !isset($_SESSION['logged_lvl']) or !isset
         exit;
 }
 
-$search_folders = kartero_sort_folders($host,imap_list($mbox,$host,"*"));
+$search_folders = kartero_sort_folders($imap_host,imap_list($mbox,$imap_host,"*"));
 
 if (is_array($search_folders)) {
       
@@ -19,7 +19,7 @@ if (is_array($search_folders)) {
 
        foreach ($search_folders as $search_folder) {
 
-               $search_folder = str_replace($host,"",$search_folder);
+               $search_folder = str_replace($imap_host,"",$search_folder);
 
                if ($folder == $search_folder) {
                        echo "<option selected>$search_folder</option>";
 
filedropkartero.git-41992ae.tar.bz2 new
412.12 KB
28 downloads
filedropkartero.git-41992ae.zip
448.41 KB
12 downloads
filedropkartero.git-b404ba2.tar.bz2
411.70 KB
26 downloads
filedropkartero.git-b404ba2.zip
447.96 KB
9 downloads
filedropkartero.git-a7684d9.tar.bz2
411.72 KB
261 downloads
filedropkartero.git-a7684d9.zip
447.96 KB
373 downloads
filedropkartero.git-83512be.tar.bz2
410.26 KB
252 downloads
filedropkartero.git-83512be.zip
445.30 KB
208 downloads
filedropkartero.git-1954b25.tar.bz2
410.21 KB
245 downloads
filedropkartero.git-1954b25.zip
445.30 KB
205 downloads
filedropkartero.git-2f7c910.tar.bz2
410.25 KB
236 downloads
filedropkartero.git-2f7c910.zip
445.29 KB
191 downloads
filedropkartero.git-6317ffb.tar.bz2
410.40 KB
218 downloads
filedropkartero.git-6317ffb.zip
445.28 KB
173 downloads
filedropkartero.git-60ccd7a.tar.bz2
410.40 KB
205 downloads
filedropkartero.git-60ccd7a.zip
445.20 KB
169 downloads
filedropkartero.git-ea6f885.tar.bz2
410.47 KB
9 downloads
filedropkartero.git-ea6f885.zip
445.26 KB
149 downloads
filedropkartero.git-7f580e5.zip
445.17 KB
139 downloads
filedropkartero.git-7f580e5.tar.bz2
410.18 KB
163 downloads
filedropkartero.git-b9364de.tar.bz2
409.41 KB
153 downloads
filedropkartero.git-b9364de.zip
444.09 KB
396 downloads
filedropkartero.git-e9bcd78.zip
444.03 KB
377 downloads
filedropkartero.git-e9bcd78.tar.bz2
409.39 KB
422 downloads
filedropkartero.git-96c60ff.tar.bz2
407.96 KB
416 downloads
filedropkartero.git-96c60ff.zip
441.87 KB
350 downloads
filedropkartero.git-4357b59.tar.bz2
407.17 KB
408 downloads
filedropkartero.git-4357b59.zip
440.69 KB
352 downloads
filedropkartero.git-c6ff319.tar.bz2
407.28 KB
407 downloads
filedropkartero.git-c6ff319.zip
440.70 KB
333 downloads
filedropkartero.git-8b87a29.tar.bz2
407.27 KB
388 downloads
filedropkartero.git-8b87a29.zip
440.71 KB
332 downloads
filedropkartero.git-ee42942.tar.bz2
406.49 KB
347 downloads
filedropkartero.git-ee42942.zip
439.92 KB
310 downloads
filedropkartero.git-867e7e6.tar.bz2
406.75 KB
370 downloads
filedropkartero.git-867e7e6.zip
440.03 KB
313 downloads
filedropkartero.git-3f3fc02.tar.bz2
406.38 KB
365 downloads
filedropkartero.git-3f3fc02.zip
439.71 KB
337 downloads
filedropkartero.git-b6f779d.tar.bz2
406.55 KB
384 downloads
filedropkartero.git-b6f779d.zip
440.00 KB
297 downloads
filedropkartero.git-83f24b0.zip
439.12 KB
279 downloads
filedropkartero.git-52316ec.tar.bz2
406.17 KB
340 downloads
filedropkartero.git-52316ec.zip
439.18 KB
303 downloads
filedropkartero.git-83f24b0.tar.bz2
405.84 KB
336 downloads
filedropkartero.git-8a42d47.tar.bz2
405.73 KB
302 downloads
filedropkartero.git-8a42d47.zip
439.02 KB
275 downloads
filedropkartero.git-830c9cb.tar.bz2
406.08 KB
305 downloads
filedropkartero.git-830c9cb.zip
439.08 KB
273 downloads
filedropkartero.git-ebec1be.tar.bz2
406.16 KB
308 downloads
filedropkartero.git-ebec1be.zip
439.09 KB
303 downloads
filedropkartero.git-7c0b70f.tar.bz2
402.43 KB
292 downloads
filedropkartero.git-7c0b70f.zip
435.91 KB
266 downloads
filedropkartero.git-80edc03.tar.bz2
402.75 KB
306 downloads
filedropkartero.git-80edc03.zip
435.84 KB
278 downloads
filedropkartero.git-b408c23.tar.bz2
402.19 KB
298 downloads
filedropkartero.git-b408c23.zip
435.59 KB
282 downloads
filedropkartero.git-29c0e1f.tar.bz2
401.84 KB
301 downloads
filedropkartero.git-29c0e1f.zip
435.25 KB
294 downloads
filedropkartero.git-9086094.tar.bz2
401.94 KB
302 downloads
filedropkartero.git-9086094.zip
435.34 KB
295 downloads
filedropkartero.git-47ca624.tar.bz2
402.10 KB
300 downloads
filedropkartero.git-47ca624.zip
435.51 KB
262 downloads
filedropkartero.git-81314a5.zip
435.53 KB
282 downloads
filedropkartero.git-81314a5.tar.bz2
402.25 KB
297 downloads
filedropkartero.git-cae7074.zip
435.20 KB
278 downloads
filedropkartero.git-cae7074.tar.bz2
401.98 KB
313 downloads
filedropkartero.git-cc68e56.tar.bz2
402.07 KB
295 downloads
filedropkartero.git-cc68e56.zip
435.16 KB
308 downloads
filedropkartero.git-230f35d.tar.bz2
401.43 KB
281 downloads
filedropkartero.git-230f35d.zip
434.68 KB
295 downloads
filedropkartero.git-5ae58a2.tar.bz2
401.54 KB
284 downloads
filedropkartero.git-5ae58a2.zip
434.68 KB
268 downloads
filedropkartero.git-a591f4b.tar.bz2
401.76 KB
282 downloads
filedropkartero.git-a591f4b.zip
435.17 KB
276 downloads
filedropkartero.git-36876c8.tar.bz2
400.44 KB
280 downloads
filedropkartero.git-36876c8.zip
432.36 KB
298 downloads
filedropkartero.git-a34c9ed.tar.bz2
400.57 KB
304 downloads
filedropkartero.git-a34c9ed.zip
432.27 KB
289 downloads
filedropkartero.git-e828148.zip
433.58 KB
268 downloads
filedropkartero.git-e828148.tar.bz2
400.88 KB
291 downloads
filedropkartero.git-476cdda.tar.bz2
400.60 KB
321 downloads
filedropkartero.git-476cdda.zip
432.26 KB
281 downloads
filedropkartero.git-054c286.tar.bz2
98.09 KB
366 downloads
filedropkartero.git-054c286.zip
109.53 KB
341 downloads
filedropkartero.git-071b099.tar.bz2
98.76 KB
369 downloads
filedropkartero.git-071b099.zip
110.21 KB
341 downloads
filedropkartero.git-551c38d.tar.bz2
98.51 KB
374 downloads
filedropkartero.git-551c38d.zip
110.20 KB
333 downloads
filedropkartero.git-569dc0c.tar.bz2
98.40 KB
369 downloads
filedropkartero.git-569dc0c.zip
109.86 KB
325 downloads
filedropkartero.git-58a052b.tar.bz2
97.95 KB
368 downloads
filedropkartero.git-58a052b.zip
109.36 KB
337 downloads
filedropkartero.git-43a5af3.tar.bz2
97.80 KB
362 downloads
filedropkartero.git-43a5af3.zip
109.30 KB
335 downloads
filedropkartero.git-bbe069d.tar.bz2
98.03 KB
376 downloads
filedropkartero.git-bbe069d.zip
109.19 KB
339 downloads
filedropkartero.git-02f97e1.tar.bz2
97.76 KB
342 downloads
filedropkartero.git-02f97e1.zip
109.24 KB
431 downloads
filedropkartero.git-d82e393.tar.bz2
97.74 KB
374 downloads
filedropkartero.git-d82e393.zip
109.24 KB
340 downloads
filedropkartero.git-7cdd1f5.tar.bz2
98.03 KB
357 downloads
filedropkartero.git-7cdd1f5.zip
109.24 KB
321 downloads
filedropkartero.git-40825aa.tar.bz2
97.71 KB
358 downloads
filedropkartero.git-40825aa.zip
109.16 KB
358 downloads
filedropkartero.git-3dd941b.tar.bz2
97.69 KB
356 downloads
filedropkartero.git-3dd941b.zip
109.12 KB
332 downloads
filedropkartero.git-50f1e46.tar.bz2
97.65 KB
365 downloads
filedropkartero.git-50f1e46.zip
109.02 KB
335 downloads
filedropkartero.git-fdf9225.tar.bz2
93.19 KB
396 downloads
filedropkartero.git-fdf9225.zip
104.25 KB
345 downloads
filedropkartero.git-21415da.tar.bz2
93.24 KB
353 downloads
filedropkartero.git-21415da.zip
104.22 KB
346 downloads
filedropkartero.git-aff5e89.tar.bz2
93.17 KB
373 downloads
filedropkartero.git-aff5e89.zip
104.22 KB
337 downloads
filedropkartero.git-b27ef39.tar.bz2
91.97 KB
373 downloads
filedropkartero.git-b27ef39.zip
102.80 KB
362 downloads
filedropkartero.git-3d6e8a2.tar.bz2
91.99 KB
355 downloads
filedropkartero.git-3d6e8a2.zip
102.77 KB
359 downloads
filedropkartero.git-1442b69.tar.bz2
91.79 KB
351 downloads
filedropkartero.git-1442b69.zip
102.50 KB
362 downloads
filedropkartero.git-6d15918.tar.bz2
91.56 KB
374 downloads
filedropkartero.git-6d15918.zip
102.28 KB
330 downloads
filedropkartero.git-45140d8.tar.bz2
91.52 KB
376 downloads
filedropkartero.git-45140d8.zip
102.23 KB
335 downloads
filedropkartero.git-d5b48e5.tar.bz2
91.35 KB
364 downloads
filedropkartero.git-d5b48e5.zip
102.01 KB
347 downloads
filedropkartero.git-e007e55.tar.bz2
91.35 KB
376 downloads
filedropkartero.git-e007e55.zip
102.01 KB
319 downloads
filedropkartero.git-30fd7e3.tar.bz2
90.87 KB
352 downloads
filedropkartero.git-30fd7e3.zip
101.44 KB
348 downloads
filedropkartero.git-421a4a7.tar.bz2
88.02 KB
91 downloads
filedropkartero.git-421a4a7.zip
97.96 KB
323 downloads
filedropkartero.git-b49b8bc.tar.bz2
88.09 KB
394 downloads
filedropkartero.git-b49b8bc.zip
97.99 KB
340 downloads
filedropkartero.git-1cc9571.tar.bz2
87.74 KB
371 downloads
filedropkartero.git-1cc9571.zip
97.70 KB
344 downloads
filedropkartero.git-159152f.tar.bz2
87.60 KB
369 downloads
filedropkartero.git-159152f.zip
97.52 KB
350 downloads
filedropkartero.git-35caaf3.tar.bz2
87.74 KB
353 downloads
filedropkartero.git-35caaf3.zip
97.57 KB
333 downloads
filedropkartero.git-3c9d305.zip
96.67 KB
336 downloads
filedropkartero.git-3c9d305.tar.bz2
86.77 KB
359 downloads
filedropkartero.git-14cb2af.tar.bz2
86.41 KB
358 downloads
filedropkartero.git-14cb2af.zip
96.13 KB
340 downloads
filedropkartero.git-e8f00cb.tar.bz2
86.46 KB
378 downloads
filedropkartero.git-e8f00cb.zip
96.21 KB
329 downloads
filedropkartero.git-bdab380.tar.bz2
86.14 KB
371 downloads
filedropkartero.git-bdab380.zip
95.79 KB
332 downloads
filedropkartero.git-48f9134.tar.bz2
85.78 KB
375 downloads
filedropkartero.git-48f9134.zip
95.48 KB
343 downloads
filedropkartero.git-adb9757.tar.bz2
85.67 KB
364 downloads
filedropkartero.git-adb9757.zip
95.37 KB
334 downloads
filedropkartero.git-1601cbd.zip
95.30 KB
346 downloads
filedropkartero.git-1601cbd.tar.bz2
85.69 KB
346 downloads
filedropkartero.git-18a5106.tar.bz2
85.72 KB
347 downloads
filedropkartero.git-18a5106.zip
95.48 KB
349 downloads
filedropkartero.git-a5b1caa.tar.bz2
85.61 KB
381 downloads
filedropkartero.git-a5b1caa.zip
95.36 KB
342 downloads
filedropkartero.git-effff82.zip
97.06 KB
355 downloads
filedropkartero.git-effff82.tar.bz2
87.13 KB
369 downloads
filedropkartero.git-b70d364.tar.bz2
84.09 KB
407 downloads
filedropkartero.git-b70d364.zip
93.67 KB
348 downloads
filedropkartero.git-48f0e53.tar.bz2
84.16 KB
381 downloads
filedropkartero.git-48f0e53.zip
93.66 KB
342 downloads
filedropkartero.git-c17135e.tar.bz2
84.09 KB
364 downloads
filedropkartero.git-c17135e.zip
93.57 KB
328 downloads
filedropkartero.git-a2e2848.tar.bz2
85.59 KB
367 downloads
filedropkartero.git-a2e2848.zip
100.10 KB
341 downloads
filedropkartero.git-1f683db.tar.bz2
83.55 KB
367 downloads
filedropkartero.git-1f683db.zip
93.24 KB
337 downloads
filedropkartero.git-d342596.tar.bz2
83.57 KB
367 downloads
filedropkartero.git-d342596.zip
93.28 KB
328 downloads
filedropkartero.git-e0131d5.tar.bz2
83.55 KB
368 downloads
filedropkartero.git-e0131d5.zip
93.27 KB
345 downloads
filedropkartero.git-ad467e8.tar.bz2
83.13 KB
377 downloads
filedropkartero.git-ad467e8.zip
92.78 KB
334 downloads
filedropkartero.git-b20e27d.tar.bz2
83.46 KB
382 downloads
filedropkartero.git-b20e27d.zip
93.19 KB
360 downloads
filedropkartero.git-eefd8fe.zip
92.67 KB
366 downloads
filedropkartero.git-eefd8fe.tar.bz2
83.01 KB
368 downloads
filedropkartero.git-bea685a.zip
96.88 KB
341 downloads
filedropkartero.git-bea685a.tar.bz2
84.44 KB
361 downloads
filedropkartero.git-a8bd019.tar.bz2
84.25 KB
377 downloads
filedropkartero.git-a8bd019.zip
96.60 KB
336 downloads
filedropkartero.git-cbc914d.tar.bz2
84.38 KB
370 downloads
filedropkartero.git-cbc914d.zip
96.64 KB
325 downloads
filedropkartero.git-09a2e70.tar.bz2
84.40 KB
349 downloads
filedropkartero.git-09a2e70.zip
96.70 KB
349 downloads
filedropkartero.git-641dc05.tar.bz2
84.37 KB
369 downloads
filedropkartero.git-641dc05.zip
96.73 KB
337 downloads
filedropkartero.git-cde49c6.tar.bz2
84.26 KB
379 downloads
filedropkartero.git-cde49c6.zip
96.59 KB
340 downloads
filedropkartero.git-1d004e0.tar.bz2
77.42 KB
380 downloads
filedropkartero.git-1d004e0.zip
87.56 KB
22 downloads
filedropkartero.git-1f0bf17.tar.bz2
77.47 KB
377 downloads
filedropkartero.git-1f0bf17.zip
87.56 KB
336 downloads
filedropkartero.git-265e63c.tar.bz2
77.43 KB
358 downloads
filedropkartero.git-265e63c.zip
87.52 KB
369 downloads
filedropkartero.git-635a5db.zip
87.60 KB
338 downloads
filedropkartero.git-a041f85.tar.bz2
77.37 KB
382 downloads
filedropkartero.git-a041f85.zip
87.52 KB
368 downloads
filedropkartero.git-ae049a7.tar.bz2
77.44 KB
379 downloads
filedropkartero.git-ae049a7.zip
87.52 KB
338 downloads
filedropkartero.git-eef571a.tar.bz2
20.56 KB
491 downloads
filedropkartero.git-eef571a.zip
25.69 KB
468 downloads
filedropkartero.git-0bc16f5.tar.bz2
82.61 KB
398 downloads
filedropkartero.git-0bc16f5.zip
94.75 KB
375 downloads
filedropkartero.git-2afc0f7.tar.bz2
83.61 KB
397 downloads
filedropkartero.git-2afc0f7.zip
96.00 KB
392 downloads
filedropkartero.git-3529bdf.tar.bz2
77.72 KB
363 downloads
filedropkartero.git-3529bdf.zip
87.92 KB
369 downloads
filedropkartero.git-49aac92.tar.bz2
78.98 KB
408 downloads
filedropkartero.git-49aac92.zip
90.01 KB
371 downloads
filedropkartero.git-5d48f21.tar.bz2
78.65 KB
11 downloads
filedropkartero.git-5d48f21.zip
89.51 KB
400 downloads
filedropkartero.git-635a5db.tar.bz2
77.50 KB
420 downloads
filedropkartero.git-6e34786.tar.bz2
77.76 KB
430 downloads
filedropkartero.git-6e34786.zip
88.09 KB
413 downloads
filedropkartero.git-7dc2fd2.tar.bz2
83.51 KB
478 downloads
filedropkartero.git-7dc2fd2.zip
95.99 KB
419 downloads
filedropkartero.git-9cad005.tar.bz2
78.85 KB
474 downloads
filedropkartero.git-9cad005.zip
90.00 KB
462 downloads
filedropkartero.git-b303f61.tar.bz2
82.57 KB
511 downloads
filedropkartero.git-b303f61.zip
94.78 KB
135 downloads
filedropkartero.git-c15ef85.tar.bz2
77.76 KB
166 downloads
filedropkartero.git-c15ef85.zip
88.16 KB
156 downloads
filedropkartero.git-c99e84d.tar.bz2
83.58 KB
188 downloads
filedropkartero.git-c99e84d.zip
96.01 KB
170 downloads
filedropkartero.git-e5009e6.tar.bz2
78.73 KB
198 downloads
filedropkartero.git-e5009e6.zip
89.69 KB
184 downloads
filedropkartero.git-0502d01.tar.bz2
83.54 KB
213 downloads
filedropkartero.git-0502d01.zip
96.00 KB
195 downloads
filedropkartero.git-44ca46d.tar.bz2
83.73 KB
226 downloads
filedropkartero.git-44ca46d.zip
96.20 KB
204 downloads
filedropkartero.git-834f923.tar.bz2
83.75 KB
229 downloads
filedropkartero.git-834f923.zip
96.14 KB
214 downloads