Version °0.1

This commit is contained in:
David 2020-11-05 11:46:41 +01:00
parent 7b94eb8c7b
commit da87e6025f
24 changed files with 2605 additions and 74 deletions

View File

@ -4,12 +4,18 @@ Options -Indexes
RewriteEngine on
## Sécurité
RewriteRule ^config.yaml$ index.php?action=403
RewriteRule ^daemon.php$ index.php?action=403
# Rewrite
RewriteCond %{REQUEST_URI} ^/archive/example/
RewriteRule .* - [L]
RewriteRule ^(.+).html$ index.php?page=$1 [L]
RewriteRule ^spool_([0-9]+)$ index.php?session_id=$1 [L]
RewriteRule ^spool_([0-9]+)_DeleteApproval$ index.php?session_id=$1&DeleteApproval=1 [L]
#ErrorDocument 404 /index.php?action=404
#ErrorDocument 403 /index.php?action=403

View File

@ -1,46 +1,61 @@
# dépot GIT à reset !!!
# Lighten Mailbox (Béta) - Allégez votre boîte mail
Lighten Mailbox est une interface web qui permet de faire du ménage dans sa boîte mail. Ce ménage ce fait soit en supprimant des vieux messages, soit en les téléchargeant au format EML ou HTML/TXT. Le ménage ce fait par critère de date (début/fin) puis en sélectionnant les dossiers IMAP concernés.
php pdo mysql
Exemple d'utilisation : Télécharger et archiver ([exemple de rendu](https://lighten-mailbox.zici.fr/archive/example/)) ces emails vieux de 2 ans et les enregistrant sur un disque dur externe, puis (quand vous vous êtes assuré de lintégrité des donnée) supprimer ces messages.
yaml
openssl
Instance de test : http://lighten-mailbox.zici.fr/
Exemple d'index d'archive : https://lighten-mailbox.zici.fr/archive/example/ (utilisable hors ligne, dans un navigateur internet depuis une clé usb par exemple...)
## Installation
Pré-requis
* PHP > 7.0
* php dbo mysql
* php yaml
* composer
* php-mime-mail-parser
* net_dns2
* phpmailer
* Apache http serveur (for htaccess but nginix is possible)
* Mysql
* openssl
Télécharger le dépôt git et le rendre accessible en HTTP
Installation des dépendances php :
```bash
composer require php-mime-mail-parser/php-mime-mail-parser
composer require pear/net_dns2
composer require phpmailer
```
Theme en Wizard based on "Material Bootstrap Wizard"
Créer une base de donnée Mysql et y injecter le contenu de * *
### License
```bash
cat SQL/lightmb.sql | mysql -u utilisateur -p base
```
This is a free responsive Bootstrap form wizard.
Download it on <a href="http://azmind.com"><strong>AZMIND</strong></a>, customize and use it as you like!
Copier le fichier config.yaml
```bash
cp config.yaml_default config.yaml
```
Editer el fichier config.yaml et paramétrer ce dont vous avez besoin, notaement les accès Mysql, le mailer...
futur
futur :
https://kwynn.com/t/7/03/php_imap_oauth2.html
Intéroger base de données IMAP !
https://framework.zend.com/manual/1.12/fr/zend.mail.read.html
Pour le daemon, le script ini.d se trouve dans *init.d/lighten-mailbox*
@todo :
## Licence
prise en considération get (pour preview) dans le tabulator
lien github
lien exemple format archivage, format fichier HTML / brut exemple
By [David Mercereau](https://david.mercereau.info) Licence : [![Créative Common Zero](https://lighten-mailbox.zici.fr/assets/img/CC-Zero-badge.svg)](https://creativecommons.org/publicdomain/zero/1.0/deed.fr)
+ d'explication...
Theme en Wizard based on "Material Bootstrap Wizard" (free responsive Bootstrap form wizard download it on <a href="http://azmind.com"><strong>AZMIND</strong></a> !)
Page d'into / explication...
Page CGU !
Les projets libre utilisé dans ce projet :
https://github.com/php-mime-mail-parser/php-mime-mail-parser
max_execution_time 120 php...
Backup / archive / delete / smaller? your mailbox...
* Tabulator http://tabulator.info
* Jquery

139
SQL/lightmb.sql Normal file
View File

@ -0,0 +1,139 @@
-- phpMyAdmin SQL Dump
-- version 4.9.0.1
-- https://www.phpmyadmin.net/
--
-- Hôte : localhost
-- Généré le : sam. 31 oct. 2020 à 14:18
-- Version du serveur : 10.1.47-MariaDB-0+deb9u1
-- Version de PHP : 7.3.20-1+0~20200710.65+debian9~1.gbpc9cbeb
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Base de données : `lightmb`
--
-- --------------------------------------------------------
--
-- Structure de la table `archive`
--
CREATE TABLE `archive` (
`session_id` int(11) NOT NULL,
`file` varchar(255) NOT NULL,
`dateCreate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
--
-- Structure de la table `open`
--
CREATE TABLE `open` (
`id` int(11) NOT NULL,
`session_id` int(11) DEFAULT NULL,
`domain` varchar(200) NOT NULL,
`mx` varchar(250) NOT NULL,
`dateCreate` int(11) NOT NULL,
`imap_server` varchar(200) NOT NULL,
`imap_port` int(11) NOT NULL,
`imap_user` varchar(2) NOT NULL,
`imap_secure` tinyint(1) NOT NULL,
`imap_auth` tinyint(1) NOT NULL,
`imap_cert` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
--
-- Structure de la table `session`
--
CREATE TABLE `session` (
`id` int(11) NOT NULL,
`user` varchar(250) NOT NULL,
`domain` varchar(250) NOT NULL,
`dateCreate` int(11) NOT NULL,
`imap_folder` text,
`dateStart` int(11) DEFAULT NULL,
`dateEnd` int(11) DEFAULT NULL,
`what` tinyint(1) DEFAULT NULL COMMENT '1: archive + délete / 2 : archive / 3 delte',
`format` varchar(4) DEFAULT NULL,
`total_size` int(11) DEFAULT NULL,
`total_nb` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
--
-- Structure de la table `spooler`
--
CREATE TABLE `spooler` (
`id` int(11) NOT NULL,
`session_id` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`password` varchar(200) DEFAULT NULL,
`task` int(1) NOT NULL COMMENT '1 : archive / 2 : sup',
`status` tinyint(1) NOT NULL COMMENT '0 : error / 1 : Attente apro / 2 attente exec / 3 / en cours / 5 terminé'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Index pour les tables déchargées
--
--
-- Index pour la table `archive`
--
ALTER TABLE `archive`
ADD PRIMARY KEY (`session_id`);
--
-- Index pour la table `open`
--
ALTER TABLE `open`
ADD PRIMARY KEY (`id`);
--
-- Index pour la table `session`
--
ALTER TABLE `session`
ADD PRIMARY KEY (`id`);
--
-- Index pour la table `spooler`
--
ALTER TABLE `spooler`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT pour les tables déchargées
--
--
-- AUTO_INCREMENT pour la table `open`
--
ALTER TABLE `open`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT pour la table `spooler`
--
ALTER TABLE `spooler`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="88" height="31" viewBox="0 0 88 31" baseProfile="basic" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(66.666667%,69.803922%,67.058824%);fill-opacity:1;" d="M 2.300781 0.570313 L 85.429688 0.71875 C 86.589844 0.71875 87.628906 0.546875 87.628906 3.039063 L 87.527344 30.414063 L 0.203125 30.414063 L 0.203125 2.9375 C 0.203125 1.707031 0.324219 0.570313 2.300781 0.570313 Z "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 86.351563 0.199219 L 1.648438 0.199219 C 0.738281 0.199219 0 0.9375 0 1.847656 L 0 30.628906 C 0 30.832031 0.167969 31 0.371094 31 L 87.628906 31 C 87.832031 31 88 30.832031 88 30.628906 L 88 1.847656 C 88 0.9375 87.261719 0.199219 86.351563 0.199219 Z M 1.648438 0.945313 L 86.351563 0.945313 C 86.851563 0.945313 87.253906 1.347656 87.253906 1.847656 C 87.253906 1.847656 87.253906 13.46875 87.253906 21.851563 L 26.515625 21.851563 C 24.296875 25.863281 20.023438 28.585938 15.117188 28.585938 C 10.207031 28.585938 5.933594 25.863281 3.714844 21.851563 L 0.746094 21.851563 C 0.746094 13.46875 0.746094 1.847656 0.746094 1.847656 C 0.746094 1.347656 1.148438 0.945313 1.648438 0.945313 Z "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 46.753906 23.984375 L 50.832031 23.984375 L 50.832031 24.738281 L 48.230469 27.886719 L 50.90625 27.886719 L 50.90625 28.832031 L 46.679688 28.832031 L 46.679688 28.074219 L 49.28125 24.925781 L 46.753906 24.925781 L 46.753906 23.984375 M 51.8125 23.984375 L 55.183594 23.984375 L 55.183594 24.925781 L 53.0625 24.925781 L 53.0625 25.832031 L 55.058594 25.832031 L 55.058594 26.773438 L 53.0625 26.773438 L 53.0625 27.886719 L 55.253906 27.886719 L 55.253906 28.832031 L 51.8125 28.832031 L 51.8125 23.984375 M 58.132813 26.132813 C 58.394531 26.132813 58.582031 26.082031 58.695313 25.984375 C 58.808594 25.890625 58.867188 25.730469 58.867188 25.503906 C 58.867188 25.285156 58.808594 25.125 58.695313 25.03125 C 58.582031 24.9375 58.394531 24.890625 58.132813 24.890625 L 57.605469 24.890625 L 57.605469 26.132813 L 58.132813 26.132813 M 57.605469 26.996094 L 57.605469 28.832031 L 56.355469 28.832031 L 56.355469 23.984375 L 58.265625 23.984375 C 58.902344 23.984375 59.371094 24.089844 59.667969 24.304688 C 59.964844 24.519531 60.117188 24.855469 60.117188 25.320313 C 60.117188 25.640625 60.039063 25.902344 59.882813 26.109375 C 59.730469 26.316406 59.496094 26.464844 59.183594 26.5625 C 59.355469 26.601563 59.507813 26.691406 59.640625 26.832031 C 59.777344 26.964844 59.914063 27.175781 60.054688 27.453125 L 60.734375 28.832031 L 59.402344 28.832031 L 58.8125 27.625 C 58.691406 27.382813 58.570313 27.21875 58.445313 27.128906 C 58.324219 27.039063 58.164063 26.996094 57.960938 26.996094 L 57.605469 26.996094 M 63.6875 24.800781 C 63.304688 24.800781 63.011719 24.941406 62.800781 25.222656 C 62.589844 25.503906 62.484375 25.902344 62.484375 26.410156 C 62.484375 26.921875 62.589844 27.316406 62.800781 27.597656 C 63.011719 27.878906 63.304688 28.019531 63.6875 28.019531 C 64.070313 28.019531 64.367188 27.878906 64.578125 27.597656 C 64.785156 27.316406 64.890625 26.921875 64.890625 26.410156 C 64.890625 25.902344 64.785156 25.503906 64.578125 25.222656 C 64.367188 24.941406 64.070313 24.800781 63.6875 24.800781 M 63.6875 23.894531 C 64.464844 23.894531 65.078125 24.117188 65.519531 24.5625 C 65.960938 25.011719 66.179688 25.625 66.179688 26.410156 C 66.179688 27.195313 65.960938 27.808594 65.519531 28.253906 C 65.078125 28.703125 64.464844 28.925781 63.6875 28.925781 C 62.910156 28.925781 62.300781 28.703125 61.855469 28.253906 C 61.414063 27.808594 61.195313 27.195313 61.195313 26.410156 C 61.195313 25.625 61.414063 25.011719 61.855469 24.5625 C 62.300781 24.117188 62.910156 23.894531 63.6875 23.894531 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 25.121094 14.578125 C 25.125 20.097656 20.648438 24.578125 15.125 24.582031 C 9.605469 24.585938 5.125 20.113281 5.121094 14.589844 C 5.121094 14.585938 5.121094 14.582031 5.121094 14.578125 C 5.117188 9.054688 9.59375 4.578125 15.113281 4.574219 C 20.636719 4.570313 25.117188 9.042969 25.121094 14.566406 C 25.121094 14.570313 25.121094 14.574219 25.121094 14.578125 Z "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 23.25 6.433594 C 25.464844 8.652344 26.574219 11.367188 26.574219 14.578125 C 26.574219 17.789063 25.484375 20.476563 23.304688 22.636719 C 20.992188 24.910156 18.261719 26.046875 15.105469 26.046875 C 11.992188 26.046875 9.304688 24.921875 7.050781 22.664063 C 4.792969 20.410156 3.667969 17.714844 3.667969 14.578125 C 3.667969 11.441406 4.792969 8.726563 7.050781 6.433594 C 9.246094 4.214844 11.933594 3.109375 15.105469 3.109375 C 18.316406 3.109375 21.03125 4.214844 23.25 6.433594 Z M 8.542969 7.925781 C 6.667969 9.820313 5.730469 12.035156 5.730469 14.582031 C 5.730469 17.125 6.660156 19.324219 8.511719 21.175781 C 10.367188 23.03125 12.578125 23.960938 15.140625 23.960938 C 17.703125 23.960938 19.929688 23.023438 21.824219 21.148438 C 23.621094 19.410156 24.519531 17.21875 24.519531 14.582031 C 24.519531 11.960938 23.605469 9.738281 21.78125 7.910156 C 19.953125 6.085938 17.742188 5.171875 15.140625 5.171875 C 12.539063 5.171875 10.339844 6.089844 8.542969 7.925781 Z M 13.476563 13.460938 C 13.1875 12.835938 12.761719 12.523438 12.1875 12.523438 C 11.175781 12.523438 10.671875 13.207031 10.671875 14.566406 C 10.671875 15.925781 11.175781 16.605469 12.1875 16.605469 C 12.855469 16.605469 13.332031 16.277344 13.617188 15.613281 L 15.019531 16.359375 C 14.351563 17.542969 13.351563 18.136719 12.015625 18.136719 C 10.984375 18.136719 10.15625 17.824219 9.539063 17.191406 C 8.917969 16.558594 8.609375 15.6875 8.609375 14.578125 C 8.609375 13.488281 8.925781 12.621094 9.566406 11.980469 C 10.207031 11.335938 11.003906 11.015625 11.957031 11.015625 C 13.371094 11.015625 14.378906 11.574219 14.992188 12.6875 Z M 20.066406 13.460938 C 19.78125 12.835938 19.359375 12.523438 18.808594 12.523438 C 17.777344 12.523438 17.261719 13.207031 17.261719 14.566406 C 17.261719 15.925781 17.777344 16.605469 18.808594 16.605469 C 19.476563 16.605469 19.945313 16.277344 20.210938 15.613281 L 21.644531 16.359375 C 20.976563 17.542969 19.976563 18.136719 18.644531 18.136719 C 17.613281 18.136719 16.789063 17.824219 16.171875 17.191406 C 15.550781 16.558594 15.242188 15.6875 15.242188 14.578125 C 15.242188 13.488281 15.554688 12.621094 16.183594 11.980469 C 16.8125 11.335938 17.613281 11.015625 18.585938 11.015625 C 19.996094 11.015625 21.003906 11.574219 21.613281 12.6875 Z "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 60.03125 10.878906 C 60.03125 15.128906 58.308594 18.578125 56.183594 18.578125 C 54.054688 18.578125 52.332031 15.128906 52.332031 10.878906 C 52.332031 6.625 54.054688 3.179688 56.183594 3.179688 C 58.308594 3.179688 60.03125 6.625 60.03125 10.878906 Z "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 56.429688 2.417969 C 51.582031 2.417969 50.359375 6.996094 50.359375 10.875 C 50.359375 14.757813 51.582031 19.332031 56.429688 19.332031 C 61.28125 19.332031 62.5 14.757813 62.5 10.875 C 62.5 6.996094 61.28125 2.417969 56.429688 2.417969 Z M 56.429688 5.609375 C 56.628906 5.609375 56.808594 5.636719 56.976563 5.679688 C 57.324219 5.980469 57.496094 6.394531 57.160156 6.976563 L 53.929688 12.914063 C 53.832031 12.160156 53.816406 11.425781 53.816406 10.875 C 53.816406 9.167969 53.9375 5.609375 56.429688 5.609375 Z M 58.847656 8.34375 C 59.019531 9.257813 59.042969 10.207031 59.042969 10.875 C 59.042969 12.585938 58.925781 16.144531 56.429688 16.144531 C 56.234375 16.144531 56.054688 16.125 55.886719 16.082031 C 55.851563 16.074219 55.824219 16.0625 55.792969 16.050781 C 55.742188 16.035156 55.6875 16.019531 55.640625 16 C 55.082031 15.765625 54.734375 15.335938 55.238281 14.582031 Z "/>
</g>
<script xmlns=""/></svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
assets/img/en.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
assets/img/fr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 B

View File

@ -73,6 +73,10 @@ function imapDetectConfig() {
$('.btn-check').show();
$('.btn-next').hide();
} else if (data['result'] == true) {
$('.imapTestCon.success').show();
if ($('#f1-level').val() == 3) {
$('.imap-form').show();
}
$('.btn-check').hide();
$('.btn-next').show();
$('#imapTestCon').val(1);
@ -103,16 +107,21 @@ function imapDetectConfig() {
}
$('#imapfolder').append('</ul>');
});
// Expert & Intermédiaire
if ($('#f1-level').val() == 3 ||$('#f1-level').val() == 2) {
$('.imap-form').show();
// Novice
} else if ($('#f1-level').val() == 1) {
// Redirection prochaine étape
$('.f1-buttons.imap-form').show();
if ($('#f1-level').val() == 1) {
$('.imapfolder-group').hide();
$('.f1 .btn-next').get(0).click();
}
$('.f1-buttons').show();
// Expert & Intermédiaire
// if ($('#f1-level').val() == 3 ||$('#f1-level').val() == 2) {
// $('.imap-form').show();
// Novice
// # Avec ça, ça bug... (ça semble être le "click")
// } else if ($('#f1-level').val() == 1) {
// // Redirection prochaine étape
// $('.f1-buttons.imap-form').show();
// $('.imapfolder-group').hide();
// $('.f1 .btn-next').get(0).click();
// }
}
},
error: function (xhr, status) {
@ -133,20 +142,20 @@ function levelChange() {
// Expert
if ($('#f1-level').val() == 3) {
$('#f1-imapAutoDetect').prop('checked',false);
$('#f1-format').show();
$('.f1-format').show();
$('.form-group.imapAutoDetect').show();
$('#f1-folderBeginner').hide();
// Intermédiaire
} else if ($('#f1-level').val() == 2) {
$('#f1-imapAutoDetect').prop('checked',true);
$('.form-group.imapAutoDetect').show();
$('#f1-format').show();
$('.f1-format').show();
$('#f1-folderBeginner').hide();
// Novice
} else if ($('#f1-level').val() == 1) {
$('#f1-imapAutoDetect').prop('checked',true);
$('.form-group.imapAutoDetect').hide();
$('#f1-format').hide();
$('.f1-format').hide();
$('#f1-folderBeginner').show();
}
}
@ -200,7 +209,6 @@ jQuery(document).ready(function() {
$(this).removeClass('checkbox-error');
});
// next step
$('.f1 .btn-next').on('click', function() {
var next=true;
@ -293,6 +301,7 @@ jQuery(document).ready(function() {
$("input[name='f1-imapfolder[]']").addClass('checkbox-error');
} else {
$('.imap-form').hide();
$('.imapTestCon').hide();
$('.imapfolder-group').hide();
$('.previewWait').show();
var imapFolderConca = [];
@ -411,7 +420,6 @@ jQuery(document).ready(function() {
cert: cert
},
success: function( data ) {
console.log(data);
$('.imapTestCon').hide();
$('#imap-folder').empty();
if (data['result'] == false) {
@ -420,6 +428,10 @@ jQuery(document).ready(function() {
$('#f1-password').show();
$('.btn-check').show();
} else if (data['result'] == true) {
$('.imapTestCon.success').show();
if ($('#f1-level').val() != 3) {
$('.imap-form').hide();
}
// Remplissage du formulaire :
//~
data['folder'].forEach(function(item){
@ -431,6 +443,7 @@ jQuery(document).ready(function() {
}
});
$('.imapfolder-group').show();
$('.f1-buttons').show();
$('#imapTestCon').val(1);
$('.btn-check').hide();
$('.btn-next').show();

View File

@ -9,7 +9,7 @@ archive:
life: 15 # in Day
delete:
relaunch: # Relance après date de création
relaunch: # Relance après date de création (in day)
- 5
- 10

View File

@ -801,6 +801,7 @@ function mailSend($to, $subject, $body) {
if ($config['mailer']['certverify'] == false) { $mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); }
$mail->setFrom($config['mailer']['from'], $config['mailer']['from']);
if (isset($config['mailer']['replyto'])) { $mail->addReplyTo($config['mailer']['replyto']); }
if (isset($config['mailer']['bcc'])) { $mail->AddBCC($config['mailer']['bcc']); }
// Ccontenu
$mail->addAddress($to);
$mail->CharSet = 'UTF-8';
@ -846,5 +847,25 @@ function recurse_copy($src,$dst) {
}
function lang2locale($langue) {
global $langueEtLocalDispo;
if ($langueEtLocalDispo[$langue] != '') {
return $langueEtLocalDispo[$langue];
} else {
// par défaut
return 'en_US';
}
}
function locale2lang($localeRecherche) {
global $langueEtLocalDispo;
foreach($langueEtLocalDispo as $code=>$locale) {
if ($locale == $localeRecherche) {
return $code;
break;
}
}
// par défaut
return 'en';
}
?>

View File

@ -11,4 +11,66 @@ try {
exit('Database connexion fail : ' . $e->getMessage());
}
// CODE LOCALE (locale -a)
$langueEtLocalDispo=array( 'fr' => 'fr_FR',
'en' => 'en_US',
);
// Dans les URL on utilisera les codes langues https://support.crowdin.com/api/language-codes/
// On a une fonction pour retrouve le local à partir (et vis et versa)
/* Language */
if(php_sapi_name() != 'cli') {
if (isset($_GET['langueChange'])) {
$locale = lang2locale($_GET['langueChange']);
$localeshort=locale2lang($locale);
setcookie("langue",$localeshort,strtotime( '+1 year' ), '/');
} else {
if (isset($_COOKIE['langue'])) {
$locale = lang2locale($_COOKIE['langue']);
$localeshort=locale2lang($locale);
} else {
$HTTP_ACCEPT_LANGUAGE=$_SERVER['HTTP_ACCEPT_LANGUAGE'];
//echo $HTTP_ACCEPT_LANGUAGE.'<br />';
$lang_from_http_accept = explode(',', $HTTP_ACCEPT_LANGUAGE);
//echo $lang_from_http_accept[0].'<br />';
$locale = lang2locale($lang_from_http_accept[0]);
if (substr($locale,0,2) != substr($lang_from_http_accept[0],0,2)) {
//echo "Non trouvé, 2ème tentative";
$lang_from_http_accept = explode('-', $lang_from_http_accept[0]);
//echo $lang_from_http_accept[0].'<br />';
$locale = lang2locale($lang_from_http_accept[0]);
}
//echo $locale.'<br />';
$localeshort=locale2lang($locale);
}
}
// Définition de la langue :
$results=putenv("LC_ALL=$locale.utf8");
if (!$results) {
exit ('putenv failed');
}
$results=putenv("LC_LANG=$locale.utf8");
if (!$results) {
exit ('putenv failed');
}
$results=putenv("LC_LANGUAGE=$locale.utf8");
if (!$results) {
exit ('putenv failed');
}
$results=setlocale(LC_ALL, "$locale.utf8");
if (!$results) {
exit ('setlocale failed: locale function is not available on this platform, or the given local does not exist in this environment');
}
bindtextdomain("messages", "./lang");
textdomain("messages");
/* / language */
}
if (!is_writable($config['dir']['absolut'].'/'.$config['dir']['archive'])) {
exit(_('The directory '.$config['dir']['archive'].' is not accessible in writing, please report it to the administrator'));
}
?>

View File

@ -44,6 +44,9 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
display: none;
color: #FF5050;
}
.imapwarning a {
text-decoration: underline;
}
.form-group.imapAutoDetect {
display: none;
}
@ -61,6 +64,9 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
text-align: center;
display: none;
}
.imapTestCon.success{
color: #317c1d;
}
.imap-password {
display: none;
}
@ -82,6 +88,22 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
.overQuota {
display: none;
color: #FF5050;
font-weight: bold;
}
.logo {
font-weight: 700;
font-size: 200%;
}
.navbar-header{
padding: 20px;
}
.nav.navbar-nav.navbar-right li {
padding-left: 15px;
}
.footer {
background-color: rgba(255, 255, 255, 0.8);
margin-top: 60px;
padding: 20px;
}
</style>
</head>
@ -92,29 +114,31 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
<nav class="navbar navbar-inverse navbar-no-bg" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#top-navbar-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">BootZard - Bootstrap Wizard Template</a>
<a class="logo" href="/"><?= $config['title'] ?></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="top-navbar-1">
<ul class="nav navbar-nav navbar-right">
<?php
foreach($langueEtLocalDispo as $langShort=>$lang) {
$flag='';
if ($localeshort == $langShort) {
$flag=' drapeauActif';
}
echo '<li><span class="li-text"><a id="href'.$langShort.'" href="?langueChange='.$langShort.'"><img class="drapeau'.$flag.'" src="'.$config['baseUrl'].'assets/img/'.$langShort.'.png" alt="'.$langShort.'" width="23" height="15" /></a></span></li>';
}
?>
<li>
<span class="li-text">
Put some text or
</span>
<a href="#"><strong>links</strong></a>
<span class="li-text">
here, or some icons:
</span>
<span class="li-social">
<a href="https://github.com/AZMIND" target="_blank"><i class="fa fa-github"></i></a>
</span>
</li>
<span class="li-social">
<a href="https://framagit.org/kepon/lighten-mailbox/" target="_blank"><i class="fa fa-gitlab"></i></a>
</span>
</li>
<li>
<span class="li-social">
<a href="https://github.com/kepon85/lighten-mailbox" target="_blank"><i class="fa fa-github"></i></a>
</span>
</li>
</ul>
</div>
</div>
@ -155,7 +179,7 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
toLog(1, "SELECT session, error : ".$e->getMessage(), 0);
}
$sessionFetch = $session->fetch();
printf(_('<h4>Status of your request [%d]</h4>'), $_GET['session_id']);
printf('<h4>'._('Status of your request [%d]').'</h4>', $_GET['session_id']);
printf('<p>'._('For %s on %s').'</p>', myDecrypt($sessionFetch['user']), $sessionFetch['domain']);
// echo
if (count($sessionFetch) == 1) {
@ -231,6 +255,12 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
}
} else if (isset($_GET['page'])) {
if (is_file('page/'.$_GET['page'].'.html')) {
include('page/'.$_GET['page'].'.html');
} else {
echo "404 Not Found";
}
} else { ?>
@ -262,7 +292,7 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
<option value="3"><?= _('Expert') ?></option>
</select>
<label for="f1-what"><?= _('What do you want to do ?') ?> (<a><?= _('archive example') ?></a>) </label>
<label for="f1-what" class="f1-what"><?= _('What do you want to do ?') ?> (<a href="https://lighten-mailbox.zici.fr/archive/example/" target="_blank"><?= _('archive example') ?></a>) </label>
<select id="f1-what" class="f1-what form-control" name="f1-what">
<option value="1" selected="selected"><?= _('Archive (download these emails) then delete') ?></option>
<option value="2"><?= _('Archive (download these emails)') ?></option>
@ -279,12 +309,12 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
<p><?= _('Select emails') ?></p>
<span><?= _('From') ?></span>
<input type="date" id="f1-dateStart" name="f1-dateStart"
value="<?= date('Y-m-d', strtotime('-1 year')) ?>"
value="<?= date('Y-m-d', strtotime('-2 year')) ?>"
min="1990-01-01" max="<?= date('Y-m-d', strtotime('-1 day')) ?>">
<span><?= _('To') ?></span>
<input type="date" id="f1-dateEnd" name="f1-dateEnd"
value="<?= date('Y-m-d') ?>"
value="<?= date('Y-m-d', strtotime('-1 year')) ?>"
min="1990-01-02" max="<?= date('Y-m-d', strtotime('+1 day')) ?>">
</div>
@ -307,9 +337,7 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
<div class="imapwarning gmail">
<h4><?= _('Warning') ?> gmail.com :</h4>
<p><?=_('Activer IMAP dans Gmail
puis : https://myaccount.google.com/lesssecureapps
https://support.google.com/accounts/answer/6010255?hl=en
<p><?=_('Activate IMAP in your Gmail settings then <a target="_blank" href="https://myaccount.google.com/lesssecureapps">on this page</a> click on "Allow less secure applications" : enable (<a target="_blank" href="https://support.google.com/accounts/answer/6010255?hl=en">source</a>)
')?></p></div>
<div class="form-group">
@ -324,7 +352,7 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
</div>
<div class="f1-buttons">
<input class="f1-cgu" type="checkbox" name="f1-cgu" id="f1-cgu">
<label for="f1-cgu"><?= _('I accept the general terms of use') ?></label>
<label for="f1-cgu"><a href="./cgu.html"><?= _('I accept the general terms of use') ?></a></label>
<button type="button" class="btn btn-next"><?= _('Next') ?></button>
</div>
</fieldset>
@ -358,6 +386,10 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
<p><?= _('Contact your email provider for more information on your IMAP connection settings. Check if your password is correct.') ?></p>
</div>
<div class="imapTestCon success">
<p><?= _('The connection to your mailbox has been successful!') ?></p>
</div>
<div class="form-group imap-form imap-detectAuto">
<input class="btn" type="button" id="f1-detectAuto" value="<?= _('Automatically search for IMAP settings') ?>" />
</div>
@ -376,7 +408,7 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
</div>
<div class="form-group imap-form">
<label class="" for="f1-server"><?= _('IMAP serveur') ?></label>
<label class="" for="f1-server"><?= _('IMAP server') ?></label>
<input type="text" name="f1-server" placeholder="ex: imap.provider.com" class="f1-server form-control imap-config" id="f1-server">
<label class="" for="f1-port"><?= _('IMAP port') ?></label>
@ -395,7 +427,7 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
</select>
<p><input type="checkbox" id="f1-cert" checked="checked" class="imap-config" />
<label for="f1-cert"><?= _('Validate the certificate') ?> : </label></p>
<label for="f1-auth"><?= _('Méthode d\'authentification') ?> : </label>
<label for="f1-auth"><?= _('Authentication method') ?> : </label>
<select id="f1-auth" class="f1-ssl form-control imap-config" name="f1-auth">
<option value="0"><?= _('Normal') ?></option>
<option value="1" selected="selected"><?= _('Encrypt') ?></option>
@ -423,12 +455,14 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
<fieldset>
<h4><?= _('Validation') ?><h4>
<div class="form-group">
<p><?= _('Here is an overview of the impact of your request:') ?></p>
<table id="folderPreviewList">
<tr>
<th><?= _('Folder name') ?></th><th><?= _('Number of emails selected') ?></th><th><?= _('Selected email sizes') ?></th>
</tr>
</table>
</div>
<div class="overQuota"><?= _('Over quota : Your archive exceeds the allowed quota size. A tip: reduce the time range (just 1 years, 6 months ...)') ?></div>
<div class="validation-result">
<p><?= _('Here we go !') ?></p>
<p><?= _('You can follow the progress of your request by the address: ') ?> <span id="spoolUrl"></span></p>
@ -445,6 +479,12 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
<?php } ?>
</form>
</div>
<div class="col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3 footer">
Lighten-mailbox v<?= VERSION ?> - By <a href="https://david.mercereau.info">David Mercereau</a> - Licence : <a href="https://creativecommons.org/publicdomain/zero/1.0/deed.fr"><img src="assets/img/CC-Zero-badge.svg" width="100" alt="Créative Common Zero" /></a> - <a href="https://framagit.org/kepon/lighten-mailbox/">Sources</a>
</div>
</div>
</div>
@ -475,7 +515,6 @@ if (isset($_GET['DeleteApproval']) && isset($_GET['session_id'])) {
} else {
$('.f1-format').show();
}
});
// On recopie
$('#f1-password-first').on('change',function(){

View File

@ -5,6 +5,8 @@
# Configure THIS !!
DIR="/var/www/lighten-mailbox.zici.fr/web"
USER="web242"
#USER="www-data"
NAME=lighten-mailbox
DESC="Daemon PHP CLI script"
@ -14,7 +16,7 @@ LOGFILE="/var/log/${NAME}.log"
DAEMON="/usr/bin/php ${DIR}/daemon.php"
DAEMON_OPTS="-d ${DIR}"
START_OPTS="--start --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ${DAEMON_OPTS}"
START_OPTS="--start --background --chuid ${USER} --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ${DAEMON_OPTS}"
STOP_OPTS="--stop --pidfile ${PIDFILE}"
set -e

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,408 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-05 11:38+0100\n"
"PO-Revision-Date: 2020-11-05 11:44+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.4\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: daemon.php:105
msgid "When you have downloaded your archive and you have checked that its content is readable, you can start the cleaning (deletion of archived messages) by this link (irrevocable decision):"
msgstr "Lorsque vous avez téléchargé votre archive et que vous avez vérifié que son contenu est lisible, vous pouvez lancer le nettoyage (suppression des messages archivés) par ce lien (décision irrévocable):"
#: daemon.php:107 daemon.php:135 daemon.php:195
msgid "Archive ready to download"
msgstr "Archive prête à télécharger"
#: daemon.php:107 daemon.php:135 daemon.php:195 form.php:192
msgid "Hello"
msgstr "Salut"
#: daemon.php:109 daemon.php:197 index.php:220
msgid "Your archive is available for download until the"
msgstr "Votre archive est disponible au téléchargement jusqu'au"
#: daemon.php:109 daemon.php:197 index.php:220
msgid "by this link:"
msgstr "par ce lien:"
#: daemon.php:137
msgid "Congratulations, you have relieved your mailbox of"
msgstr "Félicitations, vous avez allégé votre boîte aux lettres de"
#: daemon.php:137
msgid "emails"
msgstr "emails"
#: daemon.php:195
msgid "Relaunch"
msgstr "Relancer"
#: daemon.php:199
msgid "And above all, if you have already downloaded it:"
msgstr "Et surtout, si vous l'avez déjà téléchargé:"
#: daemon.php:201
msgid "You can start the cleaning (deletion of archived messages) by this link (irrevocable decision):"
msgstr "Vous pouvez démarrer le nettoyage (suppression des messages archivés) par ce lien (décision irrévocable):"
#: form.php:192
msgid "Queuing"
msgstr "En file d'attente"
#: form.php:194 index.php:468
msgid "You can follow the progress of your request by the address: "
msgstr "Vous pouvez suivre l'avancement de votre demande par l'adresse: "
#: functions.php:737
msgid "Error"
msgstr "Erreur"
#: functions.php:740
msgid "Waiting for approval"
msgstr "En attente d'approbation"
#: functions.php:743
msgid "Waiting"
msgstr "En attente"
#: functions.php:746
msgid "In progress"
msgstr "En cours"
#: functions.php:749
msgid "Finished"
msgstr "Terminé"
#: functions.php:752
msgid "Unknown"
msgstr "Inconnue"
#: header.php:73
msgid "The directory "
msgstr "Le répertoire "
#: index.php:168
msgid "Lighten your mailbox"
msgstr "Allégez votre boîte mail"
#: index.php:182
#, php-format
msgid "Status of your request [%d]"
msgstr "État de votre demande [%d]"
#: index.php:183
#, php-format
msgid "For %s on %s"
msgstr "Pour %s sur %s"
#: index.php:186
msgid "Error session : Not Found"
msgstr "Erreur : session introuvable"
#: index.php:191
msgid "Creation of an archive of your emails: "
msgstr "Création d'une archive de vos emails : "
#: index.php:208 index.php:245
#, php-format
msgid "(In front of you : %d, each in turn ...)"
msgstr "(%d devant vous, chacun à son tour ...)"
#: index.php:222
#, php-format
msgid "It is no longer possible to recover your archive, the deadline of %d days has expired."
msgstr "Il n'est plus possible de récupérer votre archive, le délai de %d jours est dépassé."
#: index.php:228
msgid "Deleting your emails: "
msgstr "Supprimer vos e-mails: "
#: index.php:247
msgid " (after archive)"
msgstr " (après archive)"
#: index.php:249
msgid "It's time to clean up!"
msgstr "Il est temps de nettoyer !"
#: index.php:267
msgid "Online storage is very important on the environment, this tool offers you to archive your messages by downloading them for storage on an external hard drive / USB key ..."
msgstr "Le stockage en ligne est très énergivore et destructeur pour l'environnement, cet outil (libre et gratuit) vous propose d'archiver vos messages en les téléchargeant pour stockage sur votre ordinateur, disque dur externe, clé USB ..."
#: index.php:274
msgid "Your account"
msgstr "Votre compte"
#: index.php:278
msgid "Setting"
msgstr "Réglage"
#: index.php:282 index.php:456
msgid "Validation"
msgstr "Validation"
#: index.php:288
msgid "Level of computer knowledge"
msgstr "Niveau de connaissance informatique"
#: index.php:290
msgid "Beginner"
msgstr "Débutant"
#: index.php:291
msgid "Enlightened"
msgstr "Éclairé"
#: index.php:292
msgid "Expert"
msgstr "Expert"
#: index.php:295
msgid "What do you want to do ?"
msgstr "Qu'est-ce que tu veux faire ?"
#: index.php:295
msgid "archive example"
msgstr "exemple d'archive"
#: index.php:297
msgid "Archive (download these emails) then delete"
msgstr "Archiver (télécharger mes e-mails) puis (après validation), supprimer"
#: index.php:298
msgid "Archive (download these emails)"
msgstr "Archiver (télécharger mes e-mails)"
#: index.php:299
msgid "Delete these emails"
msgstr "Supprimer ces e-mails"
#: index.php:302
msgid "In what format do you want to download these emails ?"
msgstr "Dans quel format souhaitez-vous télécharger vos e-mails?"
#: index.php:305
msgid "Open with Thunderbird, Outlook..."
msgstr "Ouvrir avec Thunderbird, Outlook ..."
#: index.php:309
msgid "Select emails"
msgstr "Sélectionnez les e-mails"
#: index.php:310
msgid "From"
msgstr "De"
#: index.php:315
msgid "To"
msgstr "A"
#: index.php:322
msgid "The emails that can be found"
msgstr "Les e-mails qui se trouvent"
#: index.php:324
msgid "Just the messages received"
msgstr "Juste les messages reçus"
#: index.php:325
msgid "Message received + sent"
msgstr "Message reçu + envoyé"
#: index.php:331
msgid "Enter your email information"
msgstr "Entrez vos informations de messagerie"
#: index.php:334
msgid "Email adress"
msgstr "Adresse e-mail"
#: index.php:339
msgid "Warning"
msgstr "Attention"
#: index.php:340
msgid ""
"Activate IMAP in your Gmail settings then <a target=\"_blank\" href=\"https://myaccount.google.com/lesssecureapps\">on this page</a> click on \"Allow less secure applications\" : enable (<a target=\"_blank\" href=\"https://support.google.com/accounts/answer/6010255?hl=en\">source</a>)\n"
" "
msgstr ""
"Activez IMAP dans vos paramètres Gmail puis <a target=\"_blank\" href=\"https://myaccount.google.com/lesssecureapps\"> sur cette page </a> cliquez sur \"Autoriser les applications moins sécurisées\" : activez (<a target = \"_ blank\" href = \"https://support.google.com/accounts/answer/6010255?hl=fr\"> source </a>)\n"
" "
#: index.php:344
msgid "Email password"
msgstr "Mot de passe de l'email"
#: index.php:345 index.php:407
msgid "Your email password"
msgstr "Votre mot de passe de messagerie"
#: index.php:346
#, php-format
msgid "Note for your password : You are using free software (the code of which is available here), so you can verify that it is used (encrypted with %s) so that the software performs the requested action temporarily. As soon as the action is started the password is deleted. Despite this it is good to change your password frequently, why not tomorrow?"
msgstr "Remarque pour votre mot de passe: vous utilisez un logiciel libre (dont le code est disponible ici), vous pouvez donc vérifier qu'il est utilisé (chiffré avec %s) afin que le logiciel effectue temporairement l'action demandée (archivage, suppression). Dès que l'action est démarré, le mot de passe est supprimé. Malgré cela, il est bon de changer fréquemment de mot de passe, pourquoi pas demain?"
#: index.php:351
msgid "Automatic detection of IMAP parameters"
msgstr "Détection automatique des paramètres IMAP"
#: index.php:355
msgid "I accept the general terms of use"
msgstr "J'accepte les conditions générales d'utilisation"
#: index.php:356 index.php:450
msgid "Next"
msgstr "Suivant"
#: index.php:361
msgid "Email IMAP Connexion"
msgstr "Connexion IMAP"
#: index.php:366
msgid "We are trying to detect your IMAP configuration, please wait"
msgstr "Nous essayons de détecter votre configuration IMAP, veuillez patienter"
#: index.php:368 index.php:374 index.php:449 index.php:472
msgid "Cancel"
msgstr "Annuler"
#: index.php:372
msgid "We create an overview for validation, please wait"
msgstr "Nous créons un aperçu pour validation, veuillez patienter"
#: index.php:378
msgid "An error occured"
msgstr "Une erreur s'est produite"
#: index.php:382
msgid "We were unable to automatically detect your configuration, but you can specify it manually. Contact your email provider for more information on your IMAP connection settings. Check if your password is correct, otherwise automatic discovery is impossible."
msgstr "Nous n'avons pas pu détecter automatiquement votre configuration, mais vous pouvez la spécifier manuellement. Contactez votre fournisseur de messagerie pour plus d'informations sur vos paramètres de connexion IMAP. Vérifiez si votre mot de passe est correct, sinon la découverte automatique est impossible."
#: index.php:386
msgid "Contact your email provider for more information on your IMAP connection settings. Check if your password is correct."
msgstr "Contactez votre fournisseur de messagerie pour plus d'informations sur vos paramètres de connexion IMAP. Vérifiez si votre mot de passe est correct."
#: index.php:390
msgid "The connection to your mailbox has been successful!"
msgstr "La connexion à votre boîte aux lettres a réussi!"
#: index.php:394
msgid "Automatically search for IMAP settings"
msgstr "Rechercher automatiquement les paramètres IMAP"
#: index.php:398
msgid "IMAP username"
msgstr "Nom d'utilisateur IMAP"
#: index.php:406
msgid "IMAP password"
msgstr "Mot de passe IMAP"
#: index.php:411
msgid "IMAP server"
msgstr "Serveur IMAP"
#: index.php:414
msgid "IMAP port"
msgstr "Port IMAP"
#: index.php:422
msgid "Connection security"
msgstr "Sécurité de la connexion"
#: index.php:424
msgid "None"
msgstr "Aucune"
#: index.php:425
msgid "STARTTLS"
msgstr "STARTTLS"
#: index.php:426
msgid "SSL/TLS"
msgstr "SSL/TLS"
#: index.php:429
msgid "Validate the certificate"
msgstr "Validez le certificat"
#: index.php:430
msgid "Authentication method"
msgstr "Méthode d'authentification"
#: index.php:432
msgid "Normal"
msgstr "Normal"
#: index.php:433
msgid "Encrypt"
msgstr "Crypter"
#: index.php:438
msgid "Select the IMAP folders to use"
msgstr "Sélectionnez les dossiers IMAP à utiliser"
#: index.php:445
msgid "Current connection..."
msgstr "Connexion actuelle ..."
#: index.php:451
msgid "Check the connection"
msgstr "Vérifiez la connexion"
#: index.php:458
msgid "Here is an overview of the impact of your request:"
msgstr "Voici un aperçu de l'impact de votre demande:"
#: index.php:461
msgid "Folder name"
msgstr "Nom de dossier"
#: index.php:461
msgid "Number of emails selected"
msgstr "Nombre d'e-mails sélectionnés"
#: index.php:461
msgid "Selected email sizes"
msgstr "Tailles d'e-mail sélectionnées"
#: index.php:465
msgid "Over quota : Your archive exceeds the allowed quota size. A tip: reduce the time range (just 1 years, 6 months ...)"
msgstr "Dépassement du quota : votre archive dépasse la taille de quota autorisée. Un conseil : réduisez la durée sélectionnée (seulement 1 an, 6 mois ...)"
#: index.php:467
msgid "Here we go !"
msgstr "Et c'est parti !"
#: index.php:469
msgid "You will be redirected there automatically in a few seconds"
msgstr "Vous y serez redirigé automatiquement dans quelques secondes"
#: index.php:473
msgid "Validate"
msgstr "Valider"
#: index.php:547
msgid "You are about to delete the messages in your previously selected mailbox.\\nNote: if you have requested an archive check that the download went well, that the archive is readable and that the messages are present."
msgstr "Vous êtes sur le point de supprimer les messages de votre boîte aux lettres précédemment sélectionnée. \\n Remarque: si vous avez demandé une archive, vérifiez que le téléchargement s'est bien déroulé, que l'archive est lisible, que les messages sont présents."
#~ msgid ""
#~ "Activate IMAP in your Gmail settings then <a href=\"https://myaccount.google.com/lesssecureapps\">on this page</a> click on \"Allow less secure applications\" : enable (<a href=\"https://support.google.com/accounts/answer/6010255?hl=en\">source</a>)\n"
#~ " "
#~ msgstr "Activez IMAP dans vos paramètres Gmail puis <a href=\"https://myaccount.google.com/lesssecureapps\"> sur cette page </a> cliquez sur \"Autoriser les applications moins sécurisées\": activez (<a href = \"https: //support.google.com/accounts/answer/6010255?hl=fr\">source </a>)"
#~ msgid "IMAP serveur"
#~ msgstr "Serveur IMAP"

1
lang/fr_FR Symbolic link
View File

@ -0,0 +1 @@
./fr

426
lang/messages.pot Normal file
View File

@ -0,0 +1,426 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-05 11:38+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: daemon.php:105
msgid ""
"When you have downloaded your archive and you have checked that its content "
"is readable, you can start the cleaning (deletion of archived messages) by "
"this link (irrevocable decision):"
msgstr ""
#: daemon.php:107 daemon.php:135 daemon.php:195
msgid "Archive ready to download"
msgstr ""
#: daemon.php:107 daemon.php:135 daemon.php:195 form.php:192
msgid "Hello"
msgstr ""
#: daemon.php:109 daemon.php:197 index.php:220
msgid "Your archive is available for download until the"
msgstr ""
#: daemon.php:109 daemon.php:197 index.php:220
msgid "by this link:"
msgstr ""
#: daemon.php:137
msgid "Congratulations, you have relieved your mailbox of"
msgstr ""
#: daemon.php:137
msgid "emails"
msgstr ""
#: daemon.php:195
msgid "Relaunch"
msgstr ""
#: daemon.php:199
msgid "And above all, if you have already downloaded it:"
msgstr ""
#: daemon.php:201
msgid ""
"You can start the cleaning (deletion of archived messages) by this link "
"(irrevocable decision):"
msgstr ""
#: form.php:192
msgid "Queuing"
msgstr ""
#: form.php:194 index.php:468
msgid "You can follow the progress of your request by the address: "
msgstr ""
#: functions.php:737
msgid "Error"
msgstr ""
#: functions.php:740
msgid "Waiting for approval"
msgstr ""
#: functions.php:743
msgid "Waiting"
msgstr ""
#: functions.php:746
msgid "In progress"
msgstr ""
#: functions.php:749
msgid "Finished"
msgstr ""
#: functions.php:752
msgid "Unknown"
msgstr ""
#: header.php:73
msgid "The directory "
msgstr ""
#: index.php:168
msgid "Lighten your mailbox"
msgstr ""
#: index.php:182
#, php-format
msgid "Status of your request [%d]"
msgstr ""
#: index.php:183
#, php-format
msgid "For %s on %s"
msgstr ""
#: index.php:186
msgid "Error session : Not Found"
msgstr ""
#: index.php:191
msgid "Creation of an archive of your emails: "
msgstr ""
#: index.php:208 index.php:245
#, php-format
msgid "(In front of you : %d, each in turn ...)"
msgstr ""
#: index.php:222
#, php-format
msgid ""
"It is no longer possible to recover your archive, the deadline of %d days "
"has expired."
msgstr ""
#: index.php:228
msgid "Deleting your emails: "
msgstr ""
#: index.php:247
msgid " (after archive)"
msgstr ""
#: index.php:249
msgid "It's time to clean up!"
msgstr ""
#: index.php:267
msgid ""
"Online storage is very important on the environment, this tool offers you to "
"archive your messages by downloading them for storage on an external hard "
"drive / USB key ..."
msgstr ""
#: index.php:274
msgid "Your account"
msgstr ""
#: index.php:278
msgid "Setting"
msgstr ""
#: index.php:282 index.php:456
msgid "Validation"
msgstr ""
#: index.php:288
msgid "Level of computer knowledge"
msgstr ""
#: index.php:290
msgid "Beginner"
msgstr ""
#: index.php:291
msgid "Enlightened"
msgstr ""
#: index.php:292
msgid "Expert"
msgstr ""
#: index.php:295
msgid "What do you want to do ?"
msgstr ""
#: index.php:295
msgid "archive example"
msgstr ""
#: index.php:297
msgid "Archive (download these emails) then delete"
msgstr ""
#: index.php:298
msgid "Archive (download these emails)"
msgstr ""
#: index.php:299
msgid "Delete these emails"
msgstr ""
#: index.php:302
msgid "In what format do you want to download these emails ?"
msgstr ""
#: index.php:305
msgid "Open with Thunderbird, Outlook..."
msgstr ""
#: index.php:309
msgid "Select emails"
msgstr ""
#: index.php:310
msgid "From"
msgstr ""
#: index.php:315
msgid "To"
msgstr ""
#: index.php:322
msgid "The emails that can be found"
msgstr ""
#: index.php:324
msgid "Just the messages received"
msgstr ""
#: index.php:325
msgid "Message received + sent"
msgstr ""
#: index.php:331
msgid "Enter your email information"
msgstr ""
#: index.php:334
msgid "Email adress"
msgstr ""
#: index.php:339
msgid "Warning"
msgstr ""
#: index.php:340
msgid ""
"Activate IMAP in your Gmail settings then <a target=\"_blank\" href="
"\"https://myaccount.google.com/lesssecureapps\">on this page</a> click on "
"\"Allow less secure applications\" : enable (<a target=\"_blank\" href="
"\"https://support.google.com/accounts/answer/6010255?hl=en\">source</a>)\n"
" "
msgstr ""
#: index.php:344
msgid "Email password"
msgstr ""
#: index.php:345 index.php:407
msgid "Your email password"
msgstr ""
#: index.php:346
#, php-format
msgid ""
"Note for your password : You are using free software (the code of which is "
"available here), so you can verify that it is used (encrypted with %s) so "
"that the software performs the requested action temporarily. As soon as the "
"action is started the password is deleted. Despite this it is good to change "
"your password frequently, why not tomorrow?"
msgstr ""
#: index.php:351
msgid "Automatic detection of IMAP parameters"
msgstr ""
#: index.php:355
msgid "I accept the general terms of use"
msgstr ""
#: index.php:356 index.php:450
msgid "Next"
msgstr ""
#: index.php:361
msgid "Email IMAP Connexion"
msgstr ""
#: index.php:366
msgid "We are trying to detect your IMAP configuration, please wait"
msgstr ""
#: index.php:368 index.php:374 index.php:449 index.php:472
msgid "Cancel"
msgstr ""
#: index.php:372
msgid "We create an overview for validation, please wait"
msgstr ""
#: index.php:378
msgid "An error occured"
msgstr ""
#: index.php:382
msgid ""
"We were unable to automatically detect your configuration, but you can "
"specify it manually. Contact your email provider for more information on "
"your IMAP connection settings. Check if your password is correct, otherwise "
"automatic discovery is impossible."
msgstr ""
#: index.php:386
msgid ""
"Contact your email provider for more information on your IMAP connection "
"settings. Check if your password is correct."
msgstr ""
#: index.php:390
msgid "The connection to your mailbox has been successful!"
msgstr ""
#: index.php:394
msgid "Automatically search for IMAP settings"
msgstr ""
#: index.php:398
msgid "IMAP username"
msgstr ""
#: index.php:406
msgid "IMAP password"
msgstr ""
#: index.php:411
msgid "IMAP server"
msgstr ""
#: index.php:414
msgid "IMAP port"
msgstr ""
#: index.php:422
msgid "Connection security"
msgstr ""
#: index.php:424
msgid "None"
msgstr ""
#: index.php:425
msgid "STARTTLS"
msgstr ""
#: index.php:426
msgid "SSL/TLS"
msgstr ""
#: index.php:429
msgid "Validate the certificate"
msgstr ""
#: index.php:430
msgid "Authentication method"
msgstr ""
#: index.php:432
msgid "Normal"
msgstr ""
#: index.php:433
msgid "Encrypt"
msgstr ""
#: index.php:438
msgid "Select the IMAP folders to use"
msgstr ""
#: index.php:445
msgid "Current connection..."
msgstr ""
#: index.php:451
msgid "Check the connection"
msgstr ""
#: index.php:458
msgid "Here is an overview of the impact of your request:"
msgstr ""
#: index.php:461
msgid "Folder name"
msgstr ""
#: index.php:461
msgid "Number of emails selected"
msgstr ""
#: index.php:461
msgid "Selected email sizes"
msgstr ""
#: index.php:465
msgid ""
"Over quota : Your archive exceeds the allowed quota size. A tip: reduce the "
"time range (just 1 years, 6 months ...)"
msgstr ""
#: index.php:467
msgid "Here we go !"
msgstr ""
#: index.php:469
msgid "You will be redirected there automatically in a few seconds"
msgstr ""
#: index.php:473
msgid "Validate"
msgstr ""
#: index.php:547
msgid ""
"You are about to delete the messages in your previously selected mailbox."
"\\nNote: if you have requested an archive check that the download went well, "
"that the archive is readable and that the messages are present."
msgstr ""

4
lang/note.txt Normal file
View File

@ -0,0 +1,4 @@
Modification source traduction
xgettext *.php -o lang/messages.pot --from-code="UTF-8"
msgmerge --no-wrap -N lang/fr/LC_MESSAGES/messages.po lang/messages.pot > lang/fr/LC_MESSAGES/messages-new.po

21
page/cgu.html Normal file
View File

@ -0,0 +1,21 @@
<h1>CGU</h1>
Voir aussi nos <a href="https://lighten-mailbox.zici.fr/legal.html">mentions légales</a>
<p>l'hébergeur : </p>
<ul><li>
Vous utilisez ce service à vos risques et périlles ;
</li><li>Lhébergeur ni le créateur du logiciel ne peut être tenu responsable dun dysfonctionnement/de perte de données
</li><li>
Votre mot de passe est stocké chiffré quelques minutes entre le moment ou vous cliqué sur « go » et le moment ou la tâche est lancé, ensuite il est supprimé
</li><li>
Lhébergeur ne transmettra ni ne revendra vos données personnelles ;
</li></ul>
<p>De votre côté : </p>
<ul><li>
Clause <span class="Emphasis">«Tout abus sera puni»</span>: si un utilisateur abuse du service, par exemple en monopolisant des ressources machines partagées, ou en publiant des contenus considérés comme non pertinents, son contenu ou son compte pourra être supprimé sans avertissement ni négociation. l'hébergeur reste seul juge de cette notion «dabus» dans le but de fournir le meilleur service possible à lensemble de ses utilisateurs.
</li>
<li>Tout abus manifest, tentative de piratage du service entrainera le banissement</li></ul>

13
page/legal.html Normal file
View File

@ -0,0 +1,13 @@
<h1>LEGAL</h1>
<p>Propulsé par Lighten Mailbox, un logiciel opensource sous licence cc0<p>
<p>Ce service ne dispose d'aucune sauvegarde, vous l'utilisez à vos risques et périls.</p>
<p>1 cookie est utilisé, l'expiration est de 12 mois et il est utilisé pour mémoriser la langue que vous utilisez sur le logiciel et ne sera pas analysé.</p>
<p>Aucun enregistrement IP n'est effectué sur le logiciel Lighten Mailbox.</p>
<p>Hébergé par Zici.fr
63 Launay
44640 Rouans</p>

View File

@ -0,0 +1,6 @@
Ouvrez le fichier "index.html" avec un navigateur internet (Mozilla Firefox par exemple)
Ce fichier contient un tableau dynamique avec les méta données (sujet, date, from...) qui vous permettra de retrouver un message.
* Le dossier "lib" est utilie pour le fonctionnement de index.html
* Les fichiers messages.json et messages.js contiennent mes méta données (format json) ils sont aussi utile pour le fonctionnement de index.html
* Ensuite il y a un dossier par dossier IMAP contenant vos messages dans le format souhaité

6
templateTab/Readme.txt Normal file
View File

@ -0,0 +1,6 @@
Open the "index.html" file with an internet browser (Mozilla Firefox for example)
This file contains a dynamic table with metadata (subject, date, from ...) which will allow you to find a message.
* The "lib" folder is used for the operation of index.html
* The messages.json and messages.js files contain my metadata (json format) they are also useful for the functioning of index.html
* Then there is one folder per IMAP folder containing your messages in the desired format

View File

@ -519,7 +519,7 @@
}
</script>
<p id="by">By <a href="http://david.mercereau.info">David Mercereau</a> - <a href="https://lighten-mailbox.zici.fr/">Lighten Mailbox Project</a> - <a href="https://en.wikipedia.org/wiki/Beerware">Licence Beerware</a></p>
<p id="by">By <a href="http://david.mercereau.info">David Mercereau</a> - <a href="https://lighten-mailbox.zici.fr/">Lighten Mailbox Project</a> - <a href="https://creativecommons.org/publicdomain/zero/1.0/deed.fr">CC0 1.0 universel (CC0 1.0)</a></p>
</body>
</html>