Support string list arguments in filter form (#1489018)

pull/80/merge
Aleksander Machniak 11 years ago
parent ae80b5a309
commit c6f0755860

@ -1,5 +1,6 @@
- Add vacation-seconds extension support (RFC 6131)
- Several script parser code improvements
- Support string list arguments in filter form (#1489018)
* version 6.2 [2013-02-17]
-----------------------------------------------------------
@ -206,18 +207,18 @@
- Added it_IT localization
* version 1.1 [2009-05-27]
-----------------------------------------------------------
-----------------------------------------------------------
- Added new icons
- Added support for headers lists (coma-separated) in rules
- Added de_CH localization
* version 1.0 [2009-05-21]
-----------------------------------------------------------
-----------------------------------------------------------
- Rewritten using plugin API
- Added hu_HU localization (Tamas Tevesz)
* version beta7 (svn-r2300) [2009-03-01]
-----------------------------------------------------------
-----------------------------------------------------------
- Added SquirrelMail script auto-import (Jonathan Ernst)
- Added 'vacation' support (Jonathan Ernst & alec)
- Added 'stop' support (Jonathan Ernst)
@ -226,47 +227,47 @@
- Small style fixes
* version 0.2-stable1 (svn-r2205) [2009-01-03]
-----------------------------------------------------------
-----------------------------------------------------------
- Fix moving down filter row
- Fixes for compressed js files in stable release package
- Created patch for svn version r2205
* version 0.2-stable [2008-12-31]
-----------------------------------------------------------
-----------------------------------------------------------
- Added ru_RU, fr_FR, zh_CN translation
- Fixes for Roundcube 0.2-stable
* version rc0.2beta [2008-09-21]
-----------------------------------------------------------
* version 0.2-beta [2008-09-21]
-----------------------------------------------------------
- Small css fixes for IE
- Fixes for Roundcube 0.2-beta
* version beta6 [2008-08-08]
-----------------------------------------------------------
-----------------------------------------------------------
- Added de_DE translation
- Fix for Roundcube r1634
* version beta5 [2008-06-10]
-----------------------------------------------------------
-----------------------------------------------------------
- Fixed 'exists' operators
- Fixed 'not*' operators for custom headers
- Fixed filters deleting
* version beta4 [2008-06-09]
-----------------------------------------------------------
-----------------------------------------------------------
- Fix for Roundcube r1490
* version beta3 [2008-05-22]
-----------------------------------------------------------
-----------------------------------------------------------
- Fixed textarea error class setting
- Added pagetitle setting
- Added option 'managesieve_replace_delimiter'
- Fixed errors on IE (still need some css fixes)
* version beta2 [2008-05-20]
-----------------------------------------------------------
-----------------------------------------------------------
- Use 'if' only for first filter and 'elsif' for the rest
* version beta1 [2008-05-15]
-----------------------------------------------------------
-----------------------------------------------------------
- Initial version for Roundcube r1388.

@ -55,7 +55,7 @@ $labels['add'] = 'Əlavə et';
$labels['del'] = 'Sil';
$labels['sender'] = 'Göndərən';
$labels['recipient'] = 'Qəbul edən';
$labels['vacationaddresses'] = 'Əlavə ünvanlarım üçün siyahı (vergüllər ilə ayrılmış):';
$labels['vacationaddr'] = 'Əlavə ünvanlarım üçün siyahı:';
$labels['vacationdays'] = 'Məktub neçə müddətdən bir göndərilsin (gündə):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Дадаць';
$labels['del'] = 'Выдаліць';
$labels['sender'] = 'Ад каго';
$labels['recipient'] = 'Каму';
$labels['vacationaddresses'] = 'Дадатковы спіс атрымальнікаў (праз коску):';
$labels['vacationaddr'] = 'Дадатковы спіс атрымальнікаў:';
$labels['vacationdays'] = 'Як часта дасылаць паведамленні (ў днях):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Добавяне';
$labels['del'] = 'Изтриване';
$labels['sender'] = 'Подател';
$labels['recipient'] = 'Получател';
$labels['vacationaddresses'] = 'Допълнителни e-mail адреси (разделени със запетая):';
$labels['vacationaddr'] = 'Допълнителни e-mail адреси:';
$labels['vacationdays'] = 'Колко често пращате съобщения (в дни):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Dodaj';
$labels['del'] = 'Obriši';
$labels['sender'] = 'Pošiljaoc';
$labels['recipient'] = 'Primaoc';
$labels['vacationaddresses'] = 'Moje dodatne email adrese (odvojite zarezima):';
$labels['vacationaddr'] = 'Moje dodatne email adrese:';
$labels['vacationdays'] = 'Frekvencija slanja poruka (u danima):';
$labels['vacationinterval'] = 'Frekvencija slanja poruka:';
$labels['days'] = 'dana';

@ -55,7 +55,7 @@ $labels['add'] = 'Afegeix';
$labels['del'] = 'Suprimeix';
$labels['sender'] = 'Remitent';
$labels['recipient'] = 'Destinatari/a';
$labels['vacationaddresses'] = 'Altres adreces electròniques meves (separades per coma)';
$labels['vacationaddr'] = 'Altres adreces electròniques meves:';
$labels['vacationdays'] = 'Cada quan enviar un missatge (en dies):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Přidej';
$labels['del'] = 'Smaž';
$labels['sender'] = 'Odesílatel';
$labels['recipient'] = 'Příjemce';
$labels['vacationaddresses'] = 'Moje další e-mailové adresy (aliasy) spojené s tímto účtem (oddělené čárkou):';
$labels['vacationaddr'] = 'Moje další e-mailové adresy (aliasy) spojené s tímto účtem:';
$labels['vacationdays'] = 'Počet dnů mezi automatickými odpověďmi:';
$labels['vacationinterval'] = 'Prodleva mezi automatickými odpověďmi:';
$labels['days'] = 'dnů';

@ -55,7 +55,7 @@ $labels['add'] = 'Ychwanegu';
$labels['del'] = 'Dileu';
$labels['sender'] = 'Anfonwr';
$labels['recipient'] = 'Derbynnwr';
$labels['vacationaddresses'] = 'Fy chyfeiriadau ebost ychwanegol (gwahanir gyda coma):';
$labels['vacationaddr'] = 'Fy chyfeiriadau ebost ychwanegol:';
$labels['vacationdays'] = 'Pa mor aml i ddanfon negeseuon (mewn dyddiau):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Tilføje';
$labels['del'] = 'Fjern';
$labels['sender'] = 'Afsender';
$labels['recipient'] = 'Modtager';
$labels['vacationaddresses'] = 'Mine alternative e-mailadresser (kommasepareret):';
$labels['vacationaddr'] = 'Mine alternative e-mailadresser:';
$labels['vacationdays'] = 'Hvor tit skal besked sendes (i dage):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Hinzufügen';
$labels['del'] = 'Löschen';
$labels['sender'] = 'Absender';
$labels['recipient'] = 'Empfänger';
$labels['vacationaddresses'] = 'Zusätzliche Liste von Empfängern (Komma getrennt):';
$labels['vacationaddr'] = 'Zusätzliche Liste von Empfängern:';
$labels['vacationdays'] = 'Antwort wird erneut gesendet nach (in Tagen):';
$labels['vacationinterval'] = 'Wie oft senden:';
$labels['days'] = 'Tage';

@ -55,7 +55,7 @@ $labels['add'] = 'Hinzufügen';
$labels['del'] = 'Löschen';
$labels['sender'] = 'Absender';
$labels['recipient'] = 'Empfänger';
$labels['vacationaddresses'] = 'Zusätzliche Liste von E-Mail Empfängern (Komma getrennt):';
$labels['vacationaddr'] = 'Zusätzliche Liste von E-Mail Empfängern:';
$labels['vacationdays'] = 'Wie oft sollen Nachrichten gesendet werden (in Tagen):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Προσθήκη';
$labels['del'] = 'Διαγραφή';
$labels['sender'] = 'Αποστολέας';
$labels['recipient'] = 'Παραλήπτης';
$labels['vacationaddresses'] = 'Πρόσθετη λίστα email παραληπτών (διαχωρισμένη με κόμματα):';
$labels['vacationaddr'] = 'Πρόσθετη λίστα email παραληπτών:';
$labels['vacationdays'] = 'Συχνότητα αποστολής μηνυμάτων (σε ημέρες):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Add';
$labels['del'] = 'Delete';
$labels['sender'] = 'Sender';
$labels['recipient'] = 'Recipient';
$labels['vacationaddresses'] = 'Additional list of recipient e-mails (comma separated):';
$labels['vacationaddr'] = 'Additional list of recipient e-mails:';
$labels['vacationdays'] = 'How often send messages (in days):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Add';
$labels['del'] = 'Delete';
$labels['sender'] = 'Sender';
$labels['recipient'] = 'Recipient';
$labels['vacationaddresses'] = 'My additional e-mail addresse(s) (comma-separated):';
$labels['vacationaddr'] = 'My additional e-mail addresse(s):';
$labels['vacationdays'] = 'How often send messages (in days):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Aldoni';
$labels['del'] = 'Forigi';
$labels['sender'] = 'Sendanto';
$labels['recipient'] = 'Ricevanto';
$labels['vacationaddresses'] = 'My additional e-mail addresse(s) (comma-separated):';
$labels['vacationaddr'] = 'My additional e-mail addresse(s):';
$labels['vacationdays'] = 'How often send messages (in days):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Agregar';
$labels['del'] = 'Eliminar';
$labels['sender'] = 'Remitente';
$labels['recipient'] = 'Destinatario';
$labels['vacationaddresses'] = 'Lista de direcciones de correo de destinatarios adicionales (separados por comas):';
$labels['vacationaddr'] = 'Lista de direcciones de correo de destinatarios adicionales:';
$labels['vacationdays'] = 'Cada cuanto enviar mensajes (en días):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Agregar';
$labels['del'] = 'Eliminar';
$labels['sender'] = 'Remitente';
$labels['recipient'] = 'Destinatario';
$labels['vacationaddresses'] = 'Lista de direcciones de correo de destinatarios adicionales (separados por comas):';
$labels['vacationaddr'] = 'Lista de direcciones de correo de destinatarios adicionales:';
$labels['vacationdays'] = 'Cada cuánto enviar mensajes (en días):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Lisa';
$labels['del'] = 'Kustuta';
$labels['sender'] = 'Saatja';
$labels['recipient'] = 'Saaja';
$labels['vacationaddresses'] = 'Lisanimekiri saaja e-posti aadressidest (komadega eraldatud):';
$labels['vacationaddr'] = 'Lisanimekiri saaja e-posti aadressidest:';
$labels['vacationdays'] = 'Kui tihti kirju saata (päevades):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,6 @@ $labels['add'] = 'افزودن';
$labels['del'] = 'حذف';
$labels['sender'] = 'فرستنده';
$labels['recipient'] = 'گیرنده';
$labels['vacationaddresses'] = 'آدرس‌های ایمیل دیگر من (جدا شده با ویرگول):';
$labels['vacationdays'] = 'پیغام ها در چه مواقعی فرستاده شدند (در روزهای):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Lisää';
$labels['del'] = 'Poista';
$labels['sender'] = 'Lähettäjä';
$labels['recipient'] = 'Vastaanottaja';
$labels['vacationaddresses'] = 'My additional e-mail addresse(s) (comma-separated):';
$labels['vacationaddr'] = 'My additional e-mail addresse(s):';
$labels['vacationdays'] = 'How often send messages (in days):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,12 +55,12 @@ $labels['add'] = 'Ajouter';
$labels['del'] = 'Supprimer';
$labels['sender'] = 'Expéditeur';
$labels['recipient'] = 'Destinataire';
$labels['vacationaddresses'] = 'Liste des destinataires (séparés par une virgule) :';
$labels['vacationdays'] = 'Ne pas renvoyer un message avant (jours) :';
$labels['vacationaddr'] = 'Liste des destinataires:';
$labels['vacationdays'] = 'Ne pas renvoyer un message avant (jours):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';
$labels['seconds'] = 'seconds';
$labels['vacationreason'] = 'Corps du message (raison de l\'absence) :';
$labels['vacationreason'] = 'Corps du message (raison de l\'absence):';
$labels['vacationsubject'] = 'Sujet du message:';
$labels['rulestop'] = 'Arrêter d\'évaluer les prochaines règles';
$labels['enable'] = 'Activer/Désactiver';

@ -55,7 +55,7 @@ $labels['add'] = 'Engadir';
$labels['del'] = 'Eliminar';
$labels['sender'] = 'Remitente';
$labels['recipient'] = 'Destinatario';
$labels['vacationaddresses'] = 'Lista de enderezos de correo de destinatarios adicionais (separados por comas):';
$labels['vacationaddr'] = 'Lista de enderezos de correo de destinatarios adicionais:';
$labels['vacationdays'] = 'Cada canto enviar mensaxes (en días):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,6 @@ $labels['add'] = 'הוספה';
$labels['del'] = 'מחיקה';
$labels['sender'] = 'השולח';
$labels['recipient'] = 'הנמען';
$labels['vacationaddresses'] = 'כתובות דוא"ל נוספות שלי (מופרדות ע"י פסיקים)';
$labels['vacationdays'] = 'באיזו תדירות ( בימים ) לשלוח הודעות:';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Hozzáadás';
$labels['del'] = 'Törlés';
$labels['sender'] = 'Feladó';
$labels['recipient'] = 'Címzett';
$labels['vacationaddresses'] = 'További címzettek (vesszővel elválasztva):';
$labels['vacationaddr'] = 'További címzettek:';
$labels['vacationdays'] = 'Válaszüzenet küldése ennyi naponként:';
$labels['vacationinterval'] = 'Milyen gyakran küld üzeneteket:';
$labels['days'] = 'napok';

@ -55,7 +55,7 @@ $labels['add'] = 'Ավելացնել';
$labels['del'] = 'Ջնջել';
$labels['sender'] = 'Ուղարկող';
$labels['recipient'] = 'Ստացող';
$labels['vacationaddresses'] = 'Իմ հավելյալ էլփոստի հասցեներ (բաժանված ստորակետներով).';
$labels['vacationaddr'] = 'Իմ հավելյալ էլփոստի հասցեներ.';
$labels['vacationdays'] = 'Ինչ հաճախությամբ ուղարկել հաղորդագրությունները (օրեր)`';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Add';
$labels['del'] = 'Delete';
$labels['sender'] = 'Sender';
$labels['recipient'] = 'Recipient';
$labels['vacationaddresses'] = 'My additional e-mail addresse(s) (comma-separated):';
$labels['vacationaddr'] = 'My additional e-mail addresse(s):';
$labels['vacationdays'] = 'How often send messages (in days):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Tambah';
$labels['del'] = 'Hapus';
$labels['sender'] = 'Pengirim';
$labels['recipient'] = 'Penerima';
$labels['vacationaddresses'] = 'Alamat email tambahan saya (dipisahkan koma):';
$labels['vacationaddr'] = 'Alamat email tambahan saya:';
$labels['vacationdays'] = 'Seberapa sering mengirim pesan (dalam hari):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Aggiungi';
$labels['del'] = 'Elimina';
$labels['sender'] = 'Mittente';
$labels['recipient'] = 'Destinatario';
$labels['vacationaddresses'] = 'Lista di indirizzi e-mail di destinatari addizionali (separati da virgola):';
$labels['vacationaddr'] = 'Lista di indirizzi e-mail di destinatari addizionali:';
$labels['vacationdays'] = 'Ogni quanti giorni ribadire il messaggio allo stesso mittente';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = '追加';
$labels['del'] = '削除';
$labels['sender'] = '送信者';
$labels['recipient'] = '宛先';
$labels['vacationaddresses'] = '電子メールの宛先の(コンマ区切った)追加のリスト:';
$labels['vacationaddr'] = '電子メールの宛先の追加のリスト:';
$labels['vacationdays'] = 'メッセージを(1日に)送信する頻度:';
$labels['vacationinterval'] = 'メッセージを送信する頻度:';
$labels['days'] = '日';

@ -55,7 +55,7 @@ $labels['add'] = '추가';
$labels['del'] = '삭제';
$labels['sender'] = '발신인';
$labels['recipient'] = '수신인';
$labels['vacationaddresses'] = '나의 추가 이메일 주소 (쉼표로 구분됨):';
$labels['vacationaddr'] = '나의 추가 이메일 주소:';
$labels['vacationdays'] = '메시지 발신 주기 (일):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Pridėti';
$labels['del'] = 'Pašalinti';
$labels['sender'] = 'Siuntėjas';
$labels['recipient'] = 'Gavėjas';
$labels['vacationaddresses'] = 'Papildomas gavėjų adresų sąrašas (skirti kableliais):';
$labels['vacationaddr'] = 'Papildomas gavėjų adresų sąrašas:';
$labels['vacationdays'] = 'Kaip dažnai išsiųsti laiškus (dienomis):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Pievienot';
$labels['del'] = 'Dzēst';
$labels['sender'] = 'Sūtītājs';
$labels['recipient'] = 'Saņēmējs';
$labels['vacationaddresses'] = 'Ievadiet vienu vai vairākus e-pastu(s), atdalot tos komatu:';
$labels['vacationaddr'] = 'Ievadiet vienu vai vairākus e-pastu(s):';
$labels['vacationdays'] = 'Cik dienu laikā vienam un tam pašam sūtītājam neatbildēt atkārtoti (piem., 7):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,6 @@ $labels['add'] = 'ചേര്‍ക്കു';
$labels['del'] = 'നീക്കം ചെയ്യുക';
$labels['sender'] = 'അയചയാള്‍';
$labels['recipient'] = 'സ്വീകര്‍ത്താവ്';
$labels['vacationaddresses'] = 'സ്വീകര്‍ത്താവിന്റെ ഇമെയില്‍ വിലാസങ്ങളുടെ അധികമുള്ള പട്ടിക (കോമയിട്ട് തിരിച്ച)';
$labels['vacationdays'] = 'എത്ര ഭിവസം കൂടുമ്പോള്‍ സന്ദേശം അയക്കണം:';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'समावेश करा';
$labels['del'] = 'नष्ट करा';
$labels['sender'] = 'प्रेषक';
$labels['recipient'] = 'Recipient';
$labels['vacationaddresses'] = 'My additional e-mail addresse(s) (comma-separated):';
$labels['vacationaddr'] = 'My additional e-mail addresse(s):';
$labels['vacationdays'] = 'How often send messages (in days):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Legg til';
$labels['del'] = 'Slett';
$labels['sender'] = 'Avsender';
$labels['recipient'] = 'Mottaker';
$labels['vacationaddresses'] = 'Liste med mottakeradresser (adskilt med komma):';
$labels['vacationaddr'] = 'Liste med mottakeradresser:';
$labels['vacationdays'] = 'Periode mellom meldinger (i dager):';
$labels['vacationinterval'] = 'Periode mellom meldinger:';
$labels['days'] = 'dager';

@ -55,7 +55,7 @@ $labels['add'] = 'Toevoegen';
$labels['del'] = 'Verwijderen';
$labels['sender'] = 'Afzender';
$labels['recipient'] = 'Ontvanger';
$labels['vacationaddresses'] = 'Aanvullende lijst van geadresseerden (gescheiden met komma\'s):';
$labels['vacationaddr'] = 'Aanvullende lijst van geadresseerden:';
$labels['vacationdays'] = 'Hoe vaak moet een bericht verstuurd worden (in dagen):';
$labels['vacationinterval'] = 'Hoe vaak moet een bericht verstuurd worden:';
$labels['days'] = 'dagen';

@ -55,7 +55,7 @@ $labels['add'] = 'Legg til';
$labels['del'] = 'Slett';
$labels['sender'] = 'Avsendar';
$labels['recipient'] = 'Mottakar';
$labels['vacationaddresses'] = 'Liste med mottakaradresser (komma-separert):';
$labels['vacationaddr'] = 'Liste med mottakaradresser:';
$labels['vacationdays'] = 'Periode mellom meldingar (i dagar):';
$labels['vacationreason'] = 'Innhald (grunngjeving for fråvær)';
$labels['vacationsubject'] = 'Meldingsemne:';

@ -55,7 +55,7 @@ $labels['add'] = 'Dodaj';
$labels['del'] = 'Usuń';
$labels['sender'] = 'Nadawca';
$labels['recipient'] = 'Odbiorca';
$labels['vacationaddresses'] = 'Lista dodatkowych adresów odbiorców (oddzielonych przecinkami):';
$labels['vacationaddr'] = 'Lista dodatkowych adresów odbiorców:';
$labels['vacationdays'] = 'Częstotliwość wysyłania wiadomości (w dniach):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Adicionar';
$labels['del'] = 'Excluir';
$labels['sender'] = 'Remetente';
$labels['recipient'] = 'Destinatário';
$labels['vacationaddresses'] = 'Lista adicional de e-mails destinatários (separado por vírgula):';
$labels['vacationaddr'] = 'Lista adicional de e-mails destinatários:';
$labels['vacationdays'] = 'Enviar mensagens com que frequência (em dias):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Adicionar';
$labels['del'] = 'Eliminar';
$labels['sender'] = 'Remetente';
$labels['recipient'] = 'Destinatário';
$labels['vacationaddresses'] = 'Lista adicional de destinatários de e-mails (separados por vírgula):';
$labels['vacationaddr'] = 'Lista adicional de destinatários de e-mails:';
$labels['vacationdays'] = 'Enviar mensagens com que frequência (em dias):';
$labels['vacationinterval'] = 'Com que frequência envia mensagens:';
$labels['days'] = 'dias';

@ -55,7 +55,7 @@ $labels['add'] = 'Adaugă';
$labels['del'] = 'Șterge';
$labels['sender'] = 'Expeditor';
$labels['recipient'] = 'Destinatar';
$labels['vacationaddresses'] = 'Adresele mele de e-mail adiționale (împărțite cu virgulă):';
$labels['vacationaddr'] = 'Adresele mele de e-mail adiționale:';
$labels['vacationdays'] = 'Cât de des să trimit mesajele (în zile):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Добавить';
$labels['del'] = 'Удалить';
$labels['sender'] = 'Отправитель';
$labels['recipient'] = 'Получатель';
$labels['vacationaddresses'] = 'Список моих дополнительных адресов (разделённых запятыми):';
$labels['vacationaddr'] = 'Список моих дополнительных адресов:';
$labels['vacationdays'] = 'Как часто отправлять сообщения (в днях):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,6 @@ $labels['add'] = 'එක් කරන්න';
$labels['del'] = 'මකන්න';
$labels['sender'] = 'යවන්නා';
$labels['recipient'] = 'ලබන්නා';
$labels['vacationaddresses'] = 'My additional e-mail addresse(s) (comma-separated):';
$labels['vacationdays'] = 'How often send messages (in days):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Pridaj';
$labels['del'] = 'Zmaž';
$labels['sender'] = 'Odosielateľ';
$labels['recipient'] = 'Adresát';
$labels['vacationaddresses'] = 'Dodatoční príjemcovia správy (oddelení čiarkami):';
$labels['vacationaddr'] = 'Dodatoční príjemcovia správy:';
$labels['vacationdays'] = 'Počet dní medzi odoslaním správy:';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Dodaj';
$labels['del'] = 'Izbriši';
$labels['sender'] = 'Pošiljatelj';
$labels['recipient'] = 'Prejemnik';
$labels['vacationaddresses'] = 'Dodaten seznam naslovov prejemnikov (ločenih z vejico):';
$labels['vacationaddr'] = 'Dodaten seznam naslovov prejemnikov:';
$labels['vacationdays'] = 'Kako pogosto naj bodo sporočila poslana (v dnevih):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Lägg till';
$labels['del'] = 'Ta bort';
$labels['sender'] = 'Avsändare';
$labels['recipient'] = 'Mottagare';
$labels['vacationaddresses'] = 'Ytterligare mottagaradresser (avdelade med kommatecken)';
$labels['vacationaddr'] = 'Ytterligare mottagaradresser:';
$labels['vacationdays'] = 'Antal dagar mellan auto-svar:';
$labels['vacationinterval'] = 'Tid mellan auto-svar:';
$labels['days'] = 'Dagar';

@ -55,8 +55,8 @@ $labels['add'] = 'Ekle';
$labels['del'] = 'Sil';
$labels['sender'] = 'Gönderici';
$labels['recipient'] = 'Alıcı';
$labels['vacationaddresses'] = 'İlave e-posta adreslerim(virgül ile ayrılmış)';
$labels['vacationdays'] = 'Ne sıklıkla mesajlar gönderilir(gün)';
$labels['vacationaddr'] = 'İlave e-posta adreslerim:';
$labels['vacationdays'] = 'Ne sıklıkla mesajlar gönderilir(gün):';
$labels['vacationinterval'] = 'Ne kadar sıklıkla mesaj gönderirsiniz:';
$labels['days'] = 'günler';
$labels['seconds'] = 'saniyeler';

@ -55,7 +55,7 @@ $labels['add'] = 'Додати';
$labels['del'] = 'Видалити';
$labels['sender'] = 'Відправник';
$labels['recipient'] = 'Отримувач';
$labels['vacationaddresses'] = 'Додатковий список адрес отримувачів (розділених комою)';
$labels['vacationaddr'] = 'Додатковий список адрес отримувачів:';
$labels['vacationdays'] = 'Як часто повторювати (у днях):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = 'Thêm';
$labels['del'] = 'Xoá';
$labels['sender'] = 'Người gửi';
$labels['recipient'] = 'Người nhận';
$labels['vacationaddresses'] = 'Địa chỉ email bổ sung của tôi ( phân cách bằng dấu phẩy)';
$labels['vacationaddr'] = 'Địa chỉ email bổ sung của tôi';
$labels['vacationdays'] = 'Số lần gửi thư (trong ngày)';
$labels['vacationreason'] = 'Nội dung chính';
$labels['vacationsubject'] = 'Tiêu đề thư';

@ -55,7 +55,7 @@ $labels['add'] = '添加';
$labels['del'] = '删除';
$labels['sender'] = '发件人';
$labels['recipient'] = '收件人';
$labels['vacationaddresses'] = '收件人地址的附加名单(以半角逗号分隔)';
$labels['vacationaddr'] = '收件人地址的附加名单';
$labels['vacationdays'] = '发送邮件频率(单位:天):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,7 +55,7 @@ $labels['add'] = '新增';
$labels['del'] = '刪除';
$labels['sender'] = '寄件者';
$labels['recipient'] = '收件者';
$labels['vacationaddresses'] = '其他收件者(用半形逗號隔開)';
$labels['vacationaddr'] = '其他收件者:';
$labels['vacationdays'] = '多久回覆一次(單位:天):';
$labels['vacationinterval'] = 'How often send messages:';
$labels['days'] = 'days';

@ -55,6 +55,11 @@ if (window.rcmail) {
}
$('input[type="text"]:first', rcmail.gui_objects.sieveform).focus();
// initialize smart list inputs
$('textarea[data-type="list"]', rcmail.gui_objects.sieveform).each(function() {
smart_field_init(this);
});
}
else {
rcmail.enable_command('plugin.managesieve-add', 'plugin.managesieve-setadd', !rcmail.env.sieveconnerror);
@ -469,6 +474,11 @@ rcube_webmail.prototype.managesieve_rulefill = function(content, id, after)
row.className = 'rulerow';
row.innerHTML = content;
// initialize smart list inputs
$('textarea[data-type="list"]', row).each(function() {
smart_field_init(this);
});
this.managesieve_formbuttons(div);
}
};
@ -565,7 +575,6 @@ function rule_header_select(id)
var obj = document.getElementById('header' + id),
size = document.getElementById('rule_size' + id),
op = document.getElementById('rule_op' + id),
target = document.getElementById('rule_target' + id),
header = document.getElementById('custom_header' + id),
mod = document.getElementById('rule_mod' + id),
trans = document.getElementById('rule_trans' + id),
@ -574,31 +583,30 @@ function rule_header_select(id)
if (obj.value == 'size') {
size.style.display = 'inline';
op.style.display = 'none';
target.style.display = 'none';
header.style.display = 'none';
mod.style.display = 'none';
trans.style.display = 'none';
comp.style.display = 'none';
}
else {
header.style.display = obj.value != '...' ? 'none' : 'inline';
header.style.display = obj.value != '...' ? 'none' : 'inline-block';
size.style.display = 'none';
op.style.display = 'inline';
comp.style.display = '';
rule_op_select(id);
mod.style.display = obj.value == 'body' ? 'none' : 'block';
trans.style.display = obj.value == 'body' ? 'block' : 'none';
}
rule_op_select(op, id, obj.value);
obj.style.width = obj.value == '...' ? '40px' : '';
};
function rule_op_select(id)
function rule_op_select(obj, id, header)
{
var obj = document.getElementById('rule_op' + id),
target = document.getElementById('rule_target' + id);
var target = document.getElementById('rule_target' + id + '_list'),
style = obj.value == 'exists' || obj.value == 'notexists' || header == 'size' ? 'none' : 'inline-block';
target.style.display = obj.value == 'exists' || obj.value == 'notexists' ? 'none' : 'inline';
target.style.display = style;
};
function rule_trans_select(id)
@ -677,6 +685,75 @@ function action_type_select(id)
}
};
// Inititalizes smart list input
function smart_field_init(field)
{
var id = field.id + '_list',
area = $('<span class="listarea"></span>'),
list = field.value ? field.value.split("\n") : [''];
if ($('#'+id).length)
return;
// add input rows
$.each(list, function(i, v) {
area.append(smart_field_row(v, field.name, i, $(field).data('size')));
});
area.attr('id', id);
field = $(field);
if (field.attr('disabled'))
area.hide();
field.after(area);
if (field.hasClass('error')) {
area.addClass('error');
rcmail.managesieve_tip_register([[id, field.data('tip')]]);
}
};
function smart_field_row(value, name, idx, size)
{
// build row element content
var input, content = '<span class="listelement">'
+ '<span class="actions"><span class="add"></span><span class="reset"></span></span>'
+ '<input type="text"></span>',
elem = $(content),
attrs = {value: value, name: name + '[]'};
if (size)
attrs.size = size;
input = $('input', elem).attr(attrs)
.keydown(function(e) { if (e.which == 13) $('span[class="add"]', elem).click(); });
// element creation event
$('span[class="add"]', elem).click(function() {
var span = $(this.parentNode.parentNode),
input = $('input', span),
name = input.attr('name').replace(/\[\]$/, ''),
dt = (new Date()).getTime(),
elem = smart_field_row('', name, dt, size);
span.after(elem);
$('input', elem).focus();
});
// element deletion event
$('span[class="reset"]', elem).click(function() {
var span = $(this.parentNode.parentNode);
if (span.parent().children().length > 1)
span.remove();
else
$('input', span).val('').focus();
});
return elem;
}
// Register onmouse(leave/enter) events for tips on specified form element
rcube_webmail.prototype.managesieve_tip_register = function(tips)
{
@ -685,25 +762,26 @@ rcube_webmail.prototype.managesieve_tip_register = function(tips)
for (var n in tips) {
$('#'+tips[n][0])
.bind('mouseenter', {str: tips[n][1]},
function(e) {
var offset = $(this).offset(),
left = offset.left,
top = offset.top - 12,
minwidth = $(this).width();
if (framed) {
offset = $((rcmail.env.task == 'mail' ? '#sievefilterform > iframe' : '#filter-box'), parent.document).offset();
top += offset.top;
left += offset.left;
}
tip.html(e.data.str)
top -= tip.height();
tip.css({left: left, top: top, minWidth: (minwidth-2) + 'px'}).show();
})
.bind('mouseleave', function(e) { tip.hide(); });
.data('tip', tips[n][1])
.bind('mouseenter', function(e) {
var elem = $(this),
offset = elem.offset(),
left = offset.left,
top = offset.top - 12,
minwidth = elem.width();
if (framed) {
offset = $((rcmail.env.task == 'mail' ? '#sievefilterform > iframe' : '#filter-box'), parent.document).offset();
top += offset.top;
left += offset.left;
}
tip.html(elem.data('tip'));
top -= tip.height();
tip.css({left: left, top: top, minWidth: (minwidth-2) + 'px'}).show();
})
.bind('mouseleave', function(e) { tip.hide(); });
}
};

@ -708,8 +708,9 @@ class managesieve extends rcube_plugin
}
else {
foreach ($headers as $idx => $header) {
// targets are indexed differently (assume form order)
$target = $this->strip_value(array_shift($targets), true);
$header = $this->strip_value($header);
$target = $this->strip_value($targets[$idx], true);
$operator = $this->strip_value($ops[$idx]);
$comparator = $this->strip_value($comparators[$idx]);
@ -747,10 +748,16 @@ class managesieve extends rcube_plugin
$this->form['tests'][$i]['type'] = $type;
$this->form['tests'][$i]['arg'] = $target;
if ($target == '' && $type != 'exists')
if (empty($target) && $type != 'exists') {
$this->errors['tests'][$i]['target'] = $this->gettext('cannotbeempty');
else if (preg_match('/^(value|count)-/', $type) && !preg_match('/[0-9]+/', $target))
$this->errors['tests'][$i]['target'] = $this->gettext('forbiddenchars');
}
else if (preg_match('/^(value|count)-/', $type)) {
foreach ($target as $target_value) {
if (!preg_match('/[0-9]+/', $target_value)) {
$this->errors['tests'][$i]['target'] = $this->gettext('forbiddenchars');
}
}
}
$this->form['tests'][$i]['part'] = $trans;
if ($trans == 'content') {
@ -809,10 +816,16 @@ class managesieve extends rcube_plugin
$this->form['tests'][$i]['arg1'] = $header;
$this->form['tests'][$i]['arg2'] = $target;
if ($target == '')
if (empty($target)) {
$this->errors['tests'][$i]['target'] = $this->gettext('cannotbeempty');
else if (preg_match('/^(value|count)-/', $type) && !preg_match('/[0-9]+/', $target))
$this->errors['tests'][$i]['target'] = $this->gettext('forbiddenchars');
}
else if (preg_match('/^(value|count)-/', $type)) {
foreach ($target as $target_value) {
if (!preg_match('/[0-9]+/', $target_value)) {
$this->errors['tests'][$i]['target'] = $this->gettext('forbiddenchars');
}
}
}
if ($mod) {
$this->form['tests'][$i]['part'] = $mod_type;
@ -893,20 +906,14 @@ class managesieve extends rcube_plugin
$interval_type = $interval_types[$idx] == 'seconds' ? 'seconds' : 'days';
$this->form['actions'][$i]['reason'] = str_replace("\r\n", "\n", $reason);
$this->form['actions'][$i]['subject'] = $subject[$idx];
$this->form['actions'][$i]['addresses'] = explode(',', $addresses[$idx]);
$this->form['actions'][$i]['addresses'] = array_shift($addresses);
$this->form['actions'][$i][$interval_type] = $intervals[$idx];
// @TODO: vacation :mime, :from, :handle
if ($this->form['actions'][$i]['addresses']) {
foreach($this->form['actions'][$i]['addresses'] as $aidx => $address) {
$address = trim($address);
if (!$address)
unset($this->form['actions'][$i]['addresses'][$aidx]);
else if(!rcube_utils::check_email($address)) {
$this->errors['actions'][$i]['addresses'] = $this->gettext('noemailwarning');
break;
} else
$this->form['actions'][$i]['addresses'][$aidx] = $address;
foreach ((array)$this->form['actions'][$i]['addresses'] as $aidx => $address) {
if (!rcube_utils::check_email($address)) {
$this->errors['actions'][$i]['addresses'] = $this->gettext('noemailwarning');
break;
}
}
@ -1406,9 +1413,9 @@ class managesieve extends rcube_plugin
}
$tout .= $select_op->show($test);
$tout .= '<input type="text" name="_rule_target[]" id="rule_target' .$id. '"
value="' .rcube::Q($target). '" size="20" ' . $this->error_class($id, 'test', 'target', 'rule_target')
. ' style="display:' . ($rule['test']!='size' && $rule['test'] != 'exists' ? 'inline' : 'none') . '" />'."\n";
$tout .= $this->list_input($id, 'rule_target', $target,
$rule['test'] != 'size' && $rule['test'] != 'exists',
$this->error_class($id, 'test', 'target', 'rule_target')) . "\n";
$select_size_op = new html_select(array('name' => "_rule_size_op[]", 'id' => 'rule_size_op'.$id));
$select_size_op->add(rcube::Q($this->gettext('filterover')), 'over');
@ -1589,10 +1596,9 @@ class managesieve extends rcube_plugin
.'<input type="text" name="_action_subject['.$id.']" id="action_subject'.$id.'" '
.'value="' . (is_array($action['subject']) ? rcube::Q(implode(', ', $action['subject']), 'strict', false) : $action['subject']) . '" size="35" '
. $this->error_class($id, 'action', 'subject', 'action_subject') .' />';
$out .= '<br /><span class="label">' .rcube::Q($this->gettext('vacationaddresses')) . '</span><br />'
.'<input type="text" name="_action_addresses['.$id.']" id="action_addr'.$id.'" '
.'value="' . (is_array($action['addresses']) ? rcube::Q(implode(', ', $action['addresses']), 'strict', false) : $action['addresses']) . '" size="35" '
. $this->error_class($id, 'action', 'addresses', 'action_addr') .' />';
$out .= '<br /><span class="label">' .rcube::Q($this->gettext('vacationaddr')) . '</span><br />'
. $this->list_input($id, 'action_addresses', $action['addresses'], true,
$this->error_class($id, 'action', 'addresses', 'action_addresses'), 30);
$out .= '<br /><span class="label">' . rcube::Q($this->gettext($vsec ? 'vacationinterval' : 'vacationdays')) . '</span><br />'
.'<input type="text" name="_action_interval['.$id.']" id="action_interval'.$id.'" '
.'value="' .rcube::Q(isset($action['seconds']) ? $action['seconds'] : $action['days'], 'strict', false) . '" size="2" '
@ -1727,6 +1733,18 @@ class managesieve extends rcube_plugin
private function strip_value($str, $allow_html = false, $trim = true)
{
if (is_array($str)) {
foreach ($str as $idx => $val) {
$val = $this->strip_value($val, $allow_html, $trim);
if ($val === '') {
unset($str[$idx]);
}
}
return $str;
}
if (!$allow_html) {
$str = strip_tags($str);
}
@ -1764,6 +1782,19 @@ class managesieve extends rcube_plugin
$this->rc->output->add_script($script, 'foot');
}
private function list_input($id, $name, $value, $enabled, $class, $size=null)
{
$value = (array) $value;
$value = array_map(array('rcube', 'Q'), $value);
$value = implode("\n", $value);
return '<textarea data-type="list" name="_' . $name . '['.$id.']" id="' . $name.$id . '"'
. ($enabled ? '' : ' disabled="disabled"')
. ($size ? ' data-size="'.$size.'"' : '')
. $class
. ' style="display:none">' . $value . '</textarea>';
}
/**
* Converts mailbox name from/to UTF7-IMAP from/to internal Sieve encoding
* with delimiter replacement.

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

@ -226,6 +226,7 @@ input.radio
select.operator_selector
{
width: 200px;
vertical-align: top;
}
td.rowtargets span,
@ -308,6 +309,77 @@ a.button.disabled
font-size: 11px;
}
/* smart multi-row input field */
.listarea
{
border: 1px solid #666;
margin: 0;
padding: 1px;
display: inline-block;
max-height: 67px;
overflow-y: auto;
}
.listelement
{
display: block;
white-space: nowrap;
background-color: #fff;
border-top: 1px solid #e2e2e2;
height: 16px;
padding: 0;
margin: 0;
overflow: hidden;
line-height: 16px;
}
.listarea.error .listelement
{
background-color: #FFFFC4;
}
.listelement:first-child
{
border-top: none;
}
#filter-form .listelement input
{
border: none;
border-radius: 0;
box-shadow: none;
outline: none;
vertical-align: top;
height: 16px;
padding-top: 0;
padding-bottom: 0;
line-height: 16px;
background-color: transparent;
}
.listelement input:focus
{
box-shadow: none;
}
.listelement .actions
{
display: inline-block;
width: 32px;
height: 16px;
background: url(images/plus_minus.png) -1px 0 no-repeat #eee;
}
.actions .add,
.actions .reset
{
display: inline-block;
width: 16px;
height: 16px;
cursor: pointer;
}
/* fixes for popup window */
body.iframe.mail

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

@ -175,6 +175,12 @@ td.rowtargets
padding-top: 2px;
}
td.rowtargets > div
{
vertical-align: top;
margin-top: 2px;
}
td.rowtargets div.adv
{
padding-top: 3px;
@ -205,6 +211,7 @@ input.radio
select.operator_selector
{
width: 200px;
vertical-align: top;
}
td.rowtargets span,
@ -292,6 +299,12 @@ a.button.disabled
padding: 1px;
}
html.mozilla #filter-form select
{
padding-top: 3px;
padding-bottom: 3px;
}
/* revert larry style button */
#filter-form input.button
{
@ -306,6 +319,82 @@ fieldset
border-radius: 4px;
}
/* smart multi-row input field */
.listarea
{
border: 1px solid #B2B2B2;
border-radius: 4px;
box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
-moz-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
-webkit-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
-o-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
margin: 0;
padding: 2px;
display: inline-block;
max-height: 59px;
overflow-y: auto;
}
.listelement
{
display: block;
white-space: nowrap;
background-color: #fff;
border-top: 1px solid #e2e2e2;
height: 14px;
padding: 0;
margin: 0;
overflow: hidden;
line-height: 14px;
}
.listarea.error .listelement
{
background-color: #FFFFC4;
}
.listelement:first-child
{
border-top: none;
}
#filter-form .listelement input
{
border: none;
border-radius: 0;
box-shadow: none;
outline: none;
vertical-align: top;
height: 14px;
padding-top: 0;
padding-bottom: 0;
line-height: 14px;
background-color: transparent;
}
.listelement input:focus
{
box-shadow: none;
}
.listelement .actions
{
display: inline-block;
width: 32px;
height: 16px;
background: url(images/plus_minus.png) -1px -1px no-repeat #eee;
}
.actions .add,
.actions .reset
{
display: inline-block;
width: 16px;
height: 16px;
cursor: pointer;
}
/* fixes for popup window */
body.iframe.mail

Loading…
Cancel
Save