summaryrefslogtreecommitdiff
path: root/plugins/managesieve
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/managesieve')
-rw-r--r--plugins/managesieve/Changelog9
-rw-r--r--plugins/managesieve/localization/en_GB.inc4
-rw-r--r--plugins/managesieve/localization/en_US.inc10
-rw-r--r--plugins/managesieve/localization/hy_AM.inc149
-rw-r--r--plugins/managesieve/localization/ja_JP.inc21
-rw-r--r--plugins/managesieve/localization/ko_KR.inc131
-rw-r--r--plugins/managesieve/localization/pl_PL.inc10
-rw-r--r--plugins/managesieve/localization/ru_RU.inc65
-rw-r--r--plugins/managesieve/localization/sl_SI.inc20
-rw-r--r--plugins/managesieve/localization/zh_CN.inc3
-rw-r--r--plugins/managesieve/localization/zh_TW.inc9
-rw-r--r--plugins/managesieve/managesieve.js6
-rw-r--r--plugins/managesieve/managesieve.php82
-rw-r--r--plugins/managesieve/package.xml41
-rw-r--r--plugins/managesieve/skins/classic/images/add.png (renamed from plugins/managesieve/skins/default/images/add.png)bin280 -> 280 bytes
-rw-r--r--plugins/managesieve/skins/classic/images/del.png (renamed from plugins/managesieve/skins/default/images/del.png)bin247 -> 247 bytes
-rw-r--r--plugins/managesieve/skins/classic/images/down_small.gif (renamed from plugins/managesieve/skins/default/images/down_small.gif)bin106 -> 106 bytes
-rw-r--r--plugins/managesieve/skins/classic/images/filter.png (renamed from plugins/managesieve/skins/default/images/filter.png)bin547 -> 547 bytes
-rw-r--r--plugins/managesieve/skins/classic/images/up_small.gif (renamed from plugins/managesieve/skins/default/images/up_small.gif)bin106 -> 106 bytes
-rw-r--r--plugins/managesieve/skins/classic/managesieve.css (renamed from plugins/managesieve/skins/default/managesieve.css)0
-rw-r--r--plugins/managesieve/skins/classic/managesieve_mail.css (renamed from plugins/managesieve/skins/default/managesieve_mail.css)0
-rw-r--r--plugins/managesieve/skins/classic/templates/filteredit.html (renamed from plugins/managesieve/skins/default/templates/filteredit.html)0
-rw-r--r--plugins/managesieve/skins/classic/templates/managesieve.html (renamed from plugins/managesieve/skins/default/templates/managesieve.html)0
-rw-r--r--plugins/managesieve/skins/classic/templates/setedit.html (renamed from plugins/managesieve/skins/default/templates/setedit.html)0
-rw-r--r--plugins/managesieve/skins/larry/managesieve.css13
-rw-r--r--plugins/managesieve/skins/larry/templates/filteredit.html10
-rw-r--r--plugins/managesieve/skins/larry/templates/managesieve.html6
-rw-r--r--plugins/managesieve/skins/larry/templates/setedit.html8
28 files changed, 502 insertions, 95 deletions
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog
index 1e6011064..c015ee403 100644
--- a/plugins/managesieve/Changelog
+++ b/plugins/managesieve/Changelog
@@ -1,6 +1,15 @@
+* version 5.2 [2012-07-24]
+-----------------------------------------------------------
+- Added GUI for variables setting - RFC5229 (patch from Paweł Słowik)
+- Fixed scrollbars in Larry's iframes
+- Fix performance issue in message_headers_output hook handling
+
+* version 5.1 [2012-06-21]
+-----------------------------------------------------------
- Fixed filter popup width (for non-english localizations)
- Fixed tokenizer infinite loop on invalid script content
- Larry skin support
+- Fixed custom header name validity check, made RFC2822-compliant
* version 5.0 [2012-01-05]
-----------------------------------------------------------
diff --git a/plugins/managesieve/localization/en_GB.inc b/plugins/managesieve/localization/en_GB.inc
index 5e1c83a9c..6859f5fff 100644
--- a/plugins/managesieve/localization/en_GB.inc
+++ b/plugins/managesieve/localization/en_GB.inc
@@ -93,6 +93,10 @@ $labels['flagdeleted'] = 'Deleted';
$labels['flaganswered'] = 'Answered';
$labels['flagflagged'] = 'Flagged';
$labels['flagdraft'] = 'Draft';
+$labels['setvariable'] = 'Set variable';
+$labels['setvarname'] = 'Variable name:';
+$labels['setvarvalue'] = 'Variable value:';
+$labels['setvarmodifiers'] = 'Modifiers:';
$labels['filtercreate'] = 'Create filter';
$labels['usedata'] = 'Use following data in the filter:';
$labels['nextstep'] = 'Next Step';
diff --git a/plugins/managesieve/localization/en_US.inc b/plugins/managesieve/localization/en_US.inc
index 5aea5dcb8..191291338 100644
--- a/plugins/managesieve/localization/en_US.inc
+++ b/plugins/managesieve/localization/en_US.inc
@@ -78,6 +78,16 @@ $labels['flagdeleted'] = 'Deleted';
$labels['flaganswered'] = 'Answered';
$labels['flagflagged'] = 'Flagged';
$labels['flagdraft'] = 'Draft';
+$labels['setvariable'] = 'Set variable';
+$labels['setvarname'] = 'Variable name:';
+$labels['setvarvalue'] = 'Variable value:';
+$labels['setvarmodifiers'] = 'Modifiers:';
+$labels['varlower'] = 'lower-case';
+$labels['varupper'] = 'upper-case';
+$labels['varlowerfirst'] = 'first character lower-case';
+$labels['varupperfirst'] = 'first character upper-case';
+$labels['varquotewildcard'] = 'quote special characters';
+$labels['varlength'] = 'length';
$labels['filtercreate'] = 'Create filter';
$labels['usedata'] = 'Use following data in the filter:';
$labels['nextstep'] = 'Next Step';
diff --git a/plugins/managesieve/localization/hy_AM.inc b/plugins/managesieve/localization/hy_AM.inc
new file mode 100644
index 000000000..ea4e982ea
--- /dev/null
+++ b/plugins/managesieve/localization/hy_AM.inc
@@ -0,0 +1,149 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/hy_AM/labels.inc |
+ | |
+ | Language file of the Roundcube Webmail client |
+ | Copyright (C) 2012, The Roundcube Dev Team |
+ | Licensed under the GNU General Public License |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Vahan Yerkanian <vahan@yerkanian.com> |
+ +-----------------------------------------------------------------------+
+*/
+
+$labels = array();
+$labels['filters'] = 'Զտիչներ';
+$labels['managefilters'] = 'Կառավարել ստացվող նամակների զտիչները';
+$labels['filtername'] = 'Զտիչի անուն';
+$labels['newfilter'] = 'Նոր զտիչ';
+$labels['filteradd'] = 'Ավելացնել զտիչ';
+$labels['filterdel'] = 'Ջնջել զտիչը';
+$labels['moveup'] = 'Բարձրացնել';
+$labels['movedown'] = 'Իջեցնել';
+$labels['filterallof'] = 'հետևյալ բոլոր պահանջներին համապատասխանող';
+$labels['filteranyof'] = 'հետևյալ պահանջներից ցանկացածին համապատասխանող';
+$labels['filterany'] = 'բոլոր հաղորդագրությունները';
+$labels['filtercontains'] = 'պարունակում է';
+$labels['filternotcontains'] = 'չի պարունակում';
+$labels['filteris'] = 'հավասար է';
+$labels['filterisnot'] = 'հավասար չէ';
+$labels['filterexists'] = 'գոյություն ունի';
+$labels['filternotexists'] = 'գոյություն չունի';
+$labels['filtermatches'] = 'բավարարում է արտահայտությանը';
+$labels['filternotmatches'] = 'չի բավարարում արտահայտությանը';
+$labels['filterregex'] = 'բավարարում է կանոնավոր արտահայտությանը';
+$labels['filternotregex'] = 'չի բավարարում կանոնավոր արտահայտությանը';
+$labels['filterunder'] = 'տակ';
+$labels['filterover'] = 'վրա';
+$labels['addrule'] = 'Ավելացնել պայմանը';
+$labels['delrule'] = 'Ջնջել պայմանը';
+$labels['messagemoveto'] = 'Տեղափոխել հաղորդագրությունը';
+$labels['messageredirect'] = 'Վերահասցեվորել հաղորդագրությունը';
+$labels['messagecopyto'] = 'Պատճենել հաղորդագրությունը';
+$labels['messagesendcopy'] = 'Ուղարկել հաղորդագրության պատճեն';
+$labels['messagereply'] = 'Պատասխանել հաղորդագրությամբ';
+$labels['messagedelete'] = 'Ջնջել հաղորդագրությունը';
+$labels['messagediscard'] = 'Հեռացնել, հաղորդագրությամբ';
+$labels['messagesrules'] = 'Ստացվող հաղորդագրությունների համար';
+$labels['messagesactions'] = '…կատարել հետևյալ գործողությունները.';
+$labels['add'] = 'Ավելացնել';
+$labels['del'] = 'Ջնջել';
+$labels['sender'] = 'Ուղարկող';
+$labels['recipient'] = 'Ստացող';
+$labels['vacationaddresses'] = 'Իմ հավելյալ էլփոստի հասցեներ (բաժանված ստորակետներով).';
+$labels['vacationdays'] = 'Ինչ հաճախությամբ ուղարկել հաղորդագրությունները (օրեր)`';
+$labels['vacationreason'] = 'Հաղորդագրության բովանդակություն (արձակուրդի պատճառ)`';
+$labels['vacationsubject'] = 'Հաղորդագրության վերնագիր`';
+$labels['rulestop'] = 'Դադարել պայմանների ստուգումը';
+$labels['enable'] = 'Միացնել/Անջատել';
+$labels['filterset'] = 'Զտիչների համալիր';
+$labels['filtersets'] = 'Զտիչների համալիրներ';
+$labels['filtersetadd'] = 'Ավելացնել զտիչների համալիր';
+$labels['filtersetdel'] = 'Ջնջել առկա զտիչների համալիրը';
+$labels['filtersetact'] = 'Միացնել առկա զտիչների համալիրը';
+$labels['filtersetdeact'] = 'Անջատել առկա զտիչների համալիրը';
+$labels['filterdef'] = 'Զտիչի սահմանում';
+$labels['filtersetname'] = 'Զտիչների համալիրի անուն';
+$labels['newfilterset'] = 'Նոր զտիչների համալիր';
+$labels['active'] = 'ակտիվ';
+$labels['none'] = 'ոչ մեկը';
+$labels['fromset'] = 'համալիրից';
+$labels['fromfile'] = 'ֆայլից';
+$labels['filterdisabled'] = 'Զտիչը անջատված է';
+$labels['countisgreaterthan'] = 'քանակը գերազանցում է';
+$labels['countisgreaterthanequal'] = 'քանակը գերազանցում է կամ հավասար է';
+$labels['countislessthan'] = 'քանակը պակաս է';
+$labels['countislessthanequal'] = 'քանակը պակաս է կամ հավասար է';
+$labels['countequals'] = 'քանակը հավասար է';
+$labels['countnotequals'] = 'քանակը հավասար չէ';
+$labels['valueisgreaterthan'] = 'արժեքը գերազանցում է';
+$labels['valueisgreaterthanequal'] = 'արժեքը գերազանցում է կամ հավասար է';
+$labels['valueislessthan'] = 'արժեքը պակաս է';
+$labels['valueislessthanequal'] = 'արժեքը պակաս է կամ հավասար է';
+$labels['valueequals'] = 'արժեքը հավասար է';
+$labels['valuenotequals'] = 'արժեքը հավասար չէ';
+$labels['setflags'] = 'Հաղորդագրությունը նշել որպես';
+$labels['addflags'] = 'Ավելացնել նշաններ հաղորդագրությանը';
+$labels['removeflags'] = 'Հեռացնել նշաններ հաղորդագրությունից';
+$labels['flagread'] = 'Ընթերցված';
+$labels['flagdeleted'] = 'Ջնջված';
+$labels['flaganswered'] = 'Պատասխանված';
+$labels['flagflagged'] = 'Նշված';
+$labels['flagdraft'] = 'Սևագիր';
+$labels['filtercreate'] = 'Ստեղծել զտիչ';
+$labels['usedata'] = 'Զտիչում օգտագործել հետևյալ տեղեկությունը.';
+$labels['nextstep'] = 'Հաջորդ քայլ';
+$labels['...'] = '…';
+$labels['advancedopts'] = 'Հավելյալ ընտրանքներ';
+$labels['body'] = 'Մարմին';
+$labels['address'] = 'հասցե';
+$labels['envelope'] = 'ծրար';
+$labels['modifier'] = 'փոփոխիչ`';
+$labels['text'] = 'տեքստ';
+$labels['undecoded'] = 'մաքուր';
+$labels['contenttype'] = 'բովանդակության տիպ';
+$labels['modtype'] = 'տիպ`';
+$labels['allparts'] = 'բոլորը';
+$labels['domain'] = 'տիրույթ';
+$labels['localpart'] = 'լոկալ մաս';
+$labels['user'] = 'օգտվող';
+$labels['detail'] = 'մաս';
+$labels['comparator'] = 'համեմատիչ`';
+$labels['default'] = 'լռակյաց';
+$labels['octet'] = 'անփոփոխ (օկտետ)';
+$labels['asciicasemap'] = 'case insensitive (ascii-casemap)';
+$labels['asciinumeric'] = 'numeric (ascii-numeric)';
+$labels['filterunknownerror'] = 'Սերվերի անհայտ սխալ';
+$labels['filterconnerror'] = 'Սերվերի հետ կապի խնդիր։';
+$labels['filterdeleteerror'] = 'Սերվերի սխալ, զտիչի ջնջումն ձախողվեց։';
+$labels['filterdeleted'] = 'Զտիչը ջնջվեց։';
+$labels['filtersaved'] = 'Զտիչը պահպանվեց։';
+$labels['filtersaveerror'] = 'Սերվերի սխալ, զտիչի պահպանման սխալ։';
+$labels['filterdeleteconfirm'] = 'Դուք իսկապե՞ս ցանկանում եք ջնջել նշված զտիչը։';
+$labels['ruledeleteconfirm'] = 'Դուք իսկապե՞ս ցանկանում եք ջնջել նշված պայմանը։';
+$labels['actiondeleteconfirm'] = 'Դուք իսկապե՞ս ցանկանում եք ջնջել նշված գործողությունը։';
+$labels['forbiddenchars'] = 'Դաշտում առկա են արգելված նիշեր։';
+$labels['cannotbeempty'] = 'Դաշտը դատարկ չի կարող լինել։';
+$labels['ruleexist'] = 'Տրված անունով զտիչ արդեն գոյություն ունի։';
+$labels['setactivateerror'] = 'Սերվերի սխալ։ Նշված զտիչների համալիրի միացման ձախողում։';
+$labels['setdeactivateerror'] = 'Սերվերի սխալ։ Նշված զտիչների համալիրի անջատման ձախողում։';
+$labels['setdeleteerror'] = 'Սերվերի սխալ։ Նշված զտիչների համալիրի ջնջման ձախողում։';
+$labels['setactivated'] = 'Զտիչների համալիրը միացված է։';
+$labels['setdeactivated'] = 'Զտիչների համալիրը անջատված է։';
+$labels['setdeleted'] = 'Զտիչների համալիրը ջնջված է։';
+$labels['setdeleteconfirm'] = 'Դուք իսկապե՞ս ցանկանում եք ջնջել նշված զտիչների համալիրը։';
+$labels['setcreateerror'] = 'Սերվերի սխալ։ Զտիչների համալիրի ստեղծումը ձախողվեց։';
+$labels['setcreated'] = 'Զտիչների համալիրը ստեղծված է։';
+$labels['activateerror'] = 'Սերվերի սխալ։ Նշված զտիչի միացման ձախողում։';
+$labels['deactivateerror'] = 'Սերվերի սխալ։ Նշված զտիչի անջատման ձախողում։';
+$labels['activated'] = 'Զտիչի անջատված է։';
+$labels['deactivated'] = 'Զտիչի միացված է։';
+$labels['moved'] = 'Զտիչի տեղափոխված է։';
+$labels['moveerror'] = 'Սերվերի սխալ։ Նշված զտիչի տեղափոխման ձախողում։';
+$labels['nametoolong'] = 'Անունը չափազանց երկար է։';
+$labels['namereserved'] = 'Անթույլատրելի անուն։';
+$labels['setexist'] = 'Համալիրը արդեն գոյություն ունի։';
+$labels['nodata'] = 'Պահանջվում է նշել գոնե մեկ դիրք։';
+
diff --git a/plugins/managesieve/localization/ja_JP.inc b/plugins/managesieve/localization/ja_JP.inc
index 49675c4c4..f7b96b7d1 100644
--- a/plugins/managesieve/localization/ja_JP.inc
+++ b/plugins/managesieve/localization/ja_JP.inc
@@ -9,32 +9,31 @@
| Licensed under the GNU General Public License |
| |
+-----------------------------------------------------------------------+
- | Author: Takahiro Kambe <Unknown> |
+ | Author: Takahiro Kambe |
+-----------------------------------------------------------------------+
- @version $Id$
*/
$labels = array();
$labels['filters'] = 'フィルター';
$labels['managefilters'] = '受信メールのフィルターを管理';
-$labels['filtername'] = 'フィルターの名前';
+$labels['filtername'] = 'フィルター名';
$labels['newfilter'] = '新しいフィルター';
$labels['filteradd'] = 'フィルターを追加';
$labels['filterdel'] = 'フィルターを削除';
$labels['moveup'] = '上に移動';
$labels['movedown'] = '下に移動';
-$labels['filterallof'] = '次のルールすべてに一致';
-$labels['filteranyof'] = '次のルールのどれかに一致';
+$labels['filterallof'] = '次のルールのすべてに一致';
+$labels['filteranyof'] = '次のルールのいずれかに一致';
$labels['filterany'] = 'すべてのメッセージ';
$labels['filtercontains'] = '含む';
$labels['filternotcontains'] = '含まない';
-$labels['filteris'] = '次と等しい';
-$labels['filterisnot'] = '次と等しくない';
+$labels['filteris'] = '次に等しい';
+$labels['filterisnot'] = '次に等しくない';
$labels['filterexists'] = 'が存在';
$labels['filternotexists'] = 'が存在しない';
-$labels['filtermatches'] = '次の式と一致';
-$labels['filternotmatches'] = '次の式と一致しない';
-$labels['filterregex'] = '次の正規表現と一致';
+$labels['filtermatches'] = '次の式に一致';
+$labels['filternotmatches'] = '次の式に一致しない';
+$labels['filterregex'] = '次の正規表現に一致';
$labels['filternotregex'] = '次の正規表現に一致しない';
$labels['filterunder'] = 'より下';
$labels['filterover'] = 'より上';
@@ -48,7 +47,7 @@ $labels['messagereply'] = 'メッセージを返信';
$labels['messagedelete'] = 'メッセージを削除';
$labels['messagediscard'] = 'メッセージを破棄';
$labels['messagesrules'] = '受信したメールの処理:';
-$labels['messagesactions'] = '以下の動作を実行:';
+$labels['messagesactions'] = '以下の操作を実行:';
$labels['add'] = '追加';
$labels['del'] = '削除';
$labels['sender'] = '送信者';
diff --git a/plugins/managesieve/localization/ko_KR.inc b/plugins/managesieve/localization/ko_KR.inc
new file mode 100644
index 000000000..c3fff4115
--- /dev/null
+++ b/plugins/managesieve/localization/ko_KR.inc
@@ -0,0 +1,131 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/ko_KR/labels.inc |
+ | |
+ | Language file of the Roundcube Webmail client |
+ | Copyright (C) 2012, The Roundcube Dev Team |
+ | Licensed under the GNU General Public License |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Kim, Woohyun <woohyun.kim@gmail.com> |
+ +-----------------------------------------------------------------------+
+*/
+
+$labels = array();
+$labels['filters'] = '필터';
+$labels['managefilters'] = '수신 메일 필터 관리';
+$labels['filtername'] = '필터 이름';
+$labels['newfilter'] = '새 필터';
+$labels['filteradd'] = '필터 추가';
+$labels['filterdel'] = '필터 삭제';
+$labels['moveup'] = '위로 이동';
+$labels['movedown'] = '아래로 이동';
+$labels['filterallof'] = '다음에 오는 규칙들 전부와 일치';
+$labels['filteranyof'] = '다음에 오는 규칙들 중 어떠한 것 이라도 일치';
+$labels['filterany'] = '모든 메시지';
+$labels['filtercontains'] = '포함합니다';
+$labels['filternotcontains'] = '포함하지 않습니다';
+$labels['filteris'] = '와 같습니다';
+$labels['filterisnot'] = '와 같지 않습니다';
+$labels['filterexists'] = '존재합니다';
+$labels['filternotexists'] = '존재하지 않습니다';
+$labels['filtermatches'] = '표현식과 일치합니다';
+$labels['filternotmatches'] = '표현식과 일치하지 않습니다';
+$labels['filterregex'] = '정규표현식과 일치합니다';
+$labels['filternotregex'] = '정규 표현식과 일치하지 않습니다';
+$labels['addrule'] = '규칙 더하기';
+$labels['delrule'] = '규칙 삭제';
+$labels['messagemoveto'] = '메시지 이동';
+$labels['messageredirect'] = '메시지를 Redirect';
+$labels['messagecopyto'] = '메시지를 복사';
+$labels['messagesendcopy'] = '메시지의 복사본 보내기';
+$labels['messagereply'] = '메시지에 회신하기';
+$labels['messagedelete'] = '메시지 삭제';
+$labels['add'] = '추가';
+$labels['del'] = '삭제';
+$labels['sender'] = '보낸 사람';
+$labels['recipient'] = '수신자';
+$labels['vacationaddresses'] = '나의 추가 e-mail 주소(들) (콤마로 구분 됨):';
+$labels['vacationreason'] = '메시지 본문 (휴가 사유):';
+$labels['vacationsubject'] = '메시지 제목:';
+$labels['rulestop'] = '규칙의 실행을 멈춤';
+$labels['enable'] = '사용/사용안함';
+$labels['filterset'] = '필터 묶음';
+$labels['filtersets'] = '필터 묶음';
+$labels['filtersetadd'] = '필터 묶음 추가';
+$labels['filtersetdel'] = '현재 필터 묶음을 삭제';
+$labels['filtersetact'] = '현재 필터 세트를 활성화';
+$labels['filtersetdeact'] = '현재 필터 세트를 비활성화';
+$labels['filterdef'] = '필터 정의';
+$labels['filtersetname'] = '필터 세트 이름';
+$labels['newfilterset'] = '새로운 필터 세트';
+$labels['active'] = '활성';
+$labels['none'] = '없음';
+$labels['fromset'] = '묶음으로 부터';
+$labels['fromfile'] = '파일로 부터';
+$labels['filterdisabled'] = '필터 사용하지 않음';
+$labels['countisgreaterthan'] = '갯수가 큼';
+$labels['countisgreaterthanequal'] = '갯수가 크거나 같음';
+$labels['countislessthan'] = '갯수가 작음';
+$labels['countislessthanequal'] = '갯수가 작거나 같음';
+$labels['countequals'] = '갯수가 같음';
+$labels['countnotequals'] = '갯수가 같지 않음';
+$labels['valueisgreaterthan'] = '값이 큼';
+$labels['valueisgreaterthanequal'] = '값이 크거나 같음';
+$labels['valueislessthan'] = '값이 작음';
+$labels['valueislessthanequal'] = '값이 작거나 같음';
+$labels['valueequals'] = '값이 같음';
+$labels['valuenotequals'] = '값이 같지 않음';
+$labels['setflags'] = '메시지에 플래그를 설정';
+$labels['addflags'] = '메시지에 플래그를 추가';
+$labels['removeflags'] = '메시지에서 플래그를 제거';
+$labels['flagread'] = '읽음';
+$labels['flagdeleted'] = '삭제됨';
+$labels['flaganswered'] = '응답함';
+$labels['flagflagged'] = '표시함';
+$labels['flagdraft'] = '임시 보관함';
+$labels['filtercreate'] = '필터 생성';
+$labels['usedata'] = '필터에서 다음에 오는 데이터를 사용';
+$labels['nextstep'] = '다음 단계';
+$labels['...'] = '...';
+$labels['advancedopts'] = '상세 설정';
+$labels['body'] = '본문';
+$labels['address'] = '주소';
+$labels['text'] = '텍스트';
+$labels['domain'] = '도메인';
+$labels['user'] = '사용자';
+$labels['default'] = '기본값';
+$labels['filterunknownerror'] = '알수 없는 서버 에러.';
+$labels['filterconnerror'] = '서버에 연결할 수 없습니다.';
+$labels['filterdeleteerror'] = '필터를 삭제할 수 없습니다. 서버 에러 발생 함.';
+$labels['filterdeleted'] = '필터를 성공적으로 삭제 함.';
+$labels['filtersaved'] = '필터를 성공적으로 저장 함.';
+$labels['filtersaveerror'] = '필터를 저장할 수 없음. 서버 에러 발생 함.';
+$labels['filterdeleteconfirm'] = '정말로 선택한 필터의 삭제를 원하십니까?';
+$labels['ruledeleteconfirm'] = '선택한 규칙을 삭제하고자 하는 것이 확실합니까?';
+$labels['actiondeleteconfirm'] = '선택한 동작을 삭제하고자 하는 것이 확실합니까?';
+$labels['forbiddenchars'] = '필드에 금지된 문자가 있음.';
+$labels['cannotbeempty'] = '필드는 비어있을 수 없음.';
+$labels['ruleexist'] = '지정한 이름의 필터가 이미 존재 함.';
+$labels['setactivateerror'] = '선택한 필터 묶음을 활성화 할 수 없음. 서버 에러 발생 함.';
+$labels['setdeactivateerror'] = '선택한 필터 묶음을 비활성화 할 수 없음. 서버 에러 발생 함.';
+$labels['setdeleteerror'] = '선택한 필터 묶음을 삭제할 수 없음. 서버 에러 발생 함.';
+$labels['setactivated'] = '필터 묶음을 성공적으로 활성화 하였음.';
+$labels['setdeactivated'] = '필터 묶음을 성공적으로 비활성화 하였음.';
+$labels['setdeleted'] = '필터 묶음을 성공적으로 삭제 함.';
+$labels['setdeleteconfirm'] = '선택한 필터 묶음을 지우고자 하는 것이 확실합니까?';
+$labels['setcreateerror'] = '필터 묶음을 생성할 수 없음. 서버 에러 발생 함.';
+$labels['setcreated'] = '필터 묶음을 성공적으로 생성 함.';
+$labels['activateerror'] = '선택한 필터(들)을 동작하게 할 수 없음. 서버 에러 발생 함.';
+$labels['deactivateerror'] = '선택한 필터(들)을 동작하지 않게 할 수 없음. 서버 에러 발생 함.';
+$labels['activated'] = '필터(들)을 동작하지 않게 하는데 성공하였음.';
+$labels['deactivated'] = '필터(들)을 동작하게 하는데 성공하였음.';
+$labels['moved'] = '필터를 이동하는 데 성공하였음.';
+$labels['moveerror'] = '선택한 필터를 이동할 수 없음. 서버 에러 발생 함.';
+$labels['nametoolong'] = '이름이 너무 김.';
+$labels['namereserved'] = '예약된 이름.';
+$labels['setexist'] = '묶음이 이미 존재 함.';
+$labels['nodata'] = '적어도 하나의 위치가 선택되어야 함!';
+
diff --git a/plugins/managesieve/localization/pl_PL.inc b/plugins/managesieve/localization/pl_PL.inc
index a4a1aeae6..0b4cb6073 100644
--- a/plugins/managesieve/localization/pl_PL.inc
+++ b/plugins/managesieve/localization/pl_PL.inc
@@ -93,6 +93,16 @@ $labels['flagdeleted'] = 'Usunięta';
$labels['flaganswered'] = 'Z odpowiedzią';
$labels['flagflagged'] = 'Oflagowana';
$labels['flagdraft'] = 'Szkic';
+$labels['setvariable'] = 'Ustaw zmienną';
+$labels['setvarname'] = 'Nazwa zmiennej:';
+$labels['setvarvalue'] = 'Wartość zmiennej:';
+$labels['setvarmodifiers'] = 'Modyfikatory:';
+$labels['varlower'] = 'małe litery (:lower)';
+$labels['varupper'] = 'duże litery (:upper)';
+$labels['varlowerfirst'] = 'pierwsza litera mała (:lowerfirst)';
+$labels['varupperfirst'] = 'pierwsza litera duża (:upperfirst)';
+$labels['varquotewildcard'] = 'anulowane znaki specjalne (:quotewildcard)';
+$labels['varlength'] = 'długość (:length)';
$labels['filtercreate'] = 'Utwórz filtr';
$labels['usedata'] = 'Użyj następujących danych do utworzenia filtra:';
$labels['nextstep'] = 'Następny krok';
diff --git a/plugins/managesieve/localization/ru_RU.inc b/plugins/managesieve/localization/ru_RU.inc
index 79c55912e..cfc2ac1e4 100644
--- a/plugins/managesieve/localization/ru_RU.inc
+++ b/plugins/managesieve/localization/ru_RU.inc
@@ -9,9 +9,8 @@
| Licensed under the GNU General Public License |
| |
+-----------------------------------------------------------------------+
- | Author: Vyacheslav Sharmanov <Unknown> |
+ | Author: Vyacheslav Sharmanov |
+-----------------------------------------------------------------------+
- @version $Id$
*/
$labels = array();
@@ -36,8 +35,8 @@ $labels['filtermatches'] = 'совпадает с выражением';
$labels['filternotmatches'] = 'не совпадает с выражением';
$labels['filterregex'] = 'совпадает с регулярным выражением';
$labels['filternotregex'] = 'не совпадает с регулярным выражением';
-$labels['filterunder'] = 'под';
-$labels['filterover'] = 'на';
+$labels['filterunder'] = 'меньше';
+$labels['filterover'] = 'больше';
$labels['addrule'] = 'Добавить правило';
$labels['delrule'] = 'Удалить правило';
$labels['messagemoveto'] = 'Переместить сообщение в';
@@ -53,7 +52,7 @@ $labels['add'] = 'Добавить';
$labels['del'] = 'Удалить';
$labels['sender'] = 'Отправитель';
$labels['recipient'] = 'Получатель';
-$labels['vacationaddresses'] = 'Список дополнительных адресов получателя (разделённых запятыми):';
+$labels['vacationaddresses'] = 'Список моих дополнительных адресов (разделённых запятыми):';
$labels['vacationdays'] = 'Как часто отправлять сообщения (в днях):';
$labels['vacationreason'] = 'Текст сообщения (причина отсутствия):';
$labels['vacationsubject'] = 'Тема сообщения:';
@@ -69,7 +68,7 @@ $labels['filterdef'] = 'Описание фильтра';
$labels['filtersetname'] = 'Название набора фильтров';
$labels['newfilterset'] = 'Новый набор фильтров';
$labels['active'] = 'используется';
-$labels['none'] = 'пустой';
+$labels['none'] = 'нет';
$labels['fromset'] = 'из набора';
$labels['fromfile'] = 'из файла';
$labels['filterdisabled'] = 'Отключить фильтр';
@@ -85,8 +84,8 @@ $labels['valueislessthan'] = 'значение меньше, чем';
$labels['valueislessthanequal'] = 'значение меньше или равно';
$labels['valueequals'] = 'значение равно';
$labels['valuenotequals'] = 'значение не равно';
-$labels['setflags'] = 'Установить флаг на сообщение';
-$labels['addflags'] = 'Добавить флаг к сообщению';
+$labels['setflags'] = 'Установить флаги на сообщение';
+$labels['addflags'] = 'Добавить флаги к сообщению';
$labels['removeflags'] = 'Убрать флаги из сообщения';
$labels['flagread'] = 'Прочитано';
$labels['flagdeleted'] = 'Удалено';
@@ -101,43 +100,49 @@ $labels['advancedopts'] = 'Дополнительные параметры';
$labels['body'] = 'Тело письма';
$labels['address'] = 'адрес';
$labels['envelope'] = 'конверт';
-$labels['modifier'] = 'модификатор:';
+$labels['modifier'] = 'модификатор области поиска:';
$labels['text'] = 'текст';
+$labels['undecoded'] = 'необработанный (сырой)';
$labels['contenttype'] = 'тип содержимого';
-$labels['modtype'] = 'тип:';
-$labels['allparts'] = 'все';
-$labels['domain'] = 'домен';
-$labels['localpart'] = 'локальная часть';
-$labels['user'] = 'пользователь';
-$labels['detail'] = 'детали';
+$labels['modtype'] = 'поиск в адресах:';
+$labels['allparts'] = 'везде';
+$labels['domain'] = 'в имени домена';
+$labels['localpart'] = 'только в имени пользователя, без домена';
+$labels['user'] = 'в полном имени пользователя';
+$labels['detail'] = 'в дополнительных сведениях';
+$labels['comparator'] = 'способ сравнения:';
$labels['default'] = 'по умолчанию';
+$labels['octet'] = 'Строгий (octet)';
+$labels['asciicasemap'] = 'Регистронезависимый (ascii-casemap)';
+$labels['asciinumeric'] = 'Числовой (ascii-numeric)';
$labels['filterunknownerror'] = 'Неизвестная ошибка сервера';
$labels['filterconnerror'] = 'Невозможно подсоединится к серверу фильтров';
-$labels['filterdeleteerror'] = 'Невозможно удалить фильтр. Ошибка сервера';
-$labels['filterdeleted'] = 'Фильтр успешно удалён';
-$labels['filtersaved'] = 'Фильтр успешно сохранён';
-$labels['filtersaveerror'] = 'Невозможно сохранить фильтр. Ошибка сервера';
+$labels['filterdeleteerror'] = 'Невозможно удалить фильтр. Ошибка сервера.';
+$labels['filterdeleted'] = 'Фильтр успешно удалён.';
+$labels['filtersaved'] = 'Фильтр успешно сохранён.';
+$labels['filtersaveerror'] = 'Невозможно сохранить фильтр. Ошибка сервера.';
$labels['filterdeleteconfirm'] = 'Вы действительно хотите удалить фильтр?';
$labels['ruledeleteconfirm'] = 'Вы уверенны, что хотите удалить это правило?';
$labels['actiondeleteconfirm'] = 'Вы уверенны, что хотите удалить это действие?';
-$labels['forbiddenchars'] = 'Недопустимые символы в поле';
-$labels['cannotbeempty'] = 'Поле не может быть пустым';
+$labels['forbiddenchars'] = 'Недопустимые символы в поле.';
+$labels['cannotbeempty'] = 'Поле не может быть пустым.';
$labels['ruleexist'] = 'Фильтр с таким именем уже существует.';
-$labels['setactivateerror'] = 'Невозможно включить выбранный набор фильтров. Ошибка сервера';
-$labels['setdeactivateerror'] = 'Невозможно отключить выбранный набор фильтров. Ошибка сервера';
-$labels['setdeleteerror'] = 'Невозможно удалить выбранный набор фильтров. Ошибка сервера';
-$labels['setactivated'] = 'Набор фильтров успешно включён';
-$labels['setdeactivated'] = 'Набор фильтров успешно отключён';
-$labels['setdeleted'] = 'Набор фильтров успешно удалён';
+$labels['setactivateerror'] = 'Невозможно включить выбранный набор фильтров. Ошибка сервера.';
+$labels['setdeactivateerror'] = 'Невозможно отключить выбранный набор фильтров. Ошибка сервера.';
+$labels['setdeleteerror'] = 'Невозможно удалить выбранный набор фильтров. Ошибка сервера.';
+$labels['setactivated'] = 'Набор фильтров успешно включён.';
+$labels['setdeactivated'] = 'Набор фильтров успешно отключён.';
+$labels['setdeleted'] = 'Набор фильтров успешно удалён.';
$labels['setdeleteconfirm'] = 'Вы уверены в том, что хотите удалить выбранный набор фильтров?';
-$labels['setcreateerror'] = 'Невозможно создать набор фильтров. Ошибка сервера';
-$labels['setcreated'] = 'Набор фильтров успешно создан';
+$labels['setcreateerror'] = 'Невозможно создать набор фильтров. Ошибка сервера.';
+$labels['setcreated'] = 'Набор фильтров успешно создан.';
$labels['activateerror'] = 'Невозможно включить выбранный(е) фильтр(ы). Ошибка сервера.';
$labels['deactivateerror'] = 'Невозможно выключить выбранный(е) фильтр(ы). Ошибка сервера.';
$labels['activated'] = 'Фильтр(ы) успешно отключен(ы).';
$labels['deactivated'] = 'Фильтр(ы) успешно включен(ы).';
$labels['moved'] = 'Фильтр успешно перемещён.';
-$labels['nametoolong'] = 'Невозможно создать набор фильтров. Название слишком длинное';
+$labels['moveerror'] = 'Невозможно переместить фильтр. Ошибка сервера.';
+$labels['nametoolong'] = 'Невозможно создать набор фильтров. Название слишком длинное.';
$labels['namereserved'] = 'Зарезервированное имя.';
$labels['setexist'] = 'Набор уже существует.';
$labels['nodata'] = 'Нужно выбрать хотя бы одну позицию!';
diff --git a/plugins/managesieve/localization/sl_SI.inc b/plugins/managesieve/localization/sl_SI.inc
index fd3690f18..a0b61e70e 100644
--- a/plugins/managesieve/localization/sl_SI.inc
+++ b/plugins/managesieve/localization/sl_SI.inc
@@ -9,18 +9,17 @@
| Licensed under the GNU General Public License |
| |
+-----------------------------------------------------------------------+
- | Author: Barbara Krasovec <barbarak@arnes.si> |
+ | Author: Teja Cetinski <teja.cetinski@gmail.com> |
+-----------------------------------------------------------------------+
- @version $Id$
*/
$labels = array();
-$labels['filters'] = 'Pravila';
-$labels['managefilters'] = 'Uredi sporočilna pravila';
-$labels['filtername'] = 'Ime pravila';
-$labels['newfilter'] = 'Novo pravilo';
-$labels['filteradd'] = 'Dodaj pravilo';
-$labels['filterdel'] = 'Izbriši pravilo';
+$labels['filters'] = 'Filtri';
+$labels['managefilters'] = 'Uredi filtre za dohodno pošto';
+$labels['filtername'] = 'Ime filtra';
+$labels['newfilter'] = 'Nov filter';
+$labels['filteradd'] = 'Dodaj filter';
+$labels['filterdel'] = 'Izbriši filter';
$labels['moveup'] = 'Pomakni se navzgor';
$labels['movedown'] = 'Pomakni se navzdol';
$labels['filterallof'] = 'izpolnjeni morajo biti vsi pogoji';
@@ -101,14 +100,19 @@ $labels['advancedopts'] = 'Dodatne možnosti';
$labels['body'] = 'Vsebina';
$labels['address'] = 'naslov';
$labels['envelope'] = 'ovojnica';
+$labels['modifier'] = 'modifikator';
$labels['text'] = 'besedilo';
+$labels['undecoded'] = 'neobdelano';
$labels['contenttype'] = 'tip vsebine';
$labels['modtype'] = 'tip';
$labels['allparts'] = 'vse';
$labels['domain'] = 'domena';
+$labels['localpart'] = 'lokalni del';
$labels['user'] = 'uporabnik';
$labels['detail'] = 'podrobnosti';
+$labels['comparator'] = 'primerjalnik';
$labels['default'] = 'privzeto';
+$labels['octet'] = 'strict (octet)';
$labels['asciicasemap'] = 'ni občutljiv na velike/male črke (ascii-casemap)';
$labels['asciinumeric'] = 'numerično (ascii-numeric)';
$labels['filterunknownerror'] = 'Prišlo je do neznane napake.';
diff --git a/plugins/managesieve/localization/zh_CN.inc b/plugins/managesieve/localization/zh_CN.inc
index cacece8c7..31bdc1ecd 100644
--- a/plugins/managesieve/localization/zh_CN.inc
+++ b/plugins/managesieve/localization/zh_CN.inc
@@ -11,7 +11,6 @@
+-----------------------------------------------------------------------+
| Author: Christopher Meng <cickumqt@gmail.com> |
+-----------------------------------------------------------------------+
- @version $Id$
*/
$labels = array();
@@ -137,6 +136,8 @@ $labels['setdeleted'] = '过滤器成功删除。';
$labels['setdeleteconfirm'] = '你确定要删除指定过滤器?';
$labels['setcreateerror'] = '无法创建过滤器,服务器错误。';
$labels['setcreated'] = '过滤器成功创建。';
+$labels['activateerror'] = '无法启用选中的过滤器,因为服务器发生错误。';
+$labels['deactivateerror'] = '无法禁用选中的过滤器,因为服务器发生错误。';
$labels['activated'] = '禁用过滤器成功。';
$labels['deactivated'] = '启用过滤器成功。';
$labels['moved'] = '过滤器移动成功。';
diff --git a/plugins/managesieve/localization/zh_TW.inc b/plugins/managesieve/localization/zh_TW.inc
index 10a547ad7..db2292b9a 100644
--- a/plugins/managesieve/localization/zh_TW.inc
+++ b/plugins/managesieve/localization/zh_TW.inc
@@ -9,9 +9,8 @@
| Licensed under the GNU General Public License |
| |
+-----------------------------------------------------------------------+
- | Author: Nansen <Unknown> |
+ | Author: Nansen |
+-----------------------------------------------------------------------+
- @version $Id$
*/
$labels = array();
@@ -125,5 +124,11 @@ $labels['setdeleted'] = '篩選器集合成功刪除';
$labels['setdeleteconfirm'] = '你確定要刪除選擇的篩選器集合嗎?';
$labels['setcreateerror'] = '無法建立篩選器集合。 伺服器發生錯誤';
$labels['setcreated'] = '篩選器集合成功建立';
+$labels['activateerror'] = '無法啟用選擇的篩選器。伺服器錯誤';
+$labels['deactivateerror'] = '無法停用選擇的篩選器。伺服器錯誤';
+$labels['activated'] = '篩選器已停用';
+$labels['deactivated'] = '篩選器已啟用';
+$labels['moved'] = '篩選器已移動';
+$labels['moveerror'] = '無法移動選擇的篩選器。伺服器錯誤';
$labels['nametoolong'] = '無法建立篩選器集合。 名稱太長';
diff --git a/plugins/managesieve/managesieve.js b/plugins/managesieve/managesieve.js
index 61883f6d2..f447719a2 100644
--- a/plugins/managesieve/managesieve.js
+++ b/plugins/managesieve/managesieve.js
@@ -638,7 +638,8 @@ function action_type_select(id)
target: document.getElementById('action_target' + id),
target_area: document.getElementById('action_target_area' + id),
flags: document.getElementById('action_flags' + id),
- vacation: document.getElementById('action_vacation' + id)
+ vacation: document.getElementById('action_vacation' + id),
+ set: document.getElementById('action_set' + id)
};
if (obj.value == 'fileinto' || obj.value == 'fileinto_copy') {
@@ -656,6 +657,9 @@ function action_type_select(id)
else if (obj.value == 'vacation') {
enabled.vacation = 1;
}
+ else if (obj.value == 'set') {
+ enabled.set = 1;
+ }
for (var x in elems) {
elems[x].style.display = !enabled[x] ? 'none' : 'inline';
diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php
index 486b3fb1d..e7828f1da 100644
--- a/plugins/managesieve/managesieve.php
+++ b/plugins/managesieve/managesieve.php
@@ -62,7 +62,7 @@ class managesieve extends rcube_plugin
"x-beenthere",
);
- const VERSION = '5.0';
+ const VERSION = '5.2';
const PROGNAME = 'Roundcube (Managesieve)';
@@ -109,16 +109,16 @@ class managesieve extends rcube_plugin
function mail_task_handler()
{
// use jQuery for popup window
- $this->require_plugin('jqueryui');
+ $this->require_plugin('jqueryui');
// include js script and localization
$this->init_ui();
// include styles
- $skin = $this->rc->config->get('skin');
- if (!file_exists($this->home."/skins/$skin/managesieve_mail.css"))
- $skin = 'default';
- $this->include_stylesheet("skins/$skin/managesieve_mail.css");
+ $skin_path = $this->local_skin_path();
+ if (is_file($this->home . "/$skin_path/managesieve_mail.css")) {
+ $this->include_stylesheet("$skin_path/managesieve_mail.css");
+ }
// add 'Create filter' item to message menu
$this->api->add_content(html::tag('li', null,
@@ -143,6 +143,13 @@ class managesieve extends rcube_plugin
*/
function mail_headers($args)
{
+ // this hook can be executed many times
+ if ($this->mail_headers_done) {
+ return $args;
+ }
+
+ $this->mail_headers_done = true;
+
$headers = $args['headers'];
$ret = array();
@@ -615,6 +622,9 @@ class managesieve extends rcube_plugin
$days = get_input_value('_action_days', RCUBE_INPUT_POST);
$subject = get_input_value('_action_subject', RCUBE_INPUT_POST, true);
$flags = get_input_value('_action_flags', RCUBE_INPUT_POST);
+ $varnames = get_input_value('_action_varname', RCUBE_INPUT_POST);
+ $varvalues = get_input_value('_action_varvalue', RCUBE_INPUT_POST);
+ $varmods = get_input_value('_action_varmods', RCUBE_INPUT_POST);
// we need a "hack" for radiobuttons
foreach ($sizeitems as $item)
@@ -707,9 +717,12 @@ class managesieve extends rcube_plugin
if (!count($headers))
$this->errors['tests'][$i]['header'] = $this->gettext('cannotbeempty');
else {
- foreach ($headers as $hr)
- if (!preg_match('/^[a-z0-9-]+$/i', $hr))
+ foreach ($headers as $hr) {
+ // RFC2822: printable ASCII except colon
+ if (!preg_match('/^[\x21-\x39\x41-\x7E]+$/i', $hr)) {
$this->errors['tests'][$i]['header'] = $this->gettext('forbiddenchars');
+ }
+ }
}
if (empty($this->errors['tests'][$i]['header']))
@@ -846,6 +859,25 @@ class managesieve extends rcube_plugin
if ($this->form['actions'][$i]['days'] && !preg_match('/^[0-9]+$/', $this->form['actions'][$i]['days']))
$this->errors['actions'][$i]['days'] = $this->gettext('forbiddenchars');
break;
+
+ case 'set':
+ $this->form['actions'][$i]['name'] = $varnames[$idx];
+ $this->form['actions'][$i]['value'] = $varvalues[$idx];
+ foreach ((array)$varmods[$idx] as $v_m) {
+ $this->form['actions'][$i][$v_m] = true;
+ }
+
+ if (empty($varnames[$idx])) {
+ $this->errors['actions'][$i]['name'] = $this->gettext('cannotbeempty');
+ }
+ else if (!preg_match('/^[0-9a-z_]+$/i', $varnames[$idx])) {
+ $this->errors['actions'][$i]['name'] = $this->gettext('forbiddenchars');
+ }
+
+ if (!isset($varvalues[$idx]) || $varvalues[$idx] === '') {
+ $this->errors['actions'][$i]['value'] = $this->gettext('cannotbeempty');
+ }
+ break;
}
$this->form['actions'][$i]['type'] = $type;
@@ -994,7 +1026,7 @@ class managesieve extends rcube_plugin
$this->rc->output->set_env('contentframe', $attrib['name']);
$this->rc->output->set_env('blankpage', $attrib['src'] ?
- $this->rc->output->abs_url($attrib['src']) : 'program/blank.gif');
+ $this->rc->output->abs_url($attrib['src']) : 'program/resources/blank.gif');
return html::tag('iframe', $attrib);
}
@@ -1444,6 +1476,9 @@ class managesieve extends rcube_plugin
$select_action->add(Q($this->gettext('addflags')), 'addflag');
$select_action->add(Q($this->gettext('removeflags')), 'removeflag');
}
+ if (in_array('variables', $this->exts)) {
+ $select_action->add(Q($this->gettext('setvariable')), 'set');
+ }
$select_action->add(Q($this->gettext('rulestop')), 'stop');
$select_type = $action['type'];
@@ -1507,6 +1542,35 @@ class managesieve extends rcube_plugin
}
$out .= '</div>';
+ // set variable
+ $set_modifiers = array(
+ 'lower',
+ 'upper',
+ 'lowerfirst',
+ 'upperfirst',
+ 'quotewildcard',
+ 'length'
+ );
+
+ $out .= '<div id="action_set' .$id.'" style="display:' .($action['type']=='set' ? 'inline' : 'none') .'">';
+ $out .= '<span class="label">' .Q($this->gettext('setvarname')) . '</span><br />'
+ .'<input type="text" name="_action_varname['.$id.']" id="action_varname'.$id.'" '
+ .'value="' . Q($action['name']) . '" size="35" '
+ . $this->error_class($id, 'action', 'name', 'action_varname') .' />';
+ $out .= '<br /><span class="label">' .Q($this->gettext('setvarvalue')) . '</span><br />'
+ .'<input type="text" name="_action_varvalue['.$id.']" id="action_varvalue'.$id.'" '
+ .'value="' . Q($action['value']) . '" size="35" '
+ . $this->error_class($id, 'action', 'value', 'action_varvalue') .' />';
+ $out .= '<br /><span class="label">' .Q($this->gettext('setvarmodifiers')) . '</span><br />';
+ foreach ($set_modifiers as $j => $s_m) {
+ $s_m_id = 'action_varmods' . $id . $s_m;
+ $out .= sprintf('<input type="checkbox" name="_action_varmods[%s][]" value="%s" id="%s"%s />%s<br>',
+ $id, $s_m, $s_m_id,
+ (array_key_exists($s_m, (array)$action) && $action[$s_m] ? ' checked="checked"' : ''),
+ Q($this->gettext('var' . $s_m)));
+ }
+ $out .= '</div>';
+
// mailbox select
if ($action['type'] == 'fileinto')
$mailbox = $this->mod_mailbox($action['target'], 'out');
diff --git a/plugins/managesieve/package.xml b/plugins/managesieve/package.xml
index 207793958..cde78c9a3 100644
--- a/plugins/managesieve/package.xml
+++ b/plugins/managesieve/package.xml
@@ -17,9 +17,9 @@
<email>alec@alec.pl</email>
<active>yes</active>
</lead>
- <date>2012-01-05</date>
+ <date>2012-06-21</date>
<version>
- <release>5.0</release>
+ <release>5.1</release>
<api>5.0</api>
</version>
<stability>
@@ -38,46 +38,63 @@
<tasks:replace from="@name@" to="name" type="package-info"/>
<tasks:replace from="@package_version@" to="version" type="package-info"/>
</file>
+ <file name="localization/be_BE.inc" role="data"></file>
<file name="localization/bg_BG.inc" role="data"></file>
+ <file name="localization/bs_BA.inc" role="data"></file>
+ <file name="localization/ca_ES_BA.inc" role="data"></file>
<file name="localization/cs_CZ.inc" role="data"></file>
+ <file name="localization/cy_GB.inc" role="data"></file>
+ <file name="localization/da_DK.inc" role="data"></file>
<file name="localization/de_CH.inc" role="data"></file>
<file name="localization/de_DE.inc" role="data"></file>
<file name="localization/el_GR.inc" role="data"></file>
<file name="localization/en_GB.inc" role="data"></file>
<file name="localization/en_US.inc" role="data"></file>
+ <file name="localization/eo.inc" role="data"></file>
<file name="localization/es_AR.inc" role="data"></file>
<file name="localization/es_ES.inc" role="data"></file>
<file name="localization/et_EE.inc" role="data"></file>
+ <file name="localization/fa_IR.inc" role="data"></file>
<file name="localization/fi_FI.inc" role="data"></file>
<file name="localization/fr_FR.inc" role="data"></file>
<file name="localization/gl_ES.inc" role="data"></file>
+ <file name="localization/he_IL.inc" role="data"></file>
<file name="localization/hr_HR.inc" role="data"></file>
<file name="localization/hu_HU.inc" role="data"></file>
+ <file name="localization/ia_IA.inc" role="data"></file>
+ <file name="localization/id_ID.inc" role="data"></file>
<file name="localization/it_IT.inc" role="data"></file>
<file name="localization/ja_JP.inc" role="data"></file>
+ <file name="localization/lt_LT.inc" role="data"></file>
<file name="localization/lv_LV.inc" role="data"></file>
+ <file name="localization/ml_ML.inc" role="data"></file>
+ <file name="localization/mr_IN.inc" role="data"></file>
<file name="localization/nb_NO.inc" role="data"></file>
<file name="localization/nl_NL.inc" role="data"></file>
<file name="localization/pl_PL.inc" role="data"></file>
<file name="localization/pt_BR.inc" role="data"></file>
<file name="localization/pt_PT.inc" role="data"></file>
+ <file name="localization/ro_RO.inc" role="data"></file>
<file name="localization/ru_RU.inc" role="data"></file>
+ <file name="localization/si_LK.inc" role="data"></file>
<file name="localization/sk_SK.inc" role="data"></file>
<file name="localization/sl_SI.inc" role="data"></file>
<file name="localization/sv_SE.inc" role="data"></file>
+ <file name="localization/tr_TR.inc" role="data"></file>
<file name="localization/uk_UA.inc" role="data"></file>
+ <file name="localization/vi_VN.inc" role="data"></file>
<file name="localization/zh_CN.inc" role="data"></file>
<file name="localization/zh_TW.inc" role="data"></file>
- <file name="skins/default/managesieve.css" role="data"></file>
- <file name="skins/default/managesieve_mail.css" role="data"></file>
- <file name="skins/default/templates/filteredit.html" role="data"></file>
- <file name="skins/default/templates/managesieve.html" role="data"></file>
- <file name="skins/default/templates/setedit.html" role="data"></file>
- <file name="skins/default/images/add.png" role="data"></file>
- <file name="skins/default/images/del.png" role="data"></file>
- <file name="skins/default/images/down_small.gif" role="data"></file>
- <file name="skins/default/images/filter.png" role="data"></file>
- <file name="skins/default/images/up_small.gif" role="data"></file>
+ <file name="skins/classic/managesieve.css" role="data"></file>
+ <file name="skins/classic/managesieve_mail.css" role="data"></file>
+ <file name="skins/classic/templates/filteredit.html" role="data"></file>
+ <file name="skins/classic/templates/managesieve.html" role="data"></file>
+ <file name="skins/classic/templates/setedit.html" role="data"></file>
+ <file name="skins/classic/images/add.png" role="data"></file>
+ <file name="skins/classic/images/del.png" role="data"></file>
+ <file name="skins/classic/images/down_small.gif" role="data"></file>
+ <file name="skins/classic/images/filter.png" role="data"></file>
+ <file name="skins/classic/images/up_small.gif" role="data"></file>
<file name="managesieve.php" role="php"></file>
<file name="lib/rcube_sieve.php" role="php"></file>
<file name="lib/rcube_sieve_script.php" role="php"></file>
diff --git a/plugins/managesieve/skins/default/images/add.png b/plugins/managesieve/skins/classic/images/add.png
index 97a6422fb..97a6422fb 100644
--- a/plugins/managesieve/skins/default/images/add.png
+++ b/plugins/managesieve/skins/classic/images/add.png
Binary files differ
diff --git a/plugins/managesieve/skins/default/images/del.png b/plugins/managesieve/skins/classic/images/del.png
index 518905bc4..518905bc4 100644
--- a/plugins/managesieve/skins/default/images/del.png
+++ b/plugins/managesieve/skins/classic/images/del.png
Binary files differ
diff --git a/plugins/managesieve/skins/default/images/down_small.gif b/plugins/managesieve/skins/classic/images/down_small.gif
index f865893f4..f865893f4 100644
--- a/plugins/managesieve/skins/default/images/down_small.gif
+++ b/plugins/managesieve/skins/classic/images/down_small.gif
Binary files differ
diff --git a/plugins/managesieve/skins/default/images/filter.png b/plugins/managesieve/skins/classic/images/filter.png
index a79ba1083..a79ba1083 100644
--- a/plugins/managesieve/skins/default/images/filter.png
+++ b/plugins/managesieve/skins/classic/images/filter.png
Binary files differ
diff --git a/plugins/managesieve/skins/default/images/up_small.gif b/plugins/managesieve/skins/classic/images/up_small.gif
index 40deb891f..40deb891f 100644
--- a/plugins/managesieve/skins/default/images/up_small.gif
+++ b/plugins/managesieve/skins/classic/images/up_small.gif
Binary files differ
diff --git a/plugins/managesieve/skins/default/managesieve.css b/plugins/managesieve/skins/classic/managesieve.css
index 9527b44e9..9527b44e9 100644
--- a/plugins/managesieve/skins/default/managesieve.css
+++ b/plugins/managesieve/skins/classic/managesieve.css
diff --git a/plugins/managesieve/skins/default/managesieve_mail.css b/plugins/managesieve/skins/classic/managesieve_mail.css
index 87a11cc92..87a11cc92 100644
--- a/plugins/managesieve/skins/default/managesieve_mail.css
+++ b/plugins/managesieve/skins/classic/managesieve_mail.css
diff --git a/plugins/managesieve/skins/default/templates/filteredit.html b/plugins/managesieve/skins/classic/templates/filteredit.html
index 6ecb03cae..6ecb03cae 100644
--- a/plugins/managesieve/skins/default/templates/filteredit.html
+++ b/plugins/managesieve/skins/classic/templates/filteredit.html
diff --git a/plugins/managesieve/skins/default/templates/managesieve.html b/plugins/managesieve/skins/classic/templates/managesieve.html
index 71eebe105..71eebe105 100644
--- a/plugins/managesieve/skins/default/templates/managesieve.html
+++ b/plugins/managesieve/skins/classic/templates/managesieve.html
diff --git a/plugins/managesieve/skins/default/templates/setedit.html b/plugins/managesieve/skins/classic/templates/setedit.html
index 26f7fece6..26f7fece6 100644
--- a/plugins/managesieve/skins/default/templates/setedit.html
+++ b/plugins/managesieve/skins/classic/templates/setedit.html
diff --git a/plugins/managesieve/skins/larry/managesieve.css b/plugins/managesieve/skins/larry/managesieve.css
index f252bd7d6..49ebe007f 100644
--- a/plugins/managesieve/skins/larry/managesieve.css
+++ b/plugins/managesieve/skins/larry/managesieve.css
@@ -216,19 +216,10 @@ span.label
width: 100%;
}
-#footer .footerleft
+#footer .footerleft label
{
- padding-left: 2px;
+ margin-left: 40px;
white-space: nowrap;
- float: left;
-}
-
-#footer .footerright
-{
- padding-right: 2px;
- white-space: nowrap;
- text-align: right;
- float: right;
}
.itemlist
diff --git a/plugins/managesieve/skins/larry/templates/filteredit.html b/plugins/managesieve/skins/larry/templates/filteredit.html
index 424bdbcd3..602816af7 100644
--- a/plugins/managesieve/skins/larry/templates/filteredit.html
+++ b/plugins/managesieve/skins/larry/templates/filteredit.html
@@ -5,7 +5,7 @@
<roundcube:include file="/includes/links.html" />
<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
</head>
-<body class="iframe<roundcube:exp expression="env:task != 'mail' ? '' : ' mail'" />">
+<body class="iframe<roundcube:exp expression="env:task != 'mail' ? ' floatingbuttons' : ' mail'" />">
<roundcube:if condition="env:task != 'mail'" />
<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.filterdef" /></div>
@@ -16,12 +16,12 @@
<roundcube:if condition="env:task != 'mail'" />
<div id="footer">
-<div class="footerleft">
+<div class="footerleft formbuttons floating">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
-</div>
-<div class="footerright">
-<label for="disabled"><roundcube:label name="managesieve.filterdisabled" /></label>
+<label for="disabled">
<input type="checkbox" id="disabled" name="_disabled" value="1" />
+<roundcube:label name="managesieve.filterdisabled" />
+</label>
</div>
</div>
<roundcube:endif />
diff --git a/plugins/managesieve/skins/larry/templates/managesieve.html b/plugins/managesieve/skins/larry/templates/managesieve.html
index 740b41658..25bbbaf69 100644
--- a/plugins/managesieve/skins/larry/templates/managesieve.html
+++ b/plugins/managesieve/skins/larry/templates/managesieve.html
@@ -36,8 +36,10 @@
</div>
</div>
-<div id="filter-box" class="uibox">
- <roundcube:object name="filterframe" id="filter-frame" style="width:100%; height:96%" frameborder="0" src="/watermark.html" />
+<div id="filter-box" class="uibox contentbox">
+ <div class="iframebox">
+ <roundcube:object name="filterframe" id="filter-frame" style="width:100%; height:100%" frameborder="0" src="/watermark.html" />
+ </div>
<roundcube:object name="message" id="message" class="statusbar" />
</div>
diff --git a/plugins/managesieve/skins/larry/templates/setedit.html b/plugins/managesieve/skins/larry/templates/setedit.html
index 71de8ddf8..9fc115dc7 100644
--- a/plugins/managesieve/skins/larry/templates/setedit.html
+++ b/plugins/managesieve/skins/larry/templates/setedit.html
@@ -5,16 +5,18 @@
<roundcube:include file="/includes/links.html" />
<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
</head>
-<body class="iframe">
+<body class="iframe floatingbuttons">
<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.newfilterset" /></div>
<div id="filter-form" class="boxcontent">
<roundcube:object name="filtersetform" />
-<p>
+<div id="footer">
+<div class="footerleft formbuttons floating">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
-</p>
+</div>
+</div>
</form>
</div>