summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugues Hiegel <root@paranoid>2014-08-05 16:46:22 +0200
committerHugues Hiegel <root@paranoid>2014-08-05 16:46:22 +0200
commit59478e06c25303a790a0840ab2ac30662c4ef781 (patch)
tree8d5e964a8f94adaef41efebb0597629f11495c42
parent7c494b677f9e470ee0d32e62cfa8dc709f39e748 (diff)
c'est la merde..working
-rw-r--r--.htaccess3
-rw-r--r--CHANGELOG68
-rw-r--r--INSTALL2
-rwxr-xr-xbin/package2composer.sh109
-rwxr-xr-xbin/transifexpull.sh38
-rwxr-xr-xbin/updatedb.sh7
-rw-r--r--config/.htaccess2
-rw-r--r--config/defaults.inc.php78
-rw-r--r--index.php9
-rw-r--r--installer/rcube_install.php2
-rw-r--r--logs/.htaccess2
-rw-r--r--main.inc.php.dist900
-rw-r--r--plugins/acl/acl.php56
-rw-r--r--plugins/acl/config.inc.php.dist16
-rw-r--r--plugins/acl/localization/az_AZ.inc2
-rw-r--r--plugins/acl/localization/be_BE.inc90
-rw-r--r--plugins/acl/localization/bg_BG.inc90
-rw-r--r--plugins/acl/localization/el_GR.inc90
-rw-r--r--plugins/acl/localization/en_US.inc4
-rw-r--r--plugins/acl/localization/es_AR.inc89
-rw-r--r--plugins/acl/localization/et_EE.inc6
-rw-r--r--plugins/acl/localization/eu_ES.inc90
-rw-r--r--plugins/acl/localization/fa_IR.inc28
-rw-r--r--plugins/acl/localization/fi_FI.inc28
-rw-r--r--plugins/acl/localization/gl_ES.inc64
-rw-r--r--plugins/acl/localization/he_IL.inc2
-rw-r--r--plugins/acl/localization/lb_LU.inc30
-rw-r--r--plugins/acl/localization/lt_LT.inc2
-rw-r--r--plugins/acl/localization/lv_LV.inc90
-rw-r--r--plugins/acl/localization/pl_PL.inc2
-rw-r--r--plugins/acl/localization/ro_RO.inc24
-rw-r--r--plugins/acl/localization/th_TH.inc50
-rw-r--r--plugins/acl/localization/ti.inc67
-rw-r--r--plugins/acl/localization/tr_TR.inc2
-rw-r--r--plugins/acl/package.xml2
-rw-r--r--plugins/acl/skins/classic/acl.css4
-rw-r--r--plugins/acl/skins/larry/acl.css24
-rw-r--r--plugins/additional_message_headers/additional_message_headers.php4
-rw-r--r--plugins/additional_message_headers/config.inc.php.dist10
-rw-r--r--plugins/archive/archive.js31
-rw-r--r--plugins/archive/archive.php146
-rw-r--r--plugins/archive/localization/ar.inc18
-rw-r--r--plugins/archive/localization/ast.inc31
-rw-r--r--plugins/archive/localization/bn_BD.inc18
-rw-r--r--plugins/archive/localization/en_US.inc11
-rw-r--r--plugins/archive/localization/eu_ES.inc31
-rw-r--r--plugins/archive/localization/fa_AF.inc26
-rw-r--r--plugins/archive/localization/fa_IR.inc6
-rw-r--r--plugins/archive/localization/fi_FI.inc18
-rw-r--r--plugins/archive/localization/fr_FR.inc6
-rw-r--r--plugins/archive/localization/hi_IN.inc18
-rw-r--r--plugins/archive/localization/ia.inc18
-rw-r--r--plugins/archive/localization/lb_LU.inc3
-rw-r--r--plugins/archive/localization/lv_LV.inc22
-rw-r--r--plugins/archive/localization/mn_MN.inc18
-rw-r--r--plugins/archive/localization/ms_MY.inc18
-rw-r--r--plugins/archive/localization/my_MM.inc18
-rw-r--r--plugins/archive/localization/nb_NB.inc21
-rw-r--r--plugins/archive/localization/nb_NO.inc2
-rw-r--r--plugins/archive/localization/nl_BE.inc18
-rw-r--r--plugins/archive/localization/nn_NO.inc2
-rw-r--r--plugins/archive/localization/nqo.inc18
-rw-r--r--plugins/archive/localization/om.inc18
-rw-r--r--plugins/archive/localization/pt_BR.inc18
-rw-r--r--plugins/archive/localization/ro_RO.inc6
-rw-r--r--plugins/archive/localization/te_IN.inc18
-rw-r--r--plugins/archive/localization/th_TH.inc18
-rw-r--r--plugins/archive/localization/ti.inc18
-rw-r--r--plugins/archive/localization/tzm.inc18
-rw-r--r--plugins/archive/localization/ur_PK.inc18
-rw-r--r--plugins/archive/localization/zh_CN.inc20
-rw-r--r--plugins/archive/package.xml42
-rw-r--r--plugins/attachment_reminder/localization/ar.inc20
-rw-r--r--plugins/attachment_reminder/localization/ar_SA.inc20
-rw-r--r--plugins/attachment_reminder/localization/az_AZ.inc20
-rw-r--r--plugins/attachment_reminder/localization/be_BE.inc20
-rw-r--r--plugins/attachment_reminder/localization/bg_BG.inc20
-rw-r--r--plugins/attachment_reminder/localization/bn_BD.inc20
-rw-r--r--plugins/attachment_reminder/localization/bs_BA.inc20
-rw-r--r--plugins/attachment_reminder/localization/ca_ES.inc20
-rw-r--r--plugins/attachment_reminder/localization/cs_CZ.inc20
-rw-r--r--plugins/attachment_reminder/localization/cy_GB.inc20
-rw-r--r--plugins/attachment_reminder/localization/da_DK.inc20
-rw-r--r--plugins/attachment_reminder/localization/de_CH.inc2
-rw-r--r--plugins/attachment_reminder/localization/de_DE.inc18
-rw-r--r--plugins/attachment_reminder/localization/el_GR.inc20
-rw-r--r--plugins/attachment_reminder/localization/eo.inc20
-rw-r--r--plugins/attachment_reminder/localization/es_AR.inc20
-rw-r--r--plugins/attachment_reminder/localization/es_ES.inc18
-rw-r--r--plugins/attachment_reminder/localization/et_EE.inc20
-rw-r--r--plugins/attachment_reminder/localization/eu_ES.inc20
-rw-r--r--plugins/attachment_reminder/localization/fa_AF.inc20
-rw-r--r--plugins/attachment_reminder/localization/fa_IR.inc20
-rw-r--r--plugins/attachment_reminder/localization/fi_FI.inc20
-rw-r--r--plugins/attachment_reminder/localization/fr_FR.inc18
-rw-r--r--plugins/attachment_reminder/localization/gl_ES.inc20
-rw-r--r--plugins/attachment_reminder/localization/he_IL.inc20
-rw-r--r--plugins/attachment_reminder/localization/hi_IN.inc20
-rw-r--r--plugins/attachment_reminder/localization/hu_HU.inc20
-rw-r--r--plugins/attachment_reminder/localization/hy_AM.inc20
-rw-r--r--plugins/attachment_reminder/localization/ia.inc20
-rw-r--r--plugins/attachment_reminder/localization/id_ID.inc20
-rw-r--r--plugins/attachment_reminder/localization/it_IT.inc18
-rw-r--r--plugins/attachment_reminder/localization/ja_JP.inc20
-rw-r--r--plugins/attachment_reminder/localization/ko_KR.inc20
-rw-r--r--plugins/attachment_reminder/localization/lb_LU.inc2
-rw-r--r--plugins/attachment_reminder/localization/lt_LT.inc20
-rw-r--r--plugins/attachment_reminder/localization/lv_LV.inc20
-rw-r--r--plugins/attachment_reminder/localization/ml_IN.inc20
-rw-r--r--plugins/attachment_reminder/localization/mn_MN.inc20
-rw-r--r--plugins/attachment_reminder/localization/ms_MY.inc20
-rw-r--r--plugins/attachment_reminder/localization/my_MM.inc20
-rw-r--r--plugins/attachment_reminder/localization/nb_NO.inc20
-rw-r--r--plugins/attachment_reminder/localization/nl_BE.inc20
-rw-r--r--plugins/attachment_reminder/localization/nl_NL.inc22
-rw-r--r--plugins/attachment_reminder/localization/nn_NO.inc20
-rw-r--r--plugins/attachment_reminder/localization/nqo.inc20
-rw-r--r--plugins/attachment_reminder/localization/om.inc20
-rw-r--r--plugins/attachment_reminder/localization/pl_PL.inc16
-rw-r--r--plugins/attachment_reminder/localization/pt_BR.inc20
-rw-r--r--plugins/attachment_reminder/localization/pt_PT.inc20
-rw-r--r--plugins/attachment_reminder/localization/ro_RO.inc20
-rw-r--r--plugins/attachment_reminder/localization/ru_RU.inc20
-rw-r--r--plugins/attachment_reminder/localization/sk_SK.inc20
-rw-r--r--plugins/attachment_reminder/localization/sl_SI.inc20
-rw-r--r--plugins/attachment_reminder/localization/sr_CS.inc20
-rw-r--r--plugins/attachment_reminder/localization/sv_SE.inc20
-rw-r--r--plugins/attachment_reminder/localization/te_IN.inc20
-rw-r--r--plugins/attachment_reminder/localization/th_TH.inc20
-rw-r--r--plugins/attachment_reminder/localization/ti.inc20
-rw-r--r--plugins/attachment_reminder/localization/tr_TR.inc20
-rw-r--r--plugins/attachment_reminder/localization/tzm.inc20
-rw-r--r--plugins/attachment_reminder/localization/uk_UA.inc20
-rw-r--r--plugins/attachment_reminder/localization/ur_PK.inc20
-rw-r--r--plugins/attachment_reminder/localization/vi_VN.inc20
-rw-r--r--plugins/attachment_reminder/localization/zh_CN.inc22
-rw-r--r--plugins/attachment_reminder/localization/zh_TW.inc18
-rw-r--r--plugins/autologon/autologon.php4
-rw-r--r--plugins/compose_addressbook/compose_addressbook.js224
-rw-r--r--plugins/compose_addressbook/compose_addressbook.php180
-rw-r--r--plugins/compose_addressbook/config.inc.php.dist21
-rw-r--r--plugins/compose_addressbook/localization/de_DE.inc11
-rw-r--r--plugins/compose_addressbook/localization/en_GB.inc10
-rw-r--r--plugins/compose_addressbook/localization/en_US.inc10
-rw-r--r--plugins/compose_addressbook/localization/es_ES.inc10
-rw-r--r--plugins/compose_addressbook/localization/fr_FR.inc10
-rw-r--r--plugins/compose_addressbook/localization/it_IT.inc10
-rw-r--r--plugins/compose_addressbook/localization/nl_NL.inc10
-rw-r--r--plugins/compose_addressbook/localization/pl_PL.inc10
-rw-r--r--plugins/compose_addressbook/localization/sv_SE.inc10
-rw-r--r--plugins/compose_addressbook/localization/zh_TW.inc10
-rw-r--r--plugins/compose_addressbook/package.xml18
-rw-r--r--plugins/compose_addressbook/skins/classic/compose_addressbook.css83
-rw-r--r--plugins/compose_addressbook/skins/classic/compose_addressbook.pngbin0 -> 4142 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/searchfield.gifbin0 -> 397 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-anim_basic_16x16.gifbin0 -> 1553 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.pngbin0 -> 180 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_flat_75_ffffff_40x100.pngbin0 -> 178 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.pngbin0 -> 120 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_65_ffffff_1x400.pngbin0 -> 105 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_75_dadada_1x400.pngbin0 -> 111 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.pngbin0 -> 110 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_95_fef1ec_1x400.pngbin0 -> 119 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.pngbin0 -> 101 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_222222_256x240.pngbin0 -> 4369 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_2e83ff_256x240.pngbin0 -> 4369 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_454545_256x240.pngbin0 -> 4369 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_888888_256x240.pngbin0 -> 4369 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_cd0a0a_256x240.pngbin0 -> 4369 bytes
-rw-r--r--plugins/compose_addressbook/skins/classic/smoothness/jquery-ui-1.8.2.custom.css345
-rw-r--r--plugins/contextmenu/contextmenu.js595
-rw-r--r--plugins/contextmenu/contextmenu.php315
-rw-r--r--plugins/contextmenu/jquery.contextMenu.js21
l---------plugins/contextmenu/jquery.mousewheel.js1
-rw-r--r--plugins/contextmenu/localization/ca_ES.inc12
-rw-r--r--plugins/contextmenu/localization/cs_CZ.inc12
-rw-r--r--plugins/contextmenu/localization/da_DK.inc12
-rw-r--r--plugins/contextmenu/localization/de_CH.inc12
-rw-r--r--plugins/contextmenu/localization/de_DE.inc12
-rw-r--r--plugins/contextmenu/localization/en_GB.inc12
-rw-r--r--plugins/contextmenu/localization/en_US.inc12
-rw-r--r--plugins/contextmenu/localization/es_ES.inc12
-rw-r--r--plugins/contextmenu/localization/fr_FR.inc12
-rw-r--r--plugins/contextmenu/localization/gl_ES.inc12
-rw-r--r--plugins/contextmenu/localization/hu_HU.inc12
-rw-r--r--plugins/contextmenu/localization/it_IT.inc12
-rw-r--r--plugins/contextmenu/localization/nl_NL.inc12
-rw-r--r--plugins/contextmenu/localization/pl_PL.inc12
-rw-r--r--plugins/contextmenu/localization/pt_BR.inc12
-rw-r--r--plugins/contextmenu/localization/ro_RO.inc12
-rw-r--r--plugins/contextmenu/localization/ru_RU.inc12
-rw-r--r--plugins/contextmenu/localization/sv_SE.inc12
-rw-r--r--plugins/contextmenu/localization/tr_TR.inc12
-rw-r--r--plugins/contextmenu/localization/uk_UA.inc12
-rw-r--r--plugins/contextmenu/localization/zh_TW.inc12
-rw-r--r--plugins/contextmenu/package.xml90
-rw-r--r--plugins/contextmenu/skins/classic/contexticons.gifbin0 -> 2238 bytes
-rw-r--r--plugins/contextmenu/skins/classic/contexticons.pngbin0 -> 4261 bytes
-rw-r--r--plugins/contextmenu/skins/classic/contextmenu.css357
-rw-r--r--plugins/contextmenu/skins/classic/folders.gifbin0 -> 2430 bytes
-rw-r--r--plugins/contextmenu/skins/classic/folders.pngbin0 -> 4771 bytes
-rw-r--r--plugins/contextmenu/skins/classic/ie6hacks.css54
-rw-r--r--plugins/contextmenu/skins/classic/messageactions.gifbin0 -> 1567 bytes
-rw-r--r--plugins/contextmenu/skins/classic/messageactions.pngbin0 -> 2578 bytes
-rw-r--r--plugins/contextmenu/skins/larry/contexticons.pngbin0 -> 5728 bytes
-rw-r--r--plugins/contextmenu/skins/larry/contextmenu.css425
-rw-r--r--plugins/contextmenu/skins/larry/folders.pngbin0 -> 3901 bytes
-rw-r--r--plugins/contextmenu/skins/larry/ie6hacks.css3
-rw-r--r--plugins/contextmenu/skins/larry/messageactions.pngbin0 -> 1698 bytes
-rw-r--r--plugins/copymessage/copymessage.js40
-rw-r--r--plugins/copymessage/copymessage.php114
-rw-r--r--plugins/copymessage/localization/ca_ES.inc9
-rw-r--r--plugins/copymessage/localization/cs_CZ.inc9
-rw-r--r--plugins/copymessage/localization/da_DK.inc9
-rw-r--r--plugins/copymessage/localization/de_CH.inc9
-rw-r--r--plugins/copymessage/localization/de_DE.inc9
-rw-r--r--plugins/copymessage/localization/en_GB.inc9
-rw-r--r--plugins/copymessage/localization/en_US.inc9
-rw-r--r--plugins/copymessage/localization/es_ES.inc9
-rw-r--r--plugins/copymessage/localization/fr_FR.inc9
-rw-r--r--plugins/copymessage/localization/gl_ES.inc9
-rw-r--r--plugins/copymessage/localization/hu_HU.inc9
-rw-r--r--plugins/copymessage/localization/it_IT.inc9
-rw-r--r--plugins/copymessage/localization/nl_NL.inc9
-rw-r--r--plugins/copymessage/localization/pl_PL.inc9
-rw-r--r--plugins/copymessage/localization/pt_BR.inc9
-rw-r--r--plugins/copymessage/localization/ro_RO.inc9
-rw-r--r--plugins/copymessage/localization/ru_RU.inc9
-rw-r--r--plugins/copymessage/localization/sv_SE.inc9
-rw-r--r--plugins/copymessage/localization/tr_TR.inc9
-rw-r--r--plugins/copymessage/package.xml78
-rw-r--r--plugins/database_attachments/database_attachments.php126
-rw-r--r--plugins/database_attachments/package.xml6
-rw-r--r--plugins/debug_logger/debug_logger.php10
-rw-r--r--plugins/debug_logger/runlog/runlog.php2
-rw-r--r--plugins/dkimstatus/dkimstatus.php155
-rw-r--r--plugins/dkimstatus/images/authorsign.pngbin0 -> 699 bytes
-rw-r--r--plugins/dkimstatus/images/invalidsig.pngbin0 -> 618 bytes
-rw-r--r--plugins/dkimstatus/images/nosiginfo.pngbin0 -> 707 bytes
-rw-r--r--plugins/dkimstatus/images/thirdpty.pngbin0 -> 722 bytes
-rw-r--r--plugins/dkimstatus/localization/cs_CZ.inc16
-rw-r--r--plugins/dkimstatus/localization/de_DE.inc8
-rw-r--r--plugins/dkimstatus/localization/en_US.inc9
-rw-r--r--plugins/dkimstatus/localization/es_ES.inc9
-rw-r--r--plugins/dkimstatus/localization/fr_FR.inc10
-rw-r--r--plugins/dkimstatus/localization/it_IT.inc7
-rw-r--r--plugins/dkimstatus/localization/ja_JP.inc9
-rw-r--r--plugins/dkimstatus/localization/pl_PL.inc9
-rw-r--r--plugins/dkimstatus/localization/ro_RO.inc9
-rw-r--r--plugins/dovecot_impersonate/config.inc.php.dist10
-rw-r--r--plugins/dovecot_impersonate/dovecot_impersonate.php52
-rw-r--r--plugins/dovecot_impersonate/package.xml18
-rw-r--r--plugins/enigma/README35
-rw-r--r--plugins/enigma/config.inc.php.dist14
-rw-r--r--plugins/enigma/enigma.js206
-rw-r--r--plugins/enigma/enigma.php476
-rw-r--r--plugins/enigma/home/.htaccess2
-rw-r--r--plugins/enigma/home/aldric/pubring.gpg0
-rw-r--r--plugins/enigma/home/aldric/secring.gpg0
-rw-r--r--plugins/enigma/home/aldric/trustdb.gpgbin0 -> 40 bytes
-rw-r--r--plugins/enigma/home/hugues/pubring.gpgbin0 -> 133165 bytes
-rw-r--r--plugins/enigma/home/hugues/secring.gpgbin0 -> 1350 bytes
-rw-r--r--plugins/enigma/home/hugues/trustdb.gpgbin0 -> 1200 bytes
-rw-r--r--plugins/enigma/lib/enigma_driver.php106
-rw-r--r--plugins/enigma/lib/enigma_driver_gnupg.php305
-rw-r--r--plugins/enigma/lib/enigma_engine.php533
-rw-r--r--plugins/enigma/lib/enigma_error.php62
-rw-r--r--plugins/enigma/lib/enigma_key.php129
-rw-r--r--plugins/enigma/lib/enigma_signature.php34
-rw-r--r--plugins/enigma/lib/enigma_subkey.php57
-rw-r--r--plugins/enigma/lib/enigma_ui.php455
-rw-r--r--plugins/enigma/lib/enigma_userid.php31
-rw-r--r--plugins/enigma/localization/en_US.inc53
-rw-r--r--plugins/enigma/localization/ja_JP.inc55
-rw-r--r--plugins/enigma/localization/ru_RU.inc65
-rw-r--r--plugins/enigma/skins/classic/enigma.css182
-rw-r--r--plugins/enigma/skins/classic/enigma.pngbin1592 -> 0 bytes
-rw-r--r--plugins/enigma/skins/classic/enigma_error.pngbin1960 -> 0 bytes
-rw-r--r--plugins/enigma/skins/classic/key.pngbin1743 -> 0 bytes
-rw-r--r--plugins/enigma/skins/classic/key_add.pngbin1967 -> 0 bytes
-rw-r--r--plugins/enigma/skins/classic/keys_toolbar.pngbin14977 -> 0 bytes
-rw-r--r--plugins/enigma/skins/classic/templates/keyimport.html20
-rw-r--r--plugins/enigma/skins/classic/templates/keyinfo.html17
-rw-r--r--plugins/enigma/skins/classic/templates/keys.html80
-rw-r--r--plugins/enigma/tests/Enigma.php23
-rw-r--r--plugins/fail2ban/fail2ban.php33
-rw-r--r--plugins/filesystem_attachments/filesystem_attachments.php1
-rw-r--r--plugins/filesystem_attachments/package.xml2
-rw-r--r--plugins/help/config.inc.php.dist34
-rw-r--r--plugins/help/content/about.html27
-rw-r--r--plugins/help/content/license.html2
-rw-r--r--plugins/help/help.php69
-rw-r--r--plugins/help/localization/ar.inc18
-rw-r--r--plugins/help/localization/ast.inc21
-rw-r--r--plugins/help/localization/be_BE.inc21
-rw-r--r--plugins/help/localization/bg_BG.inc21
-rw-r--r--plugins/help/localization/bn_BD.inc18
-rw-r--r--plugins/help/localization/el_GR.inc21
-rw-r--r--plugins/help/localization/en_US.inc4
-rw-r--r--plugins/help/localization/es_AR.inc21
-rw-r--r--plugins/help/localization/eu_ES.inc21
-rw-r--r--plugins/help/localization/fa_AF.inc21
-rw-r--r--plugins/help/localization/gl_ES.inc2
-rw-r--r--plugins/help/localization/hi_IN.inc18
-rw-r--r--plugins/help/localization/ia.inc18
-rw-r--r--plugins/help/localization/lb_LU.inc3
-rw-r--r--plugins/help/localization/lv_LV.inc21
-rw-r--r--plugins/help/localization/ml_IN.inc18
-rw-r--r--plugins/help/localization/mn_MN.inc18
-rw-r--r--plugins/help/localization/ms_MY.inc18
-rw-r--r--plugins/help/localization/my_MM.inc18
-rw-r--r--plugins/help/localization/nl_BE.inc18
-rw-r--r--plugins/help/localization/nqo.inc18
-rw-r--r--plugins/help/localization/om.inc18
-rw-r--r--plugins/help/localization/ro_RO.inc21
-rw-r--r--plugins/help/localization/te_IN.inc18
-rw-r--r--plugins/help/localization/th_TH.inc18
-rw-r--r--plugins/help/localization/ti.inc21
-rw-r--r--plugins/help/localization/tzm.inc18
-rw-r--r--plugins/help/localization/uk_UA.inc21
-rw-r--r--plugins/help/localization/ur_PK.inc18
-rw-r--r--plugins/help/package.xml9
-rw-r--r--plugins/help/skins/classic/help.css16
-rw-r--r--plugins/help/skins/classic/templates/help.html17
-rw-r--r--plugins/help/skins/larry/help.css1
-rw-r--r--plugins/help/skins/larry/templates/help.html8
-rw-r--r--plugins/hide_blockquote/hide_blockquote.php4
-rw-r--r--plugins/hide_blockquote/localization/ar.inc18
-rw-r--r--plugins/hide_blockquote/localization/ar_SA.inc20
-rw-r--r--plugins/hide_blockquote/localization/be_BE.inc21
-rw-r--r--plugins/hide_blockquote/localization/bg_BG.inc21
-rw-r--r--plugins/hide_blockquote/localization/bn_BD.inc18
-rw-r--r--plugins/hide_blockquote/localization/el_GR.inc21
-rw-r--r--plugins/hide_blockquote/localization/en_US.inc4
-rw-r--r--plugins/hide_blockquote/localization/es_AR.inc21
-rw-r--r--plugins/hide_blockquote/localization/eu_ES.inc21
-rw-r--r--plugins/hide_blockquote/localization/fa_AF.inc18
-rw-r--r--plugins/hide_blockquote/localization/fi_FI.inc2
-rw-r--r--plugins/hide_blockquote/localization/hi_IN.inc18
-rw-r--r--plugins/hide_blockquote/localization/ia.inc18
-rw-r--r--plugins/hide_blockquote/localization/lb_LU.inc3
-rw-r--r--plugins/hide_blockquote/localization/lv_LV.inc21
-rw-r--r--plugins/hide_blockquote/localization/ml_IN.inc18
-rw-r--r--plugins/hide_blockquote/localization/mn_MN.inc18
-rw-r--r--plugins/hide_blockquote/localization/ms_MY.inc18
-rw-r--r--plugins/hide_blockquote/localization/my_MM.inc18
-rw-r--r--plugins/hide_blockquote/localization/nl_BE.inc18
-rw-r--r--plugins/hide_blockquote/localization/nqo.inc18
-rw-r--r--plugins/hide_blockquote/localization/om.inc18
-rw-r--r--plugins/hide_blockquote/localization/ro_RO.inc21
-rw-r--r--plugins/hide_blockquote/localization/te_IN.inc18
-rw-r--r--plugins/hide_blockquote/localization/th_TH.inc18
-rw-r--r--plugins/hide_blockquote/localization/ti.inc18
-rw-r--r--plugins/hide_blockquote/localization/tzm.inc18
-rw-r--r--plugins/hide_blockquote/localization/uk_UA.inc20
-rw-r--r--plugins/hide_blockquote/localization/ur_PK.inc18
-rw-r--r--plugins/http_authentication/config.inc.php.dist4
-rw-r--r--plugins/http_authentication/http_authentication.php6
-rw-r--r--plugins/jqueryui/config.inc.php.dist4
-rw-r--r--plugins/jqueryui/jqueryui.php1
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery-ui-i18n.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-af.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ar-DZ.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ar.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-az.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-bg.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-bs.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ca.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-cs.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-cy-GB.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-da.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-de.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-el.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-AU.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-GB.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-NZ.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-eo.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-es.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-et.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-eu.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-fa.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-fi.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-fo.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-fr-CH.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-fr.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-gl.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-he.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-hi.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-hr.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-hu.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-hy.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-id.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-is.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-it.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ja.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ka.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-kk.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-km.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ko.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-lb.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-lt.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-lv.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-mk.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ml.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ms.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-nl-BE.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-nl.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-no.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-pl.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-pt-BR.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-pt.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-rm.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ro.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ru.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-sk.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-sl.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-sq.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-sr-SR.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-sr.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-sv.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-ta.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-th.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-tj.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-tr.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-uk.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-vi.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-CN.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-HK.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-TW.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/js/jquery-ui-1.9.1.custom.min.js0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-bg_flat_0_aaaaaa_40x100.pngbin180 -> 180 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-bg_flat_75_ffffff_40x100.pngbin178 -> 178 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-bg_flat_90_cc3333_40x100.pngbin212 -> 212 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-bg_glass_95_fef1ec_1x400.pngbin119 -> 119 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-bg_highlight-hard_90_a3a3a3_1x100.pngbin114 -> 114 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-bg_highlight-hard_90_e6e6e7_1x100.pngbin101 -> 101 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-bg_highlight-hard_90_f4f4f4_1x100.pngbin122 -> 122 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-icons_000000_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-icons_333333_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-icons_666666_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-icons_cc3333_256x240.pngbin5355 -> 5355 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/images/ui-icons_dddddd_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/classic/jquery-ui-1.9.1.custom.css0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_55_b0ccd7_1x100.pngbin117 -> 117 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_65_ffffff_1x100.pngbin93 -> 93 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_75_eaeaea_1x100.pngbin136 -> 136 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_75_f8f8f8_1x100.pngbin88 -> 88 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/larry/images/ui-bg_highlight-soft_75_fafafa_1x100.pngbin117 -> 117 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/larry/images/ui-bg_highlight-soft_90_e4e4e4_1x100.pngbin111 -> 111 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/larry/images/ui-icons_004458_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/larry/images/ui-icons_d7211e_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/larry/jquery-ui-1.9.1.custom.css0
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.pngbin180 -> 180 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.pngbin182 -> 182 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.pngbin162 -> 162 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.pngbin123 -> 123 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.pngbin119 -> 119 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.pngbin3457 -> 3457 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.pngbin104 -> 104 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.pngbin88 -> 88 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-icons_217bc0_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-icons_2e83ff_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-icons_469bdd_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-icons_6da8d5_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-icons_cd0a0a_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-icons_d8e7f3_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/images/ui-icons_f9bd01_256x240.pngbin4369 -> 4369 bytes
-rw-r--r--[-rwxr-xr-x]plugins/jqueryui/themes/redmond/jquery-ui-1.9.1.custom.css0
-rw-r--r--plugins/keyboard_shortcuts/keyboard_shortcuts.css23
-rw-r--r--plugins/keyboard_shortcuts/keyboard_shortcuts.js139
-rw-r--r--plugins/keyboard_shortcuts/keyboard_shortcuts.php130
-rw-r--r--plugins/keyboard_shortcuts/localization/cs_CZ.inc24
-rw-r--r--plugins/keyboard_shortcuts/localization/de_DE.inc10
-rw-r--r--plugins/keyboard_shortcuts/localization/en_US.inc11
-rw-r--r--plugins/keyboard_shortcuts/localization/fr_FR.inc11
-rw-r--r--plugins/keyboard_shortcuts/localization/nl_NL.inc11
-rw-r--r--plugins/keyboard_shortcuts/localization/pl_PL.inc11
-rw-r--r--plugins/keyboard_shortcuts/localization/ru_RU.inc11
-rw-r--r--plugins/keyboard_shortcuts/localization/sv_SE.inc10
-rw-r--r--plugins/keyboard_shortcuts/localization/zh_TW.inc11
-rw-r--r--plugins/keyboard_shortcuts/package.xml18
-rw-r--r--plugins/keyboard_shortcuts/skins/classic/images/keyboard.pngbin0 -> 4157 bytes
-rw-r--r--plugins/keyboard_shortcuts/skins/larry/images/keyboard.pngbin0 -> 4157 bytes
-rw-r--r--plugins/listcommands/listcommands.php106
-rw-r--r--plugins/listcommands/localization/en_US.inc12
-rw-r--r--plugins/listcommands/localization/es_ES.inc12
-rw-r--r--plugins/listcommands/localization/fr_FR.inc13
-rw-r--r--plugins/listcommands/localization/nl_NL.inc12
-rw-r--r--plugins/listcommands/localization/pl_PL.inc12
-rw-r--r--plugins/listcommands/localization/ru_RU.inc12
-rw-r--r--plugins/listcommands/package.xml18
-rw-r--r--plugins/managesieve/Changelog37
-rw-r--r--plugins/managesieve/config.inc.php.dist30
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve.php16
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php151
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve_script.php493
-rw-r--r--plugins/managesieve/localization/ar_SA.inc33
-rw-r--r--plugins/managesieve/localization/az_AZ.inc14
-rw-r--r--plugins/managesieve/localization/be_BE.inc2
-rw-r--r--plugins/managesieve/localization/bg_BG.inc8
-rw-r--r--plugins/managesieve/localization/bs_BA.inc2
-rw-r--r--plugins/managesieve/localization/ca_ES.inc8
-rw-r--r--plugins/managesieve/localization/cs_CZ.inc22
-rw-r--r--plugins/managesieve/localization/cy_GB.inc8
-rw-r--r--plugins/managesieve/localization/da_DK.inc8
-rw-r--r--plugins/managesieve/localization/de_CH.inc2
-rw-r--r--plugins/managesieve/localization/de_DE.inc8
-rw-r--r--plugins/managesieve/localization/el_GR.inc216
-rw-r--r--plugins/managesieve/localization/en_GB.inc2
-rw-r--r--plugins/managesieve/localization/en_US.inc51
-rw-r--r--plugins/managesieve/localization/eo.inc2
-rw-r--r--plugins/managesieve/localization/es_AR.inc2
-rw-r--r--plugins/managesieve/localization/es_ES.inc25
-rw-r--r--plugins/managesieve/localization/et_EE.inc29
-rw-r--r--plugins/managesieve/localization/eu_ES.inc181
-rw-r--r--plugins/managesieve/localization/fa_IR.inc7
-rw-r--r--plugins/managesieve/localization/fi_FI.inc24
-rw-r--r--plugins/managesieve/localization/fr_FR.inc26
-rw-r--r--plugins/managesieve/localization/gl_ES.inc148
-rw-r--r--plugins/managesieve/localization/he_IL.inc7
-rw-r--r--plugins/managesieve/localization/hr_HR.inc26
-rw-r--r--plugins/managesieve/localization/hu_HU.inc2
-rw-r--r--plugins/managesieve/localization/hy_AM.inc2
-rw-r--r--plugins/managesieve/localization/ia.inc2
-rw-r--r--plugins/managesieve/localization/id_ID.inc2
-rw-r--r--plugins/managesieve/localization/it_IT.inc26
-rw-r--r--plugins/managesieve/localization/ja_JP.inc2
-rw-r--r--plugins/managesieve/localization/ko_KR.inc2
-rw-r--r--plugins/managesieve/localization/lb_LU.inc147
-rw-r--r--plugins/managesieve/localization/lt_LT.inc10
-rw-r--r--plugins/managesieve/localization/lv_LV.inc163
-rw-r--r--plugins/managesieve/localization/ml_IN.inc1
-rw-r--r--plugins/managesieve/localization/mr_IN.inc2
-rw-r--r--plugins/managesieve/localization/nb_NO.inc2
-rw-r--r--plugins/managesieve/localization/nl_NL.inc2
-rw-r--r--plugins/managesieve/localization/nn_NO.inc13
-rw-r--r--plugins/managesieve/localization/pl_PL.inc25
-rw-r--r--plugins/managesieve/localization/pt_BR.inc21
-rw-r--r--plugins/managesieve/localization/pt_PT.inc2
-rw-r--r--plugins/managesieve/localization/ro_RO.inc8
-rw-r--r--plugins/managesieve/localization/ru_RU.inc21
-rw-r--r--plugins/managesieve/localization/si_LK.inc1
-rw-r--r--plugins/managesieve/localization/sk_SK.inc2
-rw-r--r--plugins/managesieve/localization/sl_SI.inc25
-rw-r--r--plugins/managesieve/localization/sv_SE.inc2
-rw-r--r--plugins/managesieve/localization/th_TH.inc45
-rw-r--r--plugins/managesieve/localization/tr_TR.inc8
-rw-r--r--plugins/managesieve/localization/uk_UA.inc2
-rw-r--r--plugins/managesieve/localization/vi_VN.inc17
-rw-r--r--plugins/managesieve/localization/zh_CN.inc2
-rw-r--r--plugins/managesieve/localization/zh_TW.inc2
-rw-r--r--plugins/managesieve/managesieve.js185
-rw-r--r--plugins/managesieve/managesieve.php1919
-rw-r--r--plugins/managesieve/package.xml18
-rw-r--r--plugins/managesieve/skins/classic/managesieve.css103
-rw-r--r--plugins/managesieve/skins/classic/managesieve_mail.css2
-rw-r--r--plugins/managesieve/skins/classic/templates/managesieve.html6
-rw-r--r--plugins/managesieve/skins/larry/managesieve.css116
-rw-r--r--plugins/managesieve/tests/src/parser.out4
-rw-r--r--plugins/managesieve/tests/src/parser_enotify_b6
-rw-r--r--plugins/managesieve/tests/src/parser_notify_b6
-rw-r--r--plugins/managesieve/tests/src/parser_relational2
-rw-r--r--plugins/managesieve/tests/src/parser_subaddress2
-rw-r--r--plugins/markasjunk/localization/ar.inc20
-rw-r--r--plugins/markasjunk/localization/bg_BG.inc21
-rw-r--r--plugins/markasjunk/localization/en_US.inc4
-rw-r--r--plugins/markasjunk/localization/eu_ES.inc21
-rw-r--r--plugins/markasjunk/localization/lb_LU.inc3
-rw-r--r--plugins/markasjunk/localization/lv_LV.inc6
-rw-r--r--plugins/markasjunk/localization/ro_RO.inc6
-rw-r--r--plugins/markasjunk/localization/ru_RU.inc4
-rw-r--r--plugins/markasjunk2/config.inc.php.dist152
-rw-r--r--plugins/markasjunk2/drivers/cmd_learn.php74
-rw-r--r--plugins/markasjunk2/drivers/dir_learn.php49
-rw-r--r--plugins/markasjunk2/drivers/edit_headers.php53
-rw-r--r--plugins/markasjunk2/drivers/email_learn.php191
-rw-r--r--plugins/markasjunk2/drivers/sa_blacklist.php103
-rw-r--r--plugins/markasjunk2/drivers/sa_detach.php47
-rw-r--r--plugins/markasjunk2/localization/ca_ES.inc14
-rw-r--r--plugins/markasjunk2/localization/cs_CZ.inc14
-rw-r--r--plugins/markasjunk2/localization/de_CH.inc15
-rw-r--r--plugins/markasjunk2/localization/de_DE.inc15
-rw-r--r--plugins/markasjunk2/localization/en_GB.inc15
-rw-r--r--plugins/markasjunk2/localization/en_US.inc15
-rw-r--r--plugins/markasjunk2/localization/es_AR.inc14
-rw-r--r--plugins/markasjunk2/localization/es_ES.inc14
-rw-r--r--plugins/markasjunk2/localization/fa_IR.inc14
-rw-r--r--plugins/markasjunk2/localization/fr_FR.inc14
-rw-r--r--plugins/markasjunk2/localization/gl_ES.inc14
-rw-r--r--plugins/markasjunk2/localization/hu_HU.inc14
-rw-r--r--plugins/markasjunk2/localization/it_IT.inc15
-rw-r--r--plugins/markasjunk2/localization/lv_LV.inc15
-rw-r--r--plugins/markasjunk2/localization/nl_NL.inc14
-rw-r--r--plugins/markasjunk2/localization/pl_PL.inc15
-rw-r--r--plugins/markasjunk2/localization/pt_BR.inc14
-rw-r--r--plugins/markasjunk2/localization/ro_RO.inc14
-rw-r--r--plugins/markasjunk2/localization/ru_RU.inc15
-rw-r--r--plugins/markasjunk2/localization/tr_TR.inc14
-rw-r--r--plugins/markasjunk2/localization/zh_TW.inc14
-rw-r--r--plugins/markasjunk2/markasjunk2.js199
-rw-r--r--plugins/markasjunk2/markasjunk2.php211
-rw-r--r--plugins/markasjunk2/package.xml92
-rw-r--r--plugins/markasjunk2/skins/classic/ie6hacks.css19
-rw-r--r--plugins/markasjunk2/skins/classic/mail_toolbar.gifbin0 -> 3434 bytes
-rw-r--r--plugins/markasjunk2/skins/classic/mail_toolbar.pngbin0 -> 7565 bytes
-rw-r--r--plugins/markasjunk2/skins/classic/markasjunk2.css52
-rw-r--r--plugins/markasjunk2/skins/classic/messageactions.gifbin0 -> 1307 bytes
-rw-r--r--plugins/markasjunk2/skins/classic/messageactions.pngbin0 -> 1798 bytes
-rw-r--r--plugins/markasjunk2/skins/larry/ie6hacks.css3
-rw-r--r--plugins/markasjunk2/skins/larry/mail_toolbar.pngbin0 -> 1924 bytes
-rw-r--r--plugins/markasjunk2/skins/larry/markasjunk2.css51
-rw-r--r--plugins/markasjunk2/skins/larry/messageactions.pngbin0 -> 1050 bytes
-rw-r--r--plugins/message_highlight/colorpicker/images/color.pngbin0 -> 892 bytes
-rw-r--r--plugins/message_highlight/colorpicker/images/colorpicker.pngbin0 -> 4739 bytes
-rw-r--r--plugins/message_highlight/colorpicker/images/graybar.jpgbin0 -> 5225 bytes
-rw-r--r--plugins/message_highlight/colorpicker/images/grid.gifbin0 -> 87 bytes
-rw-r--r--plugins/message_highlight/colorpicker/images/meta100.pngbin0 -> 828 bytes
-rw-r--r--plugins/message_highlight/colorpicker/images/transparentpixel.gifbin0 -> 43 bytes
-rw-r--r--plugins/message_highlight/colorpicker/mColorPicker.js564
-rw-r--r--plugins/message_highlight/localization/de_DE.inc15
-rw-r--r--plugins/message_highlight/localization/en_US.inc16
-rw-r--r--plugins/message_highlight/localization/fr_FR.inc16
-rw-r--r--plugins/message_highlight/localization/nl_NL.inc15
-rw-r--r--plugins/message_highlight/localization/ru_RU.inc14
-rw-r--r--plugins/message_highlight/message_highlight.css74
-rw-r--r--plugins/message_highlight/message_highlight.js58
-rw-r--r--plugins/message_highlight/message_highlight.php176
-rw-r--r--plugins/message_highlight/package.xml18
-rw-r--r--plugins/new_user_dialog/localization/ar.inc20
-rw-r--r--plugins/new_user_dialog/localization/ar_SA.inc19
-rw-r--r--plugins/new_user_dialog/localization/ast.inc20
-rw-r--r--plugins/new_user_dialog/localization/en_US.inc4
-rw-r--r--plugins/new_user_dialog/localization/es_AR.inc20
-rw-r--r--plugins/new_user_dialog/localization/eu_ES.inc20
-rw-r--r--plugins/new_user_dialog/localization/fa_AF.inc20
-rw-r--r--plugins/new_user_dialog/localization/lb_LU.inc3
-rw-r--r--plugins/new_user_dialog/localization/lv_LV.inc4
-rw-r--r--plugins/new_user_dialog/localization/ro_RO.inc4
-rw-r--r--plugins/new_user_dialog/new_user_dialog.php69
-rw-r--r--plugins/new_user_dialog/package.xml91
-rw-r--r--plugins/new_user_identity/new_user_identity.php11
-rw-r--r--plugins/new_user_identity/package.xml2
-rw-r--r--plugins/newmail_notifier/config.inc.php.dist6
-rw-r--r--plugins/newmail_notifier/localization/ast.inc28
-rw-r--r--plugins/newmail_notifier/localization/bg_BG.inc28
-rw-r--r--plugins/newmail_notifier/localization/el_GR.inc27
-rw-r--r--plugins/newmail_notifier/localization/en_US.inc2
-rw-r--r--plugins/newmail_notifier/localization/es_AR.inc27
-rw-r--r--plugins/newmail_notifier/localization/eu_ES.inc27
-rw-r--r--plugins/newmail_notifier/localization/lb_LU.inc3
-rw-r--r--plugins/newmail_notifier/localization/lv_LV.inc16
-rw-r--r--plugins/newmail_notifier/localization/ro_RO.inc4
-rw-r--r--plugins/newmail_notifier/localization/ti.inc27
-rw-r--r--plugins/newmail_notifier/newmail_notifier.js110
-rw-r--r--plugins/newmail_notifier/newmail_notifier.php85
-rw-r--r--plugins/newmail_notifier/package.xml8
-rw-r--r--plugins/newmail_notifier/sound.mp3bin0 -> 7488 bytes
-rw-r--r--plugins/password/README116
-rw-r--r--plugins/password/config.inc.php.dist143
-rw-r--r--plugins/password/drivers/chpasswd.php2
-rw-r--r--plugins/password/drivers/cpanel.php110
-rw-r--r--plugins/password/drivers/dbmail.php2
-rw-r--r--plugins/password/drivers/directadmin.php3
-rw-r--r--plugins/password/drivers/expect.php2
-rw-r--r--plugins/password/drivers/hmail.php12
-rw-r--r--plugins/password/drivers/ldap.php2
-rw-r--r--plugins/password/drivers/ldap_simple.php2
-rw-r--r--plugins/password/drivers/pam.php4
-rw-r--r--plugins/password/drivers/pw_usermod.php2
-rw-r--r--plugins/password/drivers/sasl.php2
-rw-r--r--plugins/password/drivers/smb.php14
-rw-r--r--plugins/password/drivers/sql.php19
-rw-r--r--plugins/password/drivers/virtualmin.php13
-rw-r--r--plugins/password/drivers/xmail.php16
-rw-r--r--plugins/password/localization/ar.inc32
-rw-r--r--plugins/password/localization/ar_SA.inc29
-rw-r--r--plugins/password/localization/ast.inc32
-rw-r--r--plugins/password/localization/be_BE.inc32
-rw-r--r--plugins/password/localization/el_GR.inc32
-rw-r--r--plugins/password/localization/en_US.inc2
-rw-r--r--plugins/password/localization/eu_ES.inc32
-rw-r--r--plugins/password/localization/fa_AF.inc32
-rw-r--r--plugins/password/localization/gl_ES.inc2
-rw-r--r--plugins/password/localization/lb_LU.inc5
-rw-r--r--plugins/password/localization/lv_LV.inc16
-rw-r--r--plugins/password/localization/ro_RO.inc10
-rw-r--r--plugins/password/localization/ru_RU.inc4
-rw-r--r--plugins/password/localization/ti.inc32
-rw-r--r--plugins/password/localization/uk_UA.inc32
-rw-r--r--plugins/password/package.xml40
-rw-r--r--plugins/password/password.php82
-rw-r--r--plugins/quickrules/localization/cs_CZ.inc9
-rw-r--r--plugins/quickrules/localization/de_CH.inc10
-rw-r--r--plugins/quickrules/localization/de_DE.inc10
-rw-r--r--plugins/quickrules/localization/en_GB.inc10
-rw-r--r--plugins/quickrules/localization/en_US.inc10
-rw-r--r--plugins/quickrules/localization/hu_HU.inc9
-rw-r--r--plugins/quickrules/localization/it_IT.inc10
-rw-r--r--plugins/quickrules/localization/pl_PL.inc9
-rw-r--r--plugins/quickrules/localization/pt_BR.inc9
-rw-r--r--plugins/quickrules/localization/pt_PT.inc9
-rw-r--r--plugins/quickrules/package.xml79
-rw-r--r--plugins/quickrules/quickrules.js169
-rw-r--r--plugins/quickrules/quickrules.php137
-rw-r--r--plugins/quickrules/skins/classic/ie6hacks.css14
-rw-r--r--plugins/quickrules/skins/classic/mail_toolbar.gifbin0 -> 1722 bytes
-rw-r--r--plugins/quickrules/skins/classic/mail_toolbar.pngbin0 -> 3310 bytes
-rw-r--r--plugins/quickrules/skins/classic/messageactions.gifbin0 -> 571 bytes
-rw-r--r--plugins/quickrules/skins/classic/messageactions.pngbin0 -> 842 bytes
-rw-r--r--plugins/quickrules/skins/classic/quickrules.css26
-rw-r--r--plugins/quickrules/skins/larry/ie6hacks.css3
-rw-r--r--plugins/quickrules/skins/larry/mail_toolbar.pngbin0 -> 1350 bytes
-rw-r--r--plugins/quickrules/skins/larry/messageactions.pngbin0 -> 672 bytes
-rw-r--r--plugins/quickrules/skins/larry/quickrules.css21
-rw-r--r--plugins/sauserprefs/config.inc.php.dist160
-rw-r--r--plugins/sauserprefs/include/rcube_sauserprefs_storage.php268
-rw-r--r--plugins/sauserprefs/localization/cs_CZ.inc86
-rw-r--r--plugins/sauserprefs/localization/de_CH.inc86
-rw-r--r--plugins/sauserprefs/localization/de_DE.inc86
-rw-r--r--plugins/sauserprefs/localization/en_GB.inc86
-rw-r--r--plugins/sauserprefs/localization/en_US.inc86
-rw-r--r--plugins/sauserprefs/localization/es_ES.inc85
-rw-r--r--plugins/sauserprefs/localization/fr_FR.inc86
-rw-r--r--plugins/sauserprefs/localization/gl_ES.inc85
-rw-r--r--plugins/sauserprefs/localization/hu_HU.inc61
-rw-r--r--plugins/sauserprefs/localization/it_IT.inc86
-rw-r--r--plugins/sauserprefs/localization/pl_PL.inc86
-rw-r--r--plugins/sauserprefs/localization/pt_BR.inc85
-rw-r--r--plugins/sauserprefs/localization/ro_RO.inc85
-rw-r--r--plugins/sauserprefs/localization/ru_RU.inc87
-rw-r--r--plugins/sauserprefs/localization/sk_SK.inc86
-rw-r--r--plugins/sauserprefs/localization/sv_SE.inc84
-rw-r--r--plugins/sauserprefs/package.xml91
-rw-r--r--plugins/sauserprefs/sauserprefs.js459
-rw-r--r--plugins/sauserprefs/sauserprefs.php909
-rw-r--r--plugins/sauserprefs/skins/classic/help.gifbin0 -> 1024 bytes
-rw-r--r--plugins/sauserprefs/skins/classic/icons.gifbin0 -> 1345 bytes
-rw-r--r--plugins/sauserprefs/skins/classic/icons.pngbin0 -> 2045 bytes
-rw-r--r--plugins/sauserprefs/skins/classic/ie6hacks.css9
-rw-r--r--plugins/sauserprefs/skins/classic/iehacks.css9
-rw-r--r--plugins/sauserprefs/skins/classic/safari.css6
-rw-r--r--plugins/sauserprefs/skins/classic/sauserprefs.css185
-rw-r--r--plugins/sauserprefs/skins/classic/tabstyles.css3
-rw-r--r--plugins/sauserprefs/skins/classic/templates/sauserprefs.html47
-rw-r--r--plugins/sauserprefs/skins/classic/templates/settingsedit.html33
-rw-r--r--plugins/sauserprefs/skins/larry/help.pngbin0 -> 475 bytes
-rw-r--r--plugins/sauserprefs/skins/larry/icons.pngbin0 -> 962 bytes
-rw-r--r--plugins/sauserprefs/skins/larry/iehacks.css9
-rw-r--r--plugins/sauserprefs/skins/larry/listicons.pngbin0 -> 4891 bytes
-rw-r--r--plugins/sauserprefs/skins/larry/safari.css6
-rw-r--r--plugins/sauserprefs/skins/larry/sauserprefs.css253
-rw-r--r--plugins/sauserprefs/skins/larry/tabstyles.css15
-rw-r--r--plugins/sauserprefs/skins/larry/templates/sauserprefs.html54
-rw-r--r--plugins/sauserprefs/skins/larry/templates/settingsedit.html30
-rw-r--r--plugins/show_additional_headers/package.xml2
-rw-r--r--plugins/show_additional_headers/show_additional_headers.php6
-rw-r--r--plugins/sieverules/config.inc.php.dist147
-rw-r--r--plugins/sieverules/importFilters/avelsieve.php54
-rw-r--r--plugins/sieverules/importFilters/ingo.php52
-rw-r--r--plugins/sieverules/include/rcube_sieve.php249
-rw-r--r--plugins/sieverules/include/rcube_sieve_script.php969
-rw-r--r--plugins/sieverules/jquery.maskedinput.js7
l---------plugins/sieverules/lib/Net/Sieve.php1
-rw-r--r--plugins/sieverules/localization/ca_ES.inc168
-rw-r--r--plugins/sieverules/localization/cs_CZ.inc195
-rw-r--r--plugins/sieverules/localization/de_CH.inc192
-rw-r--r--plugins/sieverules/localization/de_DE.inc192
-rw-r--r--plugins/sieverules/localization/en_GB.inc205
-rw-r--r--plugins/sieverules/localization/en_US.inc205
-rw-r--r--plugins/sieverules/localization/es_AR.inc140
-rw-r--r--plugins/sieverules/localization/es_ES.inc185
-rw-r--r--plugins/sieverules/localization/et_EE.inc79
-rw-r--r--plugins/sieverules/localization/fi_FI.inc186
-rw-r--r--plugins/sieverules/localization/fr_FR.inc185
-rw-r--r--plugins/sieverules/localization/hu_HU.inc171
-rw-r--r--plugins/sieverules/localization/it_IT.inc202
-rw-r--r--plugins/sieverules/localization/nl_NL.inc205
-rw-r--r--plugins/sieverules/localization/pl_PL.inc205
-rw-r--r--plugins/sieverules/localization/pt_BR.inc183
-rw-r--r--plugins/sieverules/localization/pt_PT.inc183
-rw-r--r--plugins/sieverules/localization/ro_RO.inc175
-rw-r--r--plugins/sieverules/localization/ru_RU.inc182
-rw-r--r--plugins/sieverules/localization/sk_SK.inc159
-rw-r--r--plugins/sieverules/localization/sl_SI.inc185
-rw-r--r--plugins/sieverules/localization/sv_SE.inc159
-rw-r--r--plugins/sieverules/localization/zh_TW.inc192
-rw-r--r--plugins/sieverules/package.xml116
-rw-r--r--plugins/sieverules/sieverules.js1480
-rw-r--r--plugins/sieverules/sieverules.php2331
-rw-r--r--plugins/sieverules/skins/classic/cross.gifbin0 -> 577 bytes
-rw-r--r--plugins/sieverules/skins/classic/help.gifbin0 -> 1024 bytes
-rw-r--r--plugins/sieverules/skins/classic/icons.gifbin0 -> 2017 bytes
-rw-r--r--plugins/sieverules/skins/classic/icons.pngbin0 -> 2748 bytes
-rw-r--r--plugins/sieverules/skins/classic/ie6hacks.css10
-rw-r--r--plugins/sieverules/skins/classic/iehacks.css53
-rw-r--r--plugins/sieverules/skins/classic/safari.css8
-rw-r--r--plugins/sieverules/skins/classic/sieverules.css406
-rw-r--r--plugins/sieverules/skins/classic/tabstyles.css3
-rw-r--r--plugins/sieverules/skins/classic/templates/advancededitor.html55
-rw-r--r--plugins/sieverules/skins/classic/templates/editsieverule.html29
-rw-r--r--plugins/sieverules/skins/classic/templates/setupsieverules.html18
-rw-r--r--plugins/sieverules/skins/classic/templates/sieverules.html93
-rw-r--r--plugins/sieverules/skins/classic/tick.gifbin0 -> 545 bytes
-rw-r--r--plugins/sieverules/skins/larry/cross.pngbin0 -> 342 bytes
-rw-r--r--plugins/sieverules/skins/larry/help.pngbin0 -> 475 bytes
-rw-r--r--plugins/sieverules/skins/larry/icons.pngbin0 -> 1773 bytes
-rw-r--r--plugins/sieverules/skins/larry/iehacks.css53
-rw-r--r--plugins/sieverules/skins/larry/listicons.pngbin0 -> 1345 bytes
-rw-r--r--plugins/sieverules/skins/larry/safari.css8
-rw-r--r--plugins/sieverules/skins/larry/sieverules.css435
-rw-r--r--plugins/sieverules/skins/larry/tabstyles.css15
-rw-r--r--plugins/sieverules/skins/larry/templates/advancededitor.html60
-rw-r--r--plugins/sieverules/skins/larry/templates/editsieverule.html30
-rw-r--r--plugins/sieverules/skins/larry/templates/setupsieverules.html27
-rw-r--r--plugins/sieverules/skins/larry/templates/sieverules.html78
-rw-r--r--plugins/sieverules/skins/larry/tick.pngbin0 -> 284 bytes
-rw-r--r--plugins/squirrelmail_usercopy/config.inc.php.dist18
-rw-r--r--plugins/squirrelmail_usercopy/squirrelmail_usercopy.php18
-rw-r--r--plugins/subscriptions_option/localization/az_AZ.inc19
-rw-r--r--plugins/subscriptions_option/localization/be_BE.inc19
-rw-r--r--plugins/subscriptions_option/localization/bg_BG.inc19
-rw-r--r--plugins/subscriptions_option/localization/el_GR.inc19
-rw-r--r--plugins/subscriptions_option/localization/en_US.inc2
-rw-r--r--plugins/subscriptions_option/localization/es_AR.inc19
-rw-r--r--plugins/subscriptions_option/localization/eu_ES.inc19
-rw-r--r--plugins/subscriptions_option/localization/fa_AF.inc19
-rw-r--r--plugins/subscriptions_option/localization/gl_ES.inc2
-rw-r--r--plugins/subscriptions_option/localization/id_ID.inc19
-rw-r--r--plugins/subscriptions_option/localization/lb_LU.inc3
-rw-r--r--plugins/subscriptions_option/localization/lv_LV.inc19
-rw-r--r--plugins/subscriptions_option/localization/nn_NO.inc19
-rw-r--r--plugins/subscriptions_option/localization/ro_RO.inc19
-rw-r--r--plugins/subscriptions_option/localization/ru_RU.inc2
-rw-r--r--plugins/subscriptions_option/package.xml2
-rw-r--r--plugins/subscriptions_option/subscriptions_option.php9
-rw-r--r--plugins/thunderbird_labels/localization/bg_BG.inc17
-rw-r--r--plugins/thunderbird_labels/localization/ca_ES.inc17
-rw-r--r--plugins/thunderbird_labels/localization/cs_CZ.inc18
-rw-r--r--plugins/thunderbird_labels/localization/de_DE.inc18
-rw-r--r--plugins/thunderbird_labels/localization/en_US.inc18
-rw-r--r--plugins/thunderbird_labels/localization/fr_FR.inc17
-rw-r--r--plugins/thunderbird_labels/localization/hu_HU.inc18
-rw-r--r--plugins/thunderbird_labels/localization/lv_LV.inc17
-rw-r--r--plugins/thunderbird_labels/localization/pl_PL.inc18
-rw-r--r--plugins/thunderbird_labels/localization/ru_RU.inc18
-rw-r--r--plugins/thunderbird_labels/skins/classic/tb_label.css183
-rw-r--r--plugins/thunderbird_labels/skins/classic/thunderbird_32.pngbin0 -> 3232 bytes
-rw-r--r--plugins/thunderbird_labels/skins/default/tb_label.css183
-rw-r--r--plugins/thunderbird_labels/skins/default/thunderbird_32.pngbin0 -> 3232 bytes
-rw-r--r--plugins/thunderbird_labels/skins/larry/tb_label.css170
-rw-r--r--plugins/thunderbird_labels/skins/larry/thunderbird_32.pngbin0 -> 2662 bytes
-rw-r--r--plugins/thunderbird_labels/tb_label.js369
-rw-r--r--plugins/thunderbird_labels/thunderbird_labels.php210
-rw-r--r--plugins/userinfo/localization/ar.inc21
-rw-r--r--plugins/userinfo/localization/ast.inc22
-rw-r--r--plugins/userinfo/localization/bg_BG.inc22
-rw-r--r--plugins/userinfo/localization/el_GR.inc22
-rw-r--r--plugins/userinfo/localization/en_US.inc2
-rw-r--r--plugins/userinfo/localization/es_AR.inc22
-rw-r--r--plugins/userinfo/localization/eu_ES.inc22
-rw-r--r--plugins/userinfo/localization/fa_AF.inc22
-rw-r--r--[-rwxr-xr-x]plugins/userinfo/localization/fr_FR.inc0
-rw-r--r--plugins/userinfo/localization/lb_LU.inc3
-rw-r--r--[-rwxr-xr-x]plugins/userinfo/localization/ro_RO.inc8
-rw-r--r--plugins/userinfo/localization/ti.inc22
-rw-r--r--plugins/userinfo/userinfo.php24
-rw-r--r--plugins/vcard_attachments/localization/ar.inc20
-rw-r--r--plugins/vcard_attachments/localization/ar_SA.inc20
-rw-r--r--plugins/vcard_attachments/localization/bg_BG.inc20
-rw-r--r--plugins/vcard_attachments/localization/el_GR.inc20
-rw-r--r--plugins/vcard_attachments/localization/en_US.inc2
-rw-r--r--plugins/vcard_attachments/localization/es_AR.inc20
-rw-r--r--plugins/vcard_attachments/localization/eu_ES.inc20
-rw-r--r--plugins/vcard_attachments/localization/gl_ES.inc4
-rw-r--r--plugins/vcard_attachments/localization/lb_LU.inc3
-rw-r--r--plugins/vcard_attachments/vcard_attachments.php15
-rw-r--r--plugins/virtuser_file/virtuser_file.php92
-rw-r--r--plugins/virtuser_query/package.xml8
-rw-r--r--plugins/virtuser_query/virtuser_query.php64
-rw-r--r--plugins/zipdownload/README2
-rw-r--r--plugins/zipdownload/config.inc.php.dist8
-rw-r--r--plugins/zipdownload/localization/ar.inc20
-rw-r--r--plugins/zipdownload/localization/ar_SA.inc20
-rw-r--r--plugins/zipdownload/localization/be_BE.inc20
-rw-r--r--plugins/zipdownload/localization/bg_BG.inc20
-rw-r--r--plugins/zipdownload/localization/el_GR.inc20
-rw-r--r--plugins/zipdownload/localization/en_US.inc2
-rw-r--r--plugins/zipdownload/localization/eo.inc20
-rw-r--r--plugins/zipdownload/localization/eu_ES.inc20
-rw-r--r--plugins/zipdownload/localization/fa_AF.inc20
-rw-r--r--plugins/zipdownload/localization/fi_FI.inc20
-rw-r--r--plugins/zipdownload/localization/id_ID.inc20
-rw-r--r--plugins/zipdownload/localization/ko_KR.inc20
-rw-r--r--plugins/zipdownload/localization/lb_LU.inc3
-rw-r--r--plugins/zipdownload/localization/lv_LV.inc20
-rw-r--r--plugins/zipdownload/localization/ro_RO.inc4
-rw-r--r--plugins/zipdownload/localization/ru_RU.inc2
-rw-r--r--plugins/zipdownload/localization/sl_SI.inc20
-rw-r--r--plugins/zipdownload/localization/uk_UA.inc20
-rw-r--r--plugins/zipdownload/localization/zh_CN.inc20
-rw-r--r--plugins/zipdownload/skins/larry/zipdownload.css4
-rw-r--r--plugins/zipdownload/zipdownload.php27
-rw-r--r--program/include/bc.php16
-rw-r--r--program/include/iniset.php9
-rw-r--r--program/include/rcmail.php393
-rw-r--r--program/include/rcmail_output_html.php145
-rw-r--r--program/js/app.js7016
-rw-r--r--program/js/common.js724
-rw-r--r--program/js/editor.js2
-rw-r--r--program/js/googiespell.js1136
l---------[-rw-r--r--]program/js/jquery.min.js3
-rw-r--r--program/js/jstz.min.js13
-rw-r--r--program/js/list.js1607
-rw-r--r--program/lib/Crypt/GPG.php (renamed from plugins/enigma/lib/Crypt/GPG.php)0
-rw-r--r--program/lib/Crypt/GPG/DecryptStatusHandler.php (renamed from plugins/enigma/lib/Crypt/GPG/DecryptStatusHandler.php)0
-rw-r--r--program/lib/Crypt/GPG/Engine.php (renamed from plugins/enigma/lib/Crypt/GPG/Engine.php)0
-rw-r--r--program/lib/Crypt/GPG/Exceptions.php (renamed from plugins/enigma/lib/Crypt/GPG/Exceptions.php)0
-rw-r--r--program/lib/Crypt/GPG/Key.php (renamed from plugins/enigma/lib/Crypt/GPG/Key.php)0
-rw-r--r--program/lib/Crypt/GPG/Signature.php (renamed from plugins/enigma/lib/Crypt/GPG/Signature.php)0
-rw-r--r--program/lib/Crypt/GPG/SubKey.php (renamed from plugins/enigma/lib/Crypt/GPG/SubKey.php)0
-rw-r--r--program/lib/Crypt/GPG/UserId.php (renamed from plugins/enigma/lib/Crypt/GPG/UserId.php)0
-rw-r--r--program/lib/Crypt/GPG/VerifyStatusHandler.php (renamed from plugins/enigma/lib/Crypt/GPG/VerifyStatusHandler.php)0
-rw-r--r--program/lib/Net/Sieve.php1274
-rw-r--r--program/lib/Roundcube/bootstrap.php30
-rw-r--r--program/lib/Roundcube/html.php70
-rw-r--r--program/lib/Roundcube/rcube.php302
-rw-r--r--program/lib/Roundcube/rcube_addressbook.php32
-rw-r--r--program/lib/Roundcube/rcube_base_replacer.php2
-rw-r--r--program/lib/Roundcube/rcube_browser.php2
-rw-r--r--program/lib/Roundcube/rcube_cache.php45
-rw-r--r--program/lib/Roundcube/rcube_config.php251
-rw-r--r--program/lib/Roundcube/rcube_contacts.php4
-rw-r--r--program/lib/Roundcube/rcube_content_filter.php2
-rw-r--r--program/lib/Roundcube/rcube_csv2vcard.php49
-rw-r--r--program/lib/Roundcube/rcube_db.php107
-rw-r--r--program/lib/Roundcube/rcube_db_mssql.php32
-rw-r--r--program/lib/Roundcube/rcube_db_mysql.php23
-rw-r--r--program/lib/Roundcube/rcube_db_pgsql.php47
-rw-r--r--program/lib/Roundcube/rcube_db_sqlite.php47
-rw-r--r--program/lib/Roundcube/rcube_db_sqlsrv.php29
-rw-r--r--program/lib/Roundcube/rcube_enriched.php2
-rw-r--r--program/lib/Roundcube/rcube_image.php99
-rw-r--r--program/lib/Roundcube/rcube_imap.php279
-rw-r--r--program/lib/Roundcube/rcube_imap_cache.php219
-rw-r--r--program/lib/Roundcube/rcube_imap_generic.php282
-rw-r--r--program/lib/Roundcube/rcube_ldap.php1322
-rw-r--r--program/lib/Roundcube/rcube_ldap_generic.php6
-rw-r--r--program/lib/Roundcube/rcube_message.php107
-rw-r--r--program/lib/Roundcube/rcube_mime.php32
-rw-r--r--program/lib/Roundcube/rcube_plugin.php36
-rw-r--r--program/lib/Roundcube/rcube_plugin_api.php122
-rw-r--r--program/lib/Roundcube/rcube_result_set.php47
-rw-r--r--program/lib/Roundcube/rcube_session.php142
-rw-r--r--program/lib/Roundcube/rcube_smtp.php12
-rw-r--r--program/lib/Roundcube/rcube_spellcheck_atd.php204
-rw-r--r--program/lib/Roundcube/rcube_spellcheck_enchant.php182
-rw-r--r--program/lib/Roundcube/rcube_spellcheck_engine.php91
-rw-r--r--program/lib/Roundcube/rcube_spellcheck_googie.php176
-rw-r--r--program/lib/Roundcube/rcube_spellcheck_pspell.php189
-rw-r--r--program/lib/Roundcube/rcube_spellchecker.php163
-rw-r--r--program/lib/Roundcube/rcube_storage.php22
-rw-r--r--program/lib/Roundcube/rcube_string_replacer.php13
-rw-r--r--program/lib/Roundcube/rcube_user.php9
-rw-r--r--program/lib/Roundcube/rcube_utils.php84
-rw-r--r--program/lib/Roundcube/rcube_vcard.php15
-rw-r--r--program/lib/Roundcube/rcube_washtml.php21
-rw-r--r--program/localization/ar_SA/labels.inc5
-rw-r--r--program/localization/ar_SA/messages.inc9
-rw-r--r--program/localization/ast/labels.inc5
-rw-r--r--program/localization/ast/messages.inc9
-rw-r--r--program/localization/az_AZ/labels.inc5
-rw-r--r--program/localization/az_AZ/messages.inc9
-rw-r--r--program/localization/be_BE/labels.inc5
-rw-r--r--program/localization/be_BE/messages.inc9
-rw-r--r--program/localization/bg_BG/labels.inc5
-rw-r--r--program/localization/bg_BG/messages.inc9
-rw-r--r--program/localization/bn_BD/labels.inc5
-rw-r--r--program/localization/bn_BD/messages.inc9
-rw-r--r--program/localization/br/labels.inc5
-rw-r--r--program/localization/br/messages.inc9
-rw-r--r--program/localization/bs_BA/labels.inc7
-rw-r--r--program/localization/bs_BA/messages.inc9
-rw-r--r--program/localization/ca_ES/labels.inc5
-rw-r--r--program/localization/ca_ES/messages.inc9
-rw-r--r--program/localization/cs_CZ/labels.inc7
-rw-r--r--program/localization/cs_CZ/messages.inc6
-rw-r--r--program/localization/cy_GB/labels.inc7
-rw-r--r--program/localization/cy_GB/messages.inc9
-rw-r--r--program/localization/da_DK/labels.inc7
-rw-r--r--program/localization/da_DK/messages.inc9
-rw-r--r--program/localization/de_CH/labels.inc5
-rw-r--r--program/localization/de_CH/messages.inc2
-rw-r--r--program/localization/de_DE/labels.inc7
-rw-r--r--program/localization/de_DE/messages.inc9
-rw-r--r--program/localization/el_GR/labels.inc5
-rw-r--r--program/localization/el_GR/messages.inc9
-rw-r--r--program/localization/en_GB/labels.inc5
-rw-r--r--program/localization/en_GB/messages.inc13
-rw-r--r--program/localization/en_US/csv2vcard.inc19
-rw-r--r--program/localization/en_US/labels.inc20
-rw-r--r--program/localization/en_US/labels.inc.orig537
-rw-r--r--program/localization/en_US/messages.inc19
-rw-r--r--program/localization/eo/labels.inc5
-rw-r--r--program/localization/eo/messages.inc9
-rw-r--r--program/localization/es_AR/labels.inc5
-rw-r--r--program/localization/es_AR/messages.inc9
-rw-r--r--program/localization/es_ES/labels.inc7
-rw-r--r--program/localization/es_ES/messages.inc2
-rw-r--r--program/localization/et_EE/labels.inc5
-rw-r--r--program/localization/et_EE/messages.inc2
-rw-r--r--program/localization/eu_ES/labels.inc5
-rw-r--r--program/localization/eu_ES/messages.inc195
-rw-r--r--program/localization/fa_AF/labels.inc5
-rw-r--r--program/localization/fa_AF/messages.inc55
-rw-r--r--program/localization/fa_IR/labels.inc5
-rw-r--r--program/localization/fa_IR/messages.inc163
-rw-r--r--program/localization/fi_FI/labels.inc3
-rw-r--r--program/localization/fi_FI/messages.inc4
-rw-r--r--program/localization/fr_FR/labels.inc9
-rw-r--r--program/localization/fr_FR/messages.inc210
-rw-r--r--program/localization/fy_NL/labels.inc5
-rw-r--r--program/localization/fy_NL/messages.inc171
-rw-r--r--[-rwxr-xr-x]program/localization/ga_IE/labels.inc5
-rw-r--r--[-rwxr-xr-x]program/localization/ga_IE/messages.inc9
-rw-r--r--program/localization/gl_ES/labels.inc7
-rw-r--r--program/localization/gl_ES/messages.inc2
-rw-r--r--program/localization/he_IL/labels.inc5
-rw-r--r--program/localization/he_IL/messages.inc2
-rw-r--r--program/localization/hi_IN/labels.inc5
-rw-r--r--program/localization/hi_IN/messages.inc9
-rw-r--r--program/localization/hr_HR/labels.inc5
-rw-r--r--program/localization/hr_HR/messages.inc9
-rw-r--r--program/localization/hu_HU/labels.inc5
-rw-r--r--program/localization/hu_HU/messages.inc9
-rw-r--r--program/localization/hy_AM/labels.inc5
-rw-r--r--program/localization/hy_AM/messages.inc9
-rw-r--r--program/localization/ia/labels.inc5
-rw-r--r--program/localization/ia/messages.inc9
-rw-r--r--program/localization/id_ID/labels.inc18
-rw-r--r--program/localization/id_ID/messages.inc11
-rw-r--r--program/localization/index.inc2
-rw-r--r--program/localization/is_IS/labels.inc5
-rw-r--r--program/localization/is_IS/messages.inc9
-rw-r--r--program/localization/it_IT/labels.inc5
-rw-r--r--program/localization/it_IT/messages.inc11
-rw-r--r--program/localization/ja_JP/labels.inc5
-rw-r--r--program/localization/ja_JP/messages.inc9
-rw-r--r--[-rwxr-xr-x]program/localization/ka_GE/labels.inc5
-rw-r--r--[-rwxr-xr-x]program/localization/ka_GE/messages.inc9
-rw-r--r--program/localization/km_KH/labels.inc5
-rw-r--r--program/localization/km_KH/messages.inc9
-rw-r--r--program/localization/ko_KR/labels.inc5
-rw-r--r--program/localization/ko_KR/messages.inc9
-rw-r--r--program/localization/ku/labels.inc5
-rw-r--r--program/localization/ku/messages.inc9
-rw-r--r--program/localization/lb_LU/labels.inc77
-rw-r--r--program/localization/lb_LU/messages.inc7
-rw-r--r--program/localization/lt_LT/labels.inc5
-rw-r--r--program/localization/lt_LT/messages.inc9
-rw-r--r--program/localization/lv_LV/labels.inc323
-rw-r--r--program/localization/lv_LV/messages.inc90
-rw-r--r--[-rwxr-xr-x]program/localization/mk_MK/labels.inc5
-rw-r--r--[-rwxr-xr-x]program/localization/mk_MK/messages.inc9
-rw-r--r--program/localization/ml_IN/labels.inc5
-rw-r--r--program/localization/ml_IN/messages.inc9
-rw-r--r--[-rwxr-xr-x]program/localization/mr_IN/labels.inc5
-rw-r--r--[-rwxr-xr-x]program/localization/mr_IN/messages.inc9
-rw-r--r--program/localization/ms_MY/labels.inc5
-rw-r--r--program/localization/ms_MY/messages.inc9
-rw-r--r--program/localization/nb_NO/labels.inc5
-rw-r--r--program/localization/nb_NO/messages.inc9
-rw-r--r--program/localization/ne_NP/labels.inc5
-rw-r--r--program/localization/ne_NP/messages.inc9
-rw-r--r--program/localization/nl_BE/labels.inc5
-rw-r--r--program/localization/nl_BE/messages.inc9
-rw-r--r--program/localization/nl_NL/labels.inc5
-rw-r--r--program/localization/nl_NL/messages.inc9
-rw-r--r--program/localization/nn_NO/labels.inc5
-rw-r--r--program/localization/nn_NO/messages.inc9
-rw-r--r--program/localization/pl_PL/labels.inc5
-rw-r--r--program/localization/pl_PL/messages.inc2
-rw-r--r--[-rwxr-xr-x]program/localization/ps/labels.inc5
-rw-r--r--[-rwxr-xr-x]program/localization/ps/messages.inc9
-rw-r--r--program/localization/pt_BR/labels.inc9
-rw-r--r--program/localization/pt_BR/messages.inc9
-rw-r--r--program/localization/pt_PT/labels.inc5
-rw-r--r--program/localization/pt_PT/messages.inc9
-rw-r--r--program/localization/ro_RO/labels.inc3
-rw-r--r--program/localization/ro_RO/messages.inc62
-rw-r--r--program/localization/ru_RU/labels.inc20
-rw-r--r--program/localization/ru_RU/messages.inc175
-rw-r--r--program/localization/si_LK/labels.inc5
-rw-r--r--program/localization/si_LK/messages.inc9
-rw-r--r--program/localization/sk_SK/labels.inc5
-rw-r--r--program/localization/sk_SK/messages.inc9
-rw-r--r--program/localization/sl_SI/labels.inc13
-rw-r--r--program/localization/sl_SI/messages.inc2
-rw-r--r--program/localization/sq_AL/labels.inc5
-rw-r--r--program/localization/sq_AL/messages.inc9
-rw-r--r--program/localization/sr_CS/labels.inc5
-rw-r--r--program/localization/sr_CS/messages.inc9
-rw-r--r--program/localization/sv_SE/labels.inc5
-rw-r--r--program/localization/sv_SE/messages.inc63
-rw-r--r--program/localization/ta_IN/labels.inc5
-rw-r--r--program/localization/ta_IN/messages.inc9
-rw-r--r--program/localization/th_TH/labels.inc5
-rw-r--r--program/localization/th_TH/messages.inc9
-rw-r--r--program/localization/tr_TR/labels.inc7
-rw-r--r--program/localization/tr_TR/messages.inc2
-rw-r--r--program/localization/uk_UA/labels.inc533
-rw-r--r--program/localization/uk_UA/messages.inc115
-rw-r--r--program/localization/ur_PK/labels.inc40
-rw-r--r--program/localization/ur_PK/messages.inc18
-rw-r--r--program/localization/vi_VN/labels.inc5
-rw-r--r--program/localization/vi_VN/messages.inc9
-rw-r--r--program/localization/zh_CN/labels.inc5
-rw-r--r--program/localization/zh_CN/messages.inc136
-rw-r--r--program/localization/zh_TW/labels.inc5
-rw-r--r--program/localization/zh_TW/messages.inc9
-rw-r--r--program/steps/addressbook/copy.inc12
-rw-r--r--program/steps/addressbook/delete.inc38
-rw-r--r--program/steps/addressbook/export.inc113
-rw-r--r--program/steps/addressbook/func.inc187
-rw-r--r--program/steps/addressbook/import.inc71
-rw-r--r--program/steps/addressbook/list.inc49
-rw-r--r--program/steps/addressbook/save.inc29
-rw-r--r--program/steps/addressbook/show.inc63
-rw-r--r--program/steps/addressbook/undo.inc25
-rw-r--r--program/steps/mail/attachments.inc5
-rw-r--r--program/steps/mail/check_recent.inc9
-rw-r--r--program/steps/mail/compose.inc103
-rw-r--r--program/steps/mail/func.inc336
-rw-r--r--program/steps/mail/func.inc.orig1964
-rw-r--r--program/steps/mail/get.inc86
-rw-r--r--program/steps/mail/list.inc1
-rw-r--r--program/steps/mail/list_contacts.inc29
-rw-r--r--program/steps/mail/move_del.inc11
-rw-r--r--program/steps/mail/sendmail.inc30
-rw-r--r--program/steps/mail/show.inc61
-rw-r--r--program/steps/mail/show.inc.orig315
-rw-r--r--program/steps/settings/about.inc67
-rw-r--r--program/steps/settings/edit_folder.inc5
-rw-r--r--program/steps/settings/edit_prefs.inc2
-rw-r--r--program/steps/settings/edit_response.inc107
-rw-r--r--program/steps/settings/folders.inc16
-rw-r--r--program/steps/settings/func.inc1961
-rw-r--r--program/steps/settings/responses.inc128
-rw-r--r--program/steps/settings/save_prefs.inc4
-rw-r--r--program/steps/utils/save_pref.inc22
-rw-r--r--program/steps/utils/spell.inc7
-rw-r--r--program/steps/utils/spell_html.inc5
-rw-r--r--skins/classic/addressbook.css79
-rw-r--r--skins/classic/common.css88
-rw-r--r--skins/classic/embed.css2
-rw-r--r--skins/classic/functions.js283
-rw-r--r--skins/classic/ie6hacks.css24
-rw-r--r--skins/classic/iehacks.css6
-rw-r--r--skins/classic/images/favicon.icobin34494 -> 1150 bytes
-rw-r--r--skins/classic/images/mail_toolbar.pngbin40806 -> 36649 bytes
-rw-r--r--skins/classic/includes/messagetoolbar.html2
-rw-r--r--skins/classic/mail.css388
-rw-r--r--skins/classic/settings.css16
-rw-r--r--skins/classic/templates/about.html7
-rw-r--r--skins/classic/templates/addressbook.html28
-rw-r--r--skins/classic/templates/compose.html25
-rw-r--r--skins/classic/templates/contact.html2
-rw-r--r--skins/classic/templates/contactadd.html9
-rw-r--r--skins/classic/templates/contactedit.html9
-rw-r--r--skins/classic/templates/folders.html6
-rw-r--r--skins/classic/templates/login.html2
-rw-r--r--skins/classic/templates/mail.html18
-rw-r--r--skins/classic/templates/message.html28
-rw-r--r--skins/classic/templates/messageerror.html8
-rw-r--r--skins/classic/templates/messagepart.html38
-rw-r--r--skins/classic/templates/messagepreview.html26
-rw-r--r--skins/classic/templates/responseedit.html24
-rw-r--r--skins/classic/templates/responses.html46
-rw-r--r--skins/larry/addressbook.css88
-rw-r--r--skins/larry/embed.css2
-rw-r--r--skins/larry/ie7hacks.css1
-rw-r--r--skins/larry/iehacks.css9
-rw-r--r--skins/larry/images/buttons.gifbin14997 -> 13054 bytes
-rw-r--r--skins/larry/images/buttons.pngbin50162 -> 36693 bytes
-rw-r--r--skins/larry/images/favicon.icobin34494 -> 1150 bytes
-rw-r--r--skins/larry/images/listicons.pngbin26384 -> 25486 bytes
-rw-r--r--skins/larry/includes/footer.html12
-rw-r--r--skins/larry/includes/header.html8
-rw-r--r--skins/larry/mail.css446
-rw-r--r--skins/larry/settings.css12
-rw-r--r--skins/larry/styles.css201
-rw-r--r--skins/larry/svggradients.css7
-rw-r--r--skins/larry/templates/about.html4
-rw-r--r--skins/larry/templates/addressbook.html23
-rw-r--r--skins/larry/templates/compose.html16
-rw-r--r--skins/larry/templates/contact.html2
-rw-r--r--skins/larry/templates/contactedit.html2
-rw-r--r--skins/larry/templates/importcontacts.html9
-rw-r--r--skins/larry/templates/login.html4
-rw-r--r--skins/larry/templates/mail.html17
-rw-r--r--skins/larry/templates/message.html27
-rw-r--r--skins/larry/templates/messageerror.html2
-rw-r--r--skins/larry/templates/messagepart.html34
-rw-r--r--skins/larry/templates/messagepreview.html19
-rw-r--r--skins/larry/templates/responseedit.html22
-rw-r--r--skins/larry/templates/responses.html41
-rw-r--r--skins/larry/ui.js217
-rw-r--r--skins/larry/watermark.html2
-rw-r--r--temp/.htaccess2
-rw-r--r--tests/Framework/Browser.php203
-rw-r--r--tests/Framework/Mime.php4
-rw-r--r--tests/Framework/StringReplacer.php16
-rw-r--r--tests/Framework/Utils.php32
-rw-r--r--tests/MailFunc.php88
-rw-r--r--tests/phpunit.xml1
-rw-r--r--tests/src/media.css22
1215 files changed, 44641 insertions, 24686 deletions
diff --git a/.htaccess b/.htaccess
index dc6e62f..345d26d 100644
--- a/.htaccess
+++ b/.htaccess
@@ -21,6 +21,9 @@ php_flag session.auto_start Off
php_value session.gc_maxlifetime 21600
php_value session.gc_divisor 500
php_value session.gc_probability 1
+
+# http://bugs.php.net/bug.php?id=30766
+php_value mbstring.func_overload 0
</IfModule>
<IfModule mod_rewrite.c>
diff --git a/CHANGELOG b/CHANGELOG
index dbc7447..3251116 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,14 +1,33 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix date column width to fit the widest possible date format (#1489368)
+- Move certain user preference options to a collapsed "advanced" block (#1488829)
+- Add file type icons for Powerpoint and Open Office presentations (#1489225)
+- Fix operations on folders with trailing spaces in name (#1489419)
+- Improve identity selection based on From: header (#1489378)
+- Fix issue where mails with inline images of the same name contained only the first image multiple times (#1489406)
+- Use left/right arrow keys to collapse/expand thread and spacebar to select a row, change Ctrl key behavior (#1489392)
+- Fix an issue where using arrow keys to go up a list can result in selected message being under headers (#1489403)
+- Fix an issue where Home/End keys don't focus list row properly, don't scrollTo properly (#1489396)
+- Add an option to disable smart Reply-List behaviour - reply_all_mode (#1488734)
+- Fix an issue where pressing minus key on contacts list was hiding list records (#1489393)
+- Fix an issue where shift + arrow-up key wasn't selecting all messages in collapsed thread (#1489397)
+- Added icon for priority column in messages list header (#1489234)
+- New feature "Canned Responses" to save and recall boilerplate text snippets
+- Fix HTML part detection when encapsulated inside multipart/signed (#1489372)
+- Add spellchecker backend for the After the Deadline service
+- Replace markdown-style [1] link indexes in plain text email bodies
+- Improved mailto: link arguments handling (#1489363)
+- Use DOMDocument LIBXML_PARSEHUGE and LIBXML_COMPACT options if possible (#1489302)
+- Support HTTP_HOST, SERVER_NAME and SERVER_ADDR values in include_host_config feature
+- Make default font size for HTML messages configurable (request #118)
+- Fix XSS issue in addressbook group name field [CVE-2013-5646] (#1489333)
- After message is sent refresh messages list of replied message folder (#1489249)
- Add option force specified domain in user login - username_domain_forced (#1489264)
-- Fix expanded thread root message styling after refreshing messages list (#1489327)
-- Fix issue where From address was removed from Cc and Bcc fields when editing a draft (#1489319)
- Add option to import Vcards with group assignments
- Save groups membership in Vcard export (#1488509)
- Workaround broken PHP function timezone_name_from_abbr (#1489261)
-- Fix error_reporting directive check (#1489323)
- Make cached message size limit configurable - messages_cache_threshold (#1489317)
- Log also failed logins to userlogins log
- Add temp_dir_ttl configuration option (#1489304)
@@ -69,6 +88,23 @@ CHANGELOG Roundcube Webmail
- Fix export of selected contacts from search result (#1488905)
- Feature to export only selected contacts from addressbook (by Phil Weir)
+RELEASE 0.9.5
+-------------
+- Fix failing vCard import when email address field contains spaces (#1489386)
+- Fix default spell-check configuration after Google suspended their spell service
+- Fix vulnerability in handling _session argument of utils/save-prefs (#1489382)
+- Fix iframe onload for upload errors handling (#1489379)
+- Fix address matching in Return-Path header on identity selection (#1489374)
+- Fix text wrapping issue with long unwrappable lines (#1489371)
+- Fixed issues where HTML comments inside style tag would hang Internet Explorer
+- Hide Delivery Status Notification option when smtp_server is unset (#1489336)
+- Display full attachment name using title attribute when name is too long to display (#1489320)
+- Fix attachment icon issue when rare font/language is used (#1489326)
+- Fix expanded thread root message styling after refreshing messages list (#1489327)
+- Fix issue where From address was removed from Cc and Bcc fields when editing a draft (#1489319)
+- Fix error_reporting directive check (#1489323)
+- Fix de_DE localization of "About" label in Help plugin (#1489325)
+
RELEASE 0.9.4
-------------
- Make identities matching case insensitive (#1485480)
@@ -95,8 +131,8 @@ RELEASE 0.9.3
- Fix base URL resolving on attribute values with no quotes (#1489275)
- Fix wrong handling of links with '|' character (#1489276)
- Fix colorspace issue on image conversion using ImageMagick (#1489270)
-- Fix XSS vulnerability when editing a message "as new" or draft (#1489251)
-- Fix XSS vulnerability when saving HTML signatures (#1489251)
+- Fix XSS vulnerability when editing a message "as new" or draft [CVE-2013-5645] (#1489251)
+- Fix XSS vulnerability when saving HTML signatures [CVE-2013-5645] (#1489251)
- Fix rewrite rule in .htaccess (#1489240)
- Fix detecting Turkish language in ISO-8859-9 encoding (#1489252)
- Fix identity-selection using Return-Path headers (#1489241)
@@ -316,7 +352,7 @@ RELEASE 0.8.5
- Fix #countcontrols issue in IE<=8 when text is very long (#1488890)
- Fix unwanted horizontal scrollbar in message preview header (#1488866)
- Add workaround for IE<=8 bug where Content-Disposition:inline was ignored (#1488844)
-- Fix XSS vulnerability in vbscript: and data:text links handling (#1488850)
+- Fix XSS vulnerability in vbscript: and data:text links handling [CVE-2012-6121] (#1488850)
- Fix absolute positioning in HTML messages (#1488819)
- Fix cache (in)validation after setting \Deleted flag
- Fix keybord events on messages list in opera browser (#1488823)
@@ -371,8 +407,8 @@ RELEASE 0.8.1
- Fix bug where domain name was converted to lower-case even with login_lc=false (#1488593)
- Fix lower-casing email address on replies (#1488598)
- Fix line separator in exported messages (#1488603)
-- Fix XSS issue where plain signatures wasn't secured in HTML mode (#1488613)
-- Fix XSS issue where href="javascript:" wasn't secured (#1488613)
+- Fix XSS issue where plain signatures wasn't secured in HTML mode [CVE-2012-4668] (#1488613)
+- Fix XSS issue where href="javascript:" wasn't secured [CVE-2012-3508] (#1488613)
- Fix impossible to create message with empty plain text part (#1488610)
- Fix stripped apostrophes when replying in plain text to HTML message (#1488606)
- Fix inactive Save search option after advanced search (#1488607)
@@ -407,7 +443,7 @@ RELEASE 0.8.0
- Fix removing contact photo using LDAP addressbook (#1488420)
- Fix storing X-ANNIVERSARY date in vCard format (#1488527)
- Update to Mail_Mime-1.8.5 (#1488521)
-- Fix XSS vulnerability in message subject handling using Larry skin (#1488519)
+- Fix XSS vulnerability in message subject handling using Larry skin [CVE-2012-3507] (#1488519)
- Fix handling of links with various URI schemes e.g. "skype:" (#1488106)
- Fix handling of links inside PRE elements on html to text conversion
- Fix indexing of links on html to text conversion
@@ -534,7 +570,7 @@ RELEASE 0.7
- Improved handling of some malformed values encoded with quoted-printable (#1488232)
- Add possibility to do LDAP bind before searching for bind DN
- Fix handling of empty <U> tags in HTML messages (#1488225)
-- Add content filter for embedded attachments to protect from XSS on IE (#1487895)
+- Add content filter for embedded attachments to protect from XSS on IE [CVE-2012-1253] (#1487895)
- Use strpos() instead of strstr() when possible (#1488211)
- Fix handling HTML entities when converting HTML to text (#1488212)
- Fix fit_string_to_size() renders browser and ui unresponsive (#1488207)
@@ -702,7 +738,7 @@ RELEASE 0.6-beta
RELEASE 0.5.4
-------------
-- Fix XSS vulnerability in UI messages (#1488030)
+- Fix XSS vulnerability in UI messages [CVE-2011-2937] (#1488030)
RELEASE 0.5.3
-------------
@@ -752,8 +788,8 @@ RELEASE 0.5.1
- Security: add optional referer check to prevent CSRF in GET requests
- Fix email_dns_check setting not used for identities/contacts (#1487740)
- Fix ICANN example addresses doesn't validate (#1487742)
-- Security: protect login form submission from CSRF
-- Security: prevent from relaying malicious requests through modcss.inc
+- Security: protect login form submission from CSRF [CVE-2011-1491]
+- Security: prevent from relaying malicious requests through modcss.inc [CVE-2011-1492]
- Fix handling of non-image attachments in multipart/related messages (#1487750)
- Fix IDNA support when IDN/INTL modules are in use (#1487742)
- Fix handling of invalid HTML comments in messages (#1487759)
@@ -1196,7 +1232,7 @@ RELEASE 0.3-RC1
---------------
- Fix import of vCard entries with params (#1485453)
- Fix HTML messages output with empty block elements (#1485974)
-- Use request tokens to protect POST requests from CSRF
+- Use request tokens to protect POST requests from CSRF [CVE-2009-4076, CVE-2009-4077]
- Added hook when killing a session
- Added hook to write_log function (#1485971)
- Performance improvements by use UID commands (#1485690)
@@ -1323,7 +1359,7 @@ RELEASE 0.2.1
- Fix large search results on server without SORT capability (#1485668)
- Get rid of preg_replace() with eval modifier and create_function usage (#1485686)
- Bring back <base> and <link> tags in HTML messages
-- Fix XSS vulnerability through background attributes as reported by Julien Cayssol
+- Fix XSS vulnerability through background attributes [CVE-2009-0413]
- Fix problems with backslash as IMAP hierarchy delimiter (#1484467)
- Secure vcard export by getting rid of preg's 'e' modifier use (#1485689)
- Fix authentication when submitting form with existing session (#1485679)
@@ -1381,7 +1417,7 @@ RELEASE 0.2-STABLE
- Allow deleting identities when multiple_identities=false (#1485435)
- Added option focus_on_new_message (#1485374)
- Fix html2text class autoloading on Windows (#1485505)
-- Fix html signature formatting when identity save error occured (#1485426)
+- Fix html signature formatting when identity save error occurred (#1485426)
- Add feedback and set busy when moving folder (#1485497)
- Fix 'Empty' link visibility for some languages e.g. Slovak (#1485489)
- Fix messages count bar overlapping (#1485270)
diff --git a/INSTALL b/INSTALL
index 5b1c21d..834972c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,6 +23,8 @@ REQUIREMENTS
- Net_SMTP (latest from https://github.com/pear/Net_SMTP/)
- Net_IDNA2 0.1.1 or newer
- Auth_SASL 1.0.6 or newer
+ - Net_Sieve 1.8.2 or newer (for managesieve plugin)
+ - Crypt_GPG 1.2.0 or newer (for enigma plugin)
* php.ini options (see .htaccess file):
- error_reporting E_ALL & ~E_NOTICE (or lower)
- memory_limit > 16MB (increase as suitable to support large attachments)
diff --git a/bin/package2composer.sh b/bin/package2composer.sh
new file mode 100755
index 0000000..c615a17
--- /dev/null
+++ b/bin/package2composer.sh
@@ -0,0 +1,109 @@
+#!/usr/bin/env php
+<?php
+/*
+ +-----------------------------------------------------------------------+
+ | bin/package2composer.sh |
+ | |
+ | This file is part of the Roundcube Webmail client |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ | PURPOSE: |
+ | Convert a plugin's package.xml file into a composer.json description |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Thomas Bruederli <thomas@roundcube.net> |
+ +-----------------------------------------------------------------------+
+*/
+
+ini_set('error_reporting', E_ALL & ~E_NOTICE);
+
+list(, $filename, $vendor) = $_SERVER['argv'];
+
+if (!$filename || !is_readable($filename)) {
+ die("Invalid input file name!\nUsage: " . $_SERVER['argv'][0] . " XMLFILE VENDOR\n");
+}
+
+if (!$vendor) {
+ $vendor = 'anonymous';
+}
+
+$package = new SimpleXMLElement(file_get_contents($filename));
+
+$data = array(
+ 'name' => $vendor . '/' . strval($package->name),
+ 'type' => 'roundcube-plugin',
+ 'description' => trim(strval($package->description), '- ') ? trim(strval($package->description)) : trim(strval($package->summary)),
+ 'homepage' => strval($package->uri),
+ 'license' => 'GPLv3+',
+ 'version' => strval($package->version->release),
+ 'authors' => array(),
+ 'repositories' => array(
+ array('type' => 'composer', 'url' => 'http://plugins.roundcube.net'),
+ ),
+ 'require' => array(
+ 'php' => '>=5.3.0',
+ 'roundcube/plugin-installer' => '>=0.1.3',
+ ),
+);
+
+if ($package->license) {
+ $data['license'] = strval($package->license);
+}
+
+if ($package->lead) {
+ foreach ($package->lead as $lead) {
+ if (strval($lead->active) == 'no') {
+ continue;
+ }
+ $data['authors'][] = array(
+ 'name' => strval($lead->name),
+ 'email' => strval($lead->email),
+ 'role' => 'Lead',
+ );
+ }
+}
+
+if ($devs = $package->developer) {
+ foreach ($package->developer as $dev) {
+ $data['authors'][] = array(
+ 'name' => strval($dev->name),
+ 'email' => strval($dev->email),
+ 'role' => 'Developer',
+ );
+ }
+}
+
+if ($package->dependencies->required->extension) {
+ foreach ($package->dependencies->required->extension as $ext) {
+ $data['require']['ext-' . strval($ext->name)] = '*';
+ }
+}
+
+// remove empty values
+$data = array_filter($data);
+
+// use the JSON encoder from the Composer package
+if (is_file('composer.phar')) {
+ include 'phar://composer.phar/src/Composer/Json/JsonFile.php';
+ echo \Composer\Json\JsonFile::encode($data);
+}
+// PHP 5.4's json_encode() does the job, too
+else if (defined('JSON_PRETTY_PRINT')) {
+ $flags = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT & JSON_UNESCAPED_SLASHES : 0;
+ echo json_encode($data, $flags);
+}
+else {
+ fputs(STDERR,
+"FAILED! composer.phar not found in current directory.
+
+Please download it from http://getcomposer.org/download/ or with
+ curl -s http://getcomposer.org/installer | php
+");
+}
+
+echo "\n";
+
diff --git a/bin/transifexpull.sh b/bin/transifexpull.sh
new file mode 100755
index 0000000..ba26a07
--- /dev/null
+++ b/bin/transifexpull.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# In 'translator' mode files will contain empty translated texts
+# where translation is not available, we'll remove these later
+
+# Note: there's a bug in txclib, so if the command below doesn't
+# work see https://github.com/transifex/transifex-client/commit/a80320735973dd608b48520bf3b89ad53e2b088b
+
+tx --debug pull -a --mode translator
+
+PWD=`dirname "$0"`
+
+do_clean()
+{
+ # do not cleanup en_US files
+ echo "$1" | grep -v en_US > /dev/null || return
+
+ echo "Cleaning $1"
+
+ # remove untranslated/empty texts
+ perl -pi -e "s/^\\\$labels\[[^]]+\]\s+=\s+'';\n//" $1
+ perl -pi -e "s/^\\\$messages\[[^]]+\]\s+=\s+'';\n//" $1
+ # remove variable initialization
+ perl -pi -e "s/^\\\$(labels|messages)\s*=\s*array\(\);\n//" $1
+ # remove (one-line) comments
+ perl -pi -e "s/^\\/\\/.*//" $1
+ # remove empty lines (but not in file header)
+ perl -ne 'print if ($. < 18 || length($_) > 1)' $1 > $1.tmp
+ mv $1.tmp $1
+}
+
+# clean up translation files
+for file in $PWD/../program/localization/*/*.inc; do
+ do_clean $file
+done
+for file in $PWD/../plugins/*/localization/*.inc; do
+ do_clean $file
+done
diff --git a/bin/updatedb.sh b/bin/updatedb.sh
index b4ed8b7..1f5e184 100755
--- a/bin/updatedb.sh
+++ b/bin/updatedb.sh
@@ -72,13 +72,20 @@ if (!$version && $opts['version']) {
'0.2-alpha' => 2008040500,
'0.2-beta' => 2008060900,
'0.2-stable' => 2008092100,
+ '0.2.1' => 2008092100,
+ '0.2.2' => 2008092100,
'0.3-stable' => 2008092100,
'0.3.1' => 2009090400,
'0.4-beta' => 2009103100,
+ '0.4' => 2010042300,
+ '0.4.1' => 2010042300,
'0.4.2' => 2010042300,
'0.5-beta' => 2010100600,
'0.5' => 2010100600,
'0.5.1' => 2010100600,
+ '0.5.2' => 2010100600,
+ '0.5.3' => 2010100600,
+ '0.5.4' => 2010100600,
'0.6-beta' => 2011011200,
'0.6' => 2011011200,
'0.7-beta' => 2011092800,
diff --git a/config/.htaccess b/config/.htaccess
deleted file mode 100644
index 8e6a345..0000000
--- a/config/.htaccess
+++ /dev/null
@@ -1,2 +0,0 @@
-Order allow,deny
-Deny from all \ No newline at end of file
diff --git a/config/defaults.inc.php b/config/defaults.inc.php
index bf7c4df..fc7e92f 100644
--- a/config/defaults.inc.php
+++ b/config/defaults.inc.php
@@ -30,6 +30,9 @@ $config['db_dsnw'] = 'mysql://roundcube:@localhost/roundcubemail';
// useful for database replication
$config['db_dsnr'] = '';
+// Disable the use of already established dsnw connections for subsequent reads
+$config['db_dsnw_noread'] = false;
+
// use persistent db-connections
// beware this will not "always" work as expected
// see: http://www.php.net/manual/en/features.persistent-connections.php
@@ -38,6 +41,16 @@ $config['db_persistent'] = false;
// you can define specific table (and sequence) names prefix
$config['db_prefix'] = '';
+// Mapping of table names and connections to use for ALL operations.
+// This can be used in a setup with replicated databases and a DB master
+// where read/write access to cache tables should not go to master.
+$config['db_table_dsn'] = array(
+// 'cache' => 'r',
+// 'cache_index' => 'r',
+// 'cache_thread' => 'r',
+// 'cache_messages' => 'r',
+);
+
// ----------------------------------
// LOGGING/DEBUGGING
@@ -239,12 +252,18 @@ $config['enable_installer'] = false;
// don't allow these settings to be overriden by the user
$config['dont_override'] = array();
+// define which settings should be listed under the 'advanced' block
+// which is hidden by default
+$config['advanced_prefs'] = array();
+
// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';
// replace Roundcube logo with this image
// specify an URL relative to the document root of this Roundcube installation
+// an array can be used to specify different logos for specific template files, '*' for default logo
+// for example array("*" => "/images/roundcube_logo.png", "messageprint" => "/images/roundcube_logo_print.png")
$config['skin_logo'] = null;
// automatically create a new Roundcube user when log-in the first time.
@@ -551,15 +570,20 @@ $config['enable_spellcheck'] = true;
// Setting it to 'shared' will make the dictionary shared by all users.
$config['spellcheck_dictionary'] = false;
-// Set the spell checking engine. 'googie' is the default.
-// 'pspell' and 'enchant' are also available, but they require
-// PHP Pspell or Enchant extensions. When using Nox Spell Server, also set 'googie' here.
+// Set the spell checking engine. Possible values:
+// - 'googie' - the default
+// - 'pspell' - requires the PHP Pspell module and aspell installed
+// - 'enchant' - requires the PHP Enchant module
+// - 'atd' - install your own After the Deadline server or check with the people at http://www.afterthedeadline.com before using their API
+// Since Google shut down their public spell checking service, you need to
+// connect to a Nox Spell Server when using 'googie' here. Therefore specify the 'spellcheck_uri'
$config['spellcheck_engine'] = 'googie';
-// For a locally installed Nox Spell Server, please specify the URI to call it.
-// Get Nox Spell Server from http://orangoo.com/labs/?page_id=72
-// Leave empty to use the Google spell checking service, what means
-// that the message content will be sent to Google in order to check spelling
+// For locally installed Nox Spell Server or After the Deadline services,
+// please specify the URI to call it.
+// Get Nox Spell Server from http://orangoo.com/labs/?page_id=72 or
+// the After the Deadline package from http://www.afterthedeadline.com.
+// Leave empty to use the public API of service.afterthedeadline.com
$config['spellcheck_uri'] = '';
// These languages can be selected for spell checking.
@@ -595,6 +619,12 @@ $config['upload_progress'] = false;
// Setting it to 0, disables the feature.
$config['undo_timeout'] = 0;
+// A static list of canned responses which are immutable for the user
+$config['compose_responses_static'] = array(
+// array('name' => 'Canned Response 1', 'text' => 'Static Response One'),
+// array('name' => 'Canned Response 2', 'text' => 'Static Response Two'),
+);
+
// ----------------------------------
// ADDRESSBOOK SETTINGS
// ----------------------------------
@@ -644,6 +674,7 @@ $config['ldap_public']['Verisign'] = array(
'ldap_version' => 3, // using LDAPv3
'network_timeout' => 10, // The timeout (in seconds) for connect + bind arrempts. This is only supported in PHP >= 5.3.0 with OpenLDAP 2.x
'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login.
+ // When 'user_specific' is enabled following variables can be used in base_dn/bind_dn config:
// %fu - The full username provided, assumes the username is an email
// address, uses the username_domain value if not an email address.
// %u - The username prior to the '@'.
@@ -660,6 +691,8 @@ $config['ldap_public']['Verisign'] = array(
// DN and password to bind as before searching for bind DN, if anonymous search is not allowed
'search_bind_dn' => '',
'search_bind_pw' => '',
+ // Optional map of replacement strings => attributes used when binding for an individual address book
+ 'search_bind_attrib' => array(), // e.g. array('%udc' => 'ou')
// Default for %dn variable if search doesn't return DN value
'search_dn_default' => '',
// Optional authentication identifier to be used as SASL authorization proxy
@@ -741,14 +774,19 @@ $config['ldap_public']['Verisign'] = array(
// if the groups base_dn is empty, the contact base_dn is used for the groups as well
// -> in this case, assure that groups and contacts are separated due to the concernig filters!
'groups' => array(
- 'base_dn' => '',
- 'scope' => 'sub', // Search mode: sub|base|list
- 'filter' => '(objectClass=groupOfNames)',
- 'object_classes' => array("top", "groupOfNames"),
- 'member_attr' => 'member', // Name of the member attribute, e.g. uniqueMember
- 'name_attr' => 'cn', // Attribute to be used as group name
- 'member_filter' => '(objectclass=*)', // Optional filter to use when querying for group members
- 'vlv' => false, // Use VLV controls to list groups
+ 'base_dn' => '',
+ 'scope' => 'sub', // Search mode: sub|base|list
+ 'filter' => '(objectClass=groupOfNames)',
+ 'object_classes' => array('top', 'groupOfNames'), // Object classes to be assigned to new groups
+ 'member_attr' => 'member', // Name of the default member attribute, e.g. uniqueMember
+ 'name_attr' => 'cn', // Attribute to be used as group name
+ 'email_attr' => 'mail', // Group email address attribute (e.g. for mailing lists)
+ 'member_filter' => '(objectclass=*)', // Optional filter to use when querying for group members
+ 'vlv' => false, // Use VLV controls to list groups
+ 'class_member_attr' => array( // Mapping of group object class to member attribute used in these objects
+ 'groupofnames' => 'member',
+ 'groupofuniquenames' => 'uniquemember'
+ ),
),
// this configuration replaces the regular groups listing in the directory tree with
// a hard-coded list of groups, each listing entries with the configured base DN and filter.
@@ -958,6 +996,7 @@ $config['mdn_requests'] = 0;
$config['mdn_default'] = 0;
// Delivery Status Notification checkbox default state
+// Note: This can be used only if smtp_server is non-empty
$config['dsn_default'] = 0;
// Place replies in the folder of the message being replied to
@@ -982,5 +1021,14 @@ $config['autocomplete_single'] = false;
// Georgia, Helvetica, Impact, Tahoma, Terminal, Times New Roman, Trebuchet MS, Verdana
$config['default_font'] = 'Verdana';
+// Default font size for composed HTML message.
+// Supported sizes: 8pt, 10pt, 12pt, 14pt, 18pt, 24pt, 36pt
+$config['default_font_size'] = '10pt';
+
// Enables display of email address with name instead of a name (and address in title)
$config['message_show_email'] = false;
+
+// Default behavior of Reply-All button:
+// 0 - Reply-All always
+// 1 - Reply-List if mailing list is detected
+$config['reply_all_mode'] = 0;
diff --git a/index.php b/index.php
index 3be71f2..7251520 100644
--- a/index.php
+++ b/index.php
@@ -2,7 +2,7 @@
/*
+-------------------------------------------------------------------------+
| Roundcube Webmail IMAP Client |
- | Version 1.0-git |
+ | Version 0.9.5 |
| |
| Copyright (C) 2005-2013, The Roundcube Dev Team |
| |
@@ -39,7 +39,7 @@
require_once 'program/include/iniset.php';
// init application, start session, init output class, etc.
-$RCMAIL = rcmail::get_instance($GLOBALS['env']);
+$RCMAIL = rcmail::get_instance();
// Make the whole PHP output non-cacheable (#1487797)
$RCMAIL->output->nocacheing_headers();
@@ -138,7 +138,7 @@ if ($RCMAIL->task == 'login' && $RCMAIL->action == 'login') {
}
else {
if (!$auth['valid']) {
- $error_code = RCMAIL::ERROR_INVALID_REQUEST;
+ $error_code = RCMAIL::ERROR_INVALID_REQUEST;
}
else {
$error_code = $auth['error'] ? $auth['error'] : $RCMAIL->login_error();
@@ -153,9 +153,6 @@ if ($RCMAIL->task == 'login' && $RCMAIL->action == 'login') {
$error_message = $error_labels[$error_code] ? $error_labels[$error_code] : 'loginfailed';
- // log failed login
- $RCMAIL->log_login($auth['user'], true, $error_code);
-
$OUTPUT->show_message($error_message, 'warning');
$RCMAIL->plugins->exec_hook('login_failed', array(
'code' => $error_code, 'host' => $auth['host'], 'user' => $auth['user']));
diff --git a/installer/rcube_install.php b/installer/rcube_install.php
index 9c9794c..df05db4 100644
--- a/installer/rcube_install.php
+++ b/installer/rcube_install.php
@@ -406,7 +406,7 @@ class rcube_install
*
* @param rcube_db Database object
*
- * @return boolean True if the schema is up-to-date, false if not or an error occured
+ * @return boolean True if the schema is up-to-date, false if not or an error occurred
*/
function db_schema_check($DB)
{
diff --git a/logs/.htaccess b/logs/.htaccess
deleted file mode 100644
index 8e6a345..0000000
--- a/logs/.htaccess
+++ /dev/null
@@ -1,2 +0,0 @@
-Order allow,deny
-Deny from all \ No newline at end of file
diff --git a/main.inc.php.dist b/main.inc.php.dist
new file mode 100644
index 0000000..15512f5
--- /dev/null
+++ b/main.inc.php.dist
@@ -0,0 +1,900 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | Main configuration file |
+ | |
+ | This file is part of the Roundcube Webmail client |
+ | Copyright (C) 2005-2011, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+*/
+
+$rcmail_config = array();
+
+// ----------------------------------
+// LOGGING/DEBUGGING
+// ----------------------------------
+
+// system error reporting, sum of: 1 = log; 4 = show, 8 = trace
+$rcmail_config['debug_level'] = 1;
+
+// log driver: 'syslog' or 'file'.
+$rcmail_config['log_driver'] = 'file';
+
+// date format for log entries
+// (read http://php.net/manual/en/function.date.php for all format characters)
+$rcmail_config['log_date_format'] = 'd-M-Y H:i:s O';
+
+// Syslog ident string to use, if using the 'syslog' log driver.
+$rcmail_config['syslog_id'] = 'roundcube';
+
+// Syslog facility to use, if using the 'syslog' log driver.
+// For possible values see installer or http://php.net/manual/en/function.openlog.php
+$rcmail_config['syslog_facility'] = LOG_USER;
+
+// Log sent messages to <log_dir>/sendmail or to syslog
+$rcmail_config['smtp_log'] = true;
+
+// Log successful logins to <log_dir>/userlogins or to syslog
+$rcmail_config['log_logins'] = false;
+
+// Log session authentication errors to <log_dir>/session or to syslog
+$rcmail_config['log_session'] = false;
+
+// Log SQL queries to <log_dir>/sql or to syslog
+$rcmail_config['sql_debug'] = false;
+
+// Log IMAP conversation to <log_dir>/imap or to syslog
+$rcmail_config['imap_debug'] = false;
+
+// Log LDAP conversation to <log_dir>/ldap or to syslog
+$rcmail_config['ldap_debug'] = false;
+
+// Log SMTP conversation to <log_dir>/smtp or to syslog
+$rcmail_config['smtp_debug'] = false;
+
+// ----------------------------------
+// IMAP
+// ----------------------------------
+
+// The mail host chosen to perform the log-in.
+// Leave blank to show a textbox at login, give a list of hosts
+// to display a pulldown menu or set one host as string.
+// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
+// Supported replacement variables:
+// %n - hostname ($_SERVER['SERVER_NAME'])
+// %t - hostname without the first part
+// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
+// %s - domain name after the '@' from e-mail address provided at login screen
+// For example %n = mail.domain.tld, %t = domain.tld
+// WARNING: After hostname change update of mail_host column in users table is
+// required to match old user data records with the new host.
+$rcmail_config['default_host'] = '';
+
+// TCP port used for IMAP connections
+$rcmail_config['default_port'] = 143;
+
+// IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or null to use
+// best server supported one)
+$rcmail_config['imap_auth_type'] = null;
+
+// If you know your imap's folder delimiter, you can specify it here.
+// Otherwise it will be determined automatically
+$rcmail_config['imap_delimiter'] = null;
+
+// If IMAP server doesn't support NAMESPACE extension, but you're
+// using shared folders or personal root folder is non-empty, you'll need to
+// set these options. All can be strings or arrays of strings.
+// Folders need to be ended with directory separator, e.g. "INBOX."
+// (special directory "~" is an exception to this rule)
+// These can be used also to overwrite server's namespaces
+$rcmail_config['imap_ns_personal'] = null;
+$rcmail_config['imap_ns_other'] = null;
+$rcmail_config['imap_ns_shared'] = null;
+
+// By default IMAP capabilities are readed after connection to IMAP server
+// In some cases, e.g. when using IMAP proxy, there's a need to refresh the list
+// after login. Set to True if you've got this case.
+$rcmail_config['imap_force_caps'] = false;
+
+// By default list of subscribed folders is determined using LIST-EXTENDED
+// extension if available. Some servers (dovecot 1.x) returns wrong results
+// for shared namespaces in this case. http://trac.roundcube.net/ticket/1486225
+// Enable this option to force LSUB command usage instead.
+$rcmail_config['imap_force_lsub'] = false;
+
+// Some server configurations (e.g. Courier) doesn't list folders in all namespaces
+// Enable this option to force listing of folders in all namespaces
+$rcmail_config['imap_force_ns'] = false;
+
+// IMAP connection timeout, in seconds. Default: 0 (no limit)
+$rcmail_config['imap_timeout'] = 0;
+
+// Optional IMAP authentication identifier to be used as authorization proxy
+$rcmail_config['imap_auth_cid'] = null;
+
+// Optional IMAP authentication password to be used for imap_auth_cid
+$rcmail_config['imap_auth_pw'] = null;
+
+// Type of IMAP indexes cache. Supported values: 'db', 'apc' and 'memcache'.
+$rcmail_config['imap_cache'] = null;
+
+// Enables messages cache. Only 'db' cache is supported.
+$rcmail_config['messages_cache'] = false;
+
+
+// ----------------------------------
+// SMTP
+// ----------------------------------
+
+// SMTP server host (for sending mails).
+// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
+// If left blank, the PHP mail() function is used
+// Supported replacement variables:
+// %h - user's IMAP hostname
+// %n - hostname ($_SERVER['SERVER_NAME'])
+// %t - hostname without the first part
+// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %t = domain.tld
+$rcmail_config['smtp_server'] = '';
+
+// SMTP port (default is 25; use 587 for STARTTLS or 465 for the
+// deprecated SSL over SMTP (aka SMTPS))
+$rcmail_config['smtp_port'] = 25;
+
+// SMTP username (if required) if you use %u as the username Roundcube
+// will use the current username for login
+$rcmail_config['smtp_user'] = '';
+
+// SMTP password (if required) if you use %p as the password Roundcube
+// will use the current user's password for login
+$rcmail_config['smtp_pass'] = '';
+
+// SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
+// best server supported one)
+$rcmail_config['smtp_auth_type'] = '';
+
+// Optional SMTP authentication identifier to be used as authorization proxy
+$rcmail_config['smtp_auth_cid'] = null;
+
+// Optional SMTP authentication password to be used for smtp_auth_cid
+$rcmail_config['smtp_auth_pw'] = null;
+
+// SMTP HELO host
+// Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages
+// Leave this blank and you will get the server variable 'server_name' or
+// localhost if that isn't defined.
+$rcmail_config['smtp_helo_host'] = '';
+
+// SMTP connection timeout, in seconds. Default: 0 (no limit)
+// Note: There's a known issue where using ssl connection with
+// timeout > 0 causes connection errors (https://bugs.php.net/bug.php?id=54511)
+$rcmail_config['smtp_timeout'] = 0;
+
+// ----------------------------------
+// SYSTEM
+// ----------------------------------
+
+// THIS OPTION WILL ALLOW THE INSTALLER TO RUN AND CAN EXPOSE SENSITIVE CONFIG DATA.
+// ONLY ENABLE IT IF YOU'RE REALLY SURE WHAT YOU'RE DOING!
+$rcmail_config['enable_installer'] = false;
+
+// don't allow these settings to be overriden by the user
+$rcmail_config['dont_override'] = array();
+
+// provide an URL where a user can get support for this Roundcube installation
+// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
+$rcmail_config['support_url'] = '';
+
+// replace Roundcube logo with this image
+// specify an URL relative to the document root of this Roundcube installation
+$rcmail_config['skin_logo'] = null;
+
+// automatically create a new Roundcube user when log-in the first time.
+// a new user will be created once the IMAP login succeeds.
+// set to false if only registered users can use this service
+$rcmail_config['auto_create_user'] = true;
+
+// Enables possibility to log in using email address from user identities
+$rcmail_config['user_aliases'] = false;
+
+// use this folder to store log files (must be writeable for apache user)
+// This is used by the 'file' log driver.
+$rcmail_config['log_dir'] = 'logs/';
+
+// use this folder to store temp files (must be writeable for apache user)
+$rcmail_config['temp_dir'] = 'temp/';
+
+// lifetime of message cache
+// possible units: s, m, h, d, w
+$rcmail_config['message_cache_lifetime'] = '10d';
+
+// enforce connections over https
+// with this option enabled, all non-secure connections will be redirected.
+// set the port for the ssl connection as value of this option if it differs from the default 443
+$rcmail_config['force_https'] = false;
+
+// tell PHP that it should work as under secure connection
+// even if it doesn't recognize it as secure ($_SERVER['HTTPS'] is not set)
+// e.g. when you're running Roundcube behind a https proxy
+// this option is mutually exclusive to 'force_https' and only either one of them should be set to true.
+$rcmail_config['use_https'] = false;
+
+// Allow browser-autocompletion on login form.
+// 0 - disabled, 1 - username and host only, 2 - username, host, password
+$rcmail_config['login_autocomplete'] = 0;
+
+// Forces conversion of logins to lower case.
+// 0 - disabled, 1 - only domain part, 2 - domain and local part.
+// If users authentication is case-insensitive this must be enabled.
+// Note: After enabling it all user records need to be updated, e.g. with query:
+// UPDATE users SET username = LOWER(username);
+$rcmail_config['login_lc'] = 2;
+
+// Includes should be interpreted as PHP files
+$rcmail_config['skin_include_php'] = false;
+
+// display software version on login screen
+$rcmail_config['display_version'] = false;
+
+// Session lifetime in minutes
+$rcmail_config['session_lifetime'] = 10;
+
+// Session domain: .example.org
+$rcmail_config['session_domain'] = '';
+
+// Session name. Default: 'roundcube_sessid'
+$rcmail_config['session_name'] = null;
+
+// Session authentication cookie name. Default: 'roundcube_sessauth'
+$rcmail_config['session_auth_name'] = null;
+
+// Session path. Defaults to PHP session.cookie_path setting.
+$rcmail_config['session_path'] = null;
+
+// Backend to use for session storage. Can either be 'db' (default) or 'memcache'
+// If set to memcache, a list of servers need to be specified in 'memcache_hosts'
+// Make sure the Memcache extension (http://pecl.php.net/package/memcache) version >= 2.0.0 is installed
+$rcmail_config['session_storage'] = 'db';
+
+// Use these hosts for accessing memcached
+// Define any number of hosts in the form of hostname:port or unix:///path/to/socket.file
+$rcmail_config['memcache_hosts'] = null; // e.g. array( 'localhost:11211', '192.168.1.12:11211', 'unix:///var/tmp/memcached.sock' );
+
+// check client IP in session athorization
+$rcmail_config['ip_check'] = false;
+
+// check referer of incoming requests
+$rcmail_config['referer_check'] = false;
+
+// X-Frame-Options HTTP header value sent to prevent from Clickjacking.
+// Possible values: sameorigin|deny. Set to false in order to disable sending them
+$rcmail_config['x_frame_options'] = 'sameorigin';
+
+// this key is used to encrypt the users imap password which is stored
+// in the session record (and the client cookie if remember password is enabled).
+// please provide a string of exactly 24 chars.
+$rcmail_config['des_key'] = 'rcmail-!24ByteDESkey*Str';
+
+// Automatically add this domain to user names for login
+// Only for IMAP servers that require full e-mail addresses for login
+// Specify an array with 'host' => 'domain' values to support multiple hosts
+// Supported replacement variables:
+// %h - user's IMAP hostname
+// %n - hostname ($_SERVER['SERVER_NAME'])
+// %t - hostname without the first part
+// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %t = domain.tld
+$rcmail_config['username_domain'] = '';
+
+// This domain will be used to form e-mail addresses of new users
+// Specify an array with 'host' => 'domain' values to support multiple hosts
+// Supported replacement variables:
+// %h - user's IMAP hostname
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %t = domain.tld
+$rcmail_config['mail_domain'] = '';
+
+// Password charset.
+// Use it if your authentication backend doesn't support UTF-8.
+// Defaults to ISO-8859-1 for backward compatibility
+$rcmail_config['password_charset'] = 'ISO-8859-1';
+
+// How many seconds must pass between emails sent by a user
+$rcmail_config['sendmail_delay'] = 0;
+
+// Maximum number of recipients per message. Default: 0 (no limit)
+$rcmail_config['max_recipients'] = 0;
+
+// Maximum allowednumber of members of an address group. Default: 0 (no limit)
+// If 'max_recipients' is set this value should be less or equal
+$rcmail_config['max_group_members'] = 0;
+
+// add this user-agent to message headers when sending
+$rcmail_config['useragent'] = 'Roundcube Webmail/'.RCMAIL_VERSION;
+
+// use this name to compose page titles
+$rcmail_config['product_name'] = 'Roundcube Webmail';
+
+// try to load host-specific configuration
+// see http://trac.roundcube.net/wiki/Howto_Config for more details
+$rcmail_config['include_host_config'] = false;
+
+// path to a text file which will be added to each sent message
+// paths are relative to the Roundcube root folder
+$rcmail_config['generic_message_footer'] = '';
+
+// path to a text file which will be added to each sent HTML message
+// paths are relative to the Roundcube root folder
+$rcmail_config['generic_message_footer_html'] = '';
+
+// add a received header to outgoing mails containing the creators IP and hostname
+$rcmail_config['http_received_header'] = false;
+
+// Whether or not to encrypt the IP address and the host name
+// these could, in some circles, be considered as sensitive information;
+// however, for the administrator, these could be invaluable help
+// when tracking down issues.
+$rcmail_config['http_received_header_encrypt'] = false;
+
+// This string is used as a delimiter for message headers when sending
+// a message via mail() function. Leave empty for auto-detection
+$rcmail_config['mail_header_delimiter'] = NULL;
+
+// number of chars allowed for line when wrapping text.
+// text wrapping is done when composing/sending messages
+$rcmail_config['line_length'] = 72;
+
+// send plaintext messages as format=flowed
+$rcmail_config['send_format_flowed'] = true;
+
+// According to RFC2298, return receipt envelope sender address must be empty.
+// If this option is true, Roundcube will use user's identity as envelope sender for MDN responses.
+$rcmail_config['mdn_use_from'] = false;
+
+// Set identities access level:
+// 0 - many identities with possibility to edit all params
+// 1 - many identities with possibility to edit all params but not email address
+// 2 - one identity with possibility to edit all params
+// 3 - one identity with possibility to edit all params but not email address
+// 4 - one identity with possibility to edit only signature
+$rcmail_config['identities_level'] = 0;
+
+// Mimetypes supported by the browser.
+// attachments of these types will open in a preview window
+// either a comma-separated list or an array: 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,application/pdf'
+$rcmail_config['client_mimetypes'] = null; # null == default
+
+// Path to a local mime magic database file for PHPs finfo extension.
+// Set to null if the default path should be used.
+$rcmail_config['mime_magic'] = null;
+
+// Absolute path to a local mime.types mapping table file.
+// This is used to derive mime-types from the filename extension or vice versa.
+// Such a file is usually part of the apache webserver. If you don't find a file named mime.types on your system,
+// download it from http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
+$rcmail_config['mime_types'] = null;
+
+// path to imagemagick identify binary
+$rcmail_config['im_identify_path'] = null;
+
+// path to imagemagick convert binary
+$rcmail_config['im_convert_path'] = null;
+
+// Size of thumbnails from image attachments displayed below the message content.
+// Note: whether images are displayed at all depends on the 'inline_images' option.
+// Set to 0 to display images in full size.
+$rcmail_config['image_thumbnail_size'] = 240;
+
+// maximum size of uploaded contact photos in pixel
+$rcmail_config['contact_photo_size'] = 160;
+
+// Enable DNS checking for e-mail address validation
+$rcmail_config['email_dns_check'] = false;
+
+// Disables saving sent messages in Sent folder (like gmail) (Default: false)
+// Note: useful when SMTP server stores sent mail in user mailbox
+$rcmail_config['no_save_sent_messages'] = false;
+
+// ----------------------------------
+// PLUGINS
+// ----------------------------------
+
+// List of active plugins (in plugins/ directory)
+$rcmail_config['plugins'] = array();
+
+// ----------------------------------
+// USER INTERFACE
+// ----------------------------------
+
+// default messages sort column. Use empty value for default server's sorting,
+// or 'arrival', 'date', 'subject', 'from', 'to', 'fromto', 'size', 'cc'
+$rcmail_config['message_sort_col'] = '';
+
+// default messages sort order
+$rcmail_config['message_sort_order'] = 'DESC';
+
+// These cols are shown in the message list. Available cols are:
+// subject, from, to, fromto, cc, replyto, date, size, status, flag, attachment, 'priority'
+$rcmail_config['list_cols'] = array('subject', 'status', 'fromto', 'date', 'size', 'flag', 'attachment');
+
+// the default locale setting (leave empty for auto-detection)
+// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR
+$rcmail_config['language'] = null;
+
+// use this format for date display (date or strftime format)
+$rcmail_config['date_format'] = 'Y-m-d';
+
+// give this choice of date formats to the user to select from
+// Note: do not use ambiguous formats like m/d/Y
+$rcmail_config['date_formats'] = array('Y-m-d', 'Y/m/d', 'Y.m.d', 'd-m-Y', 'd/m/Y', 'd.m.Y', 'j.n.Y');
+
+// use this format for time display (date or strftime format)
+$rcmail_config['time_format'] = 'H:i';
+
+// give this choice of time formats to the user to select from
+$rcmail_config['time_formats'] = array('G:i', 'H:i', 'g:i a', 'h:i A');
+
+// use this format for short date display (derived from date_format and time_format)
+$rcmail_config['date_short'] = 'D H:i';
+
+// use this format for detailed date/time formatting (derived from date_format and time_format)
+$rcmail_config['date_long'] = 'Y-m-d H:i';
+
+// store draft message is this mailbox
+// leave blank if draft messages should not be stored
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['drafts_mbox'] = 'Drafts';
+
+// store spam messages in this mailbox
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['junk_mbox'] = 'Junk';
+
+// store sent message is this mailbox
+// leave blank if sent messages should not be stored
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['sent_mbox'] = 'Sent';
+
+// move messages to this folder when deleting them
+// leave blank if they should be deleted directly
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['trash_mbox'] = 'Trash';
+
+// display these folders separately in the mailbox list.
+// these folders will also be displayed with localized names
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['default_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
+
+// automatically create the above listed default folders on first login
+$rcmail_config['create_default_folders'] = false;
+
+// protect the default folders from renames, deletes, and subscription changes
+$rcmail_config['protect_default_folders'] = true;
+
+// if in your system 0 quota means no limit set this option to true
+$rcmail_config['quota_zero_as_unlimited'] = false;
+
+// Make use of the built-in spell checker. It is based on GoogieSpell.
+// Since Google only accepts connections over https your PHP installatation
+// requires to be compiled with Open SSL support
+$rcmail_config['enable_spellcheck'] = true;
+
+// Enables spellchecker exceptions dictionary.
+// Setting it to 'shared' will make the dictionary shared by all users.
+$rcmail_config['spellcheck_dictionary'] = false;
+
+// Set the spell checking engine. 'googie' is the default. 'pspell' is also available,
+// but requires the Pspell extensions. When using Nox Spell Server, also set 'googie' here.
+$rcmail_config['spellcheck_engine'] = 'pspell';
+
+// For a locally installed Nox Spell Server, please specify the URI to call it.
+// Get Nox Spell Server from http://orangoo.com/labs/?page_id=72
+// Leave empty to use the Google spell checking service, what means
+// that the message content will be sent to Google in order to check spelling
+$rcmail_config['spellcheck_uri'] = '';
+
+// These languages can be selected for spell checking.
+// Configure as a PHP style hash array: array('en'=>'English', 'de'=>'Deutsch');
+// Leave empty for default set of available language.
+$rcmail_config['spellcheck_languages'] = NULL;
+
+// Makes that words with all letters capitalized will be ignored (e.g. GOOGLE)
+$rcmail_config['spellcheck_ignore_caps'] = false;
+
+// Makes that words with numbers will be ignored (e.g. g00gle)
+$rcmail_config['spellcheck_ignore_nums'] = false;
+
+// Makes that words with symbols will be ignored (e.g. g@@gle)
+$rcmail_config['spellcheck_ignore_syms'] = false;
+
+// Use this char/string to separate recipients when composing a new message
+$rcmail_config['recipients_separator'] = ',';
+
+// don't let users set pagesize to more than this value if set
+$rcmail_config['max_pagesize'] = 200;
+
+// Minimal value of user's 'refresh_interval' setting (in seconds)
+$rcmail_config['min_refresh_interval'] = 60;
+
+// Enables files upload indicator. Requires APC installed and enabled apc.rfc1867 option.
+// By default refresh time is set to 1 second. You can set this value to true
+// or any integer value indicating number of seconds.
+$rcmail_config['upload_progress'] = false;
+
+// Specifies for how many seconds the Undo button will be available
+// after object delete action. Currently used with supporting address book sources.
+// Setting it to 0, disables the feature.
+$rcmail_config['undo_timeout'] = 0;
+
+// ----------------------------------
+// ADDRESSBOOK SETTINGS
+// ----------------------------------
+
+// This indicates which type of address book to use. Possible choises:
+// 'sql' (default), 'ldap' and ''.
+// If set to 'ldap' then it will look at using the first writable LDAP
+// address book as the primary address book and it will not display the
+// SQL address book in the 'Address Book' view.
+// If set to '' then no address book will be displayed or only the
+// addressbook which is created by a plugin (like CardDAV).
+$rcmail_config['address_book_type'] = 'sql';
+
+// In order to enable public ldap search, configure an array like the Verisign
+// example further below. if you would like to test, simply uncomment the example.
+// Array key must contain only safe characters, ie. a-zA-Z0-9_
+$rcmail_config['ldap_public'] = array();
+
+// If you are going to use LDAP for individual address books, you will need to
+// set 'user_specific' to true and use the variables to generate the appropriate DNs to access it.
+//
+// The recommended directory structure for LDAP is to store all the address book entries
+// under the users main entry, e.g.:
+//
+// o=root
+// ou=people
+// uid=user@domain
+// mail=contact@contactdomain
+//
+// So the base_dn would be uid=%fu,ou=people,o=root
+// The bind_dn would be the same as based_dn or some super user login.
+/*
+ * example config for Verisign directory
+ *
+$rcmail_config['ldap_public']['Verisign'] = array(
+ 'name' => 'Verisign.com',
+ // Replacement variables supported in host names:
+ // %h - user's IMAP hostname
+ // %n - hostname ($_SERVER['SERVER_NAME'])
+ // %t - hostname without the first part
+ // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
+ // %z - IMAP domain (IMAP hostname without the first part)
+ // For example %n = mail.domain.tld, %t = domain.tld
+ 'hosts' => array('directory.verisign.com'),
+ 'port' => 389,
+ 'use_tls' => false,
+ 'ldap_version' => 3, // using LDAPv3
+ 'network_timeout' => 10, // The timeout (in seconds) for connect + bind arrempts. This is only supported in PHP >= 5.3.0 with OpenLDAP 2.x
+ 'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login.
+ // %fu - The full username provided, assumes the username is an email
+ // address, uses the username_domain value if not an email address.
+ // %u - The username prior to the '@'.
+ // %d - The domain name after the '@'.
+ // %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com"
+ // %dn - DN found by ldap search when search_filter/search_base_dn are used
+ 'base_dn' => '',
+ 'bind_dn' => '',
+ 'bind_pass' => '',
+ // It's possible to bind for an individual address book
+ // The login name is used to search for the DN to bind with
+ 'search_base_dn' => '',
+ 'search_filter' => '', // e.g. '(&(objectClass=posixAccount)(uid=%u))'
+ // DN and password to bind as before searching for bind DN, if anonymous search is not allowed
+ 'search_bind_dn' => '',
+ 'search_bind_pw' => '',
+ // Default for %dn variable if search doesn't return DN value
+ 'search_dn_default' => '',
+ // Optional authentication identifier to be used as SASL authorization proxy
+ // bind_dn need to be empty
+ 'auth_cid' => '',
+ // SASL authentication method (for proxy auth), e.g. DIGEST-MD5
+ 'auth_method' => '',
+ // Indicates if the addressbook shall be hidden from the list.
+ // With this option enabled you can still search/view contacts.
+ 'hidden' => false,
+ // Indicates if the addressbook shall not list contacts but only allows searching.
+ 'searchonly' => false,
+ // Indicates if we can write to the LDAP directory or not.
+ // If writable is true then these fields need to be populated:
+ // LDAP_Object_Classes, required_fields, LDAP_rdn
+ 'writable' => false,
+ // To create a new contact these are the object classes to specify
+ // (or any other classes you wish to use).
+ 'LDAP_Object_Classes' => array('top', 'inetOrgPerson'),
+ // The RDN field that is used for new entries, this field needs
+ // to be one of the search_fields, the base of base_dn is appended
+ // to the RDN to insert into the LDAP directory.
+ 'LDAP_rdn' => 'cn',
+ // The required fields needed to build a new contact as required by
+ // the object classes (can include additional fields not required by the object classes).
+ 'required_fields' => array('cn', 'sn', 'mail'),
+ 'search_fields' => array('mail', 'cn'), // fields to search in
+ // mapping of contact fields to directory attributes
+ // for every attribute one can specify the number of values (limit) allowed.
+ // default is 1, a wildcard * means unlimited
+ 'fieldmap' => array(
+ // Roundcube => LDAP:limit
+ 'name' => 'cn',
+ 'surname' => 'sn',
+ 'firstname' => 'givenName',
+ 'jobtitle' => 'title',
+ 'email' => 'mail:*',
+ 'phone:home' => 'homePhone',
+ 'phone:work' => 'telephoneNumber',
+ 'phone:mobile' => 'mobile',
+ 'phone:pager' => 'pager',
+ 'street' => 'street',
+ 'zipcode' => 'postalCode',
+ 'region' => 'st',
+ 'locality' => 'l',
+ // if you country is a complex object, you need to configure 'sub_fields' below
+ 'country' => 'c',
+ 'organization' => 'o',
+ 'department' => 'ou',
+ 'jobtitle' => 'title',
+ 'notes' => 'description',
+ // these currently don't work:
+ // 'phone:workfax' => 'facsimileTelephoneNumber',
+ // 'photo' => 'jpegPhoto',
+ // 'manager' => 'manager',
+ // 'assistant' => 'secretary',
+ ),
+ // Map of contact sub-objects (attribute name => objectClass(es)), e.g. 'c' => 'country'
+ 'sub_fields' => array(),
+ // Generate values for the following LDAP attributes automatically when creating a new record
+ 'autovalues' => array(
+ // 'uid' => 'md5(microtime())', // You may specify PHP code snippets which are then eval'ed
+ // 'mail' => '{givenname}.{sn}@mydomain.com', // or composite strings with placeholders for existing attributes
+ ),
+ 'sort' => 'cn', // The field to sort the listing by.
+ 'scope' => 'sub', // search mode: sub|base|list
+ 'filter' => '(objectClass=inetOrgPerson)', // used for basic listing (if not empty) and will be &'d with search queries. example: status=act
+ 'fuzzy_search' => true, // server allows wildcard search
+ 'vlv' => false, // Enable Virtual List View to more efficiently fetch paginated data (if server supports it)
+ 'numsub_filter' => '(objectClass=organizationalUnit)', // with VLV, we also use numSubOrdinates to query the total number of records. Set this filter to get all numSubOrdinates attributes for counting
+ 'sizelimit' => '0', // Enables you to limit the count of entries fetched. Setting this to 0 means no limit.
+ 'timelimit' => '0', // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.
+ 'referrals' => true|false, // Sets the LDAP_OPT_REFERRALS option. Mostly used in multi-domain Active Directory setups
+
+ // definition for contact groups (uncomment if no groups are supported)
+ // for the groups base_dn, the user replacements %fu, %u, $d and %dc work as for base_dn (see above)
+ // if the groups base_dn is empty, the contact base_dn is used for the groups as well
+ // -> in this case, assure that groups and contacts are separated due to the concernig filters!
+ 'groups' => array(
+ 'base_dn' => '',
+ 'scope' => 'sub', // search mode: sub|base|list
+ 'filter' => '(objectClass=groupOfNames)',
+ 'object_classes' => array("top", "groupOfNames"),
+ 'member_attr' => 'member', // name of the member attribute, e.g. uniqueMember
+ 'name_attr' => 'cn', // attribute to be used as group name
+ ),
+);
+*/
+
+// An ordered array of the ids of the addressbooks that should be searched
+// when populating address autocomplete fields server-side. ex: array('sql','Verisign');
+$rcmail_config['autocomplete_addressbooks'] = array('sql');
+
+// The minimum number of characters required to be typed in an autocomplete field
+// before address books will be searched. Most useful for LDAP directories that
+// may need to do lengthy results building given overly-broad searches
+$rcmail_config['autocomplete_min_length'] = 1;
+
+// Number of parallel autocomplete requests.
+// If there's more than one address book, n parallel (async) requests will be created,
+// where each request will search in one address book. By default (0), all address
+// books are searched in one request.
+$rcmail_config['autocomplete_threads'] = 0;
+
+// Max. numer of entries in autocomplete popup. Default: 15.
+$rcmail_config['autocomplete_max'] = 15;
+
+// show address fields in this order
+// available placeholders: {street}, {locality}, {zipcode}, {country}, {region}
+$rcmail_config['address_template'] = '{street}<br/>{locality} {zipcode}<br/>{country} {region}';
+
+// Matching mode for addressbook search (including autocompletion)
+// 0 - partial (*abc*), default
+// 1 - strict (abc)
+// 2 - prefix (abc*)
+// Note: For LDAP sources fuzzy_search must be enabled to use 'partial' or 'prefix' mode
+$rcmail_config['addressbook_search_mode'] = 0;
+
+// ----------------------------------
+// USER PREFERENCES
+// ----------------------------------
+
+// Use this charset as fallback for message decoding
+$rcmail_config['default_charset'] = 'UTF-8';
+
+// skin name: folder from skins/
+$rcmail_config['skin'] = 'larry';
+
+// show up to X items in messages list view
+$rcmail_config['mail_pagesize'] = 50;
+
+// show up to X items in contacts list view
+$rcmail_config['addressbook_pagesize'] = 50;
+
+// sort contacts by this col (preferably either one of name, firstname, surname)
+$rcmail_config['addressbook_sort_col'] = 'surname';
+
+// the way how contact names are displayed in the list
+// 0: display name
+// 1: (prefix) firstname middlename surname (suffix)
+// 2: (prefix) surname firstname middlename (suffix)
+// 3: (prefix) surname, firstname middlename (suffix)
+$rcmail_config['addressbook_name_listing'] = 0;
+
+// use this timezone to display date/time
+// valid timezone identifers are listed here: php.net/manual/en/timezones.php
+// 'auto' will use the browser's timezone settings
+$rcmail_config['timezone'] = 'auto';
+
+// prefer displaying HTML messages
+$rcmail_config['prefer_html'] = true;
+
+// display remote inline images
+// 0 - Never, always ask
+// 1 - Ask if sender is not in address book
+// 2 - Always show inline images
+$rcmail_config['show_images'] = 0;
+
+// open messages in new window
+$rcmail_config['message_extwin'] = false;
+
+// open message compose form in new window
+$rcmail_config['compose_extwin'] = false;
+
+// compose html formatted messages by default
+// 0 - never, 1 - always, 2 - on reply to HTML message, 3 - on forward or reply to HTML message
+$rcmail_config['htmleditor'] = 0;
+
+// show pretty dates as standard
+$rcmail_config['prettydate'] = true;
+
+// save compose message every 300 seconds (5min)
+$rcmail_config['draft_autosave'] = 300;
+
+// default setting if preview pane is enabled
+$rcmail_config['preview_pane'] = false;
+
+// Mark as read when viewed in preview pane (delay in seconds)
+// Set to -1 if messages in preview pane should not be marked as read
+$rcmail_config['preview_pane_mark_read'] = 0;
+
+// Clear Trash on logout
+$rcmail_config['logout_purge'] = false;
+
+// Compact INBOX on logout
+$rcmail_config['logout_expunge'] = false;
+
+// Display attached images below the message body
+$rcmail_config['inline_images'] = true;
+
+// Encoding of long/non-ascii attachment names:
+// 0 - Full RFC 2231 compatible
+// 1 - RFC 2047 for 'name' and RFC 2231 for 'filename' parameter (Thunderbird's default)
+// 2 - Full 2047 compatible
+$rcmail_config['mime_param_folding'] = 1;
+
+// Set true if deleted messages should not be displayed
+// This will make the application run slower
+$rcmail_config['skip_deleted'] = false;
+
+// Set true to Mark deleted messages as read as well as deleted
+// False means that a message's read status is not affected by marking it as deleted
+$rcmail_config['read_when_deleted'] = true;
+
+// Set to true to never delete messages immediately
+// Use 'Purge' to remove messages marked as deleted
+$rcmail_config['flag_for_deletion'] = false;
+
+// Default interval for auto-refresh requests (in seconds)
+// These are requests for system state updates e.g. checking for new messages, etc.
+// Setting it to 0 disables the feature.
+$rcmail_config['refresh_interval'] = 60;
+
+// If true all folders will be checked for recent messages
+$rcmail_config['check_all_folders'] = false;
+
+// If true, after message delete/move, the next message will be displayed
+$rcmail_config['display_next'] = true;
+
+// 0 - Do not expand threads
+// 1 - Expand all threads automatically
+// 2 - Expand only threads with unread messages
+$rcmail_config['autoexpand_threads'] = 0;
+
+// When replying:
+// -1 - don't cite the original message
+// 0 - place cursor below the original message
+// 1 - place cursor above original message (top posting)
+$rcmail_config['reply_mode'] = 0;
+
+// When replying strip original signature from message
+$rcmail_config['strip_existing_sig'] = true;
+
+// Show signature:
+// 0 - Never
+// 1 - Always
+// 2 - New messages only
+// 3 - Forwards and Replies only
+$rcmail_config['show_sig'] = 1;
+
+// Use MIME encoding (quoted-printable) for 8bit characters in message body
+$rcmail_config['force_7bit'] = false;
+
+// Defaults of the search field configuration.
+// The array can contain a per-folder list of header fields which should be considered when searching
+// The entry with key '*' stands for all folders which do not have a specific list set.
+// Please note that folder names should to be in sync with $rcmail_config['default_folders']
+$rcmail_config['search_mods'] = null; // Example: array('*' => array('subject'=>1, 'from'=>1), 'Sent' => array('subject'=>1, 'to'=>1));
+
+// Defaults of the addressbook search field configuration.
+$rcmail_config['addressbook_search_mods'] = null; // Example: array('name'=>1, 'firstname'=>1, 'surname'=>1, 'email'=>1, '*'=>1);
+
+// 'Delete always'
+// This setting reflects if mail should be always deleted
+// when moving to Trash fails. This is necessary in some setups
+// when user is over quota and Trash is included in the quota.
+$rcmail_config['delete_always'] = false;
+
+// Directly delete messages in Junk instead of moving to Trash
+$rcmail_config['delete_junk'] = false;
+
+// Behavior if a received message requests a message delivery notification (read receipt)
+// 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask)
+// 3 = send automatically if sender is in addressbook, otherwise ask the user
+// 4 = send automatically if sender is in addressbook, otherwise ignore
+$rcmail_config['mdn_requests'] = 0;
+
+// Return receipt checkbox default state
+$rcmail_config['mdn_default'] = 0;
+
+// Delivery Status Notification checkbox default state
+// Note: This can be used only if smtp_server is non-empty
+$rcmail_config['dsn_default'] = 0;
+
+// Place replies in the folder of the message being replied to
+$rcmail_config['reply_same_folder'] = false;
+
+// Sets default mode of Forward feature to "forward as attachment"
+$rcmail_config['forward_attachment'] = false;
+
+// Defines address book (internal index) to which new contacts will be added
+// By default it is the first writeable addressbook.
+// Note: Use '0' for built-in address book.
+$rcmail_config['default_addressbook'] = null;
+
+// Enables spell checking before sending a message.
+$rcmail_config['spellcheck_before_send'] = false;
+
+// Skip alternative email addresses in autocompletion (show one address per contact)
+$rcmail_config['autocomplete_single'] = false;
+
+// Default font for composed HTML message.
+// Supported values: Andale Mono, Arial, Arial Black, Book Antiqua, Courier New,
+// Georgia, Helvetica, Impact, Tahoma, Terminal, Times New Roman, Trebuchet MS, Verdana
+$rcmail_config['default_font'] = 'Verdana';
+
+// end of config file
diff --git a/plugins/acl/acl.php b/plugins/acl/acl.php
index a840bcd..466185d 100644
--- a/plugins/acl/acl.php
+++ b/plugins/acl/acl.php
@@ -9,18 +9,18 @@
*
* Copyright (C) 2011-2012, Kolab Systems AG
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see http://www.gnu.org/licenses/.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
class acl extends rcube_plugin
@@ -55,7 +55,7 @@ class acl extends rcube_plugin
*/
function acl_actions()
{
- $action = trim(rcube_utils::get_input_value('_act', rcube_utils::INPUT_GPC));
+ $action = trim(get_input_value('_act', RCUBE_INPUT_GPC));
// Connect to IMAP
$this->rc->storage_init();
@@ -85,8 +85,8 @@ class acl extends rcube_plugin
{
$this->load_config();
- $search = rcube_utils::get_input_value('_search', rcube_utils::INPUT_GPC, true);
- $sid = rcube_utils::get_input_value('_id', rcube_utils::INPUT_GPC);
+ $search = get_input_value('_search', RCUBE_INPUT_GPC, true);
+ $sid = get_input_value('_id', RCUBE_INPUT_GPC);
$users = array();
if ($this->init_ldap()) {
@@ -148,7 +148,6 @@ class acl extends rcube_plugin
// Load localization and include scripts
$this->load_config();
- $this->specials = $this->rc->config->get('acl_specials', $this->specials);
$this->add_texts('localization/', array('deleteconfirm', 'norights',
'nouser', 'deleting', 'saving'));
$this->include_script('acl.js');
@@ -158,12 +157,12 @@ class acl extends rcube_plugin
// add Info fieldset if it doesn't exist
if (!isset($args['form']['props']['fieldsets']['info']))
$args['form']['props']['fieldsets']['info'] = array(
- 'name' => $this->rc->gettext('info'),
+ 'name' => rcube_label('info'),
'content' => array());
// Display folder rights to 'Info' fieldset
$args['form']['props']['fieldsets']['info']['content']['myrights'] = array(
- 'label' => rcube::Q($this->gettext('myrights')),
+ 'label' => Q($this->gettext('myrights')),
'value' => $this->acl2text($myrights)
);
@@ -187,7 +186,7 @@ class acl extends rcube_plugin
$this->rc->output->add_label('autocompletechars', 'autocompletemore');
$args['form']['sharing'] = array(
- 'name' => rcube::Q($this->gettext('sharing')),
+ 'name' => Q($this->gettext('sharing')),
'content' => $this->rc->output->parse('acl.table', false, false),
);
@@ -385,6 +384,7 @@ class acl extends rcube_plugin
$table->add_header(array('class' => 'acl'.$key, 'title' => $label), $label);
}
+ $i = 1;
$js_table = array();
foreach ($acl as $user => $rights) {
if ($this->rc->storage->conn->user == $user) {
@@ -393,14 +393,14 @@ class acl extends rcube_plugin
// filter out virtual rights (c or d) the server may return
$userrights = array_intersect($rights, $supported);
- $userid = rcube_utils::html_identifier($user);
+ $userid = html_identifier($user);
if (!empty($this->specials) && in_array($user, $this->specials)) {
$user = $this->gettext($user);
}
$table->add_row(array('id' => 'rcmrow'.$userid));
- $table->add('user', rcube::Q($user));
+ $table->add('user', Q($user));
foreach ($items as $key => $right) {
$in = $this->acl_compare($userrights, $right);
@@ -428,10 +428,10 @@ class acl extends rcube_plugin
*/
private function action_save()
{
- $mbox = trim(rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_GPC, true)); // UTF7-IMAP
- $user = trim(rcube_utils::get_input_value('_user', rcube_utils::INPUT_GPC));
- $acl = trim(rcube_utils::get_input_value('_acl', rcube_utils::INPUT_GPC));
- $oldid = trim(rcube_utils::get_input_value('_old', rcube_utils::INPUT_GPC));
+ $mbox = trim(get_input_value('_mbox', RCUBE_INPUT_GPC, true)); // UTF7-IMAP
+ $user = trim(get_input_value('_user', RCUBE_INPUT_GPC));
+ $acl = trim(get_input_value('_acl', RCUBE_INPUT_GPC));
+ $oldid = trim(get_input_value('_old', RCUBE_INPUT_GPC));
$acl = array_intersect(str_split($acl), $this->rights_supported());
$users = $oldid ? array($user) : explode(',', $user);
@@ -445,7 +445,7 @@ class acl extends rcube_plugin
}
else if (!empty($user)) {
if (!strpos($user, '@') && ($realm = $this->get_realm())) {
- $user .= '@' . rcube_utils::idn_to_ascii(preg_replace('/^@/', '', $realm));
+ $user .= '@' . rcube_idn_to_ascii(preg_replace('/^@/', '', $realm));
}
$username = $user;
}
@@ -459,7 +459,7 @@ class acl extends rcube_plugin
if ($user != $_SESSION['username'] && $username != $_SESSION['username']) {
if ($this->rc->storage->set_acl($mbox, $user, $acl)) {
- $ret = array('id' => rcube_utils::html_identifier($user),
+ $ret = array('id' => html_identifier($user),
'username' => $username, 'acl' => implode($acl), 'old' => $oldid);
$this->rc->output->command('acl_update', $ret);
$result++;
@@ -480,15 +480,15 @@ class acl extends rcube_plugin
*/
private function action_delete()
{
- $mbox = trim(rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_GPC, true)); //UTF7-IMAP
- $user = trim(rcube_utils::get_input_value('_user', rcube_utils::INPUT_GPC));
+ $mbox = trim(get_input_value('_mbox', RCUBE_INPUT_GPC, true)); //UTF7-IMAP
+ $user = trim(get_input_value('_user', RCUBE_INPUT_GPC));
$user = explode(',', $user);
foreach ($user as $u) {
$u = trim($u);
if ($this->rc->storage->delete_acl($mbox, $u)) {
- $this->rc->output->command('acl_remove_row', rcube_utils::html_identifier($u));
+ $this->rc->output->command('acl_remove_row', html_identifier($u));
}
else {
$error = true;
@@ -512,8 +512,8 @@ class acl extends rcube_plugin
return;
}
- $this->mbox = trim(rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_GPC, true)); // UTF7-IMAP
- $advanced = trim(rcube_utils::get_input_value('_mode', rcube_utils::INPUT_GPC));
+ $this->mbox = trim(get_input_value('_mbox', RCUBE_INPUT_GPC, true)); // UTF7-IMAP
+ $advanced = trim(get_input_value('_mode', RCUBE_INPUT_GPC));
$advanced = $advanced == 'advanced' ? true : false;
// Save state in user preferences
@@ -548,12 +548,12 @@ class acl extends rcube_plugin
foreach ($supported as $right) {
if (in_array($right, $rights)) {
- $list[] = html::tag('li', null, rcube::Q($this->gettext('acl' . $right)));
+ $list[] = html::tag('li', null, Q($this->gettext('acl' . $right)));
}
}
if (count($list) == count($supported))
- return rcube::Q($this->gettext('aclfull'));
+ return Q($this->gettext('aclfull'));
return html::tag('ul', $attrib, implode("\n", $list));
}
diff --git a/plugins/acl/config.inc.php.dist b/plugins/acl/config.inc.php.dist
index 3f0b1ef..f957a23 100644
--- a/plugins/acl/config.inc.php.dist
+++ b/plugins/acl/config.inc.php.dist
@@ -3,23 +3,17 @@
// Default look of access rights table
// In advanced mode all access rights are displayed separately
// In simple mode access rights are grouped into four groups: read, write, delete, full
-$config['acl_advanced_mode'] = false;
+$rcmail_config['acl_advanced_mode'] = false;
// LDAP addressbook that would be searched for user names autocomplete.
-// That should be an array refering to the $config['ldap_public'] array key
+// That should be an array refering to the $rcmail_config['ldap_public'] array key
// or complete addressbook configuration array.
-$config['acl_users_source'] = '';
+$rcmail_config['acl_users_source'] = '';
// The LDAP attribute which will be used as ACL user identifier
-$config['acl_users_field'] = 'mail';
+$rcmail_config['acl_users_field'] = 'mail';
// The LDAP search filter will be &'d with search queries
-$config['acl_users_filter'] = '';
-
-// Include the following 'special' access control subjects in the ACL dialog;
-// Defaults to array('anyone', 'anonymous') (not when set to an empty array)
-// Example: array('anyone') to exclude 'anonymous'.
-// Set to an empty array to exclude all special aci subjects.
-$config['acl_specials'] = array('anyone', 'anonymous');
+$rcmail_config['acl_users_filter'] = '';
?>
diff --git a/plugins/acl/localization/az_AZ.inc b/plugins/acl/localization/az_AZ.inc
index 5d875a2..d5543dd 100644
--- a/plugins/acl/localization/az_AZ.inc
+++ b/plugins/acl/localization/az_AZ.inc
@@ -89,7 +89,7 @@ $messages['saving'] = 'Giriş hüququnun saxlanılması...';
$messages['updatesuccess'] = 'Giriş hüququ dəyişdirildi';
$messages['deletesuccess'] = 'Giriş hüququ silindi';
$messages['createsuccess'] = 'Giriş hüququ əlavə edildi';
-$messages['updateerror'] = 'Hüquqları yeniləmək alınmadı';
+$messages['updateerror'] = 'Giriş hüququnu yeniləmək mümkün deyil';
$messages['deleteerror'] = 'Giriş hüququnu silmək mümkün deyil';
$messages['createerror'] = 'Giriş hüququnu əlavə etmək mümkün deyil';
$messages['deleteconfirm'] = 'Seçilmiş istifadəçilərin giriş hüququnu silməkdə əminsiniz?';
diff --git a/plugins/acl/localization/be_BE.inc b/plugins/acl/localization/be_BE.inc
new file mode 100644
index 0000000..bce5915
--- /dev/null
+++ b/plugins/acl/localization/be_BE.inc
@@ -0,0 +1,90 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'Сумесны доступ';
+$labels['myrights'] = 'Правы доступа';
+$labels['username'] = 'Карыстальнік:';
+$labels['advanced'] = 'экспертны рэжым';
+$labels['newuser'] = 'Дадаць запіс';
+$labels['actions'] = 'Дзеянні з правамі доступа...';
+$labels['anyone'] = 'Усе карыстальнікі (любыя)';
+$labels['anonymous'] = 'Госці (ананімныя)';
+$labels['identifier'] = 'Ідэнтыфікатар';
+$labels['acll'] = 'Пошук';
+$labels['aclr'] = 'Прачытаць паведамленні';
+$labels['acls'] = 'Пакінуць стан Бачанае';
+$labels['aclw'] = 'Флагі запісвання';
+$labels['acli'] = 'Уставіць (капіраваць у)';
+$labels['aclp'] = 'Адправіць';
+$labels['aclc'] = 'Стварыць укладзеныя папкі';
+$labels['aclk'] = 'Стварыць укладзеныя папкі';
+$labels['acld'] = 'Выдаліць паведамленні';
+$labels['aclt'] = 'Выдаліць паведамленні';
+$labels['acle'] = 'Знішчыць паведамленні';
+$labels['aclx'] = 'Выдаліць папку';
+$labels['acla'] = 'Адміністраваць';
+$labels['aclfull'] = 'Поўны доступ';
+$labels['aclother'] = 'Іншае';
+$labels['aclread'] = 'Чытанне';
+$labels['aclwrite'] = 'Запіс';
+$labels['acldelete'] = 'Выдаленне';
+$labels['shortacll'] = 'Пошук';
+$labels['shortaclr'] = 'Чытанне';
+$labels['shortacls'] = 'Пакінуць';
+$labels['shortaclw'] = 'Запісванне';
+$labels['shortacli'] = 'Даданне';
+$labels['shortaclp'] = 'Адпраўленне';
+$labels['shortaclc'] = 'Стварэнне';
+$labels['shortaclk'] = 'Стварэнне';
+$labels['shortacld'] = 'Выдаленне';
+$labels['shortaclt'] = 'Выдаленне';
+$labels['shortacle'] = 'Знішчэнне';
+$labels['shortaclx'] = 'Выдаленне папкі';
+$labels['shortacla'] = 'Адміністраванне';
+$labels['shortaclother'] = 'Іншае';
+$labels['shortaclread'] = 'Чытанне';
+$labels['shortaclwrite'] = 'Запіс';
+$labels['shortacldelete'] = 'Выдаленне';
+$labels['longacll'] = 'Папку можна пабачыць у спісах і падпісацца на яе';
+$labels['longaclr'] = 'Папку можна адчыніць для чытання';
+$labels['longacls'] = 'На паведамленнях можна пераключаць флаг Бачанае';
+$labels['longaclw'] = 'На паведамленнях можна мяняць ключавыя словы і пераключаць флагі, апроч Бачанае і Выдаленае';
+$labels['longacli'] = 'Паведамленні могуць быць запісаныя альбо скапіяваныя ў папку';
+$labels['longaclp'] = 'Паведамленні могуць быць адпраўленыя ў гэтую папку';
+$labels['longaclc'] = 'Папкі могуць быць створаны (альбо перайменаваны) наўпрост пад гэтай папкай';
+$labels['longaclk'] = 'Папкі могуць быць створаны (альбо перайменаваны) наўпрост пад гэтай папкай';
+$labels['longacld'] = 'На паведамленнях можна пераключаць флаг Выдаленае';
+$labels['longaclt'] = 'На паведамленнях можна пераключаць флаг Выдаленае';
+$labels['longacle'] = 'Паведамленні могуць быць знішчаны';
+$labels['longaclx'] = 'Папку можна выдаліць альбо перайменаваць';
+$labels['longacla'] = 'Правы доступу на папку можна змяняць';
+$labels['longaclfull'] = 'Поўны доступ, уключна з адмінстраваннем папкі';
+$labels['longaclread'] = 'Папку можна адчыніць для чытання';
+$labels['longaclwrite'] = 'Паведамленні могуць быць пазначаныя, запісаныя альбо скапіяваныя ў папку';
+$labels['longacldelete'] = 'Паведамленні можна выдаляць';
+$messages['deleting'] = 'Правы доступу выдаляюцца...';
+$messages['saving'] = 'Правы доступу захоўваюцца...';
+$messages['updatesuccess'] = 'Правы доступу зменены';
+$messages['deletesuccess'] = 'Правы доступу выдалены';
+$messages['createsuccess'] = 'Правы доступу дададзены';
+$messages['updateerror'] = 'Не ўдалося абнавіць правы доступу';
+$messages['deleteerror'] = 'Не ўдалося выдаліць правы доступу';
+$messages['createerror'] = 'Не ўдалося дадаць правы доступу';
+$messages['deleteconfirm'] = 'Напраўду выдаліць правы доступу для вылучанага карыстальніка(ў)?';
+$messages['norights'] = 'Жадных правоў не зададзена!';
+$messages['nouser'] = 'Жадных імёнаў карыстальнікаў не зададзена!';
+?>
diff --git a/plugins/acl/localization/bg_BG.inc b/plugins/acl/localization/bg_BG.inc
new file mode 100644
index 0000000..2e3c57d
--- /dev/null
+++ b/plugins/acl/localization/bg_BG.inc
@@ -0,0 +1,90 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'Споделяне';
+$labels['myrights'] = 'Права за достъп';
+$labels['username'] = 'Потребител:';
+$labels['advanced'] = 'разширен режим';
+$labels['newuser'] = 'Добавяне на запис';
+$labels['actions'] = 'Действия на права за достъп...';
+$labels['anyone'] = 'Всички потребители (който и да е)';
+$labels['anonymous'] = 'Гости (анонимни)';
+$labels['identifier'] = 'Индентификатор';
+$labels['acll'] = 'Претърсване';
+$labels['aclr'] = 'Четене на писма';
+$labels['acls'] = 'Запазване на Видяно';
+$labels['aclw'] = 'Записване на флагове';
+$labels['acli'] = 'Вмъкване (Копиране в)';
+$labels['aclp'] = 'Изпращане';
+$labels['aclc'] = 'Създаване на подпапки';
+$labels['aclk'] = 'Създаване на подпапки';
+$labels['acld'] = 'Изтриване на писма';
+$labels['aclt'] = 'Изтриване на писмо';
+$labels['acle'] = 'Заличаване';
+$labels['aclx'] = 'Изтриване на папка';
+$labels['acla'] = 'Администриране';
+$labels['aclfull'] = 'Пълен контрол';
+$labels['aclother'] = 'Други';
+$labels['aclread'] = 'Четене';
+$labels['aclwrite'] = 'Писане';
+$labels['acldelete'] = 'Изтриване';
+$labels['shortacll'] = 'Търсене';
+$labels['shortaclr'] = 'Четене';
+$labels['shortacls'] = 'Запазване';
+$labels['shortaclw'] = 'Писане';
+$labels['shortacli'] = 'Вмъкване';
+$labels['shortaclp'] = 'Изпращане';
+$labels['shortaclc'] = 'Създаване';
+$labels['shortaclk'] = 'Създаване';
+$labels['shortacld'] = 'Изтриване';
+$labels['shortaclt'] = 'Изтриване';
+$labels['shortacle'] = 'Заличаване';
+$labels['shortaclx'] = 'Изтриване на папка';
+$labels['shortacla'] = 'Администриране';
+$labels['shortaclother'] = 'Други';
+$labels['shortaclread'] = 'Четене';
+$labels['shortaclwrite'] = 'Писане';
+$labels['shortacldelete'] = 'Изтриване';
+$labels['longacll'] = 'Папката е видима в списъците и може да се абонирате';
+$labels['longaclr'] = 'Папката може да бъде отворена за четене';
+$labels['longacls'] = 'Флаг Видяно може да бъде променен.';
+$labels['longaclw'] = 'Флаговете и кл. думи за писмата могат да бъдат променяни, без Видяно и Изтрито.';
+$labels['longacli'] = 'Писмата могат да бъдат писани или копирани към папката.';
+$labels['longaclp'] = 'Писмата могат да бъдат писани в папката';
+$labels['longaclc'] = 'Папките могат да бъдат създавани (или преименувани) директно в тази папка';
+$labels['longaclk'] = 'Папките могат да бъдат създавани (или преименувани) в тази основна папка';
+$labels['longacld'] = 'Флагът Изтрито може да бъде променян';
+$labels['longaclt'] = 'Флагът Изтрито може да бъде променян';
+$labels['longacle'] = 'Писмата могат да бъдат заличавани';
+$labels['longaclx'] = 'Папката може да бъде изтривана или преименувана';
+$labels['longacla'] = 'Правата за достъп до папката могат да бъдат променяни';
+$labels['longaclfull'] = 'Пълен контрол, включително и администриране на папките';
+$labels['longaclread'] = 'Папката може да бъде отворена за четене';
+$labels['longaclwrite'] = 'Писмата могат да бъдат маркирани, записвани или копирани в папката';
+$labels['longacldelete'] = 'Писмата могат да бъдат изтривани';
+$messages['deleting'] = 'Изтриване на права за достъп...';
+$messages['saving'] = 'Запазване на права за достъп...';
+$messages['updatesuccess'] = 'Правата за достъп са променени успешно';
+$messages['deletesuccess'] = 'Правата за достъп са изтрити успешно';
+$messages['createsuccess'] = 'Правата за достъп са добавени успешно';
+$messages['updateerror'] = 'Невъзможно модифициране на правата за достъп';
+$messages['deleteerror'] = 'Невъзможно изтриване на права за достъп';
+$messages['createerror'] = 'Невъзможно добавяне на права за достъп';
+$messages['deleteconfirm'] = 'Сигурни ли сте, че желаете да премахнате правата за достъп от избраните потребители?';
+$messages['norights'] = 'Няма указани права!';
+$messages['nouser'] = 'Няма указано потребителско име!';
+?>
diff --git a/plugins/acl/localization/el_GR.inc b/plugins/acl/localization/el_GR.inc
new file mode 100644
index 0000000..56e1081
--- /dev/null
+++ b/plugins/acl/localization/el_GR.inc
@@ -0,0 +1,90 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'Μοιρασμα';
+$labels['myrights'] = 'Δικαιώματα Πρόσβασης ';
+$labels['username'] = 'Χρηστης:';
+$labels['advanced'] = 'προηγμένη λειτουργία ';
+$labels['newuser'] = 'Προσθήκη καταχώρησης ';
+$labels['actions'] = 'Πρόσβαση σωστων ενέργειων...';
+$labels['anyone'] = 'Όλοι οι χρήστες (ο καθένας)';
+$labels['anonymous'] = 'Οι επισκέπτες (ανώνυμα) ';
+$labels['identifier'] = 'Αναγνωριστικό';
+$labels['acll'] = 'Αναζήτηση ';
+$labels['aclr'] = 'Διαβάστε τα μηνύματα ';
+$labels['acls'] = 'Κρατήστε Επίσκεψη κατάσταση';
+$labels['aclw'] = 'Δημιουργια σημαιων';
+$labels['acli'] = 'Εισάγωγη (Αντιγραφή σε) ';
+$labels['aclp'] = 'Καταχώρηση';
+$labels['aclc'] = 'Δημιουργια υποφακελων';
+$labels['aclk'] = 'Δημιουργια υποφακελων';
+$labels['acld'] = 'Διαγραφή μηνυμάτων';
+$labels['aclt'] = 'Διαγραφή μηνυμάτων';
+$labels['acle'] = 'Απαλειψη';
+$labels['aclx'] = 'Διαγραφή φακέλου';
+$labels['acla'] = 'Χορηγος';
+$labels['aclfull'] = 'Πληρης ελεγχος';
+$labels['aclother'] = 'Άλλα';
+$labels['aclread'] = 'Αναγνωση';
+$labels['aclwrite'] = 'Δημιουργια';
+$labels['acldelete'] = 'Διαγραφή';
+$labels['shortacll'] = 'Αναζήτηση';
+$labels['shortaclr'] = 'Αναγνωση';
+$labels['shortacls'] = 'Κρατηση';
+$labels['shortaclw'] = 'Δημιουργια';
+$labels['shortacli'] = 'Αντιστροφη';
+$labels['shortaclp'] = 'Καταχωρηση';
+$labels['shortaclc'] = 'Δημιουργία';
+$labels['shortaclk'] = 'Δημιουργία';
+$labels['shortacld'] = 'Διαγραφή';
+$labels['shortaclt'] = 'Διαγραφή';
+$labels['shortacle'] = 'Απαλειψη';
+$labels['shortaclx'] = 'Διαγραφη φακελου';
+$labels['shortacla'] = 'Χορηγος';
+$labels['shortaclother'] = 'Άλλα';
+$labels['shortaclread'] = 'Αναγνωση';
+$labels['shortaclwrite'] = 'Δημιουργια';
+$labels['shortacldelete'] = 'Διαγραφή';
+$labels['longacll'] = 'Ο φάκελος είναι ορατος στης λιστες και μπορεί να εγγραφεί';
+$labels['longaclr'] = 'Ο φάκελος μπορεί να ανοίξει για την ανάγνωση ';
+$labels['longacls'] = 'Η σημαια μυνηματων μπορει να αλλαχθει';
+$labels['longaclw'] = 'Μηνύματα σημαίες και λέξεις-κλειδιά που μπορεί να αλλάξει, εκτός δει και διαγράφεται ';
+$labels['longacli'] = 'Τα μηνύματα μπορούν να γραφθουν ή να αντιγραφθούν στο φάκελο ';
+$labels['longaclp'] = 'Τα μηνύματα μπορούν να τοποθετηθούν σε αυτόν το φάκελο ';
+$labels['longaclc'] = 'Μπορούν να δημιουργηθούν φάκελοι (ή να μετονομαστουν ) ακριβώς κάτω από αυτόν το φάκελο ';
+$labels['longaclk'] = 'Μπορούν να δημιουργηθούν φάκελοι (ή να μετονομαστουν ) ακριβώς κάτω από αυτόν το φάκελο ';
+$labels['longacld'] = 'Διαγραφή μηνυμάτων σημαίας μπορεί να αλλάξει ';
+$labels['longaclt'] = 'Διαγραφή μηνυμάτων σημαίας μπορεί να αλλάξει ';
+$labels['longacle'] = 'Μυνηματα που μπορουν να απαλειφθουν';
+$labels['longaclx'] = 'Ο φακελος δεν μπορει να μετονομασθει η να διαγραφθει';
+$labels['longacla'] = 'Τα δικαιώματα πρόσβασης στο φάκελο και μπορεί να αλλάξει';
+$labels['longaclfull'] = 'Πλήρης έλεγχος συμπεριλαμβανομένης της διοίκησης ';
+$labels['longaclread'] = 'Ο φάκελος μπορεί να ανοίξει για την ανάγνωση ';
+$labels['longaclwrite'] = 'Μηνύματα να σημαδεύονται, γραπτή ή αντιγράφονται στο φάκελο';
+$labels['longacldelete'] = 'Τα μυνηματα μπορουν να διαγραφθουν';
+$messages['deleting'] = 'Διαγραφή των δικαιωμάτων πρόσβασης...';
+$messages['saving'] = 'Αποθήκευση δικαιώματων πρόσβασης...';
+$messages['updatesuccess'] = 'Άλλαξε με επιτυχία τα δικαιώματα πρόσβασης ';
+$messages['deletesuccess'] = 'Διαγράφηκε με επιτυχία τα δικαιώματα πρόσβασης ';
+$messages['createsuccess'] = 'Προστέθηκε με επιτυχία τα δικαιώματα πρόσβασης ';
+$messages['updateerror'] = 'Δεν είναι δυνατή η ενημέρωση δικαιωμάτων πρόσβασης';
+$messages['deleteerror'] = 'Δεν είναι δυνατή η διαγραφή των δικαιωμάτων πρόσβασης ';
+$messages['createerror'] = 'Δεν είναι δυνατή η προσθήκη δικαιώματα πρόσβασης ';
+$messages['deleteconfirm'] = 'Είσαι σίγουρος, ότι θέλετε να καταργήσετε τα δικαιώματα πρόσβασης του επιλεγμένου(ων) χρήστης ';
+$messages['norights'] = 'Κανένα δικαίωμα έχει καθοριστεί';
+$messages['nouser'] = 'Το όνομα δεν έχει καθοριστεί! ';
+?>
diff --git a/plugins/acl/localization/en_US.inc b/plugins/acl/localization/en_US.inc
index 3c61266..8eebdc6 100644
--- a/plugins/acl/localization/en_US.inc
+++ b/plugins/acl/localization/en_US.inc
@@ -5,7 +5,7 @@
| plugins/acl/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
- | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | Copyright (C) 2012, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -89,7 +89,7 @@ $messages['saving'] = 'Saving access rights...';
$messages['updatesuccess'] = 'Successfully changed access rights';
$messages['deletesuccess'] = 'Successfully deleted access rights';
$messages['createsuccess'] = 'Successfully added access rights';
-$messages['updateerror'] = 'Unable to update access rights';
+$messages['updateerror'] = 'Ubable to update access rights';
$messages['deleteerror'] = 'Unable to delete access rights';
$messages['createerror'] = 'Unable to add access rights';
$messages['deleteconfirm'] = 'Are you sure, you want to remove access rights of selected user(s)?';
diff --git a/plugins/acl/localization/es_AR.inc b/plugins/acl/localization/es_AR.inc
new file mode 100644
index 0000000..0fa1111
--- /dev/null
+++ b/plugins/acl/localization/es_AR.inc
@@ -0,0 +1,89 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'Compartiendo';
+$labels['myrights'] = 'Permisos de acceso';
+$labels['username'] = 'Usuario:';
+$labels['advanced'] = 'modo avanzado';
+$labels['newuser'] = 'Agregar entrada';
+$labels['actions'] = 'Acciones para los permisos de acceso...';
+$labels['anyone'] = 'Todos los usuarios (cualquiera)';
+$labels['anonymous'] = 'Invitado (anonimo)';
+$labels['identifier'] = 'Identificacion';
+$labels['acll'] = 'Buscar';
+$labels['aclr'] = 'Leer mensajes';
+$labels['acls'] = 'Mantener como visualizado';
+$labels['aclw'] = 'Escribir marcadores';
+$labels['acli'] = 'Insertar (Copiar en)';
+$labels['aclp'] = 'Publicar';
+$labels['aclc'] = 'Crear subcarpetas';
+$labels['aclk'] = 'Crear subcarpetas';
+$labels['acld'] = 'Eliminar mensajes';
+$labels['aclt'] = 'Eliminar mensajes';
+$labels['acle'] = 'Descartar';
+$labels['aclx'] = 'Eliminar carpeta';
+$labels['acla'] = 'Administrar';
+$labels['aclfull'] = 'Control total';
+$labels['aclother'] = 'Otro';
+$labels['aclread'] = 'Leer';
+$labels['aclwrite'] = 'Escribir';
+$labels['acldelete'] = 'Eliminar';
+$labels['shortacll'] = 'Buscar';
+$labels['shortaclr'] = 'Leer';
+$labels['shortacls'] = 'Mantener';
+$labels['shortaclw'] = 'Escribir';
+$labels['shortacli'] = 'Insertar';
+$labels['shortaclp'] = 'Publicar';
+$labels['shortaclc'] = 'Crear';
+$labels['shortaclk'] = 'Crear';
+$labels['shortacld'] = 'Eliminar';
+$labels['shortaclt'] = 'Eliminar';
+$labels['shortacle'] = 'Descartar';
+$labels['shortaclx'] = 'Borrado de carpeta';
+$labels['shortacla'] = 'Administrar';
+$labels['shortaclother'] = 'Otro';
+$labels['shortaclread'] = 'Leer';
+$labels['shortaclwrite'] = 'Escribir';
+$labels['shortacldelete'] = 'Eliminar';
+$labels['longacll'] = 'La carpeta es visible en listas y es posible suscribirse a ella';
+$labels['longaclr'] = 'La carpeta se puede abirir para lectura';
+$labels['longacls'] = 'El marcador de Mensajes Vistos puede ser modificado';
+$labels['longaclw'] = 'Los marcadores de mensajes y palabras clave se pueden modificar, excepto Visto y Eliminado';
+$labels['longacli'] = 'En esta carpeta se pueden escribir o copiar mensajes';
+$labels['longaclp'] = 'En esta carpeta se pueden publicar mensajes';
+$labels['longaclc'] = 'Debajo de esta carpeta se puede crear (o renombrar) otras carpetas directamente';
+$labels['longaclk'] = 'Debajo de esta carpeta se puede crear (o renombrar) otras carpetas directamente';
+$labels['longacld'] = 'El marcador de Mensaje Eliminado puede ser modificado';
+$labels['longaclt'] = 'El marcador de Mensaje Eliminado puede ser modificado';
+$labels['longacle'] = 'Los mensajes pueden ser descartados';
+$labels['longaclx'] = 'La carpeta puede ser eliminada o renombrada';
+$labels['longacla'] = 'Los permisos de acceso de esta carpeta pueden ser modificados';
+$labels['longaclfull'] = 'Control total incluyendo la administracion de carpeta';
+$labels['longaclread'] = 'La carpeta se puede abrir para lectura';
+$labels['longaclwrite'] = 'En esta carpeta los mensajes pueden ser marcados, escritos o copiados';
+$labels['longacldelete'] = 'Los mensajes se pueden eliminar';
+$messages['deleting'] = 'Eliminando permisos de acceso...';
+$messages['saving'] = 'Salvando permisos de acceso...';
+$messages['updatesuccess'] = 'Permisos de acceso modificados satisfactoriamente';
+$messages['deletesuccess'] = 'Permisos de acceso eliminados correctamente';
+$messages['createsuccess'] = 'Permisos de acceso agregados satisfactoriamente';
+$messages['deleteerror'] = 'No se pueden eliminar los permisos de acceso';
+$messages['createerror'] = 'No se pueden agregar los permisos de acceso';
+$messages['deleteconfirm'] = 'Estas seguro que queres remover los permisos de acceso a el/los usuario(s) seleccionado/s?';
+$messages['norights'] = 'Ningun permiso ha sido especificado!';
+$messages['nouser'] = 'Ningun nombre de usuario ha sido especificado!';
+?>
diff --git a/plugins/acl/localization/et_EE.inc b/plugins/acl/localization/et_EE.inc
index ceec4cd..e41275a 100644
--- a/plugins/acl/localization/et_EE.inc
+++ b/plugins/acl/localization/et_EE.inc
@@ -73,8 +73,8 @@ $labels['longacli'] = 'Messages can be written or copied to the folder';
$labels['longaclp'] = 'Messages can be posted to this folder';
$labels['longaclc'] = 'Folders can be created (or renamed) directly under this folder';
$labels['longaclk'] = 'Folders can be created (or renamed) directly under this folder';
-$labels['longacld'] = 'Kirja kustutamis lippu saab muuta';
-$labels['longaclt'] = 'Kirja kustutamis lippu saab muuta';
+$labels['longacld'] = 'Messages Delete flag can be changed';
+$labels['longaclt'] = 'Messages Delete flag can be changed';
$labels['longacle'] = 'Kirju saab eemaldada';
$labels['longaclx'] = 'Seda kausta ei saa kustutada ega ümber nimetada';
$labels['longacla'] = 'Selle kausta ligipääsuõigusi saab muuta';
@@ -89,7 +89,7 @@ $messages['saving'] = 'Ligipääsuõiguste salvestamine...';
$messages['updatesuccess'] = 'Ligipääsuõigused on muudetud';
$messages['deletesuccess'] = 'Ligipääsuõigused on kustutatud';
$messages['createsuccess'] = 'Ligipääsuõigused on lisatud';
-$messages['updateerror'] = 'Ligipääsuõiguste uuendamine nurjus';
+$messages['updateerror'] = 'Unable to update access rights';
$messages['deleteerror'] = 'Ligipääsuõiguste kustutamine nurjus';
$messages['createerror'] = 'Ligipääsuõiguste andmine nurjus';
$messages['deleteconfirm'] = 'Oled sa kindel, et sa soovid valitudkasutaja(te) õiguseid kustutada?';
diff --git a/plugins/acl/localization/eu_ES.inc b/plugins/acl/localization/eu_ES.inc
new file mode 100644
index 0000000..4fa9f3b
--- /dev/null
+++ b/plugins/acl/localization/eu_ES.inc
@@ -0,0 +1,90 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'Partekatzen';
+$labels['myrights'] = 'Sarbide-eskubideak';
+$labels['username'] = 'Erabiltzailea:';
+$labels['advanced'] = 'modu aurreratua';
+$labels['newuser'] = 'Gehitu sarrera';
+$labels['actions'] = 'Sarbide-eskubideen ekintzak...';
+$labels['anyone'] = 'Erabiltzaile guztiak (edozein)';
+$labels['anonymous'] = 'Gonbidatuak (anonimo)';
+$labels['identifier'] = 'Identifikatzailea';
+$labels['acll'] = 'Bilatu';
+$labels['aclr'] = 'Irakurri mezuak';
+$labels['acls'] = 'Mantendu ikusita egoera';
+$labels['aclw'] = 'Idatzi banderak';
+$labels['acli'] = 'Txertatu (kopiatu barnean)';
+$labels['aclp'] = 'Posta';
+$labels['aclc'] = 'Sortu azpikarpetak';
+$labels['aclk'] = 'Sortu azpikarpetak';
+$labels['acld'] = 'Ezabatu mezuak';
+$labels['aclt'] = 'Ezabatu mezuak';
+$labels['acle'] = 'Kendu';
+$labels['aclx'] = 'Ezabatu karpeta';
+$labels['acla'] = 'Administratu';
+$labels['aclfull'] = 'Kontrol osoa';
+$labels['aclother'] = 'Beste';
+$labels['aclread'] = 'Irakurri';
+$labels['aclwrite'] = 'Idatzi';
+$labels['acldelete'] = 'Ezabatu';
+$labels['shortacll'] = 'Bilatu';
+$labels['shortaclr'] = 'Irakurri';
+$labels['shortacls'] = 'Mantendu';
+$labels['shortaclw'] = 'Idatzi';
+$labels['shortacli'] = 'Txertatu';
+$labels['shortaclp'] = 'Bidali';
+$labels['shortaclc'] = 'Sortu';
+$labels['shortaclk'] = 'Sortu';
+$labels['shortacld'] = 'Ezabatu';
+$labels['shortaclt'] = 'Ezabatu';
+$labels['shortacle'] = 'Kendu';
+$labels['shortaclx'] = 'Ezabatu karpeta';
+$labels['shortacla'] = 'Administratu';
+$labels['shortaclother'] = 'Beste';
+$labels['shortaclread'] = 'Irakurri';
+$labels['shortaclwrite'] = 'Idatzi';
+$labels['shortacldelete'] = 'Ezabatu';
+$labels['longacll'] = 'Karpeta hau zerrendan ikusgai dago eta harpidetzen ahal zara';
+$labels['longaclr'] = 'Karpeta ireki daiteke irakurtzeko';
+$labels['longacls'] = 'Mezuen ikusita bandera aldatu daiteke';
+$labels['longaclw'] = 'Mezuen banderak eta gako-hitzak alda daitezke, ikusita eta ezabatuta salbu';
+$labels['longacli'] = 'Mezuak karpetara idatzi edo kopiatu daitezke';
+$labels['longaclp'] = 'Mezuak bidali daitezke karpeta honetara';
+$labels['longaclc'] = 'Karpetak sor daitezke (edo berrizendatu) zuzenean karpeta honetan';
+$labels['longaclk'] = 'Karpetak sor daitezke (edo berrizendatu) karpeta honetan';
+$labels['longacld'] = 'Mezuen ezabatu bandera alda daiteke';
+$labels['longaclt'] = 'Mezuen ezabatu bandera alda daiteke';
+$labels['longacle'] = 'Mezuak betiko ezaba daitezke';
+$labels['longaclx'] = 'Karpeta ezaba edo berrizenda daiteke';
+$labels['longacla'] = 'Karpetaren sarbide eskubideak alda daitezke';
+$labels['longaclfull'] = 'Kontrol osoa, karpetaren administrazioa barne';
+$labels['longaclread'] = 'Karpeta ireki daiteke irakurtzeko';
+$labels['longaclwrite'] = 'Mezuak marka, idatzi edo kopia daitezke karpetara';
+$labels['longacldelete'] = 'Mezuak ezaba daitezke';
+$messages['deleting'] = 'Sarbide-eskubideak ezabatzen...';
+$messages['saving'] = 'Sarbide-eskubideak gordetzen...';
+$messages['updatesuccess'] = 'Sarbide-eskubideak ongi aldatu dira';
+$messages['deletesuccess'] = 'Sarbide-eskubideak ongi ezabatu dira';
+$messages['createsuccess'] = 'Sarbide-eskubideak ongi gehitu dira';
+$messages['updateerror'] = 'Ezin dira eguneratu sarbide-eskubideak';
+$messages['deleteerror'] = 'Ezin dira ezabatu sarbide-eskubideak';
+$messages['createerror'] = 'Ezin dira gehitu sarbide-eskubideak';
+$messages['deleteconfirm'] = 'Seguru zaude hautatutako erabiltzaile(ar)en sarbide-eskubideak ezabatu nahi duzula?';
+$messages['norights'] = 'Eskubideak ez dira zehaztu!';
+$messages['nouser'] = 'Erabiltzaile-izana ez da zehaztu!';
+?>
diff --git a/plugins/acl/localization/fa_IR.inc b/plugins/acl/localization/fa_IR.inc
index 2face4f..48fb8a2 100644
--- a/plugins/acl/localization/fa_IR.inc
+++ b/plugins/acl/localization/fa_IR.inc
@@ -22,51 +22,51 @@ $labels['username'] = 'کاربر:';
$labels['advanced'] = 'حالت پیشرفته';
$labels['newuser'] = 'افزودن مدخل';
$labels['actions'] = 'فعالیت‌های مجوز دسترسی...';
-$labels['anyone'] = 'همه‌ی کاربران (هر کسی)';
-$labels['anonymous'] = 'مهمان‌ها (ناشناس)';
+$labels['anyone'] = 'همه کاربران (هر کسی)';
+$labels['anonymous'] = 'مهمان‌ها (ناشناس‌ها)';
$labels['identifier'] = 'شناساگر';
$labels['acll'] = 'یافتن';
-$labels['aclr'] = 'پیغام‌های خوانده شده';
+$labels['aclr'] = 'پیام های خوانده شده';
$labels['acls'] = 'نگه داشتن حالت بازدید';
$labels['aclw'] = 'پرچم‌های نوشتن';
$labels['acli'] = 'وارد کردن (کپی کردن در)';
-$labels['aclp'] = 'ارسال';
+$labels['aclp'] = 'نوشته';
$labels['aclc'] = 'ایجاد زیرپوشه‌ها';
$labels['aclk'] = 'ایجاد زیرپوشه‌ها';
$labels['acld'] = 'پاک کردن پیغام‌ها';
$labels['aclt'] = 'پاک کردن پیغام‌ها';
$labels['acle'] = 'پاک کردن';
$labels['aclx'] = 'حذف پوشه';
-$labels['acla'] = 'مدیریت کردن';
+$labels['acla'] = 'مدیر';
$labels['aclfull'] = 'کنترل کامل';
$labels['aclother'] = 'دیگر';
-$labels['aclread'] = 'خواندن';
+$labels['aclread'] = 'خوانده شده';
$labels['aclwrite'] = 'نوشتن';
$labels['acldelete'] = 'حذف';
$labels['shortacll'] = 'یافتن';
-$labels['shortaclr'] = 'خواندن';
+$labels['shortaclr'] = 'خوانده شده';
$labels['shortacls'] = 'نگه داشتن';
$labels['shortaclw'] = 'نوشتن';
-$labels['shortacli'] = 'اضافه کردن';
-$labels['shortaclp'] = 'ارسال';
+$labels['shortacli'] = 'جاگذارى';
+$labels['shortaclp'] = 'نوشته';
$labels['shortaclc'] = 'ایجاد';
$labels['shortaclk'] = 'ایجاد';
$labels['shortacld'] = 'حذف';
$labels['shortaclt'] = 'حذف';
$labels['shortacle'] = 'پاک کردن';
$labels['shortaclx'] = 'حذف کردن پوشه';
-$labels['shortacla'] = 'مدیریت کردن';
+$labels['shortacla'] = 'مدیر';
$labels['shortaclother'] = 'دیگر';
-$labels['shortaclread'] = 'خواندن';
+$labels['shortaclread'] = 'خوانده شده';
$labels['shortaclwrite'] = 'نوشتن';
$labels['shortacldelete'] = 'حذف';
-$labels['longacll'] = 'پوشه را می‌توان در فهرست‌ها دید و در آن مشترک شد';
-$labels['longaclr'] = 'پوشه می‌تواند برای خوانده شدن باز شود';
+$labels['longacll'] = 'پوشه در فهرست‌ها قابل مشاهده است و می‌تواند مشترک به';
+$labels['longaclr'] = 'پوشه می‌تواند برای خواندن باز شود';
$labels['longacls'] = 'پرچم بازدید پیغام‌ها می‌تواند تغییر داده شود';
$labels['longaclw'] = 'پرچم و کلیدواژه پیغام‌ها می‌تواند تغییر داده شود، به غیر از بازدید و حذف';
$labels['longacli'] = 'پیغام‌ها می‌توانند کپی یا نوشته شوند به پوشه';
@@ -89,7 +89,7 @@ $messages['saving'] = 'ذخیره قوانین دسترسی...';
$messages['updatesuccess'] = 'قوانین دسترسی با موفقیت تغییر کردند';
$messages['deletesuccess'] = 'قوانین دسترسی با موفقیت حذف شدند';
$messages['createsuccess'] = 'قوانین دسترسی با موفقیت اضافه شدند';
-$messages['updateerror'] = 'ناتوانی در به روز کردن قوانین دسترسی';
+$messages['updateerror'] = 'ناتوانی در بروزرسانی قوانین دسترسی';
$messages['deleteerror'] = 'ناتوانی در حذف قوانین دسترسی';
$messages['createerror'] = 'ناتوانی در اضافه کردن قوانین دسترسی';
$messages['deleteconfirm'] = 'آیا شما مطمئن هستید که می‌خواهید قوانین دسترسی را برای کاربر(ان) انتخاب شده حذف نمایید؟';
diff --git a/plugins/acl/localization/fi_FI.inc b/plugins/acl/localization/fi_FI.inc
index e2b6899..1238b0f 100644
--- a/plugins/acl/localization/fi_FI.inc
+++ b/plugins/acl/localization/fi_FI.inc
@@ -41,7 +41,7 @@ $labels['aclx'] = 'Delete folder';
$labels['acla'] = 'Administer';
$labels['aclfull'] = 'Full control';
-$labels['aclother'] = 'Other';
+$labels['aclother'] = 'Muu';
$labels['aclread'] = 'Read';
$labels['aclwrite'] = 'Write';
$labels['acldelete'] = 'Delete';
@@ -66,7 +66,7 @@ $labels['shortaclwrite'] = 'Write';
$labels['shortacldelete'] = 'Delete';
$labels['longacll'] = 'The folder is visible on lists and can be subscribed to';
-$labels['longaclr'] = 'The folder can be opened for reading';
+$labels['longaclr'] = 'Kansion voi avata lukua varten';
$labels['longacls'] = 'Messages Seen flag can be changed';
$labels['longaclw'] = 'Messages flags and keywords can be changed, except Seen and Deleted';
$labels['longacli'] = 'Messages can be written or copied to the folder';
@@ -76,24 +76,24 @@ $labels['longaclk'] = 'Folders can be created (or renamed) directly under this f
$labels['longacld'] = 'Messages Delete flag can be changed';
$labels['longaclt'] = 'Messages Delete flag can be changed';
$labels['longacle'] = 'Messages can be expunged';
-$labels['longaclx'] = 'The folder can be deleted or renamed';
-$labels['longacla'] = 'The folder access rights can be changed';
+$labels['longaclx'] = 'Kansio voidaan poistaa tai nimetä uudelleen';
+$labels['longacla'] = 'Kansion käyttöoikeuksia voi muuttaa';
$labels['longaclfull'] = 'Full control including folder administration';
$labels['longaclread'] = 'The folder can be opened for reading';
$labels['longaclwrite'] = 'Messages can be marked, written or copied to the folder';
$labels['longacldelete'] = 'Messages can be deleted';
-$messages['deleting'] = 'Deleting access rights...';
-$messages['saving'] = 'Saving access rights...';
-$messages['updatesuccess'] = 'Successfully changed access rights';
-$messages['deletesuccess'] = 'Successfully deleted access rights';
-$messages['createsuccess'] = 'Successfully added access rights';
-$messages['updateerror'] = 'Ubable to update access rights';
-$messages['deleteerror'] = 'Unable to delete access rights';
-$messages['createerror'] = 'Unable to add access rights';
+$messages['deleting'] = 'Poistetaan käyttöoikeuksia...';
+$messages['saving'] = 'Tallennetaan käyttöoikeuksia...';
+$messages['updatesuccess'] = 'Käyttöoikeuksia muutettiin onnistuneesti';
+$messages['deletesuccess'] = 'Käyttöoikeuksia poistettiin onnistuneesti';
+$messages['createsuccess'] = 'Käyttöoikeuksia lisättiin onnistuneesti';
+$messages['updateerror'] = 'Käyttöoikeuksien päivitys epäonnistui';
+$messages['deleteerror'] = 'Käyttöoikeuksien poistaminen epäonnistui';
+$messages['createerror'] = 'Käyttöoikeuksien lisääminen epäonnistui';
$messages['deleteconfirm'] = 'Are you sure, you want to remove access rights of selected user(s)?';
-$messages['norights'] = 'No rights has been specified!';
-$messages['nouser'] = 'No username has been specified!';
+$messages['norights'] = 'Oikeuksia ei ole määritelty!';
+$messages['nouser'] = 'Käyttäjänimeä ei ole määritelty!';
?>
diff --git a/plugins/acl/localization/gl_ES.inc b/plugins/acl/localization/gl_ES.inc
index 2349975..bb88371 100644
--- a/plugins/acl/localization/gl_ES.inc
+++ b/plugins/acl/localization/gl_ES.inc
@@ -28,15 +28,15 @@ $labels['identifier'] = 'Identificador';
$labels['acll'] = 'Bloquear';
$labels['aclr'] = 'Ler mensaxes';
-$labels['acls'] = 'Manter o estado coma visto';
-$labels['aclw'] = 'Marcas de lectura';
-$labels['acli'] = 'Engadir (Copiar en)';
-$labels['aclp'] = 'Envío';
+$labels['acls'] = 'Keep Seen state';
+$labels['aclw'] = 'Write flags';
+$labels['acli'] = 'Insert (Copy into)';
+$labels['aclp'] = 'Post';
$labels['aclc'] = 'Crear subcartafoles';
$labels['aclk'] = 'Crear subcartafoles';
$labels['acld'] = 'Borrar mensaxes';
$labels['aclt'] = 'Borrar mensaxes';
-$labels['acle'] = 'Expurga';
+$labels['acle'] = 'Expunge';
$labels['aclx'] = 'Eliminar carpeta';
$labels['acla'] = 'Administrar';
@@ -51,12 +51,12 @@ $labels['shortaclr'] = 'Ler';
$labels['shortacls'] = 'Manter';
$labels['shortaclw'] = 'Escribir';
$labels['shortacli'] = 'Insertar';
-$labels['shortaclp'] = 'Envío';
+$labels['shortaclp'] = 'Post';
$labels['shortaclc'] = 'Crear';
$labels['shortaclk'] = 'Crear';
$labels['shortacld'] = 'Borrar';
$labels['shortaclt'] = 'Borrar';
-$labels['shortacle'] = 'Expurga';
+$labels['shortacle'] = 'Expunge';
$labels['shortaclx'] = 'Borrar cartafol';
$labels['shortacla'] = 'Administrar';
@@ -66,33 +66,33 @@ $labels['shortaclwrite'] = 'Escritura';
$labels['shortacldelete'] = 'Borrado';
$labels['longacll'] = 'O cartafol é visible e pode ser suscrito';
-$labels['longaclr'] = 'Pódese abrir o cartafol para lectura';
-$labels['longacls'] = 'Pódese mudar o marcador de Mensaxes Enviadas';
-$labels['longaclw'] = 'Pódense mudar marcadores e palabras chave agás Olladas e Borradas';
-$labels['longacli'] = 'Pódense escreber ou copiar as mensaxes a este cartafol';
-$labels['longaclp'] = 'Pódense enviar as mensaxes a este cartafol';
-$labels['longaclc'] = 'Pódense crear (ou renomear) os cartafois directamente baixo deste cartafol';
-$labels['longaclk'] = 'Pódense crear (ou renomear) os cartafois directamente baixo deste cartafol';
-$labels['longacld'] = 'Pódense mudar as mensaxes coa marca de Borrado';
-$labels['longaclt'] = 'Pódense mudar as mensaxes coa marca de Borrado';
-$labels['longacle'] = 'Pódense eliminar as mensaxes';
-$labels['longaclx'] = 'Pódese borrar ou renomear o cartafol';
-$labels['longacla'] = 'Pódense mudar os dereitos de acceso ao cartafol';
+$labels['longaclr'] = 'The folder can be opened for reading';
+$labels['longacls'] = 'Messages Seen flag can be changed';
+$labels['longaclw'] = 'Messages flags and keywords can be changed, except Seen and Deleted';
+$labels['longacli'] = 'Messages can be written or copied to the folder';
+$labels['longaclp'] = 'Messages can be posted to this folder';
+$labels['longaclc'] = 'Folders can be created (or renamed) directly under this folder';
+$labels['longaclk'] = 'Folders can be created (or renamed) directly under this folder';
+$labels['longacld'] = 'Messages Delete flag can be changed';
+$labels['longaclt'] = 'Messages Delete flag can be changed';
+$labels['longacle'] = 'Messages can be expunged';
+$labels['longaclx'] = 'The folder can be deleted or renamed';
+$labels['longacla'] = 'The folder access rights can be changed';
-$labels['longaclfull'] = 'Control total inclúe administración de cartafois';
-$labels['longaclread'] = 'Pódese abrir o cartafol para lectura';
-$labels['longaclwrite'] = 'Pódense marcar, escribir ou copiar as mensaxes no cartafol';
-$labels['longacldelete'] = 'Pódense borrar as mensaxes';
+$labels['longaclfull'] = 'Full control including folder administration';
+$labels['longaclread'] = 'The folder can be opened for reading';
+$labels['longaclwrite'] = 'Messages can be marked, written or copied to the folder';
+$labels['longacldelete'] = 'Messages can be deleted';
-$messages['deleting'] = 'Borrando dereitos de acceso...';
-$messages['saving'] = 'Gardando dereitos de acceso...';
-$messages['updatesuccess'] = 'Mudados con éxito os dereitos de acceso';
-$messages['deletesuccess'] = 'Borrados con éxito os dereitos de acceso';
-$messages['createsuccess'] = 'Engadidos con éxito os dereitos de acceso';
-$messages['updateerror'] = 'Non se poden actualizar os dereitos de acceso';
-$messages['deleteerror'] = 'Non se poden borrar os dereitos de acceso';
-$messages['createerror'] = 'Non se poden engadir dereitos de acceso';
-$messages['deleteconfirm'] = 'De certo quere eliminar os dereitos de acceso do usuario(s) escollido?';
+$messages['deleting'] = 'Deleting access rights...';
+$messages['saving'] = 'Saving access rights...';
+$messages['updatesuccess'] = 'Successfully changed access rights';
+$messages['deletesuccess'] = 'Successfully deleted access rights';
+$messages['createsuccess'] = 'Successfully added access rights';
+$messages['updateerror'] = 'Ubable to update access rights';
+$messages['deleteerror'] = 'Unable to delete access rights';
+$messages['createerror'] = 'Unable to add access rights';
+$messages['deleteconfirm'] = 'Are you sure, you want to remove access rights of selected user(s)?';
$messages['norights'] = 'Non se especificaron permisos!';
$messages['nouser'] = 'Non se especificou o nome de usuario!';
diff --git a/plugins/acl/localization/he_IL.inc b/plugins/acl/localization/he_IL.inc
index 9ca305d..d7b027a 100644
--- a/plugins/acl/localization/he_IL.inc
+++ b/plugins/acl/localization/he_IL.inc
@@ -89,7 +89,7 @@ $messages['saving'] = 'זכויות גישה נשמרות...';
$messages['updatesuccess'] = 'זכויות גישה שונו בהצלחה';
$messages['deletesuccess'] = 'זכויות גישה נמחקו בהצלחה';
$messages['createsuccess'] = 'זכויות גישה נוספו בהצלחה';
-$messages['updateerror'] = 'לא ניתן לעדכן הרשאות גישה';
+$messages['updateerror'] = 'לא ניתן לעדכן זכויות גישה';
$messages['deleteerror'] = 'לא ניתן למחוק זכויות גישה';
$messages['createerror'] = 'לא ניתן להוסיף זכויות גישה';
$messages['deleteconfirm'] = 'האם ודאי שברצונך להסיר זכויות גישה של המשתמש(ים) שנבחרו?';
diff --git a/plugins/acl/localization/lb_LU.inc b/plugins/acl/localization/lb_LU.inc
index b989193..be03a72 100644
--- a/plugins/acl/localization/lb_LU.inc
+++ b/plugins/acl/localization/lb_LU.inc
@@ -15,7 +15,6 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
*/
-
$labels['sharing'] = 'Sharing';
$labels['myrights'] = 'Zougrëffsrechter';
$labels['username'] = 'Benotzer:';
@@ -25,27 +24,19 @@ $labels['actions'] = 'Optioune fir d\'Zougrëffsrechter';
$labels['anyone'] = 'All d\'Benotzer (jiddwereen)';
$labels['anonymous'] = 'Gaascht (anonym)';
$labels['identifier'] = 'Identifiant';
-
$labels['acll'] = 'Noschloen';
$labels['aclr'] = 'Messagë liesen';
$labels['acls'] = 'Lies-Status behalen';
-$labels['aclw'] = 'Write flags';
-$labels['acli'] = 'Insert (Copy into)';
-$labels['aclp'] = 'Post';
-$labels['aclc'] = 'Create subfolders';
-$labels['aclk'] = 'Create subfolders';
$labels['acld'] = 'Messagë läschen';
$labels['aclt'] = 'Messagë läschen';
$labels['acle'] = 'Ausläschen';
$labels['aclx'] = 'Dossier läschen';
$labels['acla'] = 'Administréieren';
-
$labels['aclfull'] = 'Voll Kontroll';
$labels['aclother'] = 'Aner';
$labels['aclread'] = 'Liesen';
$labels['aclwrite'] = 'Schreiwen';
$labels['acldelete'] = 'Läschen';
-
$labels['shortacll'] = 'Noschloen';
$labels['shortaclr'] = 'Liesen';
$labels['shortacls'] = 'Halen';
@@ -59,31 +50,11 @@ $labels['shortaclt'] = 'Läschen';
$labels['shortacle'] = 'Ausläschen';
$labels['shortaclx'] = 'Dossier läschen';
$labels['shortacla'] = 'Administréieren';
-
$labels['shortaclother'] = 'Aner';
$labels['shortaclread'] = 'Liesen';
$labels['shortaclwrite'] = 'Schreiwen';
$labels['shortacldelete'] = 'Läschen';
-
-$labels['longacll'] = 'The folder is visible on lists and can be subscribed to';
-$labels['longaclr'] = 'The folder can be opened for reading';
-$labels['longacls'] = 'Messages Seen flag can be changed';
-$labels['longaclw'] = 'Messages flags and keywords can be changed, except Seen and Deleted';
-$labels['longacli'] = 'Messages can be written or copied to the folder';
-$labels['longaclp'] = 'Messages can be posted to this folder';
-$labels['longaclc'] = 'Folders can be created (or renamed) directly under this folder';
-$labels['longaclk'] = 'Folders can be created (or renamed) directly under this folder';
-$labels['longacld'] = 'Messages Delete flag can be changed';
-$labels['longaclt'] = 'Messages Delete flag can be changed';
-$labels['longacle'] = 'Messages can be expunged';
-$labels['longaclx'] = 'The folder can be deleted or renamed';
-$labels['longacla'] = 'The folder access rights can be changed';
-
-$labels['longaclfull'] = 'Full control including folder administration';
-$labels['longaclread'] = 'The folder can be opened for reading';
-$labels['longaclwrite'] = 'Messages can be marked, written or copied to the folder';
$labels['longacldelete'] = 'Messagë kënne geläscht ginn';
-
$messages['deleting'] = 'Zougrëffsrechter gi geläscht...';
$messages['saving'] = 'Zougrëffsrechter gi gespäichert...';
$messages['updatesuccess'] = 'Rechter erfollegräich geännert';
@@ -95,5 +66,4 @@ $messages['createerror'] = 'Zougrëffsrechter kënnen net dobäigesat ginn';
$messages['deleteconfirm'] = 'Bass du dir sécher, dass du d\'Zougrëffsrechter fir déi ausgewielte Benotzer wëlls ewechhuelen?';
$messages['norights'] = 'Et goufe keng Rechter uginn! ';
$messages['nouser'] = 'Et gouf kee Benotzernumm uginn!';
-
?>
diff --git a/plugins/acl/localization/lt_LT.inc b/plugins/acl/localization/lt_LT.inc
index 39a4d1b..5939301 100644
--- a/plugins/acl/localization/lt_LT.inc
+++ b/plugins/acl/localization/lt_LT.inc
@@ -89,7 +89,7 @@ $messages['saving'] = 'Išsaugomos prieigos teisės';
$messages['updatesuccess'] = 'Prieigos teisės sėkmingai pakeistos';
$messages['deletesuccess'] = 'Prieigos teisės sėkmingai panaikintos';
$messages['createsuccess'] = 'Prieigos teisės sėkmingai pridėtos';
-$messages['updateerror'] = 'Nepavyko pakeisti prieigos teisių';
+$messages['updateerror'] = 'Neįmanoma atnaujinti prieigos teises';
$messages['deleteerror'] = 'Neįmanoma panaikinti prieigos teises';
$messages['createerror'] = 'Neišeina pridėti prieigos teises';
$messages['deleteconfirm'] = 'Ar jūs esate įsitikinę, jog norite panaikinti prieigos teises pažymėtiems vartotojams(-ui)?';
diff --git a/plugins/acl/localization/lv_LV.inc b/plugins/acl/localization/lv_LV.inc
new file mode 100644
index 0000000..cadb34a
--- /dev/null
+++ b/plugins/acl/localization/lv_LV.inc
@@ -0,0 +1,90 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'Dalīšanās';
+$labels['myrights'] = 'Piekļuves tiesības';
+$labels['username'] = 'Lietotājs:';
+$labels['advanced'] = 'paplašinātais režīms';
+$labels['newuser'] = 'Pievienot ierakstu';
+$labels['actions'] = 'Darbības ar piekļuves tiesībām...';
+$labels['anyone'] = 'Visi lietotāji (ikviens)';
+$labels['anonymous'] = 'Viesi (anonīmie)';
+$labels['identifier'] = 'Identifikators';
+$labels['acll'] = 'Atrast';
+$labels['aclr'] = 'Lasīt ziņojumus';
+$labels['acls'] = 'Paturēt "Redzētā" statusu';
+$labels['aclw'] = 'Saglabāt atzīmes';
+$labels['acli'] = 'Ievietot (Iekopēt)';
+$labels['aclp'] = 'Nosūtīt';
+$labels['aclc'] = 'Izveidot apakšmapes';
+$labels['aclk'] = 'Izveidot apakšmapes';
+$labels['acld'] = 'Dzēst ziņojumus';
+$labels['aclt'] = 'Dzēst ziņojumus';
+$labels['acle'] = 'Izdzēst';
+$labels['aclx'] = 'Dzēst mapi';
+$labels['acla'] = 'Pārvaldīt';
+$labels['aclfull'] = 'Pilna kontrole';
+$labels['aclother'] = 'Cits';
+$labels['aclread'] = 'Lasīt';
+$labels['aclwrite'] = 'Rakstīt';
+$labels['acldelete'] = 'Dzēst';
+$labels['shortacll'] = 'Atrast';
+$labels['shortaclr'] = 'Lasīt';
+$labels['shortacls'] = 'Paturēt';
+$labels['shortaclw'] = 'Rakstīt';
+$labels['shortacli'] = 'Ievietot';
+$labels['shortaclp'] = 'Nosūtīt';
+$labels['shortaclc'] = 'Izveidot';
+$labels['shortaclk'] = 'Izveidot';
+$labels['shortacld'] = 'Dzēst';
+$labels['shortaclt'] = 'Dzēst';
+$labels['shortacle'] = 'Izdzēst';
+$labels['shortaclx'] = 'Mapju dzēšana';
+$labels['shortacla'] = 'Pārvaldīt';
+$labels['shortaclother'] = 'Cits';
+$labels['shortaclread'] = 'Lasīt';
+$labels['shortaclwrite'] = 'Rakstīt';
+$labels['shortacldelete'] = 'Dzēst';
+$labels['longacll'] = 'Mape ir redzama kopējā mapju sarakstā un var tikt abonēta';
+$labels['longaclr'] = 'Ši mape var tikt atvērta lasīšanai';
+$labels['longacls'] = 'Ziņojumu "Redzēts" atzīme var tik mainīta';
+$labels['longaclw'] = 'Ziņojumu atzīmes, izņemot "Redzēts" un "Dzēsts", un atslēgvārdi var tik mainīti';
+$labels['longacli'] = 'Ziņojumi var tikt ierakstīti vai pārkopēti uz šo mapi';
+$labels['longaclp'] = 'Vēstules var tikt ievietotas šajā mapē';
+$labels['longaclc'] = 'Zem šīs mapes pa tiešo var tikt izveidotas (vai pārsauktas) citas mapes';
+$labels['longaclk'] = 'Zem šīs mapes pa tiešo var tikt izveidotas (vai pārsauktas) citas mapes';
+$labels['longacld'] = 'Ziņojumu "Dzēst" atzīme var tikt mainīta';
+$labels['longaclt'] = 'Ziņojumu "Dzēst" atzīme var tikt mainīta';
+$labels['longacle'] = 'Vēstules var tikt izdzēstas';
+$labels['longaclx'] = 'Mape var tikt gan dzēsta, gan pārdēvēta';
+$labels['longacla'] = 'Mapes pieejas tiesības var tikt izmainītas';
+$labels['longaclfull'] = 'Pilna kontrole, iekļaujot arī mapju administrēšanu';
+$labels['longaclread'] = 'Mape var tikt atvērta lasīšanai';
+$labels['longaclwrite'] = 'Ziņojumi mapē var tikt gan atzīmēti, gan ierakstīti vai arī pārkopēti uz mapi';
+$labels['longacldelete'] = 'Vēstules var tikt izdzēstas';
+$messages['deleting'] = 'Dzēš piekļuves tiesības...';
+$messages['saving'] = 'Saglabā piekļuves tiesības...';
+$messages['updatesuccess'] = 'Piekļuves tiesības tika veiksmīgi samainītas';
+$messages['deletesuccess'] = 'Piekļuves tiesības tika veiksmīgi izdzēstas';
+$messages['createsuccess'] = 'Piekļuves tiesības tika veiksmīgi pievienotas';
+$messages['updateerror'] = 'Pieejas tiesības nomainīt neizdevās';
+$messages['deleteerror'] = 'Piekļuves tiesības izdzēst neizdevās';
+$messages['createerror'] = 'Piekļuves tiesības pievienot neizdevās';
+$messages['deleteconfirm'] = 'Vai tiešām atzīmētajiem lietotājiem noņemt piekļuves tiesības?';
+$messages['norights'] = 'Netika norādītas tiesības!';
+$messages['nouser'] = 'Netika norādīts lietotājvārds!';
+?>
diff --git a/plugins/acl/localization/pl_PL.inc b/plugins/acl/localization/pl_PL.inc
index 69a5e0c..73c0fc4 100644
--- a/plugins/acl/localization/pl_PL.inc
+++ b/plugins/acl/localization/pl_PL.inc
@@ -89,7 +89,7 @@ $messages['saving'] = 'Zapisywanie praw dostępu...';
$messages['updatesuccess'] = 'Pomyślnie zmieniono prawa dostępu';
$messages['deletesuccess'] = 'Pomyślnie usunięto prawa dostępu';
$messages['createsuccess'] = 'Pomyślnie dodano prawa dostępu';
-$messages['updateerror'] = 'Nie udało się zaktualizować praw dostępu';
+$messages['updateerror'] = 'Nie udało się zmienić praw dostępu';
$messages['deleteerror'] = 'Nie udało się usunąć praw dostępu';
$messages['createerror'] = 'Nie udało się dodać praw dostępu';
$messages['deleteconfirm'] = 'Czy na pewno chcesz usunąć prawa wybranym użytkownikom?';
diff --git a/plugins/acl/localization/ro_RO.inc b/plugins/acl/localization/ro_RO.inc
index e87524a..17124e4 100644
--- a/plugins/acl/localization/ro_RO.inc
+++ b/plugins/acl/localization/ro_RO.inc
@@ -28,7 +28,7 @@ $labels['identifier'] = 'Identificator';
$labels['acll'] = 'Caută';
$labels['aclr'] = 'Citire mesaje';
-$labels['acls'] = 'Menține starea de Vâzut';
+$labels['acls'] = 'Menține starea citirii';
$labels['aclw'] = 'Indicator scriere';
$labels['acli'] = 'Inserare (copiere în)';
$labels['aclp'] = 'Postează';
@@ -65,7 +65,7 @@ $labels['shortaclread'] = 'Citeşte';
$labels['shortaclwrite'] = 'Scrie';
$labels['shortacldelete'] = 'Șterge';
-$labels['longacll'] = 'Dosarul este vizibil pe liste și se poate înscrie pe el';
+$labels['longacll'] = 'Dosarul este vizibil pe liste și se poate subscrie la acesta';
$labels['longaclr'] = 'Dosarul se poate deschide pentru citire';
$labels['longacls'] = 'Indicatorul de Văzut a fost schimbat';
$labels['longaclw'] = 'Indicatoarele și cuvintele cheie ale mesajelor se pot schimba cu excepția Văzut și Șters';
@@ -73,8 +73,8 @@ $labels['longacli'] = 'Mesajul se poate scrie sau copia într-un dosar';
$labels['longaclp'] = 'Mesajele se pot trimite către acest dosar';
$labels['longaclc'] = 'Dosarele se pot crea (sau redenumi) direct sub acest dosar';
$labels['longaclk'] = 'Dosarele se pot crea (sau redenumi) direct sub acest dosar';
-$labels['longacld'] = 'Indicatorul de Șters al mesajelor se pot modifica';
-$labels['longaclt'] = 'Indicatorul de Șters al mesajelor se pot modifica';
+$labels['longacld'] = 'Indicatorul de Șters al mesajelor se poate modifica';
+$labels['longaclt'] = 'Indicatorul de Șters al mesajelor se poate modifica';
$labels['longacle'] = 'Mesajele se pot elimina';
$labels['longaclx'] = 'Dosarul se poate șterge sau redenumi';
$labels['longacla'] = 'Drepturile de acces la dosar se pot schimba';
@@ -82,18 +82,18 @@ $labels['longacla'] = 'Drepturile de acces la dosar se pot schimba';
$labels['longaclfull'] = 'Control complet include și administrare dosar';
$labels['longaclread'] = 'Dosarul se poate deschide pentru citire';
$labels['longaclwrite'] = 'Mesajul se poate marca, scrie sau copia într-un dosar';
-$labels['longacldelete'] = 'Mesajul se poate șterge';
+$labels['longacldelete'] = 'Mesajele se pot șterge';
-$messages['deleting'] = 'Drepturile de acces la ștergere...';
-$messages['saving'] = 'Drepturile de acces la salvare...';
+$messages['deleting'] = 'Șterg drepturile de access...';
+$messages['saving'] = 'Salvez drepturi accesare...';
$messages['updatesuccess'] = 'Drepturile de acces au fost schimbate cu succes';
$messages['deletesuccess'] = 'Drepturile de acces au fost șterse cu succes';
$messages['createsuccess'] = 'Drepturile de acces au fost adăugate cu succes';
-$messages['updateerror'] = 'Nu sau putut actualiza drepturile de acces';
-$messages['deleteerror'] = 'Nu sau putut șterge drepturile de acces';
-$messages['createerror'] = 'Nu sau putut adăuga drepturi de acces';
-$messages['deleteconfirm'] = 'Sunteți sigur că doriți să ștergeți drepturile de acces la utilizatorul(i) selectați?';
+$messages['updateerror'] = 'Unable to update access rights';
+$messages['deleteerror'] = 'Nu s-au putut șterge drepturile de acces';
+$messages['createerror'] = 'Nu s-au putut adăuga drepturi de acces';
+$messages['deleteconfirm'] = 'Sunteți sigur că doriți să ștergeți drepturile de acces la utilizatorul (ii) selectați?';
$messages['norights'] = 'Nu au fost specificate drepturi!';
-$messages['nouser'] = 'Nu a fost specificat nume de utilizator!';
+$messages['nouser'] = 'Nu a fost specificat niciun utilizator!';
?>
diff --git a/plugins/acl/localization/th_TH.inc b/plugins/acl/localization/th_TH.inc
new file mode 100644
index 0000000..8eb1d27
--- /dev/null
+++ b/plugins/acl/localization/th_TH.inc
@@ -0,0 +1,50 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'การแชร์ข้อมูล';
+$labels['myrights'] = 'สิทธิ์การเข้าใช้';
+$labels['username'] = 'ผู้ใช้งาน:';
+$labels['advanced'] = 'โหมดขั้นสูง';
+$labels['newuser'] = 'เพิ่มรายการ';
+$labels['anyone'] = 'ผู้ใช้งานทั้งหมด (ใครก็ได้)';
+$labels['anonymous'] = 'ผู้เยี่ยมชม (คนแปลกหน้า)';
+$labels['aclr'] = 'อ่านข้อความ';
+$labels['acli'] = 'แทรก (คัดลอกไปไว้)';
+$labels['aclp'] = 'โพสต์';
+$labels['aclc'] = 'สร้างโฟลเดอร์ย่อย';
+$labels['aclk'] = 'สร้างโฟลเดอร์ย่อย';
+$labels['acld'] = 'ลบข้อความ';
+$labels['aclt'] = 'ลบข้อความ';
+$labels['aclx'] = 'ลบโฟลเดอร์';
+$labels['aclother'] = 'อื่นๆ';
+$labels['aclread'] = 'อ่าน';
+$labels['aclwrite'] = 'เขียน';
+$labels['acldelete'] = 'ลบ';
+$labels['shortaclr'] = 'อ่าน';
+$labels['shortaclw'] = 'เขียน';
+$labels['shortacli'] = 'แทรก';
+$labels['shortaclp'] = 'โพสต์';
+$labels['shortaclc'] = 'สร้าง';
+$labels['shortaclk'] = 'สร้าง';
+$labels['shortacld'] = 'ลบ';
+$labels['shortaclt'] = 'ลบ';
+$labels['shortaclx'] = 'ลบโฟลเดอร์';
+$labels['shortaclother'] = 'อื่นๆ';
+$labels['shortaclread'] = 'อ่าน';
+$labels['shortaclwrite'] = 'เขียน';
+$labels['shortacldelete'] = 'ลบ';
+?>
diff --git a/plugins/acl/localization/ti.inc b/plugins/acl/localization/ti.inc
new file mode 100644
index 0000000..751be87
--- /dev/null
+++ b/plugins/acl/localization/ti.inc
@@ -0,0 +1,67 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'ንኻልእ';
+$labels['myrights'] = 'መሰላት በዓል ዋና';
+$labels['username'] = 'በዓል ዋና';
+$labels['advanced'] = 'ዝማዕበለ አሰራርሓ';
+$labels['newuser'] = 'እታዎ ክውስኽ';
+$labels['actions'] = 'ንጥፈታት መብት ተጠቃማይነት';
+$labels['anyone'] = 'ኩሉም በዓልቲ ዋናታት(ዝኾነ ሰብ)';
+$labels['anonymous'] = 'ጋሻ(ሽም አልቦ)';
+$labels['identifier'] = 'መለለዪ';
+$labels['acll'] = 'አለሻ';
+$labels['aclr'] = 'ዝተነበቡ መልእኽታት';
+$labels['acls'] = 'ተራእዩ ብዝብል ይጽናሕ';
+$labels['aclw'] = 'ምልክታት ምጽሓፍ';
+$labels['acli'] = 'ሸጉጥ(አብ..መንጎ አቐምጥ)';
+$labels['aclp'] = 'ጠቅዕ';
+$labels['aclc'] = 'ማህደር ፍጠር';
+$labels['aclk'] = 'ክፍለማህደር ፍጠር';
+$labels['acld'] = 'መልእኽታት አጥፍእ';
+$labels['aclt'] = 'መልእኽታት አጥፍእ';
+$labels['acle'] = 'ንሓዋሩ አጥፍእ';
+$labels['aclx'] = 'ማህደር አጥፍእ';
+$labels['acla'] = 'ተቖፃፀር';
+$labels['aclfull'] = 'ምሉእ ቑጽፅር';
+$labels['aclother'] = 'ካሊእ';
+$labels['aclread'] = 'ከንብብ';
+$labels['aclwrite'] = 'ክጽሕፍ';
+$labels['acldelete'] = 'ይጥፈአለይ';
+$labels['shortacll'] = 'አለሻ';
+$labels['shortaclr'] = 'ዝተነበበ';
+$labels['shortacls'] = 'ይፅናሕ';
+$labels['shortaclw'] = 'ይጽሓፍ';
+$labels['shortacli'] = 'ይሸጎጥ';
+$labels['shortaclp'] = 'ይጠቃዕ';
+$labels['shortaclc'] = 'ይፈጠር';
+$labels['shortaclk'] = 'ይፈጠር';
+$labels['shortacld'] = 'ይጥፋእ';
+$labels['shortaclt'] = 'ይጥፋእ';
+$labels['shortacle'] = 'ንሓዋሩ ይጥፋእ';
+$labels['shortaclx'] = 'ዝጠፍእ ማህደር';
+$labels['shortacla'] = 'ክቆፃፀር';
+$labels['shortaclother'] = 'ካሊእ';
+$labels['shortaclread'] = 'ከንብብ';
+$labels['shortaclwrite'] = 'ክጽሕፍ';
+$labels['shortacldelete'] = 'ይጥፋእ';
+$labels['longaclr'] = 'ማህደር ተኸፊቱ ክንበብ ይኽእል';
+$labels['longacls'] = 'ተራእዩ ዝብል መልእኽቲ ዕላም ክለወጥ ይኽእል';
+$labels['longaclw'] = 'ዕላማትን መፍትሕ ቃላትን መልኽትታት ክልወጡ ይኽእሉ, ብዘይካ ዝተረኣዩን ዝጠፍኡን';
+$labels['longacli'] = 'መልእኽቲ ናብዚ ማህደር ክጽሓፍ ወይ ክቕዳሕ ይኽእል';
+$labels['longaclp'] = 'መልእኽቲ ናብዚ ማህደር ክኣቱ ይኽእል';
+?>
diff --git a/plugins/acl/localization/tr_TR.inc b/plugins/acl/localization/tr_TR.inc
index f3d6032..1569b59 100644
--- a/plugins/acl/localization/tr_TR.inc
+++ b/plugins/acl/localization/tr_TR.inc
@@ -89,7 +89,7 @@ $messages['saving'] = 'Erişim hakları saklanıyor...';
$messages['updatesuccess'] = 'Erişim hakları başarıyla değiştirildi';
$messages['deletesuccess'] = 'Erişim hakları başarıyla silindi';
$messages['createsuccess'] = 'Erişim hakları başarıyla eklendi';
-$messages['updateerror'] = 'Erişim hakları güncellenemedi';
+$messages['updateerror'] = 'Erişim haklarını güncellenemedi';
$messages['deleteerror'] = 'Erişim haklarını silinemedi';
$messages['createerror'] = 'Erişim hakları eklenemedi';
$messages['deleteconfirm'] = 'Seçilen kullanıcılar için erişim haklarını silmek istediğinizden emin misiniz?';
diff --git a/plugins/acl/package.xml b/plugins/acl/package.xml
index 98460e8..52e234f 100644
--- a/plugins/acl/package.xml
+++ b/plugins/acl/package.xml
@@ -22,7 +22,7 @@
<release>stable</release>
<api>stable</api>
</stability>
- <license uri="http://www.gnu.org/licenses/gpl.html">GNU GPLv3+</license>
+ <license uri="http://www.gnu.org/licenses/gpl-2.0.html">GNU GPLv2</license>
<notes>-</notes>
<contents>
<dir baseinstalldir="/" name="/">
diff --git a/plugins/acl/skins/classic/acl.css b/plugins/acl/skins/classic/acl.css
index cf3391f..0764465 100644
--- a/plugins/acl/skins/classic/acl.css
+++ b/plugins/acl/skins/classic/acl.css
@@ -47,12 +47,12 @@
#acltable tbody td.partial
{
- background: url(images/partial.png) center no-repeat;
+ background: url(images/partial.png?v=05d7.389) center no-repeat;
}
#acltable tbody td.enabled
{
- background: url(images/enabled.png) center no-repeat;
+ background: url(images/enabled.png?v=9d9a.674) center no-repeat;
}
#acltable tr.selected td
diff --git a/plugins/acl/skins/larry/acl.css b/plugins/acl/skins/larry/acl.css
index e392a26..67512a6 100644
--- a/plugins/acl/skins/larry/acl.css
+++ b/plugins/acl/skins/larry/acl.css
@@ -65,14 +65,14 @@
#acltable tbody td.partial
{
- background-image: url(images/partial.png);
+ background-image: url(images/partial.png?v=05d7.389);
background-position: center;
background-repeat: no-repeat;
}
#acltable tbody td.enabled
{
- background-image: url(images/enabled.png);
+ background-image: url(images/enabled.png?v=9d9a.674);
background-position: center;
background-repeat: no-repeat;
}
@@ -80,21 +80,21 @@
#acltable tbody tr.selected td.partial
{
background-color: #019bc6;
- background-image: url(images/partial.png), -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%);
- background-image: url(images/partial.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4));
- background-image: url(images/partial.png), -o-linear-gradient(top, #019bc6 0%, #017cb4 100%);
- background-image: url(images/partial.png), -ms-linear-gradient(top, #019bc6 0%, #017cb4 100%);
- background-image: url(images/partial.png), linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background-image: url(images/partial.png?v=05d7.389), -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background-image: url(images/partial.png?v=05d7.389), -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4));
+ background-image: url(images/partial.png?v=05d7.389), -o-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background-image: url(images/partial.png?v=05d7.389), -ms-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background-image: url(images/partial.png?v=05d7.389), linear-gradient(top, #019bc6 0%, #017cb4 100%);
}
#acltable tbody tr.selected td.enabled
{
background-color: #019bc6;
- background-image: url(images/enabled.png), -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%);
- background-image: url(images/enabled.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4));
- background-image: url(images/enabled.png), -o-linear-gradient(top, #019bc6 0%, #017cb4 100%);
- background-image: url(images/enabled.png), -ms-linear-gradient(top, #019bc6 0%, #017cb4 100%);
- background-image: url(images/enabled.png), linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background-image: url(images/enabled.png?v=9d9a.674), -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background-image: url(images/enabled.png?v=9d9a.674), -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4));
+ background-image: url(images/enabled.png?v=9d9a.674), -o-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background-image: url(images/enabled.png?v=9d9a.674), -ms-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+ background-image: url(images/enabled.png?v=9d9a.674), linear-gradient(top, #019bc6 0%, #017cb4 100%);
}
#aclform
diff --git a/plugins/additional_message_headers/additional_message_headers.php b/plugins/additional_message_headers/additional_message_headers.php
index 0d16e60..43f9d00 100644
--- a/plugins/additional_message_headers/additional_message_headers.php
+++ b/plugins/additional_message_headers/additional_message_headers.php
@@ -6,8 +6,8 @@
* Very simple plugin which will add additional headers
* to or remove them from outgoing messages.
*
- * Enable the plugin in config.inc.php and add your desired headers:
- * $config['additional_message_headers'] = array('User-Agent' => 'My-Very-Own-Webmail');
+ * Enable the plugin in config/main.inc.php and add your desired headers:
+ * $rcmail_config['additional_message_headers'] = array('User-Agent');
*
* @version @package_version@
* @author Ziba Scott
diff --git a/plugins/additional_message_headers/config.inc.php.dist b/plugins/additional_message_headers/config.inc.php.dist
index 72a4f1c..83ccd86 100644
--- a/plugins/additional_message_headers/config.inc.php.dist
+++ b/plugins/additional_message_headers/config.inc.php.dist
@@ -1,14 +1,14 @@
<?php
-// $config['additional_message_headers']['X-Remote-Browser'] = $_SERVER['HTTP_USER_AGENT'];
-// $config['additional_message_headers']['X-Originating-IP'] = $_SERVER['REMOTE_ADDR'];
-// $config['additional_message_headers']['X-RoundCube-Server'] = $_SERVER['SERVER_ADDR'];
+// $rcmail_config['additional_message_headers']['X-Remote-Browser'] = $_SERVER['HTTP_USER_AGENT'];
+// $rcmail_config['additional_message_headers']['X-Originating-IP'] = $_SERVER['REMOTE_ADDR'];
+// $rcmail_config['additional_message_headers']['X-RoundCube-Server'] = $_SERVER['SERVER_ADDR'];
// if( isset( $_SERVER['MACHINE_NAME'] )) {
-// $config['additional_message_headers']['X-RoundCube-Server'] .= ' (' . $_SERVER['MACHINE_NAME'] . ')';
+// $rcmail_config['additional_message_headers']['X-RoundCube-Server'] .= ' (' . $_SERVER['MACHINE_NAME'] . ')';
// }
// To remove (e.g. X-Sender) message header use null value
-// $config['additional_message_headers']['X-Sender'] = null;
+// $rcmail_config['additional_message_headers']['X-Sender'] = null;
?>
diff --git a/plugins/archive/archive.js b/plugins/archive/archive.js
index 3500b9f..af2b0d2 100644
--- a/plugins/archive/archive.js
+++ b/plugins/archive/archive.js
@@ -1,47 +1,34 @@
/*
* Archive plugin script
- * @version 2.0
+ * @version @package_version@
*/
function rcmail_archive(prop)
{
if (!rcmail.env.uid && (!rcmail.message_list || !rcmail.message_list.get_selection().length))
return;
-
- if (rcmail.env.mailbox.indexOf(rcmail.env.archive_folder) != 0) {
- if (!rcmail.env.archive_type) {
- // simply move to archive folder (if no partition type is set)
- rcmail.command('move', rcmail.env.archive_folder);
- }
- else {
- // let the server sort the messages to the according subfolders
- var post_data = { _uid: rcmail.message_list.get_selection().join(','), _mbox: rcmail.env.mailbox };
- rcmail.http_post('plugin.move2archive', post_data);
- }
- }
+
+ if (rcmail.env.mailbox != rcmail.env.archive_folder)
+ rcmail.command('moveto', rcmail.env.archive_folder);
}
// callback for app-onload event
if (window.rcmail) {
rcmail.addEventListener('init', function(evt) {
+
// register command (directly enable in message view mode)
rcmail.register_command('plugin.archive', rcmail_archive, (rcmail.env.uid && rcmail.env.mailbox != rcmail.env.archive_folder));
-
+
// add event-listener to message list
if (rcmail.message_list)
- rcmail.message_list.addEventListener('select', function(list) {
+ rcmail.message_list.addEventListener('select', function(list){
rcmail.enable_command('plugin.archive', (list.get_selection().length > 0 && rcmail.env.mailbox != rcmail.env.archive_folder));
});
-
+
// set css style for archive folder
var li;
if (rcmail.env.archive_folder && (li = rcmail.get_folder_li(rcmail.env.archive_folder, '', true)))
$(li).addClass('archive');
-
- // callback for server response
- rcmail.addEventListener('plugin.move2archive_response', function(result) {
- if (result.update)
- rcmail.command('checkmail'); // refresh list
- });
})
}
+
diff --git a/plugins/archive/archive.php b/plugins/archive/archive.php
index 7a81606..0a298cb 100644
--- a/plugins/archive/archive.php
+++ b/plugins/archive/archive.php
@@ -6,7 +6,7 @@
* Plugin that adds a new button to the mailbox toolbar
* to move messages to a (user selectable) archive folder.
*
- * @version 2.0
+ * @version @package_version@
* @license GNU GPLv3+
* @author Andre Rodier, Thomas Bruederli
*/
@@ -41,23 +41,18 @@ class archive extends rcube_plugin
'domain' => $this->ID,
),
'toolbar');
-
+
// register hook to localize the archive folder
$this->add_hook('render_mailboxlist', array($this, 'render_mailboxlist'));
- // set env variables for client
+ // set env variable for client
$rcmail->output->set_env('archive_folder', $archive_folder);
- $rcmail->output->set_env('archive_type', $rcmail->config->get('archive_type',''));
// add archive folder to the list of default mailboxes
if (($default_folders = $rcmail->config->get('default_folders')) && !in_array($archive_folder, $default_folders)) {
$default_folders[] = $archive_folder;
$rcmail->config->set('default_folders', $default_folders);
- }
- }
- else if ($rcmail->task == 'mail') {
- // handler for ajax request
- $this->register_action('plugin.move2archive', array($this, 'move_messages'));
+ }
}
else if ($rcmail->task == 'settings') {
$dont_override = $rcmail->config->get('dont_override', array());
@@ -67,18 +62,15 @@ class archive extends rcube_plugin
}
}
}
-
- /**
- * Hook to give the archive folder a localized name in the mailbox list
- */
+
function render_mailboxlist($p)
{
$rcmail = rcmail::get_instance();
$archive_folder = $rcmail->config->get('archive_mbox');
- $show_real_name = $rcmail->config->get('show_real_foldernames');
+ $localize_name = $rcmail->config->get('archive_localize_name', true);
// set localized name for the configured archive folder
- if ($archive_folder && !$show_real_name) {
+ if ($archive_folder && $localize_name) {
if (isset($p['list'][$archive_folder]))
$p['list'][$archive_folder]['name'] = $this->gettext('archivefolder');
else // search in subfolders
@@ -88,10 +80,7 @@ class archive extends rcube_plugin
return $p;
}
- /**
- * Helper method to find the archive folder in the mailbox tree
- */
- private function _mod_folder_name(&$list, $folder, $new_name)
+ function _mod_folder_name(&$list, $folder, $new_name)
{
foreach ($list as $idx => $item) {
if ($item['id'] == $folder) {
@@ -104,100 +93,6 @@ class archive extends rcube_plugin
return false;
}
- /**
- * Plugin action to move the submitted list of messages to the archive subfolders
- * according to the user settings and their headers.
- */
- function move_messages()
- {
- $rcmail = rcmail::get_instance();
- $this->add_texts('localization');
-
- $storage = $rcmail->get_storage();
- $storage->set_folder(($current_mbox = rcube_utils::get_input_value('_mbox', RCUBE_INPUT_POST)));
-
- $delimiter = $storage->get_hierarchy_delimiter();
- $archive_folder = $rcmail->config->get('archive_mbox');
- $archive_type = $rcmail->config->get('archive_type', '');
-
- $result = array('reload' => false, 'update' => false, 'errors' => array());
-
- $uids = explode(',', rcube_utils::get_input_value('_uid', RCUBE_INPUT_POST));
- foreach ($uids as $uid) {
- if (!$archive_folder || !($message = $rcmail->storage->get_message($uid))) {
- continue;
- }
-
- $subfolder = null;
- switch ($archive_type) {
- case 'year':
- $subfolder = $rcmail->format_date($message->timestamp, 'Y');
- break;
-
- case 'month':
- $subfolder = $rcmail->format_date($message->timestamp, 'Y') . $delimiter . $rcmail->format_date($message->timestamp, 'm');
- break;
-
- case 'folder':
- $subfolder = $current_mbox;
- break;
-
- case 'sender':
- $from = $message->get('from');
- if (preg_match('/[\b<](.+@.+)[\b>]/i', $from, $m)) {
- $subfolder = $m[1];
- }
- else {
- $subfolder = $this->gettext('unkownsender');
- }
-
- // replace reserved characters in folder name
- $repl = $delimiter == '-' ? '_' : '-';
- $replacements[$delimiter] = $repl;
- $replacements['.'] = $repl; // some IMAP server do not allow . characters
- $subfolder = strtr($subfolder, $replacements);
- break;
-
- default:
- $subfolder = '';
- break;
- }
-
- // compose full folder path
- $folder = $archive_folder . ($subfolder ? $delimiter . $subfolder : '');
-
- // create archive subfolder if it doesn't yet exist
- if (!$storage->folder_exists($folder, false)) {
- if ($storage->create_folder($folder, true))
- $result['reload'] = true;
- }
-
- // move message to target folder
- if ($storage->move_message(array($uid), $folder)) {
- $result['update'] = true;
- }
- else {
- $result['errors'][] = $uid;
- }
- } // end for
-
- // send response
- if ($result['errors']) {
- $rcmail->output->show_message($this->gettext('archiveerror'), 'warning');
- }
- if ($result['reload']) {
- $rcmail->output->show_message($this->gettext('archivedreload'), 'confirmation');
- }
- else if ($result['update']) {
- $rcmail->output->show_message($this->gettext('archived'), 'confirmation');
- }
-
- $rcmail->output->command('plugin.move2archive_response', $result);
- }
-
- /**
- * Hook to inject plugin-specific user settings
- */
function prefs_table($args)
{
global $CURR_SECTION;
@@ -209,7 +104,7 @@ class archive extends rcube_plugin
// load folders list when needed
if ($CURR_SECTION)
- $select = $rcmail->folder_selector(array('noselection' => '---', 'realnames' => true,
+ $select = rcmail_mailbox_select(array('noselection' => '---', 'realnames' => true,
'maxlength' => 30, 'exceptions' => array('INBOX'), 'folder_filter' => 'mail', 'folder_rights' => 'w'));
else
$select = new html_select();
@@ -218,36 +113,15 @@ class archive extends rcube_plugin
'title' => $this->gettext('archivefolder'),
'content' => $select->show($rcmail->config->get('archive_mbox'), array('name' => "_archive_mbox"))
);
-
- // add option for structuring the archive folder
- $archive_type = new html_select(array('name' => '_archive_type', 'id' => 'ff_archive_type'));
- $archive_type->add($this->gettext('none'), '');
- $archive_type->add($this->gettext('archivetypeyear'), 'year');
- $archive_type->add($this->gettext('archivetypemonth'), 'month');
- $archive_type->add($this->gettext('archivetypesender'), 'sender');
- $archive_type->add($this->gettext('archivetypefolder'), 'folder');
-
- $args['blocks']['archive'] = array(
- 'name' => Q(rcube_label('settingstitle', 'archive')),
- 'options' => array('archive_type' => array(
- 'title' => $this->gettext('archivetype'),
- 'content' => $archive_type->show($rcmail->config->get('archive_type'))
- )
- )
- );
}
return $args;
}
- /**
- * Hook to save plugin-specific user settings
- */
function save_prefs($args)
{
if ($args['section'] == 'folders') {
- $args['prefs']['archive_mbox'] = rcube_utils::get_input_value('_archive_mbox', rcube_utils::INPUT_POST);
- $args['prefs']['archive_type'] = rcube_utils::get_input_value('_archive_type', rcube_utils::INPUT_POST);
+ $args['prefs']['archive_mbox'] = get_input_value('_archive_mbox', RCUBE_INPUT_POST);
return $args;
}
}
diff --git a/plugins/archive/localization/ar.inc b/plugins/archive/localization/ar.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/ar.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/ast.inc b/plugins/archive/localization/ast.inc
new file mode 100644
index 0000000..546c335
--- /dev/null
+++ b/plugins/archive/localization/ast.inc
@@ -0,0 +1,31 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+$labels['buttontext'] = 'Archivu';
+$labels['buttontitle'] = 'Archivar esti mensaxe';
+$labels['archived'] = 'Mensaxe archiváu';
+$labels['archivedreload'] = 'Archiváu correchamente. Recarga la páxina pa ver les nueves carpetes d\'archivu.';
+$labels['archiveerror'] = 'Nun pudieron archivase dalgunos mensaxes';
+$labels['archivefolder'] = 'Archivu';
+$labels['settingstitle'] = 'Archivu';
+$labels['archivetype'] = 'Dividir l\'archivu por';
+$labels['archivetypeyear'] = 'Añu (p.ex. Archivu/2012)';
+$labels['archivetypemonth'] = 'Mes (p.ex. Archivu/2012/06)';
+$labels['archivetypefolder'] = 'Bandexa orixinal';
+$labels['archivetypesender'] = 'Corréu-e del remitente';
+$labels['unkownsender'] = 'desconocíu';
+?>
diff --git a/plugins/archive/localization/bn_BD.inc b/plugins/archive/localization/bn_BD.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/bn_BD.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/en_US.inc b/plugins/archive/localization/en_US.inc
index d3714c1..fade708 100644
--- a/plugins/archive/localization/en_US.inc
+++ b/plugins/archive/localization/en_US.inc
@@ -5,7 +5,7 @@
| plugins/archive/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail Archive plugin |
- | Copyright (C) 2013, The Roundcube Dev Team |
+ | Copyright (C) 2012, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -20,15 +20,6 @@ $labels = array();
$labels['buttontext'] = 'Archive';
$labels['buttontitle'] = 'Archive this message';
$labels['archived'] = 'Successfully archived';
-$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.';
-$labels['archiveerror'] = 'Some messages could not be archived';
$labels['archivefolder'] = 'Archive';
-$labels['settingstitle'] = 'Archive';
-$labels['archivetype'] = 'Divide archive by';
-$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)';
-$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)';
-$labels['archivetypefolder'] = 'Original folder';
-$labels['archivetypesender'] = 'Sender email';
-$labels['unkownsender'] = 'unknown';
?>
diff --git a/plugins/archive/localization/eu_ES.inc b/plugins/archive/localization/eu_ES.inc
new file mode 100644
index 0000000..c4f0e7b
--- /dev/null
+++ b/plugins/archive/localization/eu_ES.inc
@@ -0,0 +1,31 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+$labels['buttontext'] = 'Gorde';
+$labels['buttontitle'] = 'Gorde mezu hau';
+$labels['archived'] = 'Ongi gorde da';
+$labels['archivedreload'] = 'Ongi gorde da. Freskatu orria fitxategi-karpeta berria ikusteko.';
+$labels['archiveerror'] = 'Mezu batzuk ezin dira gorde.';
+$labels['archivefolder'] = 'Gorde';
+$labels['settingstitle'] = 'Gorde';
+$labels['archivetype'] = 'Banatu honen arabera';
+$labels['archivetypeyear'] = 'Urtea (e.b. Archive/2012)';
+$labels['archivetypemonth'] = 'Hilabete (e.b. Archive/2012/06)';
+$labels['archivetypefolder'] = 'Jatorrizko karpeta';
+$labels['archivetypesender'] = 'Bidaltzailearen helbidea';
+$labels['unkownsender'] = 'ezezaguna';
+?>
diff --git a/plugins/archive/localization/fa_AF.inc b/plugins/archive/localization/fa_AF.inc
new file mode 100644
index 0000000..fafccb5
--- /dev/null
+++ b/plugins/archive/localization/fa_AF.inc
@@ -0,0 +1,26 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+$labels['buttontext'] = 'ارشیو';
+$labels['buttontitle'] = 'ارشیو این پیام';
+$labels['archived'] = 'با موفقیت ارشیو شد';
+$labels['archivefolder'] = 'ارشیو';
+$labels['settingstitle'] = 'ارشیو';
+$labels['archivetypefolder'] = 'پوشه اصلی';
+$labels['archivetypesender'] = 'ایمیل فرستنده';
+$labels['unkownsender'] = 'نا شناس';
+?>
diff --git a/plugins/archive/localization/fa_IR.inc b/plugins/archive/localization/fa_IR.inc
index 03bf6d8..9df31ed 100644
--- a/plugins/archive/localization/fa_IR.inc
+++ b/plugins/archive/localization/fa_IR.inc
@@ -20,11 +20,11 @@ $labels = array();
$labels['buttontext'] = 'بایگانی';
$labels['buttontitle'] = 'بایگانی این پیغام';
$labels['archived'] = 'با موفقیت بایگانی شد';
-$labels['archivedreload'] = 'با موفقیت بایگانی شد. برای دیدن پوشه‌های بایگانی جدید صفحه را مجددا بارگذاری نمایید.';
-$labels['archiveerror'] = 'برخی از پیغام‌ها بایگانی نشدند.';
+$labels['archivedreload'] = 'با موفقیت بایگانی شد، بارگذاری مجدد صفحه برای دیدن پوشه‌های بایگانی جدید.';
+$labels['archiveerror'] = 'برخی پیغام‌ها بایگانی نخواهند شد';
$labels['archivefolder'] = 'بایگانی';
$labels['settingstitle'] = 'بایگانی';
-$labels['archivetype'] = 'تقسیم بایگانی با';
+$labels['archivetype'] = 'جدا کردن بایگانی با';
$labels['archivetypeyear'] = 'سال (به عنوان مثال بایگانی/۲۰۱۲)';
$labels['archivetypemonth'] = 'ماه (به عنوان مثال بایگانی/۲۰۱۲/۰۶)';
$labels['archivetypefolder'] = 'پوشه اصلی';
diff --git a/plugins/archive/localization/fi_FI.inc b/plugins/archive/localization/fi_FI.inc
index 261bc19..9dda46e 100644
--- a/plugins/archive/localization/fi_FI.inc
+++ b/plugins/archive/localization/fi_FI.inc
@@ -20,15 +20,15 @@ $labels = array();
$labels['buttontext'] = 'Arkistoi';
$labels['buttontitle'] = 'Arkistoi viesti';
$labels['archived'] = 'Arkistoitu onnistuneesti';
-$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.';
-$labels['archiveerror'] = 'Some messages could not be archived';
+$labels['archivedreload'] = 'Arkistointi onnistui. Päivitä sivu nähdäksesi uudet arkistokansiot.';
+$labels['archiveerror'] = 'Joidenkin viestien arkistointi epäonnistui';
$labels['archivefolder'] = 'Arkistoi';
-$labels['settingstitle'] = 'Archive';
-$labels['archivetype'] = 'Divide archive by';
-$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)';
-$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)';
-$labels['archivetypefolder'] = 'Original folder';
-$labels['archivetypesender'] = 'Sender email';
-$labels['unkownsender'] = 'unknown';
+$labels['settingstitle'] = 'Arkistoi';
+$labels['archivetype'] = 'Jaa arkisto';
+$labels['archivetypeyear'] = 'Vuodella (esim. Arkisto/2012)';
+$labels['archivetypemonth'] = 'Kuukaudella (esim. Arkisto/2012/06)';
+$labels['archivetypefolder'] = 'Alkuperäinen kansio';
+$labels['archivetypesender'] = 'Lähettäjän osoite';
+$labels['unkownsender'] = 'tuntematon';
?>
diff --git a/plugins/archive/localization/fr_FR.inc b/plugins/archive/localization/fr_FR.inc
index fbed872..638de3a 100644
--- a/plugins/archive/localization/fr_FR.inc
+++ b/plugins/archive/localization/fr_FR.inc
@@ -19,16 +19,16 @@
$labels = array();
$labels['buttontext'] = 'Archive';
$labels['buttontitle'] = 'Archiver ce message';
-$labels['archived'] = 'Message archivé avec success';
+$labels['archived'] = 'Message archivé avec succès';
$labels['archivedreload'] = 'Archivé avec succès. Rechargez la page pour voir les nouveaux dossiers d\'archivage.';
$labels['archiveerror'] = 'Certains messages n\'ont pas pu être archivés.';
$labels['archivefolder'] = 'Archive';
$labels['settingstitle'] = 'Archive';
-$labels['archivetype'] = 'Diviser l\'archive en';
+$labels['archivetype'] = 'Diviser l\'archive par';
$labels['archivetypeyear'] = 'Année (ex Archives/2012)';
$labels['archivetypemonth'] = 'Mois (ex Archives/2012/06)';
$labels['archivetypefolder'] = 'Dossier original';
-$labels['archivetypesender'] = 'Email de l\'émetteur';
+$labels['archivetypesender'] = 'Courriel de l\'émetteur';
$labels['unkownsender'] = 'inconnu';
?>
diff --git a/plugins/archive/localization/hi_IN.inc b/plugins/archive/localization/hi_IN.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/hi_IN.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/ia.inc b/plugins/archive/localization/ia.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/ia.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/lb_LU.inc b/plugins/archive/localization/lb_LU.inc
index 6e9e6db..ac16cfe 100644
--- a/plugins/archive/localization/lb_LU.inc
+++ b/plugins/archive/localization/lb_LU.inc
@@ -15,8 +15,6 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
*/
-
-$labels = array();
$labels['buttontext'] = 'Archivéieren';
$labels['buttontitle'] = 'Dëse Message archivéieren';
$labels['archived'] = 'Erfollegräich archivéiert';
@@ -30,5 +28,4 @@ $labels['archivetypemonth'] = 'Mount (z.B. Archiv/2013/06)';
$labels['archivetypefolder'] = 'Original-Dossier';
$labels['archivetypesender'] = 'Sender-E-Mail';
$labels['unkownsender'] = 'onbekannt';
-
?>
diff --git a/plugins/archive/localization/lv_LV.inc b/plugins/archive/localization/lv_LV.inc
index d4c8927..ad2812f 100644
--- a/plugins/archive/localization/lv_LV.inc
+++ b/plugins/archive/localization/lv_LV.inc
@@ -18,17 +18,17 @@
$labels = array();
$labels['buttontext'] = 'Arhīvs';
-$labels['buttontitle'] = 'Arhivēt šo vēstuli';
-$labels['archived'] = 'Vēstule veiksmīgi arhivēta';
-$labels['archivedreload'] = 'Arhīvs veiksmīgi izveidots. Lai redzētu jaunās arhīva mapes, pārlādējiet lapu.';
-$labels['archiveerror'] = 'Dažas vēstules nebija iespējams arhivēt';
+$labels['buttontitle'] = 'Arhivēt vēstuli';
+$labels['archived'] = 'Vēstule sekmīgi arhivēta';
+$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.';
+$labels['archiveerror'] = 'Some messages could not be archived';
$labels['archivefolder'] = 'Arhīvs';
-$labels['settingstitle'] = 'Arhīvs';
-$labels['archivetype'] = 'Sadalīt arhīvu pa';
-$labels['archivetypeyear'] = 'Gadiem (piem. Arhīvs/2012)';
-$labels['archivetypemonth'] = 'Mēnešiem (piem. Arhīvs/2012/06)';
-$labels['archivetypefolder'] = 'Sākotnējā mape';
-$labels['archivetypesender'] = 'Sūtītāja e-pasts';
-$labels['unkownsender'] = 'nezināms';
+$labels['settingstitle'] = 'Archive';
+$labels['archivetype'] = 'Divide archive by';
+$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)';
+$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)';
+$labels['archivetypefolder'] = 'Original folder';
+$labels['archivetypesender'] = 'Sender email';
+$labels['unkownsender'] = 'unknown';
?>
diff --git a/plugins/archive/localization/mn_MN.inc b/plugins/archive/localization/mn_MN.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/mn_MN.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/ms_MY.inc b/plugins/archive/localization/ms_MY.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/ms_MY.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/my_MM.inc b/plugins/archive/localization/my_MM.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/my_MM.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/nb_NB.inc b/plugins/archive/localization/nb_NB.inc
new file mode 100644
index 0000000..46e49ab
--- /dev/null
+++ b/plugins/archive/localization/nb_NB.inc
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/nb_NB/labels.inc |
+ | |
+ | Language file of the Roundcube Webmail client |
+ | Copyright (C) 2012, The Roundcube Dev Team |
+ | Licensed under the GNU General Public License |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Tobias V. Langhoff <spug@thespug.net> |
+ +-----------------------------------------------------------------------+
+*/
+
+$labels = array();
+$labels['buttontext'] = 'Arkiv';
+$labels['archivefolder'] = 'Arkiv';
+$labels['buttontitle'] = 'Arkiver meldingen';
+$labels['archived'] = 'Arkivert';
+
diff --git a/plugins/archive/localization/nb_NO.inc b/plugins/archive/localization/nb_NO.inc
index 62ea381..accad4e 100644
--- a/plugins/archive/localization/nb_NO.inc
+++ b/plugins/archive/localization/nb_NO.inc
@@ -28,7 +28,7 @@ $labels['archivetype'] = 'Del arkiv etter';
$labels['archivetypeyear'] = 'År (f.eks. Arkiv/2012)';
$labels['archivetypemonth'] = 'Måned (f.eks. Arkiv/2012/06)';
$labels['archivetypefolder'] = 'Opprinnelig mappe';
-$labels['archivetypesender'] = 'Sender email';
+$labels['archivetypesender'] = 'Avsender';
$labels['unkownsender'] = 'ukjent';
?>
diff --git a/plugins/archive/localization/nl_BE.inc b/plugins/archive/localization/nl_BE.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/nl_BE.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/nn_NO.inc b/plugins/archive/localization/nn_NO.inc
index 01effaa..4b28016 100644
--- a/plugins/archive/localization/nn_NO.inc
+++ b/plugins/archive/localization/nn_NO.inc
@@ -28,7 +28,7 @@ $labels['archivetype'] = 'Del arkiv etter';
$labels['archivetypeyear'] = 'År (f.eks. Arkiv/2012)';
$labels['archivetypemonth'] = 'Månad (f.eks. Arkiv/2012/06)';
$labels['archivetypefolder'] = 'Opprinneleg mappe';
-$labels['archivetypesender'] = 'Sender email';
+$labels['archivetypesender'] = 'Avsendar';
$labels['unkownsender'] = 'ukjent';
?>
diff --git a/plugins/archive/localization/nqo.inc b/plugins/archive/localization/nqo.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/nqo.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/om.inc b/plugins/archive/localization/om.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/om.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/pt_BR.inc b/plugins/archive/localization/pt_BR.inc
index 05508e2..3df6cfd 100644
--- a/plugins/archive/localization/pt_BR.inc
+++ b/plugins/archive/localization/pt_BR.inc
@@ -20,15 +20,15 @@ $labels = array();
$labels['buttontext'] = 'Arquivo';
$labels['buttontitle'] = 'Arquivar esta mensagem';
$labels['archived'] = 'Arquivada com sucesso';
-$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.';
-$labels['archiveerror'] = 'Some messages could not be archived';
+$labels['archivedreload'] = 'Arquivado com sucesso. Recarregue a página para ver as novas pastas de arquivo.';
+$labels['archiveerror'] = 'Algumas mensagens não puderam ser arquivadas';
$labels['archivefolder'] = 'Arquivo';
-$labels['settingstitle'] = 'Archive';
-$labels['archivetype'] = 'Divide archive by';
-$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)';
-$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)';
-$labels['archivetypefolder'] = 'Original folder';
-$labels['archivetypesender'] = 'Sender email';
-$labels['unkownsender'] = 'unknown';
+$labels['settingstitle'] = 'Arquivo';
+$labels['archivetype'] = 'Dividir arquivo por';
+$labels['archivetypeyear'] = 'Ano (isto é, Arquivo/2012)';
+$labels['archivetypemonth'] = 'Mês (isto é, Arquivo/2012/06)';
+$labels['archivetypefolder'] = 'Pasta original';
+$labels['archivetypesender'] = 'E-mail do remetente';
+$labels['unkownsender'] = 'desconhecido';
?>
diff --git a/plugins/archive/localization/ro_RO.inc b/plugins/archive/localization/ro_RO.inc
index e88e918..6fa5cee 100644
--- a/plugins/archive/localization/ro_RO.inc
+++ b/plugins/archive/localization/ro_RO.inc
@@ -18,13 +18,13 @@
$labels = array();
$labels['buttontext'] = 'Arhivă';
-$labels['buttontitle'] = 'Arhivează acest mesaj.';
+$labels['buttontitle'] = 'Arhivează mesajul.';
$labels['archived'] = 'Arhivare reuşită.';
$labels['archivedreload'] = 'Arhivat cu succes. Reîncărcați pagina pentru a vedea noul dosar de arhivare.';
-$labels['archiveerror'] = 'Câteva mesaje nu au putut fi arhivate';
+$labels['archiveerror'] = 'Unele mesaje nu au putut fi arhivate';
$labels['archivefolder'] = 'Arhivă';
$labels['settingstitle'] = 'Arhivă';
-$labels['archivetype'] = 'Divide arhiva pe';
+$labels['archivetype'] = 'Împarte arhiva pe';
$labels['archivetypeyear'] = 'Ani (ex. Arhiva/2013)';
$labels['archivetypemonth'] = 'Luni (ex. Arhiva/2013/06)';
$labels['archivetypefolder'] = 'Dosar original';
diff --git a/plugins/archive/localization/te_IN.inc b/plugins/archive/localization/te_IN.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/te_IN.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/th_TH.inc b/plugins/archive/localization/th_TH.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/th_TH.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/ti.inc b/plugins/archive/localization/ti.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/ti.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/tzm.inc b/plugins/archive/localization/tzm.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/tzm.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/ur_PK.inc b/plugins/archive/localization/ur_PK.inc
new file mode 100644
index 0000000..8e95162
--- /dev/null
+++ b/plugins/archive/localization/ur_PK.inc
@@ -0,0 +1,18 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+?>
diff --git a/plugins/archive/localization/zh_CN.inc b/plugins/archive/localization/zh_CN.inc
index 17af54c..4a13d54 100644
--- a/plugins/archive/localization/zh_CN.inc
+++ b/plugins/archive/localization/zh_CN.inc
@@ -18,17 +18,17 @@
$labels = array();
$labels['buttontext'] = '存档';
-$labels['buttontitle'] = '将该信息存档';
+$labels['buttontitle'] = '存档该信息';
$labels['archived'] = '存档成功';
-$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.';
-$labels['archiveerror'] = 'Some messages could not be archived';
+$labels['archivedreload'] = '存档成功。请刷新本页以查看新的存档文件夹。';
+$labels['archiveerror'] = '部分信息无法存档';
$labels['archivefolder'] = '存档';
-$labels['settingstitle'] = 'Archive';
-$labels['archivetype'] = 'Divide archive by';
-$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)';
-$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)';
-$labels['archivetypefolder'] = 'Original folder';
-$labels['archivetypesender'] = 'Sender email';
-$labels['unkownsender'] = 'unknown';
+$labels['settingstitle'] = '存档';
+$labels['archivetype'] = '分类存档按';
+$labels['archivetypeyear'] = '年(例如 存档/2012)';
+$labels['archivetypemonth'] = '月(例如 存档/2012/06)';
+$labels['archivetypefolder'] = '原始文件夹';
+$labels['archivetypesender'] = '发件人邮件';
+$labels['unkownsender'] = '未知';
?>
diff --git a/plugins/archive/package.xml b/plugins/archive/package.xml
index 62a009a..1aeffaf 100644
--- a/plugins/archive/package.xml
+++ b/plugins/archive/package.xml
@@ -6,17 +6,17 @@
<name>archive</name>
<channel>pear.roundcube.net</channel>
<summary>Archive feature for Roundcube</summary>
- <description>This adds a button to move the selected messages to an archive folder. The folder (and the optional structure of subfolders) can be selected in the settings panel.</description>
+ <description>This adds a button to move the selected messages to an archive folder. The folder can be selected in the settings panel.</description>
<lead>
<name>Thomas Bruederli</name>
<user>thomasb</user>
<email>roundcube@gmail.com</email>
<active>yes</active>
</lead>
- <date>2013-01-20</date>
+ <date>2011-11-23</date>
<version>
- <release>2.0</release>
- <api>2.0</api>
+ <release>1.6</release>
+ <api>1.6</api>
</version>
<stability>
<release>stable</release>
@@ -34,55 +34,21 @@
<tasks:replace from="@name@" to="name" type="package-info"/>
<tasks:replace from="@package_version@" to="version" type="package-info"/>
</file>
- <file name="localization/ar_SA.inc" role="data"></file>
- <file name="localization/az_AZ.inc" role="data"></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.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/eb_GB.inc" role="data"></file>
<file name="localization/en_US.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/hy_AM.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/km_KH.inc" role="data"></file>
- <file name="localization/ko_KR.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_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/nn_NO.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/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/sr_CS.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/classic/archive_act.png" role="data"></file>
<file name="skins/classic/archive_pas.png" role="data"></file>
diff --git a/plugins/attachment_reminder/localization/ar.inc b/plugins/attachment_reminder/localization/ar.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ar.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/ar_SA.inc b/plugins/attachment_reminder/localization/ar_SA.inc
new file mode 100644
index 0000000..bb1ad04
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ar_SA.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "هل نسيت إرفاق ملف؟";
+$messages['reminderoption'] = "تذكير حول المرفقات المنسية";
+$messages['keywords'] = "المرفقات,الملف,ارفاق,مرفق,ارفاق,مضمون,CV,صفحة المغلف";
diff --git a/plugins/attachment_reminder/localization/az_AZ.inc b/plugins/attachment_reminder/localization/az_AZ.inc
new file mode 100644
index 0000000..5340c91
--- /dev/null
+++ b/plugins/attachment_reminder/localization/az_AZ.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Faylı əlavə etməyi unutdunuz?";
+$messages['reminderoption'] = "Unudulmuş qoşmalardan xəbərdar et";
+$messages['keywords'] = "qoşmalar,fayl,qoşma,qoşulub,qoşulur,qapalı,CV,qoşma məktub";
diff --git a/plugins/attachment_reminder/localization/be_BE.inc b/plugins/attachment_reminder/localization/be_BE.inc
new file mode 100644
index 0000000..a920ccf
--- /dev/null
+++ b/plugins/attachment_reminder/localization/be_BE.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Забыліся далучыць файл?";
+$messages['reminderoption'] = "Напамінаць пра забытыя далучэнні";
+$messages['keywords'] = "далучэнне,файл,далучыць,далучаны,далучаецца,укладзены,CV,cover letter";
diff --git a/plugins/attachment_reminder/localization/bg_BG.inc b/plugins/attachment_reminder/localization/bg_BG.inc
new file mode 100644
index 0000000..a882d6c
--- /dev/null
+++ b/plugins/attachment_reminder/localization/bg_BG.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Забравихте ли да прикрепите файл към съобщението?";
+$messages['reminderoption'] = "Напомняне за забравени прикачени файлове";
+$messages['keywords'] = "прикачен,прикрепен,прикачам,прикачвам,прикрепям,прикрепвам,файл,attachment,file,attach,attached,attaching,enclosed,CV,cover letter";
diff --git a/plugins/attachment_reminder/localization/bn_BD.inc b/plugins/attachment_reminder/localization/bn_BD.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/bn_BD.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/bs_BA.inc b/plugins/attachment_reminder/localization/bs_BA.inc
new file mode 100644
index 0000000..1ec385d
--- /dev/null
+++ b/plugins/attachment_reminder/localization/bs_BA.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Da li ste zaboravili da dodate ovu datoteku?";
+$messages['reminderoption'] = "Napomene o zaboravljenim prilozima";
+$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter,prilog,biografija,popratno pismo,prilogu,popratnom pismu,datoteka,fajl";
diff --git a/plugins/attachment_reminder/localization/ca_ES.inc b/plugins/attachment_reminder/localization/ca_ES.inc
new file mode 100644
index 0000000..957548b
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ca_ES.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Heu oblidat afegir un fitxer?";
+$messages['reminderoption'] = "Avís de fitxers adjunts oblidats";
+$messages['keywords'] = "adjunt,fitxer,adjuntar,adjuntat,adjuntant,CV,carta";
diff --git a/plugins/attachment_reminder/localization/cs_CZ.inc b/plugins/attachment_reminder/localization/cs_CZ.inc
new file mode 100644
index 0000000..3d21664
--- /dev/null
+++ b/plugins/attachment_reminder/localization/cs_CZ.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Nezapomněli jste připojit přílohu?";
+$messages['reminderoption'] = "Upozorňovat na zapomenuté přílohy";
+$messages['keywords'] = "příloha,přílohy,příloze,přílohu,přiloženém,připojeném,CV,životopis";
diff --git a/plugins/attachment_reminder/localization/cy_GB.inc b/plugins/attachment_reminder/localization/cy_GB.inc
new file mode 100644
index 0000000..0ce8a99
--- /dev/null
+++ b/plugins/attachment_reminder/localization/cy_GB.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Wedi anghofio atodi ffeil?";
+$messages['reminderoption'] = "Atgoffa am atodiadau ar goll";
+$messages['keywords'] = "atodiad,atodi,atodaf,atodwyd,atodir,amgaedig,dogfen,llythyr,ffeil,attachment,file,attach,attached,attaching,enclosed,CV,cover letter,";
diff --git a/plugins/attachment_reminder/localization/da_DK.inc b/plugins/attachment_reminder/localization/da_DK.inc
new file mode 100644
index 0000000..e41eafb
--- /dev/null
+++ b/plugins/attachment_reminder/localization/da_DK.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Glemte du at vedhæfte en fil?";
+$messages['reminderoption'] = "Påmind om glemt vedhæftning af filer";
+$messages['keywords'] = "vedhæftet fil,fil,vedhæft,vedhæftet,vedhæfter,lukket,CV,følgebrev";
diff --git a/plugins/attachment_reminder/localization/de_CH.inc b/plugins/attachment_reminder/localization/de_CH.inc
index ad9f8d4..9aca61e 100644
--- a/plugins/attachment_reminder/localization/de_CH.inc
+++ b/plugins/attachment_reminder/localization/de_CH.inc
@@ -15,8 +15,6 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
*/
-
-$messages = array();
$messages['forgotattachment'] = "Haben Sie möglicherweise vergessen eine Datei anzuhängen?";
$messages['reminderoption'] = "Vor vergessenen Anhängen warnen";
$messages['keywords'] = "anbei,anhang,angehängt,angefügt,beigefügt,beliegend";
diff --git a/plugins/attachment_reminder/localization/de_DE.inc b/plugins/attachment_reminder/localization/de_DE.inc
index 7de41d1..0422e2d 100644
--- a/plugins/attachment_reminder/localization/de_DE.inc
+++ b/plugins/attachment_reminder/localization/de_DE.inc
@@ -1,6 +1,20 @@
<?php
-$messages = array();
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
$messages['forgotattachment'] = "Haben Sie möglicherweise vergessen eine Datei anzuhängen?";
-$messages['reminderoption'] = "Remind about forgotten attachments";
+$messages['reminderoption'] = "Erinnern an vergessene Anhänge ";
$messages['keywords'] = "anbei,im anhang,angehängt,angefügt,beigefügt,beliegend";
diff --git a/plugins/attachment_reminder/localization/el_GR.inc b/plugins/attachment_reminder/localization/el_GR.inc
new file mode 100644
index 0000000..e47995f
--- /dev/null
+++ b/plugins/attachment_reminder/localization/el_GR.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Μήπως ξεχάσετε να επισυνάψετε ένα αρχείο; ";
+$messages['reminderoption'] = "Υπενθύμιση ξεχάσmena συνημμένα ";
+$messages['keywords'] = "συνημμένο, αρχείο, συννημενο, επισυναψη, επισυνάπτοντας, κλειστό, βιογραφικό σημείωμα, συνοδευτική επιστολή";
diff --git a/plugins/attachment_reminder/localization/eo.inc b/plugins/attachment_reminder/localization/eo.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/eo.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/es_AR.inc b/plugins/attachment_reminder/localization/es_AR.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/es_AR.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/es_ES.inc b/plugins/attachment_reminder/localization/es_ES.inc
index 79225d7..7f6f29e 100644
--- a/plugins/attachment_reminder/localization/es_ES.inc
+++ b/plugins/attachment_reminder/localization/es_ES.inc
@@ -1,6 +1,20 @@
<?php
-$messages = array();
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
$messages['forgotattachment'] = "¿Olvidó adjuntar un fichero al mensaje?";
-$messages['reminderoption'] = "Remind about forgotten attachments";
+$messages['reminderoption'] = "Recordatorio sobre adjuntos olvidados";
$messages['keywords'] = "adjunto";
diff --git a/plugins/attachment_reminder/localization/et_EE.inc b/plugins/attachment_reminder/localization/et_EE.inc
new file mode 100644
index 0000000..c8be2af
--- /dev/null
+++ b/plugins/attachment_reminder/localization/et_EE.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Unustasid faili lisada?";
+$messages['reminderoption'] = "Tuleta mulle meelde kui unustasin manuse lisada";
+$messages['keywords'] = "manus,manuses,lisatud,lisasin,fail,file,failis,attachment,file,attach,attached,attaching,enclosed,CV,cover letter";
diff --git a/plugins/attachment_reminder/localization/eu_ES.inc b/plugins/attachment_reminder/localization/eu_ES.inc
new file mode 100644
index 0000000..f658990
--- /dev/null
+++ b/plugins/attachment_reminder/localization/eu_ES.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Ahaztu zaizu fitxategia eranstea?";
+$messages['reminderoption'] = "Ohartarazi ahaztutako erankinez";
+$messages['keywords'] = "eranskin,fitxategia,erantzi,erantzita,eransten,atxikita";
diff --git a/plugins/attachment_reminder/localization/fa_AF.inc b/plugins/attachment_reminder/localization/fa_AF.inc
new file mode 100644
index 0000000..1c47737
--- /dev/null
+++ b/plugins/attachment_reminder/localization/fa_AF.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "آیا فراموش کردید که فایل را الصاق کرده اید؟";
+$messages['reminderoption'] = "یاد آوری درمورد ضمایم فراموش شده";
+$messages['keywords'] = "ضمیمه،فایل،ضمیمه کردن،ضمیمه شده،در حال ضمیمه کردن، الصاق شده،CV، عنوان نامه";
diff --git a/plugins/attachment_reminder/localization/fa_IR.inc b/plugins/attachment_reminder/localization/fa_IR.inc
new file mode 100644
index 0000000..fd1c401
--- /dev/null
+++ b/plugins/attachment_reminder/localization/fa_IR.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "آیا شما پیوست کردن پرونده را فراموش کرده‌اید؟";
+$messages['reminderoption'] = "یادآوری فراموشی پیوست‌ها";
+$messages['keywords'] = "پیوست،پرونده،پیوست کردن، پیوست شده، CV";
diff --git a/plugins/attachment_reminder/localization/fi_FI.inc b/plugins/attachment_reminder/localization/fi_FI.inc
new file mode 100644
index 0000000..53d2a9a
--- /dev/null
+++ b/plugins/attachment_reminder/localization/fi_FI.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Unohditko liittää tiedoston?";
+$messages['reminderoption'] = "Muistuta mahdollisesti unohtuneista liitteistä";
+$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter,liite,tiedosto,liitteenä,liitetiedosto";
diff --git a/plugins/attachment_reminder/localization/fr_FR.inc b/plugins/attachment_reminder/localization/fr_FR.inc
index 78522c2..bda3eba 100644
--- a/plugins/attachment_reminder/localization/fr_FR.inc
+++ b/plugins/attachment_reminder/localization/fr_FR.inc
@@ -1,6 +1,20 @@
<?php
-$messages = array();
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
$messages['forgotattachment'] = "Avez vous oublié d'attacher un fichier ?";
-$messages['reminderoption'] = "Remind about forgotten attachments";
+$messages['reminderoption'] = "Rappel à propos des pièces jointes oubliées";
$messages['keywords'] = "joins,joint,attaché,CV";
diff --git a/plugins/attachment_reminder/localization/gl_ES.inc b/plugins/attachment_reminder/localization/gl_ES.inc
new file mode 100644
index 0000000..bd126b2
--- /dev/null
+++ b/plugins/attachment_reminder/localization/gl_ES.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Esqueceches adxuntar un ficheiro?";
+$messages['reminderoption'] = "Lembrete de adxuntos esquecidos";
+$messages['keywords'] = "adxunto,ficheiro,engádega, engadido,engadindo,anexo,CV,cuberta,carta";
diff --git a/plugins/attachment_reminder/localization/he_IL.inc b/plugins/attachment_reminder/localization/he_IL.inc
new file mode 100644
index 0000000..2c348af
--- /dev/null
+++ b/plugins/attachment_reminder/localization/he_IL.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "האם שכחת לצרף קובץ?";
+$messages['reminderoption'] = "להזכיר לצרף נספח";
+$messages['keywords'] = "נספח,קובץ,לצרף,מצורף,מצרף,מצרפת,רצ\"ב,קו\"ח,קורות חיים";
diff --git a/plugins/attachment_reminder/localization/hi_IN.inc b/plugins/attachment_reminder/localization/hi_IN.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/hi_IN.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/hu_HU.inc b/plugins/attachment_reminder/localization/hu_HU.inc
new file mode 100644
index 0000000..b76a8cf
--- /dev/null
+++ b/plugins/attachment_reminder/localization/hu_HU.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Nem felejtetted el a csatolandó file-t?";
+$messages['reminderoption'] = "Emlékeztessen a csatolandó csatolmányra";
+$messages['keywords'] = "csatolmány, file, csatolás, csatolt, csatolni, közrezárt, CV, kisérőlevél";
diff --git a/plugins/attachment_reminder/localization/hy_AM.inc b/plugins/attachment_reminder/localization/hy_AM.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/hy_AM.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/ia.inc b/plugins/attachment_reminder/localization/ia.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ia.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/id_ID.inc b/plugins/attachment_reminder/localization/id_ID.inc
new file mode 100644
index 0000000..1f0b0bb
--- /dev/null
+++ b/plugins/attachment_reminder/localization/id_ID.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Apakah anda lupa menambahkan attachment?";
+$messages['reminderoption'] = "Pengingat attachment yang terlupakan";
+$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter";
diff --git a/plugins/attachment_reminder/localization/it_IT.inc b/plugins/attachment_reminder/localization/it_IT.inc
index d326a60..2a9772d 100644
--- a/plugins/attachment_reminder/localization/it_IT.inc
+++ b/plugins/attachment_reminder/localization/it_IT.inc
@@ -1,6 +1,20 @@
<?php
-$messages = array();
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
$messages['forgotattachment'] = "Sembra che tu abbia dimenticato di allegare un file!\nPremere Annulla per inviare lo stesso.\nOK per tornare al messaggio senza inviare.";
-$messages['reminderoption'] = "Remind about forgotten attachments";
+$messages['reminderoption'] = "Ricorda per gli allegati dimenticati";
$messages['keywords'] = "allegato,allegati,allegata,allegate,allega,allego,alleghi,attaccato,file,attachment,attach";
diff --git a/plugins/attachment_reminder/localization/ja_JP.inc b/plugins/attachment_reminder/localization/ja_JP.inc
new file mode 100644
index 0000000..5ba55d4
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ja_JP.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "ファイルの添付を忘れていませんか?";
+$messages['reminderoption'] = "添付ファイルの付け忘れを確認";
+$messages['keywords'] = "添付,ファイル,添付ファイル,同封,添え状";
diff --git a/plugins/attachment_reminder/localization/ko_KR.inc b/plugins/attachment_reminder/localization/ko_KR.inc
new file mode 100644
index 0000000..c80dcc4
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ko_KR.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "파일을 첨부하는 것을 잊으셨습니까?";
+$messages['reminderoption'] = "잊었던 첨부파일에 대해 알리기";
+$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter";
diff --git a/plugins/attachment_reminder/localization/lb_LU.inc b/plugins/attachment_reminder/localization/lb_LU.inc
index cdfe031..f91f3d1 100644
--- a/plugins/attachment_reminder/localization/lb_LU.inc
+++ b/plugins/attachment_reminder/localization/lb_LU.inc
@@ -15,8 +15,6 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
*/
-
-$messages = array();
$messages['forgotattachment'] = "Hues du vergiess e Fichier drunzehänken?";
$messages['reminderoption'] = "U vergiessen Unhäng erënneren";
$messages['keywords'] = "Attachment,Fichier,Unhank,Unhang,Unhäng,ugehaangen,unhänken,attachment,file,attach,attached,attaching,enclosed,CV,cover letter,fichier joint";
diff --git a/plugins/attachment_reminder/localization/lt_LT.inc b/plugins/attachment_reminder/localization/lt_LT.inc
new file mode 100644
index 0000000..a8ba0b8
--- /dev/null
+++ b/plugins/attachment_reminder/localization/lt_LT.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Ar nepamiršote prisegti priedo?";
+$messages['reminderoption'] = "Priminti apie neprisegtus priedus";
+$messages['keywords'] = "priedas, byla, prisegti, prisegta, prisegama, uždaras, CV, laiškas";
diff --git a/plugins/attachment_reminder/localization/lv_LV.inc b/plugins/attachment_reminder/localization/lv_LV.inc
new file mode 100644
index 0000000..ee4feeb
--- /dev/null
+++ b/plugins/attachment_reminder/localization/lv_LV.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Vai Jūs nepiemirsāt pievienot failu?";
+$messages['reminderoption'] = "Atgādināt par nepievienotajiem pielikumiem";
+$messages['keywords'] = "pielikums,fails,pievienot,pielikt,pievienots,pielikts,ievietot,ievietots,CV";
diff --git a/plugins/attachment_reminder/localization/ml_IN.inc b/plugins/attachment_reminder/localization/ml_IN.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ml_IN.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/mn_MN.inc b/plugins/attachment_reminder/localization/mn_MN.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/mn_MN.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/ms_MY.inc b/plugins/attachment_reminder/localization/ms_MY.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ms_MY.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/my_MM.inc b/plugins/attachment_reminder/localization/my_MM.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/my_MM.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/nb_NO.inc b/plugins/attachment_reminder/localization/nb_NO.inc
new file mode 100644
index 0000000..1462837
--- /dev/null
+++ b/plugins/attachment_reminder/localization/nb_NO.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Glemte du å legge ved en fil?";
+$messages['reminderoption'] = "Gi meg en påminnelse om glemte vedlegg";
+$messages['keywords'] = "vedlegg, fil, legg ved, lagt ved, legger ved, lukket, CV, følgebrev";
diff --git a/plugins/attachment_reminder/localization/nl_BE.inc b/plugins/attachment_reminder/localization/nl_BE.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/nl_BE.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/nl_NL.inc b/plugins/attachment_reminder/localization/nl_NL.inc
index d80bfe9..293ad17 100644
--- a/plugins/attachment_reminder/localization/nl_NL.inc
+++ b/plugins/attachment_reminder/localization/nl_NL.inc
@@ -1,6 +1,20 @@
<?php
-$messages = array();
-$messages['forgotattachment'] = "Ben je vergeten het bestand bij te voegen?";
-$messages['reminderoption'] = "Remind about forgotten attachments";
-$messages['keywords'] = "attachment,bestand,bijgaand,bijgaande,brief,bijgevoegd,bijgesloten,CV";
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Bent u vergeten het bestand bij te voegen?";
+$messages['reminderoption'] = "Herinner mij aan vergeten bijlagen";
+$messages['keywords'] = "attachment,bestand,bijgaand,bijgaande,brief,bijgevoegd,bijgesloten,CV,document,bijgesloten";
diff --git a/plugins/attachment_reminder/localization/nn_NO.inc b/plugins/attachment_reminder/localization/nn_NO.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/nn_NO.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/nqo.inc b/plugins/attachment_reminder/localization/nqo.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/nqo.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/om.inc b/plugins/attachment_reminder/localization/om.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/om.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/pl_PL.inc b/plugins/attachment_reminder/localization/pl_PL.inc
index 96f4f49..06cede5 100644
--- a/plugins/attachment_reminder/localization/pl_PL.inc
+++ b/plugins/attachment_reminder/localization/pl_PL.inc
@@ -1,6 +1,20 @@
<?php
-$messages = array();
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
$messages['forgotattachment'] = "Czy nie zapomniałeś załączyć pliku?";
$messages['reminderoption'] = "Włącz przypominanie o brakującym załączniku";
$messages['keywords'] = "załącznik,plik,załącz,CV";
diff --git a/plugins/attachment_reminder/localization/pt_BR.inc b/plugins/attachment_reminder/localization/pt_BR.inc
new file mode 100644
index 0000000..4b61e95
--- /dev/null
+++ b/plugins/attachment_reminder/localization/pt_BR.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Você esqueceu-se de anexar um arquivo?";
+$messages['reminderoption'] = "Alertar sobre o possível esquecimento de anexos";
+$messages['keywords'] = "anexo,arquivo,anexar,anexado,anexando,incluso,CV,currículo";
diff --git a/plugins/attachment_reminder/localization/pt_PT.inc b/plugins/attachment_reminder/localization/pt_PT.inc
new file mode 100644
index 0000000..de2d04e
--- /dev/null
+++ b/plugins/attachment_reminder/localization/pt_PT.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Você esqueceu-se de anexar um ficheiro?";
+$messages['reminderoption'] = "Lembrar sobre anexos esquecidos";
+$messages['keywords'] = "anexo,ficheiro,anexar,anexado,a anexar,em anexo,currículo,carta de apresentação";
diff --git a/plugins/attachment_reminder/localization/ro_RO.inc b/plugins/attachment_reminder/localization/ro_RO.inc
new file mode 100644
index 0000000..ff11539
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ro_RO.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Ați uitat să atașati ?";
+$messages['reminderoption'] = "Adu-mi aminte de atașamente";
+$messages['keywords'] = "atașament,atasament,atas,atasat,ataș,attach,fisier,fișier,attach,atach,attache";
diff --git a/plugins/attachment_reminder/localization/ru_RU.inc b/plugins/attachment_reminder/localization/ru_RU.inc
new file mode 100644
index 0000000..d592b1e
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ru_RU.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Вы не забыли прикрепить файл?";
+$messages['reminderoption'] = "Напоминать о забытых вложениях";
+$messages['keywords'] = "вложение,файл, вложенный, прикрепленный,резюме,документ";
diff --git a/plugins/attachment_reminder/localization/sk_SK.inc b/plugins/attachment_reminder/localization/sk_SK.inc
new file mode 100644
index 0000000..344d1e6
--- /dev/null
+++ b/plugins/attachment_reminder/localization/sk_SK.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Nezabudli ste pridať prílohu?";
+$messages['reminderoption'] = "Pripomenúť zabudnuté prílohy";
+$messages['keywords'] = "príloha,súbor,pripojiť,priložená,priložený,priložené,v prílohe,životopis,sprievodný list";
diff --git a/plugins/attachment_reminder/localization/sl_SI.inc b/plugins/attachment_reminder/localization/sl_SI.inc
new file mode 100644
index 0000000..9531f8e
--- /dev/null
+++ b/plugins/attachment_reminder/localization/sl_SI.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Ste pozabili pripeti datoteko?";
+$messages['reminderoption'] = "Opozorilo za dodajanje priponk";
+$messages['keywords'] = "priponka,datoteka,pripeti,pripeta,pripenjati,priložen,priložiti,CV,spremno pismo";
diff --git a/plugins/attachment_reminder/localization/sr_CS.inc b/plugins/attachment_reminder/localization/sr_CS.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/sr_CS.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/sv_SE.inc b/plugins/attachment_reminder/localization/sv_SE.inc
new file mode 100644
index 0000000..744a961
--- /dev/null
+++ b/plugins/attachment_reminder/localization/sv_SE.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Glömde du att bifoga en fil?";
+$messages['reminderoption'] = "Påminn om glömda bilagor";
+$messages['keywords'] = "bilaga,fil,bifoga,bifogad,bifogar,infogad,CV,personligt brev";
diff --git a/plugins/attachment_reminder/localization/te_IN.inc b/plugins/attachment_reminder/localization/te_IN.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/te_IN.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/th_TH.inc b/plugins/attachment_reminder/localization/th_TH.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/th_TH.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/ti.inc b/plugins/attachment_reminder/localization/ti.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ti.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/tr_TR.inc b/plugins/attachment_reminder/localization/tr_TR.inc
new file mode 100644
index 0000000..f03587d
--- /dev/null
+++ b/plugins/attachment_reminder/localization/tr_TR.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Bir dosya eklemeyi unuttunuz mu?";
+$messages['reminderoption'] = "Unutulan dosya eklemelerini hatırlat";
+$messages['keywords'] = "ekleme,dosya,ek,eklenildi,ekleniliyor,konuldu,CV,kapak mektubu";
diff --git a/plugins/attachment_reminder/localization/tzm.inc b/plugins/attachment_reminder/localization/tzm.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/tzm.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/uk_UA.inc b/plugins/attachment_reminder/localization/uk_UA.inc
new file mode 100644
index 0000000..122fb2b
--- /dev/null
+++ b/plugins/attachment_reminder/localization/uk_UA.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Ви забули прикріпити файл?";
+$messages['reminderoption'] = "Нагадати про забуте вкладення";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/ur_PK.inc b/plugins/attachment_reminder/localization/ur_PK.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/ur_PK.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/vi_VN.inc b/plugins/attachment_reminder/localization/vi_VN.inc
new file mode 100644
index 0000000..c3b4aaa
--- /dev/null
+++ b/plugins/attachment_reminder/localization/vi_VN.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/zh_CN.inc b/plugins/attachment_reminder/localization/zh_CN.inc
index 367191f..6c44fe9 100644
--- a/plugins/attachment_reminder/localization/zh_CN.inc
+++ b/plugins/attachment_reminder/localization/zh_CN.inc
@@ -1,6 +1,20 @@
<?php
-$messages = array();
-$messages['forgotattachment'] = "您似乎忘記加入附件了,你確定要寄出?";
-$messages['reminderoption'] = "Remind about forgotten attachments";
-$messages['keywords'] = "附件,附加,附檔,附上,附加檔案";
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "您似乎忘记添加附件了,是否继续发送?";
+$messages['reminderoption'] = "忘记添加附件提醒";
+$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter";
diff --git a/plugins/attachment_reminder/localization/zh_TW.inc b/plugins/attachment_reminder/localization/zh_TW.inc
index 367191f..aaa91cd 100644
--- a/plugins/attachment_reminder/localization/zh_TW.inc
+++ b/plugins/attachment_reminder/localization/zh_TW.inc
@@ -1,6 +1,20 @@
<?php
-$messages = array();
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
$messages['forgotattachment'] = "您似乎忘記加入附件了,你確定要寄出?";
-$messages['reminderoption'] = "Remind about forgotten attachments";
+$messages['reminderoption'] = "提醒加入附件";
$messages['keywords'] = "附件,附加,附檔,附上,附加檔案";
diff --git a/plugins/autologon/autologon.php b/plugins/autologon/autologon.php
index 9c7d5b6..63ffb94 100644
--- a/plugins/autologon/autologon.php
+++ b/plugins/autologon/autologon.php
@@ -19,6 +19,8 @@ class autologon extends rcube_plugin
function startup($args)
{
+ $rcmail = rcmail::get_instance();
+
// change action to login
if (empty($_SESSION['user_id']) && !empty($_GET['_autologin']) && $this->is_localhost())
$args['action'] = 'login';
@@ -35,7 +37,7 @@ class autologon extends rcube_plugin
$args['cookiecheck'] = false;
$args['valid'] = true;
}
-
+
return $args;
}
diff --git a/plugins/compose_addressbook/compose_addressbook.js b/plugins/compose_addressbook/compose_addressbook.js
new file mode 100644
index 0000000..de5d952
--- /dev/null
+++ b/plugins/compose_addressbook/compose_addressbook.js
@@ -0,0 +1,224 @@
+var compose_addressbook_fetched = false;
+
+if(window.rcmail) {
+ rcmail.addEventListener('init', function(evt) {
+
+ // mode of operation. configure this in config.php
+ var mode = rcmail.env.compose_addressbook_mode;
+
+ // to be able to have translated buttons, we need to predefine the buttons array
+ var cab_to = rcmail.gettext('to');
+ var cab_cc = rcmail.gettext('cc');
+ var cab_bcc = rcmail.gettext('bcc');
+
+ var buttons = {};
+ buttons[cab_bcc] = function() {
+ compose_addressbook_add_recipients('_bcc');
+ $('.ui-dialog-buttonpane button').removeClass('ui-state-focus');
+ }
+ buttons[cab_cc] = function() {
+ compose_addressbook_add_recipients('_cc');
+ $('.ui-dialog-buttonpane button').removeClass('ui-state-focus');
+ }
+ buttons[cab_to] = function() {
+ compose_addressbook_add_recipients('_to');
+ $('.ui-dialog-buttonpane button').removeClass('ui-state-focus');
+ }
+
+ // bind the dialog functionality to the dialog div
+ $("#compose_addressbook_dialog").dialog({
+ autoOpen: false,
+ modal: false,
+ resizable: false,
+ width: 285,
+ height: 500,
+ minHeight: 400,
+ buttons: buttons,
+ position: [$(window).width()-400,50]
+ });
+
+ // register the command associated with the toolbar button
+ rcmail.register_command('plugin.compose_addressbook', compose_addressbook_start , true);
+
+ // add the command to the list of compose commands
+ rcmail.env.compose_commands.push('plugin.compose_addressbook');
+
+ // register the callback function
+ rcmail.addEventListener('plugin.compose_addressbook_receive', compose_addressbook_receive);
+
+ // register the callback function for the group expander
+ rcmail.addEventListener('plugin.compose_addressbook_receive_expand', compose_addressbook_receive_expand);
+
+ // create an rc list object
+ if(rcmail.gui_objects.compose_addressbook_list) {
+ rcmail.compose_addressbook_list = new rcube_list_widget(rcmail.gui_objects.compose_addressbook_list, {multiselect:true, draggable:false, keyboard:false});
+
+ // add a listener for double click
+ rcmail.compose_addressbook_list.addEventListener('dblclick', function(o){ compose_address_dblclick(o); });
+
+ // initialize the list
+ rcmail.compose_addressbook_list.init();
+ }
+
+ // each mode of operation has a different key handler
+ if(mode == 'full') {
+ // bind keyevent handler to the search box
+ $('#compose_addressbook_filter').bind('keyup', function(evt) {
+ var search = $('#compose_addressbook_filter').val();
+ var regexp = new RegExp(search, 'i');
+ $('#compose_addressbook_table').find('td').each(function() {
+ var content = $(this).attr('title');
+ if(regexp.test(content)) {
+ $(this).parent().show();
+ } else {
+ $(this).parent().hide();
+ }
+ });
+ });
+ } else {
+ $('#compose_addressbook_filter').bind((bw.safari || bw.ie ? 'keydown' : 'keypress'), function(evt) {
+ var key = rcube_event.get_keycode(evt);
+ if(key == 13) {
+ var search = $('#compose_addressbook_filter').val();
+ $('#compose_addressbook_filter').val('');
+ compose_addressbook_search(search);
+ return false;
+ }
+ });
+ }
+
+ // bind click event to clear function
+ $("#compose_addressbook_searchreset").bind('click', function(e) {
+ $('#compose_addressbook_filter').val('');
+ $('#compose_addressbook_filter').focus();
+ $('#compose_addressbook_table').find('tr').each(function() {
+ $(this).show();
+ });
+ });
+ });
+}
+
+function compose_addressbook_start()
+{
+ compose_addressbook_fetch();
+ $('#compose_addressbook_dialog').dialog('open');
+}
+
+function compose_addressbook_fetch()
+{
+ if(!compose_addressbook_fetched) {
+ lock = rcmail.set_busy(true, 'loading');
+ rcmail.http_post('plugin.get_addressbook', '', lock);
+ compose_addressbook_fetched = true;
+ }
+}
+
+function compose_addressbook_search(search)
+{
+ rcmail.compose_addressbook_list.clear();
+ lock = rcmail.set_busy(true, 'loading');
+ rcmail.http_post('plugin.get_addressbook', '_search='+urlencode(search), lock);
+}
+
+function compose_addressbook_receive(data)
+{
+ var addresses = data.addresses;
+ var name;
+ var email;
+
+ // save the addresses for later use
+ rcmail.compose_addressbook_addresses = addresses;
+
+ for(var j=0; j<addresses.length; j++) {
+ var name = addresses[j].name;
+
+ if(addresses[j].id) {
+ email = 'address group';
+ } else {
+ email = addresses[j].email;
+ }
+ // add address to the row
+ compose_addressbook_add(name,email,j);
+ }
+}
+
+function compose_addressbook_add(address,email,id) {
+ var row = document.createElement('tr');
+ row.id = 'rcmrow'+id;
+ td = document.createElement('td');
+ td.innerHTML = address;
+ td.setAttribute('title', email);
+ td.style.cursor='pointer';
+ row.appendChild(td);
+
+ // add element to the list
+ rcmail.compose_addressbook_list.insert_row(row,0);
+}
+
+function compose_address_dblclick(list) {
+ var group_ids = [];
+ var group_sources = [];
+
+ var id = list.get_single_selection();
+ if(id == null) return;
+
+ var uid = list.rows[id].uid;
+ if(rcmail.compose_addressbook_addresses[uid].id) {
+ group_ids[0] = rcmail.compose_addressbook_addresses[uid].id;
+ group_sources[0] = rcmail.compose_addressbook_addresses[uid].source;
+ compose_addressbook_expand(group_ids, group_sources, '_to');
+ } else {
+ $("[name='_to']").attr('value', $("[name='_to']").val() + rcmail.compose_addressbook_addresses[uid].email+", ");
+ }
+ rcmail.compose_addressbook_list.clear_selection();
+}
+
+function compose_addressbook_add_recipients(target) {
+ var group_ids = [];
+ var group_sources = [];
+
+ if(rcmail.compose_addressbook_list.selection.length == 0) {
+ rcmail.display_message(rcmail.gettext('compose_addressbook_noselect', 'compose_addressbook'), 'error');
+ return;
+ }
+ rcmail.compose_addressbook_list.focused = false;
+ switch(target) {
+ case '_cc':
+ rcmail_ui.show_header_form('cc');
+ break;
+ case '_bcc':
+ rcmail_ui.show_header_form('bcc');
+ break;
+ }
+
+ for (var n=0; n<rcmail.compose_addressbook_list.selection.length; n++) {
+ var id = rcmail.compose_addressbook_list.selection[n];
+ var uid = rcmail.compose_addressbook_list.rows[id].uid;
+ var form = '[name="'+target+'"]';
+
+ if(rcmail.compose_addressbook_addresses[uid].id) {
+ group_ids[group_ids.length] = rcmail.compose_addressbook_addresses[uid].id;
+ group_sources[group_sources.length] = rcmail.compose_addressbook_addresses[uid].source;
+ } else {
+ $('#'+target).attr('value', $('#'+target).val() + rcmail.compose_addressbook_addresses[uid].email+", ");
+ }
+ }
+ compose_addressbook_expand(group_ids, group_sources,target);
+ rcmail.compose_addressbook_list.clear_selection();
+ rcmail.display_message(rcmail.gettext('compose_addressbook_added', 'compose_addressbook'), 'confirmation');
+}
+
+function compose_addressbook_expand(group_ids, group_sources,target) {
+ if(group_ids.length > 0) {
+ lock = rcmail.set_busy(true, 'loading');
+ rcmail.http_request('plugin.expand_groups', '_groupids='+urlencode(group_ids.join(','))+'&_groupsources='+urlencode(group_sources.join(','))+'&_target='+target, lock);
+ }
+}
+
+function compose_addressbook_receive_expand(data) {
+ var form = '[name="'+data.target+'"]';
+
+ for(var j in data.members) {
+ $(form).attr('value', $(form).val() + data.members[j]+", ");
+ }
+}
diff --git a/plugins/compose_addressbook/compose_addressbook.php b/plugins/compose_addressbook/compose_addressbook.php
new file mode 100644
index 0000000..b97be7b
--- /dev/null
+++ b/plugins/compose_addressbook/compose_addressbook.php
@@ -0,0 +1,180 @@
+<?php
+
+/**
+ * This plugin lets you add addressbook entries from the compose window using the mouse
+ *
+ * @author Cor Bosman (roundcube@wa.ter.net)
+ */
+
+class compose_addressbook extends rcube_plugin
+{
+ public $task = 'mail';
+
+ public function init()
+ {
+ $rcmail = rcmail::get_instance();
+
+ // only run this plugin if the skin is set to classic
+ $skin = $rcmail->config->get('skin');
+ if($skin != 'classic') return;
+
+ $this->require_plugin('jqueryui');
+
+ $this->register_action('plugin.get_addressbook', array($this, 'get_address'));
+ $this->register_action('plugin.expand_groups', array($this, 'expand_groups'));
+
+ if($rcmail->action == 'compose') {
+ $this->compose_addressbook_init();
+ }
+ }
+
+ public function compose_addressbook_init()
+ {
+ $this->add_texts('localization', true);
+
+ $rcmail = rcmail::get_instance();
+
+ $skin_path = $this->local_skin_path();
+
+ // add javascript and stylesheets
+ $this->include_script('compose_addressbook.js?v=2');
+ $this->include_stylesheet("$skin_path/compose_addressbook.css");
+
+ // html for dialog window
+ $table = new html_table(array('id' => 'compose_addressbook_table', 'class' => 'records-table', 'cols' => 1, 'cellspacing' => 0));
+
+ // create div for dialog window
+ $rcmail->output->add_footer(html::div(array('id' => "compose_addressbook_dialog", 'title' => Q($this->gettext('compose_addressbook_title'))),
+ html::div(array('id' => "compose_addressbook_quicksearchbar"),
+ html::img(array('id'=>'compose_addressbook_searchmod','src'=>'/images/icons/glass.png')) .
+ html::tag('input', array('type' => "text", 'class' => 'compose_addressbook_filter','id'=>'compose_addressbook_filter')).
+ html::a(array('id' => 'compose_addressbook_searchreset', 'href'=>'#'),
+ html::img(array('src'=>'/images/icons/reset.gif')))
+ ) .
+ html::div(array('id' => "compose_addressbook_container"),
+ $table->show()
+ )
+ ));
+
+ // add the addressbook button
+ $this->add_button(array(
+ 'command' => 'plugin.compose_addressbook',
+ 'imagepas' => $skin_path.'/compose_addressbook.png',
+ 'imageact' => $skin_path.'/compose_addressbook.png',
+ 'title' => 'compose_addressbook.compose_addressbook_buttontitle',
+ 'id' => 'rcmbtn_compose_addressbook'), 'toolbar');
+
+ $this->load_config();
+ $rcmail->output->set_env('compose_addressbook_mode', $rcmail->config->get('compose_addressbook_mode', 'full'));
+ $rcmail->output->add_gui_object('compose_addressbook_list', 'compose_addressbook_table');
+
+ // add some labels
+ $rcmail->output->add_label('cc', 'bcc', 'to');
+
+ // add list functions
+ $rcmail->output->include_script('list.js');
+
+ }
+
+ // get the addressbook entries and return them to the UI.
+ function get_address() {
+ $contacts = array();
+ $this->load_config();
+ $rcmail = rcmail::get_instance();
+
+ $mode = $rcmail->config->get('compose_addressbook_mode', 'full');
+ $search_mode = $rcmail->config->get('addressbook_search_mode');
+
+ // get the addressbooks, or default to all address sources
+ $book_types = (array) $rcmail->config->get('compose_addressbooks', $rcmail->config->get('autocomplete_addressbooks', array_keys($rcmail->get_address_sources())));
+
+ foreach ($book_types as $id) {
+ $abook = $rcmail->get_address_book($id);
+ $abook->set_pagesize(50000);
+
+ if($mode == 'full') {
+ $result = $abook->list_records();
+ while ($sql_arr = $result->iterate()) {
+ foreach ((array)$abook->get_col_values('email', $sql_arr, true) as $email) {
+ $contact = format_email_recipient($email, $sql_arr['name']);
+ $contacts[] = array('name' => $sql_arr['name'] , 'email' => format_email_recipient($email, $sql_arr['name']));
+ }
+ }
+ $search = null;
+ if($abook->groups) {
+ foreach($abook->list_groups($search) as $group) {
+ $abook->reset();
+ $abook->set_group($group['ID']);
+ $result = $abook->count();
+ if ($result->count) {
+ $contacts[] = array('name' => $group['name'] . ' (' . intval($result->count) . ')', 'id' => $group['ID'], 'source' => $id);
+ }
+ }
+ }
+ } else {
+ $search=trim(get_input_value('_search', RCUBE_INPUT_POST));
+
+ if(!empty($search)) {
+ $result = $abook->search(array('name','email'),$search, $search_mode, true, true, 'email');
+ while ($sql_arr = $result->iterate()) {
+ foreach ((array)$abook->get_col_values('email', $sql_arr, true) as $email) {
+ $contact = format_email_recipient($email, $sql_arr['name']);
+ $contacts[] = array('name' => $sql_arr['name'] , 'email' => format_email_recipient($email, $sql_arr['name']));
+ }
+ }
+ if($abook->groups) {
+ foreach($abook->list_groups($search) as $group) {
+ $abook->reset();
+ $abook->set_group($group['ID']);
+ $result = $abook->count();
+ if ($result->count) {
+ $contacts[] = array('name' => $group['name'] . ' (' . intval($result->count) . ')', 'id' => $group['ID'], 'source' => $id);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ sort($contacts);
+
+ // send the addressbook back to javascript
+ $rcmail->output->command('plugin.compose_addressbook_receive', array('addresses' => $contacts));
+ }
+
+ // expand all the groups that we added
+ function expand_groups() {
+ $rcmail = rcmail::get_instance();
+
+ $group_ids_input=trim(get_input_value('_groupids', RCUBE_INPUT_GET));
+ $group_sources_input=trim(get_input_value('_groupsources', RCUBE_INPUT_GET));
+ $target = trim(get_input_value('_target', RCUBE_INPUT_GET));
+
+ if($group_ids_input == '' || $group_sources_input == '') exit;
+
+ $group_ids = explode(',', $group_ids_input);
+ $group_sources = explode(',', $group_sources_input);
+
+ // create a list of ids per address source
+ for($i=0; $i<count($group_sources);$i++) {
+ $address_sources[$group_sources[$i]][] = $group_ids[$i];
+ }
+
+ // iterate over each address source and get the expanded groups
+ $members = array();
+ foreach($address_sources as $source => $groups) {
+ $abook = $rcmail->get_address_book($source);
+ foreach($groups as $group) {
+ $abook->set_group($group);
+ $abook->set_pagesize(1000);
+ $result = $abook->list_records(array('email','name'));
+ while ($result && ($sql_arr = $result->iterate())) {
+ $email = (array)$sql_arr['email'];
+ $members[] = format_email_recipient($email[0], $sql_arr['name']);
+ }
+ }
+ }
+ $rcmail->output->command('plugin.compose_addressbook_receive_expand', array('members' => array_unique($members), 'target' => $target));
+ }
+}
+?>
diff --git a/plugins/compose_addressbook/config.inc.php.dist b/plugins/compose_addressbook/config.inc.php.dist
new file mode 100644
index 0000000..b2ba8f9
--- /dev/null
+++ b/plugins/compose_addressbook/config.inc.php.dist
@@ -0,0 +1,21 @@
+<?php
+
+// which addressbook do we show. this can contain any addressbooks you use, including those set by plugins.
+// by default it's the same as the autocomplete_addressbooks setting.
+
+// $rcmail_config['compose_addressbooks'] = array('ldap');
+// $rcmail_config['compose_addressbooks'] = array('sql', 'static');
+// $rcmail_config['compose_addressbooks'] = array('sql');
+
+// which mode of operation do we use.
+//
+// full - show the full addressbook in the popup window. this should work
+// with most users, and is the default
+//
+// search - popup window starts up empty, and you can search for specific
+// addresses. This is recommended for extremely large addressbooks
+// containing thousands of addresses, and in most LDAP environments.
+
+$rcmail_config['compose_addressbook_mode'] = 'full';
+
+?>
diff --git a/plugins/compose_addressbook/localization/de_DE.inc b/plugins/compose_addressbook/localization/de_DE.inc
new file mode 100644
index 0000000..929a649
--- /dev/null
+++ b/plugins/compose_addressbook/localization/de_DE.inc
@@ -0,0 +1,11 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = 'Adressbuch anzeigen';
+$labels['compose_addressbook_title'] = 'Adressbuch';
+$labels['compose_addressbook_close'] = 'Schließen';
+$labels['compose_addressbook_noselect'] = 'Sie haben keine Adresse ausgewählt';
+$labels['compose_addressbook_added'] = 'Adresse wurde hinzugefügt';
+
+
+?> \ No newline at end of file
diff --git a/plugins/compose_addressbook/localization/en_GB.inc b/plugins/compose_addressbook/localization/en_GB.inc
new file mode 100644
index 0000000..a8078f4
--- /dev/null
+++ b/plugins/compose_addressbook/localization/en_GB.inc
@@ -0,0 +1,10 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = 'Show Address Book';
+$labels['compose_addressbook_title'] = 'Address Book';
+$labels['compose_addressbook_close'] = 'Close';
+$labels['compose_addressbook_noselect'] = 'You did not select an address';
+$labels['compose_addressbook_added'] = 'Addresses added';
+
+?>
diff --git a/plugins/compose_addressbook/localization/en_US.inc b/plugins/compose_addressbook/localization/en_US.inc
new file mode 100644
index 0000000..a8078f4
--- /dev/null
+++ b/plugins/compose_addressbook/localization/en_US.inc
@@ -0,0 +1,10 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = 'Show Address Book';
+$labels['compose_addressbook_title'] = 'Address Book';
+$labels['compose_addressbook_close'] = 'Close';
+$labels['compose_addressbook_noselect'] = 'You did not select an address';
+$labels['compose_addressbook_added'] = 'Addresses added';
+
+?>
diff --git a/plugins/compose_addressbook/localization/es_ES.inc b/plugins/compose_addressbook/localization/es_ES.inc
new file mode 100644
index 0000000..2a000f2
--- /dev/null
+++ b/plugins/compose_addressbook/localization/es_ES.inc
@@ -0,0 +1,10 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = 'Mostrar Direcciones';
+$labels['compose_addressbook_title'] = 'Libreta de Direcciones';
+$labels['compose_addressbook_close'] = 'Cerrar';
+$labels['compose_addressbook_noselect'] = 'No has seleccionado ninguna dirección!';
+$labels['compose_addressbook_added'] = 'Dirección añadida';
+
+?>
diff --git a/plugins/compose_addressbook/localization/fr_FR.inc b/plugins/compose_addressbook/localization/fr_FR.inc
new file mode 100644
index 0000000..1f52ffe
--- /dev/null
+++ b/plugins/compose_addressbook/localization/fr_FR.inc
@@ -0,0 +1,10 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = 'Afficher le carnet d\'adresse';
+$labels['compose_addressbook_title'] = 'Carnet d\'adresse';
+$labels['compose_addressbook_close'] = 'Fermer';
+$labels['compose_addressbook_noselect'] = 'Vous n\'avez pas sélectionné d\'adresse';
+$labels['compose_addressbook_added'] = 'Adresses ajoutées';
+
+?>
diff --git a/plugins/compose_addressbook/localization/it_IT.inc b/plugins/compose_addressbook/localization/it_IT.inc
new file mode 100644
index 0000000..d1b0c46
--- /dev/null
+++ b/plugins/compose_addressbook/localization/it_IT.inc
@@ -0,0 +1,10 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = 'Mostra la rubrica';
+$labels['compose_addressbook_title'] = 'Rubrica';
+$labels['compose_addressbook_close'] = 'Chiudi';
+$labels['compose_addressbook_noselect'] = 'Non hai selezionato nessun indirizzo';
+$labels['compose_addressbook_added'] = 'L\'indirizzo è stato aggiunto';
+
+?>
diff --git a/plugins/compose_addressbook/localization/nl_NL.inc b/plugins/compose_addressbook/localization/nl_NL.inc
new file mode 100644
index 0000000..f5de52a
--- /dev/null
+++ b/plugins/compose_addressbook/localization/nl_NL.inc
@@ -0,0 +1,10 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = 'Voeg adres uit adresboek toe';
+$labels['compose_addressbook_title'] = 'Adres boek';
+$labels['compose_addressbook_close'] = 'Sluiten';
+$labels['compose_addressbook_noselect'] = 'Er is geen contact adres geselecteerd';
+$labels['compose_addressbook_added'] = 'Adressen zijn toegevoegd';
+
+?>
diff --git a/plugins/compose_addressbook/localization/pl_PL.inc b/plugins/compose_addressbook/localization/pl_PL.inc
new file mode 100644
index 0000000..eb95e42
--- /dev/null
+++ b/plugins/compose_addressbook/localization/pl_PL.inc
@@ -0,0 +1,10 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = 'Zobacz książkę adresową';
+$labels['compose_addressbook_title'] = 'Książka adresowa';
+$labels['compose_addressbook_close'] = 'Zamknij';
+$labels['compose_addressbook_noselect'] = 'Zaznacz jakiś adres';
+$labels['compose_addressbook_added'] = 'Adres został dodany';
+
+?>
diff --git a/plugins/compose_addressbook/localization/sv_SE.inc b/plugins/compose_addressbook/localization/sv_SE.inc
new file mode 100644
index 0000000..6e6d49f
--- /dev/null
+++ b/plugins/compose_addressbook/localization/sv_SE.inc
@@ -0,0 +1,10 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = 'Visa adressbok';
+$labels['compose_addressbook_title'] = 'Adressbok';
+$labels['compose_addressbook_close'] = 'Stäng';
+$labels['compose_addressbook_noselect'] = 'Ingen adress valdes';
+$labels['compose_addressbook_added'] = 'Adress tillagd';
+
+?>
diff --git a/plugins/compose_addressbook/localization/zh_TW.inc b/plugins/compose_addressbook/localization/zh_TW.inc
new file mode 100644
index 0000000..1be7b61
--- /dev/null
+++ b/plugins/compose_addressbook/localization/zh_TW.inc
@@ -0,0 +1,10 @@
+<?php
+
+$labels = array();
+$labels['compose_addressbook_buttontitle'] = '顯示地址簿';
+$labels['compose_addressbook_title'] = '地址簿';
+$labels['compose_addressbook_close'] = '關閉';
+$labels['compose_addressbook_noselect'] = '沒有選擇電郵地址';
+$labels['compose_addressbook_added'] = '已加入電郵地址';
+
+?> \ No newline at end of file
diff --git a/plugins/compose_addressbook/package.xml b/plugins/compose_addressbook/package.xml
new file mode 100644
index 0000000..cc22b4c
--- /dev/null
+++ b/plugins/compose_addressbook/package.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<package xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" packagerversion="1.9.0" version="2.0" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
+ http://pear.php.net/dtd/tasks-1.0.xsd
+ http://pear.php.net/dtd/package-2.0
+ http://pear.php.net/dtd/package-2.0.xsd">
+ <name>compose_addressbook</name>
+ <lead>
+ <name>Cor Bosman</name>
+ <user>cor</user>
+ <email>cor@roundcu.be</email>
+ <active>yes</active>
+ </lead>
+ <uri>https://github.com/corbosman/compose_addressbook</uri>
+ <version>
+ <release>8.0</release>
+ </version>
+ <license uri="http://www.gnu.org/licenses/gpl-2.0.html">GNU GPLv2</license>
+</package>
diff --git a/plugins/compose_addressbook/skins/classic/compose_addressbook.css b/plugins/compose_addressbook/skins/classic/compose_addressbook.css
new file mode 100644
index 0000000..f8ec665
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/compose_addressbook.css
@@ -0,0 +1,83 @@
+#compose_addressbook_dialog {
+ display: none;
+ background-color: #FAFAFA;
+ color: #333;
+ padding: 5px 0 0 0;
+ overflow: hidden;
+}
+
+#compose_addressbook_dialog .ui-dialog {
+ padding: 0;
+}
+
+#compose_addressbook_container {
+ height: 376px;
+ overflow: auto;
+ overflow-x: hidden;
+ border-top: 1px solid #AAAAAA;
+ position: relative;
+ top: 30px;
+}
+
+#compose_addressbook_dialog table {
+ width: 100%;
+ overflow: hidden;
+}
+
+#compose_addressbook_quicksearchbar
+{
+ position: absolute;
+ left: 60px;
+ width: 182px;
+ height: 20px;
+ text-align: right;
+ background: url('searchfield.gif') top left no-repeat;
+}
+
+#compose_addressbook_searchreset
+{
+ position: absolute;
+ top: 3px;
+ right: 4px;
+ text-decoration: none;
+}
+
+#compose_addressbook_searchmod
+{
+ position: absolute;
+ top: 3px;
+ right: 160px;
+}
+
+#compose_addressbook_quicksearchbar img
+{
+ vertical-align: middle;
+}
+
+#compose_addressbook_filter
+{
+ margin-right: 4px;
+ margin-bottom: 5px;
+ position: absolute;
+ top: 2px;
+ left: 24px;
+ width: 140px;
+ height: 15px;
+ font-size: 11px;
+ padding: 0px;
+ border: none;
+}
+
+#compose_addressbook_dialog input {
+ outline: none;
+ border: none !important;
+}
+
+#compose_addressbook_filter[type=text]:focus {
+ outline: 0 none;
+}
+
+.ui-dialog-buttonpane button {
+ font-size: 10px !important;
+ width: 85px !important;
+} \ No newline at end of file
diff --git a/plugins/compose_addressbook/skins/classic/compose_addressbook.png b/plugins/compose_addressbook/skins/classic/compose_addressbook.png
new file mode 100644
index 0000000..e58e4dd
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/compose_addressbook.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/searchfield.gif b/plugins/compose_addressbook/skins/classic/searchfield.gif
new file mode 100644
index 0000000..756a17e
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/searchfield.gif
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-anim_basic_16x16.gif b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-anim_basic_16x16.gif
new file mode 100644
index 0000000..085ccae
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-anim_basic_16x16.gif
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 0000000..5b5dab2
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100644
index 0000000..ac8b229
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 0000000..ad3d634
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644
index 0000000..42ccba2
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 0000000..5a46b47
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_75_dadada_1x400.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 0000000..86c2baa
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 0000000..4443fdc
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 0000000..7c9fa6c
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_222222_256x240.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_222222_256x240.png
new file mode 100644
index 0000000..b273ff1
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_222222_256x240.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_2e83ff_256x240.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 0000000..09d1cdc
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_2e83ff_256x240.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_454545_256x240.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_454545_256x240.png
new file mode 100644
index 0000000..59bd45b
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_454545_256x240.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_888888_256x240.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_888888_256x240.png
new file mode 100644
index 0000000..6d02426
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_888888_256x240.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_cd0a0a_256x240.png b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 0000000..2ab019b
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/images/ui-icons_cd0a0a_256x240.png
Binary files differ
diff --git a/plugins/compose_addressbook/skins/classic/smoothness/jquery-ui-1.8.2.custom.css b/plugins/compose_addressbook/skins/classic/smoothness/jquery-ui-1.8.2.custom.css
new file mode 100644
index 0000000..401eb1d
--- /dev/null
+++ b/plugins/compose_addressbook/skins/classic/smoothness/jquery-ui-1.8.2.custom.css
@@ -0,0 +1,345 @@
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+*/
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+*/
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* Resizable
+----------------------------------*/
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Button
+----------------------------------*/
+
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; }
+button.ui-button-icons-only { width: 3.7em; }
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4; }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+
+
+
+
+
+/* Dialog
+----------------------------------*/
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
diff --git a/plugins/contextmenu/contextmenu.js b/plugins/contextmenu/contextmenu.js
new file mode 100644
index 0000000..6d83f1f
--- /dev/null
+++ b/plugins/contextmenu/contextmenu.js
@@ -0,0 +1,595 @@
+/**
+ * ContextMenu plugin script
+ */
+
+rcube_webmail.prototype.contextmenu_command_handlers = new Object();
+rcube_webmail.prototype.contextmenu_disable_multi = new Array('#reply','#reply-all','#reply-list','#forward-inline','#print','#edit','#viewsource','#download','#open','#edit');
+
+function rcm_contextmenu_update() {
+ //if (!rcmail.env.flag_for_deletion && rcmail.env.trash_mailbox && rcmail.env.mailbox != rcmail.env.trash_mailbox)
+ // $("#rcm_delete").html('<span>' + rcmail.gettext('movemessagetotrash') + '</span>');
+ //else
+ // $("#rcm_delete").html('<span>' + rcmail.gettext('deletemessage') + '</span>');
+}
+
+function rcm_contextmenu_init(row) {
+ $("#" + row).contextMenu({
+ menu: 'rcmContextMenu',
+ submenu_delay: 400
+ },
+ function(command, el, pos) {
+ var matches = String($(el).attr('id')).match(/rcmrow([a-z0-9\-_=]+)/i);
+ if ($(el) && matches) {
+ var prev_uid = rcmail.env.uid;
+ if (rcmail.message_list.selection.length <= 1 || !rcmail.message_list.in_selection(matches[1]))
+ rcmail.env.uid = matches[1];
+
+ // fix command string in IE
+ if (command.indexOf("#") > 0)
+ command = command.substr(command.indexOf("#") + 1);
+
+ // enable the required command
+ cmd = (command == 'read' || command == 'unread' || command == 'flagged' || command == 'unflagged') ? 'mark' : command;
+ var prev_command = rcmail.commands[cmd];
+ rcmail.enable_command(cmd, true);
+
+ // process external commands
+ if (typeof rcmail.contextmenu_command_handlers[command] == 'function') {
+ rcmail.contextmenu_command_handlers[command](command, el, pos);
+ }
+ else if (typeof rcmail.contextmenu_command_handlers[command] == 'string') {
+ window[rcmail.contextmenu_command_handlers[command]](command, el, pos);
+ }
+ else {
+ switch (command) {
+ case 'read':
+ case 'unread':
+ case 'flagged':
+ case 'unflagged':
+ rcmail.command('mark', command, $(el));
+ break;
+ case 'reply':
+ case 'reply-all':
+ case 'reply-list':
+ case 'forward-inline':
+ case 'forward-attachment':
+ case 'print':
+ case 'download':
+ case 'viewsource':
+ rcmail.command(command, '', $(el));
+ break;
+ case 'edit':
+ rcmail.command(command, 'new', $(el));
+ break;
+ case 'open':
+ rcmail.command(command, '', rcube_find_object('rcm_open'));
+ rcmail.sourcewin = window.open(rcube_find_object('rcm_open').href);
+ if (rcmail.sourcewin)
+ window.setTimeout(function() { rcmail.sourcewin.focus(); }, 20);
+
+ rcube_find_object('rcm_open').href = '#open';
+ break;
+ case 'delete':
+ case 'moveto':
+ if (command == 'moveto' && rcmail.env.rcm_destfolder == rcmail.env.mailbox)
+ return;
+
+ var prev_sel = null;
+
+ // also select childs of (collapsed) threads
+ if (rcmail.env.uid) {
+ if (!rcmail.message_list.in_selection(rcmail.env.uid)) {
+ prev_sel = rcmail.message_list.get_selection();
+ rcmail.message_list.select_row(rcmail.env.uid);
+ }
+
+ if (rcmail.message_list.rows[rcmail.env.uid].has_children && !rcmail.message_list.rows[rcmail.env.uid].expanded)
+ rcmail.message_list.select_childs(rcmail.env.uid);
+
+ rcmail.env.uid = null;
+ }
+
+ rcmail.command(command, rcmail.env.rcm_destfolder, $(el));
+
+ if (prev_sel) {
+ rcmail.message_list.clear_selection();
+
+ for (var i in prev_sel)
+ rcmail.message_list.select_row(prev_sel[i], CONTROL_KEY);
+ }
+
+ delete rcmail.env.rcm_destfolder;
+ break;
+ }
+ }
+
+ rcmail.enable_command(cmd, prev_command);
+ rcmail.env.uid = prev_uid;
+ }
+ });
+}
+
+function rcm_set_dest_folder(folder) {
+ rcmail.env.rcm_destfolder = folder;
+}
+
+function rcm_contextmenu_register_command(command, callback, label, pos, sep, multi, newSub, menu, liclass) {
+ if (!menu)
+ menu = $('#rcmContextMenu');
+
+ if (!liclass)
+ liclass = command;
+
+ if (typeof label != 'string') {
+ var menuItem = label.children('li');
+ }
+ else {
+ var menuItem = $('<li>').addClass(liclass);
+ $('<a>').attr('href', '#' + command).addClass('active').html('<span>' + rcmail.gettext(label) + '</span>').appendTo(menuItem);
+ }
+
+ rcmail.contextmenu_command_handlers[command] = callback;
+
+ if (pos && menu.children('li.' + pos) && newSub) {
+ subMenu = menu.children('li.' + pos);
+ subMenu.addClass('submenu');
+
+ var mainLink = null;
+ if (subMenu.children('a') && !subMenu.hasClass('sublink')) {
+ subMenu.addClass('sublink');
+
+ var mainLink = $('<li>').addClass(pos);
+ subMenu.children('a').clone().appendTo(mainLink)
+ subMenu.children('a').addClass('mainlink');
+ }
+
+ var newMenu = $('<ul>').addClass('toolbarmenu').appendTo(subMenu);
+
+ if (mainLink)
+ newMenu.append(mainLink);
+
+ newMenu.append(menuItem);
+ }
+ else if (pos && menu.children('li.' + pos)) {
+ menu.children('li.' + pos).before(menuItem);
+ }
+ else {
+ menu.append(menuItem);
+ }
+
+ if (sep == 'before')
+ menuItem.addClass('separator_above');
+ else if (sep == 'after')
+ menuItem.addClass('separator_below');
+
+ if (!multi)
+ rcmail.contextmenu_disable_multi[rcmail.contextmenu_disable_multi.length] = '#' + command;
+}
+
+function rcm_foldermenu_init() {
+ $("#mailboxlist li").contextMenu({
+ menu: 'rcmFolderMenu'
+ },
+ function(command, el, pos) {
+ var matches = String($(el).children('a').attr('onclick')).match(/.*rcmail.command\(["']list["'],\s*["']([^"']*)["'],\s*this\).*/i);
+ if ($(el) && matches) {
+ var mailbox = matches[1];
+ var messagecount = 0;
+
+ if (command == 'readfolder' || command == 'expunge' || command == 'purge') {
+ if (mailbox == rcmail.env.mailbox) {
+ messagecount = rcmail.env.messagecount;
+ }
+ else if (rcmail.env.unread_counts[mailbox] == 0) {
+ var lock = rcmail.set_busy(true, 'loading');
+
+ querystring = '_mbox=' + urlencode(mailbox);
+ querystring += (querystring ? '&' : '') + '_remote=1';
+ var url = rcmail.env.comm_path + '&_action=' + 'plugin.contextmenu.messagecount' + '&' + querystring
+
+ // send request
+ console.log('HTTP POST: ' + url);
+
+ jQuery.ajax({
+ url: url,
+ dataType: "json",
+ success: function(response) { messagecount = response.env.messagecount; },
+ async: false
+ });
+
+ rcmail.set_busy(false, null, lock);
+ }
+
+ if (rcmail.env.unread_counts[mailbox] == 0 && messagecount == 0) {
+ rcmail.display_message(rcmail.get_label('nomessagesfound'), 'notice');