diff --git a/src/Jirafeau/a.php b/src/Jirafeau/a.php
index aae06d3..dd69e84 100644
--- a/src/Jirafeau/a.php
+++ b/src/Jirafeau/a.php
@@ -39,7 +39,7 @@ define ('M_TOO_LONG_LOGGED', "Temps de connexion dépassé.");
define ('M_EMAIL_CONTENT', "Bonjour,
Ceci est un message automatique, car vous venez de cliquer sur une demande de consultation de vos pièces jointes.
!!! Si vous n'êtes pas à l'origine de cette demande, ne cliquez sur aucun lien de ce message. !!!
Le lien de connexion suivant est valable 15 minutes.
___LINK___
Vous pouvez signaler des abus auprès de Kaz en faisant suivre ce message qui contient les traces de son émetteur (___IP___, ___DATE___).
Bonne navigation.
.");
define ('M_DOWNLOAD', "Télécharger");
define ('M_UPDATE', "Prolonger");
-define ('M_EMAIL_SUBJECT', "Lien de consultation des envoies de pièces jointes.");
+define ('M_EMAIL_SUBJECT', "Lien de consultation des envois de pièces jointes.");
define ('M_FILE', " fichier.");
define ('M_FILES', " fichiers.");
define ('M_FILES_NOT_FOUND', " fichiers sont expirés.");
@@ -170,6 +170,7 @@ function getPeriod ($sender) {
// ========================================
function setFake ($sender, $dir_link, $dirTime) {
+ return;
if (!$sender)
return;
if (!file_exists (VAR_FAKE))
@@ -191,13 +192,18 @@ function isKazArchive ($link) {
jirafeau_escape ($link ['mime_type']) == T_ARCHIVE_MIME;
}
// ========================================
+function getFileName ($hash) {
+ $p = s2p ($hash);
+ return VAR_FILES.$p.$hash;
+}
+
function getTimeFile ($hash) {
- $p = s2p ("$hash");
- $f = VAR_FILES . $p . $hash;
+ $f = getFileName ($hash);
return file_exists ($f) ? filemtime ($f) : 0;
}
function valideTime ($t1, $t2) {
+ return true;
return abs ($t1 - $t2) < 60; // XXX delay
}
@@ -255,33 +261,37 @@ function read_archive_info ($link) {
// ========================================
function send_email ($receiver, $receiver_name, $subject, $body_string){
- // SERVER SETTINGS
- $mail = new PHPMailer (true);
- $mail->isSMTP ();
- $mail->Host = 'smtp';
- $mail->SMTPAuth = false;
- $mail->SMTPAutoTLS = false;
- $mail->SMTPSecure = "none";
- $mail->Port = 25;
- $mail->charSet = "UTF-8";
- $mail->ContentType = 'text/html';
+ try {
+ // SERVER SETTINGS
+ $mail = new PHPMailer (true);
+ $mail->isSMTP ();
+ $mail->Host = 'smtp';
+ $mail->SMTPAuth = false;
+ $mail->SMTPAutoTLS = false;
+ $mail->SMTPSecure = "none";
+ $mail->Port = 25;
+ $mail->charSet = "UTF-8";
+ $mail->ContentType = 'text/html';
- //Recipients (change this for every project)
- $mail->setFrom ('no-reply@kaz.local', '');
- $mail->addAddress ($receiver, $receiver_name);
+ //Recipients (change this for every project)
+ $mail->setFrom ('no-reply@kaz.local', '');
+ $mail->addAddress ($receiver, $receiver_name);
- //Content
- $mail->isHTML (true);
- $mail->Subject = $subject;
- $mail->Body = $body_string;
+ //Content
+ $mail->isHTML (true);
+ $mail->Subject = $subject;
+ $mail->Body = $body_string;
- //send the message, check for errors
- if (!$mail->send ()) {
- //echo 'Mailer Error: ' . $mail->ErrorInfo;
+ //send the message, check for errors
+ if (!$mail->send ()) {
+ //echo 'Mailer Error: ' . $mail->ErrorInfo;
+ return 0;
+ } else {
+ //echo 'Message sent!';
+ return 1;
+ }
+ } catch (Exception $e) {
return 0;
- } else {
- //echo 'Message sent!';
- return 1;
}
}
@@ -599,7 +609,11 @@ if (isset ($_REQUEST [A_ACTION]) && $_REQUEST [A_ACTION] == T_SEND && $sender) {
$result = send_email ($sender, "", M_EMAIL_SUBJECT,
str_replace (["___LINK___", "___IP___", "___DATE___"],
[$url, $_SERVER ['HTTP_X_REAL_IP'] , date ("Y-m-d H:i:s")], M_EMAIL_CONTENT));
- echo M_SEND_TOKEN;
+ if ($result)
+ echo M_SEND_TOKEN;
+ else
+ echo
+ "Erreur dans l'envoi. Véritiez votre mèl.";
}
require (JIRAFEAU_ROOT.'lib/template/footer.php');
exit;
@@ -655,19 +669,20 @@ function deleteAction ($link_name) {
global $sender, $token, $message, $doLogout;
$link = jirafeau_get_link ($link_name);
+ //$message .= "ln: ".$link_name." l: "."
".print_r ($link, 1)."mt: ".getTimeFile ($link ['hash']).""; if (!count ($link)) return; if (isKazArchive ($link)) { $dir_name = $link_name; $dir_link = $link; - $dirTime = getTimeFile ($dir_name); + $dirTime = getTimeFile ($dir_link ['hash']); $archive_info = read_archive_info ($dir_link); if (! count ($archive_info)) return; if ($sender != $archive_info [T_SENDER]) { setFake ($sender, $dir_link, $dirTime); - $message .= "Tentative de supprimer un envoi dont vous n'êtes pas le propriétaire"; - $doLogout = true; + $message .= "Tentative de supprimer un envoi dont vous n'êtes pas le propriétaire. (F1 ".$sender." != ".$archive_info [T_SENDER].")"; + //XXX $doLogout = true; return; } if ($archive_info [T_NEW]) @@ -675,11 +690,13 @@ function deleteAction ($link_name) { $file_link = jirafeau_get_link ($file_name); if (! count ($file_link)) continue; - $fileTime = getTimeFile ($file_name); + $fileTime = getTimeFile ($file_link ['hash']); if (! valideTime ($dirTime, $fileTime)) { setFake ($sender, $dir_link, $dirTime); - $message .= "Cet envoie a été forgée (dates incohéantes)."; - $doLogout = true; + $message .= "Cet envoi a été forgée (dates incohéantes). (F2 ". + getFileName ($dir_link ['hash'])." =? ".getFileName ($file_link ['hash'])." ". + date ("Y-m-d H:i:s", $dirTime)." != ".date ("Y-m-d H:i:s", $fileTime).")"; + // XXX $doLogout = true; return; } } @@ -713,7 +730,7 @@ function deleteAction ($link_name) { } /* Read link informations. */ $dir_link = jirafeau_get_link ($dir_name); - $dirTime = getTimeFile ($dir_name); + $dirTime = getTimeFile ($dir_link ['hash']); if (!count ($dir_link)) continue; if (!isKazArchive ($dir_link)) @@ -745,18 +762,18 @@ function deleteAction ($link_name) { break; } setFake ($sender, $dir_link, $dirTime); - $message .= "Cet envoie a été forgée (dates incohéantes ".$dirTime. " ".$fileTime.")."; - $dologout = true; + $message .= "Cet envoi a été forgée. (F3 ".date ("Y-m-d H:i:s", $dirTime)." != ".date ("Y-m-d H:i:s", $fileTime).")"; + // XXX $dologout = true; break; } if (valideTime ($dirTime, $fileTime)) { setFake ($sender, $dir_link, $dirTime); - $message .= "Tentative de supprimer un envoi dont vous n'êtes pas le propriétaire"; - $doLogout = true; + $message .= "Tentative de supprimer un envoi dont vous n'êtes pas le propriétaire. (F4 ".date ("Y-m-d H:i:s", $dirTime)." != ".date ("Y-m-d H:i:s", $fileTime).")"; + // XXX $doLogout = true; break; } setFake ($archive_info [T_SENDER], $dir_link, $dirTime); - $message .= "Quelqu'un avétait revandiqué cet envoi"; + $message .= "Quelqu'un avétait revandiqué cet envoi. (F5 ".$sender." != ".$archive_info [T_SENDER].")"; break; } } @@ -830,8 +847,9 @@ while ( ($d = array_shift ($stack)) && $d != null) { if ($sender != $archive_info [T_SENDER]) continue; $archive_info ['link'] = $dir_name; - $archive_info ['time'] = $l ['time']; $archive_info ['key'] = $l ['key']; + $archive_info ['time'] = $l ['time']; + $archive_info ['hash'] = $l ['hash']; $archives [] = $archive_info; } } @@ -899,7 +917,7 @@ $defaultChecked [getTrack ($sender) ? "on" : "off"] = ' checked="checked"'; $defaultChecked [getPeriod ($sender)] = ' selected="selected"'; echo ''. - ''; + ' la page.'; +$userSise = 0; +$userTab = []; if ($archives) { foreach ($archives as $archive_info) { - echo - '
Votre compte occupe '.jirafeau_human_size ($userSise).'.
'. + ''; +if (count ($userTab)) { + foreach ($userTab as $time => $entry) + echo $entry; } else - echo "Il n'y a aucune information vous concernant."; + echo + "Il n'y a aucune information vous concernant.
"; require (JIRAFEAU_ROOT.'lib/template/footer.php'); exit; diff --git a/src/bash/filter.sh b/src/bash/filter.sh index 6934383..0e9b2d8 100644 --- a/src/bash/filter.sh +++ b/src/bash/filter.sh @@ -51,7 +51,7 @@ INSPECT_DIR=/var/spool/filter FIC_LOG=/var/log/mail/filter.log SENDMAIL="/usr/sbin/sendmail -G -i" MAILS=/tmp/FILTER -MAX_KEEP_IN_MAIL=24ki +MAX_KEEP_IN_MAIL=5ki MAX_UPLOAD_SIZE=100Mi SHRINK_CMD=/home/filter/eMailShrinker JIRAFEAU_CMD=/home/filter/jirafeauAPI