From b2034fdfec040a67988e543a911208ef2491ce7a Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Sun, 22 Feb 2015 12:58:46 +0100 Subject: New RoundCube Plugins Git folder --- acl/acl.js | 394 ++++ acl/acl.php | 760 +++++++ acl/composer.json | 24 + acl/config.inc.php.dist | 33 + acl/localization/ar_SA.inc | 91 + acl/localization/ast.inc | 80 + acl/localization/az_AZ.inc | 91 + acl/localization/be_BE.inc | 98 + acl/localization/bg_BG.inc | 94 + acl/localization/br.inc | 48 + acl/localization/bs_BA.inc | 98 + acl/localization/ca_ES.inc | 98 + acl/localization/cs_CZ.inc | 92 + acl/localization/cy_GB.inc | 98 + acl/localization/da_DK.inc | 93 + acl/localization/de_CH.inc | 98 + acl/localization/de_DE.inc | 98 + acl/localization/el_GR.inc | 98 + acl/localization/en_CA.inc | 94 + acl/localization/en_GB.inc | 98 + acl/localization/en_US.inc | 108 + acl/localization/eo.inc | 63 + acl/localization/es_419.inc | 98 + acl/localization/es_AR.inc | 98 + acl/localization/es_ES.inc | 98 + acl/localization/et_EE.inc | 98 + acl/localization/eu_ES.inc | 98 + acl/localization/fa_AF.inc | 26 + acl/localization/fa_IR.inc | 98 + acl/localization/fi_FI.inc | 55 + acl/localization/fo_FO.inc | 91 + acl/localization/fr_FR.inc | 98 + acl/localization/fy_NL.inc | 19 + acl/localization/gl_ES.inc | 98 + acl/localization/he_IL.inc | 98 + acl/localization/hr_HR.inc | 89 + acl/localization/hu_HU.inc | 94 + acl/localization/hy_AM.inc | 89 + acl/localization/ia.inc | 98 + acl/localization/id_ID.inc | 94 + acl/localization/it_IT.inc | 98 + acl/localization/ja_JP.inc | 98 + acl/localization/km_KH.inc | 74 + acl/localization/ko_KR.inc | 98 + acl/localization/ku.inc | 83 + acl/localization/ku_IQ.inc | 26 + acl/localization/lb_LU.inc | 69 + acl/localization/lt_LT.inc | 98 + acl/localization/lv_LV.inc | 89 + acl/localization/nb_NO.inc | 91 + acl/localization/nl_NL.inc | 98 + acl/localization/nn_NO.inc | 88 + acl/localization/pl_PL.inc | 98 + acl/localization/pt_BR.inc | 98 + acl/localization/pt_PT.inc | 98 + acl/localization/ro_RO.inc | 94 + acl/localization/ru_RU.inc | 98 + acl/localization/sk_SK.inc | 98 + acl/localization/sl_SI.inc | 91 + acl/localization/sq_AL.inc | 25 + acl/localization/sr_CS.inc | 22 + acl/localization/sv_SE.inc | 98 + acl/localization/th_TH.inc | 49 + acl/localization/ti.inc | 66 + acl/localization/tr_TR.inc | 98 + acl/localization/uk_UA.inc | 44 + acl/localization/vi_VN.inc | 98 + acl/localization/zh_CN.inc | 85 + acl/localization/zh_TW.inc | 89 + acl/skins/classic/acl.css | 98 + acl/skins/classic/images/enabled.png | Bin 0 -> 674 bytes acl/skins/classic/images/partial.png | Bin 0 -> 389 bytes acl/skins/classic/templates/table.html | 46 + acl/skins/larry/acl.css | 124 + acl/skins/larry/images/enabled.png | Bin 0 -> 674 bytes acl/skins/larry/images/partial.png | Bin 0 -> 389 bytes acl/skins/larry/templates/table.html | 30 + acl/tests/Acl.php | 23 + .../additional_message_headers.php | 46 + additional_message_headers/composer.json | 24 + additional_message_headers/config.inc.php.dist | 14 + .../tests/AdditionalMessageHeaders.php | 23 + archive/archive.js | 69 + archive/archive.php | 291 +++ archive/composer.json | 29 + archive/localization/ar_SA.inc | 31 + archive/localization/ast.inc | 31 + archive/localization/az_AZ.inc | 31 + archive/localization/be_BE.inc | 31 + archive/localization/bg_BG.inc | 31 + archive/localization/br.inc | 23 + archive/localization/bs_BA.inc | 31 + archive/localization/ca_ES.inc | 31 + archive/localization/cs_CZ.inc | 31 + archive/localization/cy_GB.inc | 31 + archive/localization/da_DK.inc | 31 + archive/localization/de_CH.inc | 31 + archive/localization/de_DE.inc | 31 + archive/localization/el_GR.inc | 31 + archive/localization/en_CA.inc | 31 + archive/localization/en_GB.inc | 31 + archive/localization/en_US.inc | 34 + archive/localization/eo.inc | 22 + archive/localization/es_419.inc | 31 + archive/localization/es_AR.inc | 31 + archive/localization/es_ES.inc | 31 + archive/localization/et_EE.inc | 31 + archive/localization/eu_ES.inc | 31 + archive/localization/fa_AF.inc | 26 + archive/localization/fa_IR.inc | 31 + archive/localization/fi_FI.inc | 31 + archive/localization/fo_FO.inc | 31 + archive/localization/fr_FR.inc | 31 + archive/localization/gl_ES.inc | 31 + archive/localization/he_IL.inc | 31 + archive/localization/hr_HR.inc | 31 + archive/localization/hu_HU.inc | 31 + archive/localization/hy_AM.inc | 31 + archive/localization/ia.inc | 31 + archive/localization/id_ID.inc | 31 + archive/localization/it_IT.inc | 31 + archive/localization/ja_JP.inc | 31 + archive/localization/km_KH.inc | 31 + archive/localization/ko_KR.inc | 31 + archive/localization/ku.inc | 22 + archive/localization/ku_IQ.inc | 22 + archive/localization/lb_LU.inc | 31 + archive/localization/lt_LT.inc | 31 + archive/localization/lv_LV.inc | 31 + archive/localization/ml_IN.inc | 22 + archive/localization/mr_IN.inc | 22 + archive/localization/nb_NO.inc | 31 + archive/localization/nl_NL.inc | 31 + archive/localization/nn_NO.inc | 31 + archive/localization/pl_PL.inc | 31 + archive/localization/pt_BR.inc | 31 + archive/localization/pt_PT.inc | 31 + archive/localization/ro_RO.inc | 31 + archive/localization/ru_RU.inc | 31 + archive/localization/si_LK.inc | 22 + archive/localization/sk_SK.inc | 31 + archive/localization/sl_SI.inc | 31 + archive/localization/sq_AL.inc | 19 + archive/localization/sr_CS.inc | 22 + archive/localization/sv_SE.inc | 31 + archive/localization/tr_TR.inc | 31 + archive/localization/uk_UA.inc | 31 + archive/localization/vi_VN.inc | 31 + archive/localization/zh_CN.inc | 31 + archive/localization/zh_TW.inc | 31 + archive/skins/classic/archive.css | 10 + archive/skins/classic/archive_act.png | Bin 0 -> 3663 bytes archive/skins/classic/archive_pas.png | Bin 0 -> 977 bytes archive/skins/classic/foldericon.png | Bin 0 -> 3312 bytes archive/skins/larry/.gitignore | 0 archive/tests/Archive.php | 23 + attachment_reminder/attachment_reminder.js | 83 + attachment_reminder/attachment_reminder.php | 84 + attachment_reminder/composer.json | 29 + attachment_reminder/localization/ar_SA.inc | 20 + attachment_reminder/localization/ast.inc | 20 + attachment_reminder/localization/az_AZ.inc | 20 + attachment_reminder/localization/be_BE.inc | 20 + attachment_reminder/localization/bg_BG.inc | 20 + attachment_reminder/localization/br.inc | 20 + attachment_reminder/localization/bs_BA.inc | 20 + attachment_reminder/localization/ca_ES.inc | 20 + attachment_reminder/localization/cs_CZ.inc | 20 + attachment_reminder/localization/cy_GB.inc | 20 + attachment_reminder/localization/da_DK.inc | 20 + attachment_reminder/localization/de_CH.inc | 20 + attachment_reminder/localization/de_DE.inc | 20 + attachment_reminder/localization/el_GR.inc | 20 + attachment_reminder/localization/en_CA.inc | 20 + attachment_reminder/localization/en_GB.inc | 20 + attachment_reminder/localization/en_US.inc | 22 + attachment_reminder/localization/es_419.inc | 20 + attachment_reminder/localization/es_AR.inc | 20 + attachment_reminder/localization/es_ES.inc | 20 + attachment_reminder/localization/et_EE.inc | 20 + attachment_reminder/localization/eu_ES.inc | 20 + attachment_reminder/localization/fa_AF.inc | 20 + attachment_reminder/localization/fa_IR.inc | 20 + attachment_reminder/localization/fi_FI.inc | 20 + attachment_reminder/localization/fo_FO.inc | 20 + attachment_reminder/localization/fr_FR.inc | 20 + attachment_reminder/localization/gl_ES.inc | 20 + attachment_reminder/localization/he_IL.inc | 20 + attachment_reminder/localization/hr_HR.inc | 20 + attachment_reminder/localization/hu_HU.inc | 20 + attachment_reminder/localization/ia.inc | 20 + attachment_reminder/localization/id_ID.inc | 20 + attachment_reminder/localization/it_IT.inc | 20 + attachment_reminder/localization/ja_JP.inc | 20 + attachment_reminder/localization/km_KH.inc | 20 + attachment_reminder/localization/kn_IN.inc | 18 + attachment_reminder/localization/ko_KR.inc | 20 + attachment_reminder/localization/ku.inc | 20 + attachment_reminder/localization/ku_IQ.inc | 19 + attachment_reminder/localization/lb_LU.inc | 20 + attachment_reminder/localization/lt_LT.inc | 20 + attachment_reminder/localization/lv_LV.inc | 20 + attachment_reminder/localization/ml_IN.inc | 19 + attachment_reminder/localization/nb_NO.inc | 20 + attachment_reminder/localization/nl_NL.inc | 20 + attachment_reminder/localization/pl_PL.inc | 20 + attachment_reminder/localization/pt_BR.inc | 20 + attachment_reminder/localization/pt_PT.inc | 20 + attachment_reminder/localization/ro_RO.inc | 20 + attachment_reminder/localization/ru_RU.inc | 20 + attachment_reminder/localization/sk_SK.inc | 20 + attachment_reminder/localization/sl_SI.inc | 20 + attachment_reminder/localization/sv_SE.inc | 20 + attachment_reminder/localization/tr_TR.inc | 20 + attachment_reminder/localization/uk_UA.inc | 19 + attachment_reminder/localization/vi_VN.inc | 20 + attachment_reminder/localization/zh_CN.inc | 20 + attachment_reminder/localization/zh_TW.inc | 20 + autologon/autologon.php | 48 + autologon/composer.json | 24 + autologon/tests/Autologon.php | 23 + database_attachments/composer.json | 30 + database_attachments/config.inc.php.dist | 12 + database_attachments/database_attachments.php | 163 ++ database_attachments/tests/DatabaseAttachments.php | 23 + debug_logger/composer.json | 24 + debug_logger/debug_logger.php | 150 ++ debug_logger/runlog/runlog.php | 227 ++ debug_logger/tests/DebugLogger.php | 23 + emoticons/composer.json | 29 + emoticons/emoticons.php | 78 + emoticons/tests/Emoticons.php | 23 + enigma/README | 36 + enigma/config.inc.php.dist | 14 + enigma/enigma.js | 206 ++ enigma/enigma.php | 485 ++++ enigma/home/.htaccess | 2 + enigma/lib/enigma_driver.php | 106 + enigma/lib/enigma_driver_gnupg.php | 303 +++ enigma/lib/enigma_driver_phpssl.php | 238 ++ enigma/lib/enigma_engine.php | 554 +++++ enigma/lib/enigma_error.php | 64 + enigma/lib/enigma_key.php | 129 ++ enigma/lib/enigma_signature.php | 34 + enigma/lib/enigma_subkey.php | 57 + enigma/lib/enigma_ui.php | 455 ++++ enigma/lib/enigma_userid.php | 31 + enigma/localization/en_US.inc | 54 + enigma/localization/ja_JP.inc | 49 + enigma/localization/ru_RU.inc | 59 + enigma/skins/classic/enigma.css | 182 ++ enigma/skins/classic/enigma.png | Bin 0 -> 1592 bytes enigma/skins/classic/enigma_error.png | Bin 0 -> 1960 bytes enigma/skins/classic/key.png | Bin 0 -> 1743 bytes enigma/skins/classic/key_add.png | Bin 0 -> 1967 bytes enigma/skins/classic/keys_toolbar.png | Bin 0 -> 14977 bytes enigma/skins/classic/templates/keyimport.html | 20 + enigma/skins/classic/templates/keyinfo.html | 17 + enigma/skins/classic/templates/keys.html | 80 + enigma/tests/Enigma.php | 23 + example_addressbook/composer.json | 24 + example_addressbook/example_addressbook.php | 53 + .../example_addressbook_backend.php | 116 + example_addressbook/tests/ExampleAddressbook.php | 23 + filesystem_attachments/composer.json | 29 + filesystem_attachments/filesystem_attachments.php | 185 ++ .../tests/FilesystemAttachments.php | 23 + help/composer.json | 24 + help/config.inc.php.dist | 35 + help/content/license.html | 689 ++++++ help/help.js | 38 + help/help.php | 152 ++ help/localization/ar_SA.inc | 21 + help/localization/ast.inc | 21 + help/localization/az_AZ.inc | 21 + help/localization/be_BE.inc | 21 + help/localization/bg_BG.inc | 21 + help/localization/br.inc | 21 + help/localization/bs_BA.inc | 21 + help/localization/ca_ES.inc | 21 + help/localization/cs_CZ.inc | 21 + help/localization/cy_GB.inc | 21 + help/localization/da_DK.inc | 21 + help/localization/de_CH.inc | 21 + help/localization/de_DE.inc | 21 + help/localization/el_GR.inc | 21 + help/localization/en_CA.inc | 21 + help/localization/en_GB.inc | 21 + help/localization/en_US.inc | 24 + help/localization/eo.inc | 21 + help/localization/es_419.inc | 21 + help/localization/es_AR.inc | 21 + help/localization/es_ES.inc | 21 + help/localization/et_EE.inc | 21 + help/localization/eu_ES.inc | 21 + help/localization/fa_AF.inc | 21 + help/localization/fa_IR.inc | 21 + help/localization/fi_FI.inc | 21 + help/localization/fo_FO.inc | 21 + help/localization/fr_FR.inc | 21 + help/localization/fy_NL.inc | 21 + help/localization/gl_ES.inc | 21 + help/localization/he_IL.inc | 21 + help/localization/hr_HR.inc | 21 + help/localization/hu_HU.inc | 21 + help/localization/hy_AM.inc | 21 + help/localization/ia.inc | 21 + help/localization/id_ID.inc | 21 + help/localization/it_IT.inc | 21 + help/localization/ja_JP.inc | 21 + help/localization/km_KH.inc | 21 + help/localization/kn_IN.inc | 20 + help/localization/ko_KR.inc | 21 + help/localization/ku.inc | 21 + help/localization/ku_IQ.inc | 21 + help/localization/lb_LU.inc | 21 + help/localization/lt_LT.inc | 21 + help/localization/lv_LV.inc | 21 + help/localization/ml_IN.inc | 21 + help/localization/nb_NO.inc | 21 + help/localization/nl_NL.inc | 21 + help/localization/nn_NO.inc | 21 + help/localization/pl_PL.inc | 21 + help/localization/pt_BR.inc | 21 + help/localization/pt_PT.inc | 21 + help/localization/ro_RO.inc | 21 + help/localization/ru_RU.inc | 21 + help/localization/sk_SK.inc | 21 + help/localization/sl_SI.inc | 21 + help/localization/sq_AL.inc | 20 + help/localization/sr_CS.inc | 21 + help/localization/sv_SE.inc | 21 + help/localization/ti.inc | 21 + help/localization/tr_TR.inc | 21 + help/localization/uk_UA.inc | 21 + help/localization/vi_VN.inc | 21 + help/localization/zh_CN.inc | 21 + help/localization/zh_TW.inc | 21 + help/skins/classic/help.css | 43 + help/skins/classic/help.gif | Bin 0 -> 898 bytes help/skins/classic/templates/help.html | 41 + help/skins/larry/help.css | 44 + help/skins/larry/help.png | Bin 0 -> 2876 bytes help/skins/larry/icons.psd | Bin 0 -> 339722 bytes help/skins/larry/templates/help.html | 31 + help/tests/Help.php | 23 + hide_blockquote/composer.json | 24 + hide_blockquote/hide_blockquote.js | 63 + hide_blockquote/hide_blockquote.php | 78 + hide_blockquote/localization/ar_SA.inc | 21 + hide_blockquote/localization/ast.inc | 21 + hide_blockquote/localization/az_AZ.inc | 21 + hide_blockquote/localization/be_BE.inc | 21 + hide_blockquote/localization/bg_BG.inc | 21 + hide_blockquote/localization/br.inc | 21 + hide_blockquote/localization/bs_BA.inc | 21 + hide_blockquote/localization/ca_ES.inc | 21 + hide_blockquote/localization/cs_CZ.inc | 21 + hide_blockquote/localization/cy_GB.inc | 21 + hide_blockquote/localization/da_DK.inc | 21 + hide_blockquote/localization/de_CH.inc | 21 + hide_blockquote/localization/de_DE.inc | 21 + hide_blockquote/localization/el_GR.inc | 21 + hide_blockquote/localization/en_CA.inc | 21 + hide_blockquote/localization/en_GB.inc | 21 + hide_blockquote/localization/en_US.inc | 24 + hide_blockquote/localization/eo.inc | 21 + hide_blockquote/localization/es_419.inc | 21 + hide_blockquote/localization/es_AR.inc | 21 + hide_blockquote/localization/es_ES.inc | 21 + hide_blockquote/localization/et_EE.inc | 21 + hide_blockquote/localization/eu_ES.inc | 21 + hide_blockquote/localization/fa_IR.inc | 21 + hide_blockquote/localization/fi_FI.inc | 21 + hide_blockquote/localization/fo_FO.inc | 21 + hide_blockquote/localization/fr_FR.inc | 21 + hide_blockquote/localization/gl_ES.inc | 21 + hide_blockquote/localization/he_IL.inc | 21 + hide_blockquote/localization/hr_HR.inc | 21 + hide_blockquote/localization/hu_HU.inc | 21 + hide_blockquote/localization/hy_AM.inc | 21 + hide_blockquote/localization/ia.inc | 21 + hide_blockquote/localization/id_ID.inc | 21 + hide_blockquote/localization/it_IT.inc | 21 + hide_blockquote/localization/ja_JP.inc | 21 + hide_blockquote/localization/km_KH.inc | 21 + hide_blockquote/localization/ko_KR.inc | 21 + hide_blockquote/localization/ku.inc | 21 + hide_blockquote/localization/lb_LU.inc | 21 + hide_blockquote/localization/lt_LT.inc | 21 + hide_blockquote/localization/lv_LV.inc | 21 + hide_blockquote/localization/ml_IN.inc | 21 + hide_blockquote/localization/nb_NO.inc | 21 + hide_blockquote/localization/nl_NL.inc | 21 + hide_blockquote/localization/nn_NO.inc | 21 + hide_blockquote/localization/pl_PL.inc | 21 + hide_blockquote/localization/pt_BR.inc | 21 + hide_blockquote/localization/pt_PT.inc | 21 + hide_blockquote/localization/ro_RO.inc | 21 + hide_blockquote/localization/ru_RU.inc | 21 + hide_blockquote/localization/sk_SK.inc | 21 + hide_blockquote/localization/sl_SI.inc | 21 + hide_blockquote/localization/sq_AL.inc | 20 + hide_blockquote/localization/sr_CS.inc | 21 + hide_blockquote/localization/sv_SE.inc | 21 + hide_blockquote/localization/tr_TR.inc | 21 + hide_blockquote/localization/uk_UA.inc | 20 + hide_blockquote/localization/vi_VN.inc | 21 + hide_blockquote/localization/zh_CN.inc | 21 + hide_blockquote/localization/zh_TW.inc | 21 + hide_blockquote/skins/larry/style.css | 31 + hide_blockquote/tests/HideBlockquote.php | 23 + http_authentication/composer.json | 24 + http_authentication/config.inc.php.dist | 9 + http_authentication/http_authentication.php | 107 + http_authentication/logout.html | 29 + http_authentication/tests/HttpAuthentication.php | 23 + identity_select/composer.json | 24 + identity_select/identity_select.php | 68 + identity_select/tests/IdentitySelect.php | 22 + jqueryui/README | 31 + jqueryui/composer.json | 24 + jqueryui/config.inc.php.dist | 13 + jqueryui/jqueryui.php | 158 ++ jqueryui/js/i18n/jquery-ui-i18n.js | 1677 ++++++++++++++ jqueryui/js/i18n/jquery.ui.datepicker-af.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-ar-DZ.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-ar.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-az.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-bg.js | 26 + jqueryui/js/i18n/jquery.ui.datepicker-bs.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-ca.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-cs.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-cy-GB.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-da.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-de-CH.js | 24 + jqueryui/js/i18n/jquery.ui.datepicker-de.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-el.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-en-AU.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-en-GB.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-en-NZ.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-eo.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-es.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-et.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-eu.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-fa.js | 61 + jqueryui/js/i18n/jquery.ui.datepicker-fi.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-fo.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-fr-CH.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-fr.js | 27 + jqueryui/js/i18n/jquery.ui.datepicker-gl.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-he.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-hi.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-hr.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-hu.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-hy.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-id.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-is.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-it.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-ja.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-ka.js | 23 + jqueryui/js/i18n/jquery.ui.datepicker-kk.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-km.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-ko.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-kz.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-lb.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-lt.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-lv.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-mk.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-ml.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-ms.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-nl-BE.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-nl.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-no.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-pl.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-pt-BR.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-pt.js | 24 + jqueryui/js/i18n/jquery.ui.datepicker-rm.js | 23 + jqueryui/js/i18n/jquery.ui.datepicker-ro.js | 28 + jqueryui/js/i18n/jquery.ui.datepicker-ru.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-sk.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-sl.js | 26 + jqueryui/js/i18n/jquery.ui.datepicker-sq.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-sr-SR.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-sr.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-sv.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-ta.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-th.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-tj.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-tr.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-uk.js | 26 + jqueryui/js/i18n/jquery.ui.datepicker-vi.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-zh-CN.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-zh-HK.js | 25 + jqueryui/js/i18n/jquery.ui.datepicker-zh-TW.js | 25 + jqueryui/js/jquery-ui-1.10.4.custom.min.js | 250 ++ jqueryui/js/jquery-ui-accessible-datepicker.js | 235 ++ jqueryui/js/jquery.miniColors.min.js | 49 + jqueryui/js/jquery.tagedit.js | 683 ++++++ jqueryui/tests/Jqueryui.php | 23 + .../themes/classic/images/animated-overlay.gif | Bin 0 -> 1738 bytes jqueryui/themes/classic/images/buttongradient.png | Bin 0 -> 193 bytes jqueryui/themes/classic/images/listheader.png | Bin 0 -> 356 bytes .../classic/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../classic/images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../classic/images/ui-bg_flat_90_cc3333_40x100.png | Bin 0 -> 212 bytes .../classic/images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-hard_90_a3a3a3_1x100.png | Bin 0 -> 114 bytes .../ui-bg_highlight-hard_90_e6e6e7_1x100.png | Bin 0 -> 101 bytes .../ui-bg_highlight-hard_90_f4f4f4_1x100.png | Bin 0 -> 122 bytes .../classic/images/ui-icons_000000_256x240.png | Bin 0 -> 4369 bytes .../classic/images/ui-icons_333333_256x240.png | Bin 0 -> 4369 bytes .../classic/images/ui-icons_666666_256x240.png | Bin 0 -> 4369 bytes .../classic/images/ui-icons_cc3333_256x240.png | Bin 0 -> 5355 bytes .../classic/images/ui-icons_dddddd_256x240.png | Bin 0 -> 4369 bytes .../themes/classic/jquery-ui-1.10.4.custom.css | 1223 ++++++++++ jqueryui/themes/classic/roundcube-custom.diff | 174 ++ jqueryui/themes/larry/images/animated-overlay.gif | Bin 0 -> 1738 bytes jqueryui/themes/larry/images/minicolors-all.png | Bin 0 -> 13370 bytes .../themes/larry/images/minicolors-handles.gif | Bin 0 -> 421 bytes jqueryui/themes/larry/images/ui-dialog-close.png | Bin 0 -> 644 bytes .../themes/larry/images/ui-icons-datepicker.png | Bin 0 -> 323 bytes .../larry/images/ui-icons_004458_256x240.png | Bin 0 -> 3395 bytes .../larry/images/ui-icons_d7211e_256x240.png | Bin 0 -> 3378 bytes jqueryui/themes/larry/jquery-ui-1.10.4.custom.css | 1517 +++++++++++++ jqueryui/themes/larry/jquery-ui-css.diff | 600 +++++ jqueryui/themes/larry/jquery.miniColors.css | 106 + jqueryui/themes/larry/tagedit.css | 122 + .../themes/redmond/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../redmond/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../redmond/images/ui-bg_flat_55_fbec88_40x100.png | Bin 0 -> 182 bytes .../redmond/images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 0 -> 162 bytes .../redmond/images/ui-bg_glass_85_dfeffc_1x400.png | Bin 0 -> 123 bytes .../redmond/images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../images/ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 0 -> 3457 bytes .../images/ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 0 -> 104 bytes .../images/ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 0 -> 88 bytes .../redmond/images/ui-icons_217bc0_256x240.png | Bin 0 -> 4369 bytes .../redmond/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../redmond/images/ui-icons_469bdd_256x240.png | Bin 0 -> 4369 bytes .../redmond/images/ui-icons_6da8d5_256x240.png | Bin 0 -> 4369 bytes .../redmond/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../redmond/images/ui-icons_d8e7f3_256x240.png | Bin 0 -> 4369 bytes .../redmond/images/ui-icons_f9bd01_256x240.png | Bin 0 -> 4369 bytes .../themes/redmond/jquery-ui-1.10.4.custom.css | 1178 ++++++++++ legacy_browser/composer.json | 24 + legacy_browser/js/iehacks.js | 108 + legacy_browser/js/jquery.min.js | 4 + legacy_browser/legacy_browser.php | 112 + legacy_browser/skins/classic/iehacks.css | 295 +++ .../skins/classic/images/abook_toolbar.gif | Bin 0 -> 5753 bytes .../skins/classic/images/mail_toolbar.gif | Bin 0 -> 12821 bytes legacy_browser/skins/larry/ie7hacks.css | 211 ++ legacy_browser/skins/larry/iehacks.css | 200 ++ legacy_browser/skins/larry/images/buttons.gif | Bin 0 -> 14997 bytes legacy_browser/tests/LegacyBrowser.php | 23 + managesieve/Changelog | 327 +++ managesieve/composer.json | 29 + managesieve/config.inc.php.dist | 90 + managesieve/lib/Roundcube/rcube_sieve.php | 389 ++++ managesieve/lib/Roundcube/rcube_sieve_engine.php | 2381 ++++++++++++++++++++ managesieve/lib/Roundcube/rcube_sieve_script.php | 1217 ++++++++++ managesieve/lib/Roundcube/rcube_sieve_vacation.php | 862 +++++++ managesieve/localization/ar_SA.inc | 188 ++ managesieve/localization/ast.inc | 50 + managesieve/localization/az_AZ.inc | 188 ++ managesieve/localization/be_BE.inc | 188 ++ managesieve/localization/bg_BG.inc | 209 ++ managesieve/localization/br.inc | 30 + managesieve/localization/bs_BA.inc | 224 ++ managesieve/localization/ca_ES.inc | 224 ++ managesieve/localization/cs_CZ.inc | 218 ++ managesieve/localization/cy_GB.inc | 224 ++ managesieve/localization/da_DK.inc | 205 ++ managesieve/localization/de_CH.inc | 224 ++ managesieve/localization/de_DE.inc | 224 ++ managesieve/localization/el_GR.inc | 224 ++ managesieve/localization/en_CA.inc | 209 ++ managesieve/localization/en_GB.inc | 224 ++ managesieve/localization/en_US.inc | 229 ++ managesieve/localization/eo.inc | 51 + managesieve/localization/es_419.inc | 224 ++ managesieve/localization/es_AR.inc | 224 ++ managesieve/localization/es_ES.inc | 224 ++ managesieve/localization/et_EE.inc | 177 ++ managesieve/localization/eu_ES.inc | 224 ++ managesieve/localization/fa_AF.inc | 85 + managesieve/localization/fa_IR.inc | 224 ++ managesieve/localization/fi_FI.inc | 183 ++ managesieve/localization/fr_FR.inc | 224 ++ managesieve/localization/fy_NL.inc | 39 + managesieve/localization/gl_ES.inc | 206 ++ managesieve/localization/he_IL.inc | 224 ++ managesieve/localization/hr_HR.inc | 194 ++ managesieve/localization/hu_HU.inc | 224 ++ managesieve/localization/hy_AM.inc | 138 ++ managesieve/localization/ia.inc | 224 ++ managesieve/localization/id_ID.inc | 221 ++ managesieve/localization/it_IT.inc | 224 ++ managesieve/localization/ja_JP.inc | 214 ++ managesieve/localization/km_KH.inc | 116 + managesieve/localization/ko_KR.inc | 224 ++ managesieve/localization/ku.inc | 90 + managesieve/localization/lb_LU.inc | 49 + managesieve/localization/lt_LT.inc | 221 ++ managesieve/localization/lv_LV.inc | 188 ++ managesieve/localization/ml_IN.inc | 148 ++ managesieve/localization/mr_IN.inc | 34 + managesieve/localization/nb_NO.inc | 188 ++ managesieve/localization/nl_NL.inc | 224 ++ managesieve/localization/nn_NO.inc | 152 ++ managesieve/localization/pl_PL.inc | 224 ++ managesieve/localization/pt_BR.inc | 224 ++ managesieve/localization/pt_PT.inc | 224 ++ managesieve/localization/ro_RO.inc | 202 ++ managesieve/localization/ru_RU.inc | 224 ++ managesieve/localization/si_LK.inc | 42 + managesieve/localization/sk_SK.inc | 224 ++ managesieve/localization/sl_SI.inc | 188 ++ managesieve/localization/sq_AL.inc | 26 + managesieve/localization/sv_SE.inc | 224 ++ managesieve/localization/th_TH.inc | 45 + managesieve/localization/tr_TR.inc | 224 ++ managesieve/localization/uk_UA.inc | 140 ++ managesieve/localization/vi_VN.inc | 209 ++ managesieve/localization/zh_CN.inc | 166 ++ managesieve/localization/zh_TW.inc | 160 ++ managesieve/managesieve.js | 1031 +++++++++ managesieve/managesieve.php | 274 +++ managesieve/skins/classic/images/add.png | Bin 0 -> 280 bytes managesieve/skins/classic/images/del.png | Bin 0 -> 247 bytes managesieve/skins/classic/images/down_small.gif | Bin 0 -> 106 bytes managesieve/skins/classic/images/erase.png | Bin 0 -> 453 bytes managesieve/skins/classic/images/filter.png | Bin 0 -> 547 bytes managesieve/skins/classic/images/up_small.gif | Bin 0 -> 106 bytes managesieve/skins/classic/managesieve.css | 430 ++++ managesieve/skins/classic/managesieve_mail.css | 62 + .../skins/classic/templates/filteredit.html | 32 + .../skins/classic/templates/managesieve.html | 85 + managesieve/skins/classic/templates/setedit.html | 23 + managesieve/skins/classic/templates/vacation.html | 31 + managesieve/skins/larry/images/add.png | Bin 0 -> 280 bytes managesieve/skins/larry/images/del.png | Bin 0 -> 247 bytes managesieve/skins/larry/images/down_small.gif | Bin 0 -> 106 bytes managesieve/skins/larry/images/erase.png | Bin 0 -> 453 bytes managesieve/skins/larry/images/up_small.gif | Bin 0 -> 106 bytes managesieve/skins/larry/images/vacation_icons.png | Bin 0 -> 767 bytes managesieve/skins/larry/managesieve.css | 450 ++++ managesieve/skins/larry/managesieve_mail.css | 62 + managesieve/skins/larry/templates/filteredit.html | 32 + managesieve/skins/larry/templates/managesieve.html | 79 + managesieve/skins/larry/templates/setedit.html | 24 + managesieve/skins/larry/templates/vacation.html | 32 + managesieve/tests/Managesieve.php | 23 + managesieve/tests/Parser.php | 62 + managesieve/tests/Tokenizer.php | 33 + managesieve/tests/Vacation.php | 66 + managesieve/tests/src/parser | 52 + managesieve/tests/src/parser.out | 52 + managesieve/tests/src/parser_body | 17 + managesieve/tests/src/parser_date | 21 + managesieve/tests/src/parser_enotify_a | 19 + managesieve/tests/src/parser_enotify_b | 18 + managesieve/tests/src/parser_imapflags | 7 + managesieve/tests/src/parser_include | 7 + managesieve/tests/src/parser_index | 24 + managesieve/tests/src/parser_kep14 | 2 + managesieve/tests/src/parser_kep14.out | 3 + managesieve/tests/src/parser_notify_a | 18 + managesieve/tests/src/parser_notify_b | 17 + managesieve/tests/src/parser_prefix | 5 + managesieve/tests/src/parser_relational | 6 + managesieve/tests/src/parser_subaddress | 11 + managesieve/tests/src/parser_vacation | 12 + managesieve/tests/src/parser_vacation_seconds | 12 + managesieve/tests/src/parser_variables | 12 + markasjunk/composer.json | 24 + markasjunk/localization/ar.inc | 20 + markasjunk/localization/ar_SA.inc | 21 + markasjunk/localization/ast.inc | 21 + markasjunk/localization/az_AZ.inc | 21 + markasjunk/localization/be_BE.inc | 21 + markasjunk/localization/bg_BG.inc | 21 + markasjunk/localization/br.inc | 21 + markasjunk/localization/bs_BA.inc | 21 + markasjunk/localization/ca_ES.inc | 21 + markasjunk/localization/cs_CZ.inc | 21 + markasjunk/localization/cy_GB.inc | 21 + markasjunk/localization/da_DK.inc | 21 + markasjunk/localization/de_CH.inc | 21 + markasjunk/localization/de_DE.inc | 21 + markasjunk/localization/el_GR.inc | 21 + markasjunk/localization/en_CA.inc | 21 + markasjunk/localization/en_GB.inc | 21 + markasjunk/localization/en_US.inc | 24 + markasjunk/localization/eo.inc | 21 + markasjunk/localization/es_419.inc | 21 + markasjunk/localization/es_AR.inc | 21 + markasjunk/localization/es_ES.inc | 21 + markasjunk/localization/et_EE.inc | 21 + markasjunk/localization/eu_ES.inc | 21 + markasjunk/localization/fa_AF.inc | 21 + markasjunk/localization/fa_IR.inc | 21 + markasjunk/localization/fi_FI.inc | 21 + markasjunk/localization/fo_FO.inc | 21 + markasjunk/localization/fr_FR.inc | 21 + markasjunk/localization/fy_NL.inc | 19 + markasjunk/localization/gl_ES.inc | 21 + markasjunk/localization/he_IL.inc | 21 + markasjunk/localization/hr_HR.inc | 21 + markasjunk/localization/hu_HU.inc | 21 + markasjunk/localization/hy_AM.inc | 21 + markasjunk/localization/ia.inc | 21 + markasjunk/localization/id_ID.inc | 21 + markasjunk/localization/it_IT.inc | 21 + markasjunk/localization/ja_JP.inc | 21 + markasjunk/localization/km_KH.inc | 21 + markasjunk/localization/ko_KR.inc | 21 + markasjunk/localization/lb_LU.inc | 21 + markasjunk/localization/lt_LT.inc | 21 + markasjunk/localization/lv_LV.inc | 21 + markasjunk/localization/ml_IN.inc | 21 + markasjunk/localization/mr_IN.inc | 20 + markasjunk/localization/nb_NO.inc | 21 + markasjunk/localization/nl_NL.inc | 21 + markasjunk/localization/nn_NO.inc | 21 + markasjunk/localization/pl_PL.inc | 21 + markasjunk/localization/pt_BR.inc | 21 + markasjunk/localization/pt_PT.inc | 21 + markasjunk/localization/ro_RO.inc | 21 + markasjunk/localization/ru_RU.inc | 21 + markasjunk/localization/si_LK.inc | 20 + markasjunk/localization/sk_SK.inc | 21 + markasjunk/localization/sl_SI.inc | 21 + markasjunk/localization/sr_CS.inc | 21 + markasjunk/localization/sv_SE.inc | 21 + markasjunk/localization/tr_TR.inc | 21 + markasjunk/localization/uk_UA.inc | 21 + markasjunk/localization/vi_VN.inc | 21 + markasjunk/localization/zh_CN.inc | 21 + markasjunk/localization/zh_TW.inc | 21 + markasjunk/markasjunk.js | 43 + markasjunk/markasjunk.php | 75 + markasjunk/skins/classic/junk_act.png | Bin 0 -> 1995 bytes markasjunk/skins/classic/junk_pas.png | Bin 0 -> 1988 bytes markasjunk/skins/classic/markasjunk.css | 6 + markasjunk/skins/larry/.gitignore | 0 markasjunk/tests/Markasjunk.php | 23 + new_user_dialog/composer.json | 24 + new_user_dialog/localization/ar.inc | 20 + new_user_dialog/localization/ar_SA.inc | 20 + new_user_dialog/localization/ast.inc | 20 + new_user_dialog/localization/az_AZ.inc | 20 + new_user_dialog/localization/be_BE.inc | 20 + new_user_dialog/localization/bg_BG.inc | 20 + new_user_dialog/localization/br.inc | 20 + new_user_dialog/localization/bs_BA.inc | 20 + new_user_dialog/localization/ca_ES.inc | 20 + new_user_dialog/localization/cs_CZ.inc | 20 + new_user_dialog/localization/cy_GB.inc | 20 + new_user_dialog/localization/da_DK.inc | 20 + new_user_dialog/localization/de_CH.inc | 20 + new_user_dialog/localization/de_DE.inc | 20 + new_user_dialog/localization/el_GR.inc | 20 + new_user_dialog/localization/en_CA.inc | 20 + new_user_dialog/localization/en_GB.inc | 20 + new_user_dialog/localization/en_US.inc | 23 + new_user_dialog/localization/eo.inc | 20 + new_user_dialog/localization/es_419.inc | 20 + new_user_dialog/localization/es_AR.inc | 20 + new_user_dialog/localization/es_ES.inc | 20 + new_user_dialog/localization/et_EE.inc | 20 + new_user_dialog/localization/eu_ES.inc | 20 + new_user_dialog/localization/fa_AF.inc | 20 + new_user_dialog/localization/fa_IR.inc | 20 + new_user_dialog/localization/fi_FI.inc | 20 + new_user_dialog/localization/fo_FO.inc | 20 + new_user_dialog/localization/fr_FR.inc | 20 + new_user_dialog/localization/gl_ES.inc | 20 + new_user_dialog/localization/he_IL.inc | 20 + new_user_dialog/localization/hr_HR.inc | 20 + new_user_dialog/localization/hu_HU.inc | 20 + new_user_dialog/localization/hy_AM.inc | 20 + new_user_dialog/localization/ia.inc | 20 + new_user_dialog/localization/id_ID.inc | 20 + new_user_dialog/localization/it_IT.inc | 20 + new_user_dialog/localization/ja_JP.inc | 20 + new_user_dialog/localization/km_KH.inc | 20 + new_user_dialog/localization/ko_KR.inc | 20 + new_user_dialog/localization/ku.inc | 20 + new_user_dialog/localization/lb_LU.inc | 20 + new_user_dialog/localization/lt_LT.inc | 20 + new_user_dialog/localization/lv_LV.inc | 20 + new_user_dialog/localization/ml_IN.inc | 20 + new_user_dialog/localization/mr_IN.inc | 20 + new_user_dialog/localization/nb_NO.inc | 20 + new_user_dialog/localization/nl_NL.inc | 20 + new_user_dialog/localization/nn_NO.inc | 20 + new_user_dialog/localization/pl_PL.inc | 20 + new_user_dialog/localization/pt_BR.inc | 20 + new_user_dialog/localization/pt_PT.inc | 20 + new_user_dialog/localization/ro_RO.inc | 20 + new_user_dialog/localization/ru_RU.inc | 20 + new_user_dialog/localization/sk_SK.inc | 20 + new_user_dialog/localization/sl_SI.inc | 20 + new_user_dialog/localization/sr_CS.inc | 20 + new_user_dialog/localization/sv_SE.inc | 20 + new_user_dialog/localization/tr_TR.inc | 20 + new_user_dialog/localization/uk_UA.inc | 20 + new_user_dialog/localization/vi_VN.inc | 20 + new_user_dialog/localization/zh_CN.inc | 20 + new_user_dialog/localization/zh_TW.inc | 20 + new_user_dialog/new_user_dialog.php | 174 ++ new_user_dialog/newuserdialog.css | 39 + new_user_dialog/tests/NewUserDialog.php | 23 + new_user_identity/composer.json | 24 + new_user_identity/config.inc.php.dist | 15 + new_user_identity/new_user_identity.php | 133 ++ new_user_identity/tests/NewUserIdentity.php | 23 + newmail_notifier/composer.json | 24 + newmail_notifier/config.inc.php.dist | 15 + newmail_notifier/favicon.ico | Bin 0 -> 1734 bytes newmail_notifier/localization/ar_SA.inc | 28 + newmail_notifier/localization/ast.inc | 28 + newmail_notifier/localization/az_AZ.inc | 28 + newmail_notifier/localization/be_BE.inc | 28 + newmail_notifier/localization/bg_BG.inc | 28 + newmail_notifier/localization/br.inc | 28 + newmail_notifier/localization/bs_BA.inc | 28 + newmail_notifier/localization/ca_ES.inc | 28 + newmail_notifier/localization/cs_CZ.inc | 28 + newmail_notifier/localization/cy_GB.inc | 28 + newmail_notifier/localization/da_DK.inc | 28 + newmail_notifier/localization/de_CH.inc | 28 + newmail_notifier/localization/de_DE.inc | 28 + newmail_notifier/localization/el_GR.inc | 28 + newmail_notifier/localization/en_CA.inc | 28 + newmail_notifier/localization/en_GB.inc | 28 + newmail_notifier/localization/en_US.inc | 30 + newmail_notifier/localization/eo.inc | 27 + newmail_notifier/localization/es_419.inc | 28 + newmail_notifier/localization/es_AR.inc | 28 + newmail_notifier/localization/es_ES.inc | 28 + newmail_notifier/localization/et_EE.inc | 28 + newmail_notifier/localization/eu_ES.inc | 28 + newmail_notifier/localization/fa_IR.inc | 28 + newmail_notifier/localization/fi_FI.inc | 28 + newmail_notifier/localization/fo_FO.inc | 28 + newmail_notifier/localization/fr_FR.inc | 28 + newmail_notifier/localization/fy_NL.inc | 20 + newmail_notifier/localization/gl_ES.inc | 28 + newmail_notifier/localization/he_IL.inc | 28 + newmail_notifier/localization/hr_HR.inc | 28 + newmail_notifier/localization/hu_HU.inc | 28 + newmail_notifier/localization/hy_AM.inc | 28 + newmail_notifier/localization/ia.inc | 28 + newmail_notifier/localization/id_ID.inc | 28 + newmail_notifier/localization/it_IT.inc | 28 + newmail_notifier/localization/ja_JP.inc | 28 + newmail_notifier/localization/km_KH.inc | 28 + newmail_notifier/localization/ko_KR.inc | 28 + newmail_notifier/localization/ku.inc | 28 + newmail_notifier/localization/ku_IQ.inc | 19 + newmail_notifier/localization/lb_LU.inc | 28 + newmail_notifier/localization/lt_LT.inc | 28 + newmail_notifier/localization/lv_LV.inc | 28 + newmail_notifier/localization/ml_IN.inc | 28 + newmail_notifier/localization/mr_IN.inc | 23 + newmail_notifier/localization/nb_NO.inc | 28 + newmail_notifier/localization/nl_NL.inc | 28 + newmail_notifier/localization/nn_NO.inc | 27 + newmail_notifier/localization/pl_PL.inc | 28 + newmail_notifier/localization/pt_BR.inc | 28 + newmail_notifier/localization/pt_PT.inc | 28 + newmail_notifier/localization/ro_RO.inc | 28 + newmail_notifier/localization/ru_RU.inc | 28 + newmail_notifier/localization/si_LK.inc | 19 + newmail_notifier/localization/sk_SK.inc | 28 + newmail_notifier/localization/sl_SI.inc | 28 + newmail_notifier/localization/sq_AL.inc | 20 + newmail_notifier/localization/sr_CS.inc | 27 + newmail_notifier/localization/sv_SE.inc | 28 + newmail_notifier/localization/ti.inc | 27 + newmail_notifier/localization/tr_TR.inc | 28 + newmail_notifier/localization/uk_UA.inc | 28 + newmail_notifier/localization/vi_VN.inc | 28 + newmail_notifier/localization/zh_CN.inc | 27 + newmail_notifier/localization/zh_TW.inc | 28 + newmail_notifier/mail.png | Bin 0 -> 1408 bytes newmail_notifier/newmail_notifier.js | 200 ++ newmail_notifier/newmail_notifier.php | 218 ++ newmail_notifier/overlay.ico | Bin 0 -> 1150 bytes newmail_notifier/sound.mp3 | Bin 0 -> 7488 bytes newmail_notifier/sound.wav | Bin 0 -> 10444 bytes newmail_notifier/tests/NewmailNotifier.php | 23 + password/README | 341 +++ password/composer.json | 24 + password/config.inc.php.dist | 401 ++++ password/drivers/chpasswd.php | 54 + password/drivers/cpanel.php | 87 + password/drivers/dbmail.php | 70 + password/drivers/directadmin.php | 502 +++++ password/drivers/domainfactory.php | 100 + password/drivers/expect.php | 73 + password/drivers/gearman.php | 70 + password/drivers/hmail.php | 76 + password/drivers/ldap.php | 384 ++++ password/drivers/ldap_simple.php | 238 ++ password/drivers/pam.php | 58 + password/drivers/plesk.php | 241 ++ password/drivers/poppassd.php | 82 + password/drivers/pw_usermod.php | 56 + password/drivers/sasl.php | 60 + password/drivers/smb.php | 74 + password/drivers/sql.php | 212 ++ password/drivers/virtualmin.php | 94 + password/drivers/vpopmaild.php | 70 + password/drivers/ximss.php | 89 + password/drivers/xmail.php | 119 + password/helpers/chgdbmailusers.c | 47 + password/helpers/chgsaslpasswd.c | 29 + password/helpers/chgvirtualminpasswd.c | 28 + password/helpers/chpass-wrapper.py | 32 + password/helpers/dovecot_hmacmd5.php | 191 ++ password/helpers/passwd-expect | 267 +++ password/localization/ar.inc | 31 + password/localization/ar_SA.inc | 31 + password/localization/ast.inc | 32 + password/localization/az_AZ.inc | 31 + password/localization/be_BE.inc | 33 + password/localization/bg_BG.inc | 31 + password/localization/br.inc | 33 + password/localization/bs_BA.inc | 33 + password/localization/ca_ES.inc | 33 + password/localization/cs_CZ.inc | 33 + password/localization/cy_GB.inc | 33 + password/localization/da_DK.inc | 33 + password/localization/de_CH.inc | 33 + password/localization/de_DE.inc | 33 + password/localization/el_GR.inc | 33 + password/localization/en_CA.inc | 31 + password/localization/en_GB.inc | 33 + password/localization/en_US.inc | 38 + password/localization/eo.inc | 31 + password/localization/es_419.inc | 33 + password/localization/es_AR.inc | 33 + password/localization/es_ES.inc | 33 + password/localization/et_EE.inc | 33 + password/localization/eu_ES.inc | 33 + password/localization/fa_AF.inc | 31 + password/localization/fa_IR.inc | 33 + password/localization/fi_FI.inc | 33 + password/localization/fo_FO.inc | 31 + password/localization/fr_FR.inc | 33 + password/localization/fy_NL.inc | 19 + password/localization/gl_ES.inc | 33 + password/localization/he_IL.inc | 33 + password/localization/hr_HR.inc | 31 + password/localization/hu_HU.inc | 33 + password/localization/hy_AM.inc | 33 + password/localization/ia.inc | 33 + password/localization/id_ID.inc | 31 + password/localization/it_IT.inc | 33 + password/localization/ja_JP.inc | 33 + password/localization/km_KH.inc | 31 + password/localization/ko_KR.inc | 33 + password/localization/ku.inc | 33 + password/localization/ku_IQ.inc | 30 + password/localization/lb_LU.inc | 31 + password/localization/lt_LT.inc | 33 + password/localization/lv_LV.inc | 31 + password/localization/ml_IN.inc | 33 + password/localization/nb_NO.inc | 31 + password/localization/nl_NL.inc | 33 + password/localization/nn_NO.inc | 31 + password/localization/pl_PL.inc | 33 + password/localization/pt_BR.inc | 33 + password/localization/pt_PT.inc | 33 + password/localization/ro_RO.inc | 33 + password/localization/ru_RU.inc | 33 + password/localization/sk_SK.inc | 33 + password/localization/sl_SI.inc | 31 + password/localization/sq_AL.inc | 24 + password/localization/sr_CS.inc | 31 + password/localization/sv_SE.inc | 33 + password/localization/ti.inc | 31 + password/localization/tr_TR.inc | 33 + password/localization/uk_UA.inc | 31 + password/localization/vi_VN.inc | 31 + password/localization/zh_CN.inc | 31 + password/localization/zh_TW.inc | 33 + password/password.js | 47 + password/password.php | 370 +++ password/tests/Password.php | 23 + redundant_attachments/composer.json | 30 + redundant_attachments/config.inc.php.dist | 13 + redundant_attachments/redundant_attachments.php | 234 ++ .../tests/RedundantAttachments.php | 23 + show_additional_headers/composer.json | 24 + .../show_additional_headers.php | 51 + .../tests/ShowAdditionalHeaders.php | 23 + squirrelmail_usercopy/composer.json | 24 + squirrelmail_usercopy/config.inc.php.dist | 25 + squirrelmail_usercopy/squirrelmail_usercopy.php | 191 ++ .../tests/SquirrelmailUsercopy.php | 23 + subscriptions_option/composer.json | 29 + subscriptions_option/localization/ar_SA.inc | 19 + subscriptions_option/localization/ast.inc | 19 + subscriptions_option/localization/az_AZ.inc | 19 + subscriptions_option/localization/be_BE.inc | 19 + subscriptions_option/localization/bg_BG.inc | 19 + subscriptions_option/localization/br.inc | 19 + subscriptions_option/localization/bs_BA.inc | 19 + subscriptions_option/localization/ca_ES.inc | 19 + subscriptions_option/localization/cs_CZ.inc | 19 + subscriptions_option/localization/cy_GB.inc | 19 + subscriptions_option/localization/da_DK.inc | 19 + subscriptions_option/localization/de_CH.inc | 19 + subscriptions_option/localization/de_DE.inc | 19 + subscriptions_option/localization/el_GR.inc | 19 + subscriptions_option/localization/en_CA.inc | 19 + subscriptions_option/localization/en_GB.inc | 19 + subscriptions_option/localization/en_US.inc | 22 + subscriptions_option/localization/eo.inc | 19 + subscriptions_option/localization/es_419.inc | 19 + subscriptions_option/localization/es_AR.inc | 19 + subscriptions_option/localization/es_ES.inc | 19 + subscriptions_option/localization/et_EE.inc | 19 + subscriptions_option/localization/eu_ES.inc | 19 + subscriptions_option/localization/fa_AF.inc | 19 + subscriptions_option/localization/fa_IR.inc | 19 + subscriptions_option/localization/fi_FI.inc | 19 + subscriptions_option/localization/fo_FO.inc | 19 + subscriptions_option/localization/fr_FR.inc | 19 + subscriptions_option/localization/gl_ES.inc | 19 + subscriptions_option/localization/he_IL.inc | 19 + subscriptions_option/localization/hr_HR.inc | 19 + subscriptions_option/localization/hu_HU.inc | 19 + subscriptions_option/localization/hy_AM.inc | 19 + subscriptions_option/localization/ia.inc | 19 + subscriptions_option/localization/id_ID.inc | 19 + subscriptions_option/localization/it_IT.inc | 19 + subscriptions_option/localization/ja_JP.inc | 19 + subscriptions_option/localization/km_KH.inc | 19 + subscriptions_option/localization/ko_KR.inc | 19 + subscriptions_option/localization/ku.inc | 19 + subscriptions_option/localization/lb_LU.inc | 19 + subscriptions_option/localization/lt_LT.inc | 19 + subscriptions_option/localization/lv_LV.inc | 19 + subscriptions_option/localization/ml_IN.inc | 19 + subscriptions_option/localization/nb_NO.inc | 19 + subscriptions_option/localization/nl_NL.inc | 19 + subscriptions_option/localization/nn_NO.inc | 19 + subscriptions_option/localization/pl_PL.inc | 19 + subscriptions_option/localization/pt_BR.inc | 19 + subscriptions_option/localization/pt_PT.inc | 19 + subscriptions_option/localization/ro_RO.inc | 19 + subscriptions_option/localization/ru_RU.inc | 19 + subscriptions_option/localization/sk_SK.inc | 19 + subscriptions_option/localization/sl_SI.inc | 19 + subscriptions_option/localization/sr_CS.inc | 19 + subscriptions_option/localization/sv_SE.inc | 19 + subscriptions_option/localization/tr_TR.inc | 19 + subscriptions_option/localization/uk_UA.inc | 19 + subscriptions_option/localization/vi_VN.inc | 19 + subscriptions_option/localization/zh_CN.inc | 19 + subscriptions_option/localization/zh_TW.inc | 19 + subscriptions_option/subscriptions_option.php | 95 + subscriptions_option/tests/SubscriptionsOption.php | 23 + userinfo/composer.json | 24 + userinfo/localization/ar.inc | 21 + userinfo/localization/ar_SA.inc | 22 + userinfo/localization/ast.inc | 22 + userinfo/localization/az_AZ.inc | 22 + userinfo/localization/be_BE.inc | 22 + userinfo/localization/bg_BG.inc | 22 + userinfo/localization/br.inc | 22 + userinfo/localization/bs_BA.inc | 22 + userinfo/localization/ca_ES.inc | 22 + userinfo/localization/cs_CZ.inc | 22 + userinfo/localization/cy_GB.inc | 22 + userinfo/localization/da_DK.inc | 22 + userinfo/localization/de_CH.inc | 22 + userinfo/localization/de_DE.inc | 22 + userinfo/localization/el_GR.inc | 22 + userinfo/localization/en_CA.inc | 22 + userinfo/localization/en_GB.inc | 22 + userinfo/localization/en_US.inc | 25 + userinfo/localization/eo.inc | 22 + userinfo/localization/es_419.inc | 22 + userinfo/localization/es_AR.inc | 22 + userinfo/localization/es_ES.inc | 22 + userinfo/localization/et_EE.inc | 22 + userinfo/localization/eu_ES.inc | 22 + userinfo/localization/fa_AF.inc | 22 + userinfo/localization/fa_IR.inc | 22 + userinfo/localization/fi_FI.inc | 22 + userinfo/localization/fo_FO.inc | 22 + userinfo/localization/fr_FR.inc | 22 + userinfo/localization/fy_NL.inc | 19 + userinfo/localization/gl_ES.inc | 22 + userinfo/localization/he_IL.inc | 22 + userinfo/localization/hr_HR.inc | 22 + userinfo/localization/hu_HU.inc | 22 + userinfo/localization/hy_AM.inc | 22 + userinfo/localization/ia.inc | 22 + userinfo/localization/id_ID.inc | 22 + userinfo/localization/it_IT.inc | 22 + userinfo/localization/ja_JP.inc | 22 + userinfo/localization/km_KH.inc | 22 + userinfo/localization/ko_KR.inc | 22 + userinfo/localization/ku.inc | 22 + userinfo/localization/ku_IQ.inc | 22 + userinfo/localization/lb_LU.inc | 22 + userinfo/localization/lt_LT.inc | 22 + userinfo/localization/lv_LV.inc | 22 + userinfo/localization/ml_IN.inc | 22 + userinfo/localization/mr_IN.inc | 20 + userinfo/localization/nb_NO.inc | 22 + userinfo/localization/nl_NL.inc | 22 + userinfo/localization/nn_NO.inc | 22 + userinfo/localization/pl_PL.inc | 22 + userinfo/localization/pt_BR.inc | 22 + userinfo/localization/pt_PT.inc | 22 + userinfo/localization/ro_RO.inc | 22 + userinfo/localization/ru_RU.inc | 22 + userinfo/localization/sk_SK.inc | 22 + userinfo/localization/sl_SI.inc | 22 + userinfo/localization/sq_AL.inc | 21 + userinfo/localization/sr_CS.inc | 22 + userinfo/localization/sv_SE.inc | 22 + userinfo/localization/ti.inc | 22 + userinfo/localization/tr_TR.inc | 22 + userinfo/localization/uk_UA.inc | 22 + userinfo/localization/vi_VN.inc | 22 + userinfo/localization/zh_CN.inc | 22 + userinfo/localization/zh_TW.inc | 22 + userinfo/tests/Userinfo.php | 23 + userinfo/userinfo.js | 16 + userinfo/userinfo.php | 55 + vcard_attachments/composer.json | 29 + vcard_attachments/localization/ar.inc | 20 + vcard_attachments/localization/ar_SA.inc | 20 + vcard_attachments/localization/ast.inc | 20 + vcard_attachments/localization/az_AZ.inc | 20 + vcard_attachments/localization/be_BE.inc | 20 + vcard_attachments/localization/bg_BG.inc | 20 + vcard_attachments/localization/br.inc | 20 + vcard_attachments/localization/bs_BA.inc | 20 + vcard_attachments/localization/ca_ES.inc | 20 + vcard_attachments/localization/cs_CZ.inc | 20 + vcard_attachments/localization/cy_GB.inc | 20 + vcard_attachments/localization/da_DK.inc | 20 + vcard_attachments/localization/de_CH.inc | 20 + vcard_attachments/localization/de_DE.inc | 20 + vcard_attachments/localization/el_GR.inc | 20 + vcard_attachments/localization/en_CA.inc | 20 + vcard_attachments/localization/en_GB.inc | 20 + vcard_attachments/localization/en_US.inc | 23 + vcard_attachments/localization/eo.inc | 20 + vcard_attachments/localization/es_419.inc | 20 + vcard_attachments/localization/es_AR.inc | 20 + vcard_attachments/localization/es_ES.inc | 20 + vcard_attachments/localization/et_EE.inc | 20 + vcard_attachments/localization/eu_ES.inc | 20 + vcard_attachments/localization/fa_IR.inc | 20 + vcard_attachments/localization/fi_FI.inc | 20 + vcard_attachments/localization/fo_FO.inc | 20 + vcard_attachments/localization/fr_FR.inc | 20 + vcard_attachments/localization/gl_ES.inc | 20 + vcard_attachments/localization/he_IL.inc | 20 + vcard_attachments/localization/hr_HR.inc | 20 + vcard_attachments/localization/hu_HU.inc | 20 + vcard_attachments/localization/hy_AM.inc | 20 + vcard_attachments/localization/ia.inc | 20 + vcard_attachments/localization/id_ID.inc | 20 + vcard_attachments/localization/it_IT.inc | 20 + vcard_attachments/localization/ja_JP.inc | 20 + vcard_attachments/localization/km_KH.inc | 20 + vcard_attachments/localization/ko_KR.inc | 20 + vcard_attachments/localization/ku.inc | 20 + vcard_attachments/localization/lb_LU.inc | 20 + vcard_attachments/localization/lt_LT.inc | 20 + vcard_attachments/localization/lv_LV.inc | 20 + vcard_attachments/localization/ml_IN.inc | 20 + vcard_attachments/localization/mr_IN.inc | 20 + vcard_attachments/localization/nb_NO.inc | 20 + vcard_attachments/localization/nl_NL.inc | 20 + vcard_attachments/localization/nn_NO.inc | 20 + vcard_attachments/localization/pl_PL.inc | 20 + vcard_attachments/localization/pt_BR.inc | 20 + vcard_attachments/localization/pt_PT.inc | 20 + vcard_attachments/localization/ro_RO.inc | 20 + vcard_attachments/localization/ru_RU.inc | 20 + vcard_attachments/localization/si_LK.inc | 20 + vcard_attachments/localization/sk_SK.inc | 20 + vcard_attachments/localization/sl_SI.inc | 20 + vcard_attachments/localization/sr_CS.inc | 20 + vcard_attachments/localization/sv_SE.inc | 20 + vcard_attachments/localization/tr_TR.inc | 20 + vcard_attachments/localization/uk_UA.inc | 20 + vcard_attachments/localization/vi_VN.inc | 20 + vcard_attachments/localization/zh_CN.inc | 20 + vcard_attachments/localization/zh_TW.inc | 20 + vcard_attachments/skins/classic/style.css | 17 + vcard_attachments/skins/classic/vcard.png | Bin 0 -> 493 bytes .../skins/classic/vcard_add_contact.png | Bin 0 -> 1361 bytes vcard_attachments/skins/larry/style.css | 16 + vcard_attachments/skins/larry/vcard.png | Bin 0 -> 493 bytes .../skins/larry/vcard_add_contact.png | Bin 0 -> 1859 bytes vcard_attachments/tests/VcardAttachments.php | 23 + vcard_attachments/vcard_attachments.php | 227 ++ vcard_attachments/vcardattach.js | 37 + virtuser_file/composer.json | 24 + virtuser_file/tests/VirtuserFile.php | 23 + virtuser_file/virtuser_file.php | 105 + virtuser_query/composer.json | 24 + virtuser_query/tests/VirtuserQuery.php | 23 + virtuser_query/virtuser_query.php | 165 ++ zipdownload/README | 34 + zipdownload/composer.json | 30 + zipdownload/config.inc.php.dist | 18 + zipdownload/localization/ar.inc | 18 + zipdownload/localization/ar_SA.inc | 18 + zipdownload/localization/ast.inc | 22 + zipdownload/localization/az_AZ.inc | 18 + zipdownload/localization/be_BE.inc | 22 + zipdownload/localization/bg_BG.inc | 22 + zipdownload/localization/br.inc | 22 + zipdownload/localization/bs_BA.inc | 22 + zipdownload/localization/ca_ES.inc | 22 + zipdownload/localization/cs_CZ.inc | 22 + zipdownload/localization/cy_GB.inc | 22 + zipdownload/localization/da_DK.inc | 22 + zipdownload/localization/de_CH.inc | 22 + zipdownload/localization/de_DE.inc | 22 + zipdownload/localization/el_GR.inc | 22 + zipdownload/localization/en_CA.inc | 22 + zipdownload/localization/en_GB.inc | 22 + zipdownload/localization/en_US.inc | 24 + zipdownload/localization/eo.inc | 18 + zipdownload/localization/es_419.inc | 22 + zipdownload/localization/es_AR.inc | 22 + zipdownload/localization/es_ES.inc | 22 + zipdownload/localization/et_EE.inc | 22 + zipdownload/localization/eu_ES.inc | 22 + zipdownload/localization/fa_AF.inc | 18 + zipdownload/localization/fa_IR.inc | 22 + zipdownload/localization/fi_FI.inc | 22 + zipdownload/localization/fo_FO.inc | 18 + zipdownload/localization/fr_FR.inc | 22 + zipdownload/localization/fy_NL.inc | 18 + zipdownload/localization/gl_ES.inc | 22 + zipdownload/localization/he_IL.inc | 22 + zipdownload/localization/hr_HR.inc | 18 + zipdownload/localization/hu_HU.inc | 22 + zipdownload/localization/hy_AM.inc | 18 + zipdownload/localization/ia.inc | 22 + zipdownload/localization/id_ID.inc | 18 + zipdownload/localization/it_IT.inc | 22 + zipdownload/localization/ja_JP.inc | 22 + zipdownload/localization/km_KH.inc | 18 + zipdownload/localization/ko_KR.inc | 22 + zipdownload/localization/ku.inc | 22 + zipdownload/localization/ku_IQ.inc | 22 + zipdownload/localization/lb_LU.inc | 22 + zipdownload/localization/lt_LT.inc | 22 + zipdownload/localization/lv_LV.inc | 18 + zipdownload/localization/ml_IN.inc | 22 + zipdownload/localization/nb_NO.inc | 22 + zipdownload/localization/nl_NL.inc | 22 + zipdownload/localization/nn_NO.inc | 18 + zipdownload/localization/pl_PL.inc | 22 + zipdownload/localization/pt_BR.inc | 22 + zipdownload/localization/pt_PT.inc | 22 + zipdownload/localization/ro_RO.inc | 18 + zipdownload/localization/ru_RU.inc | 22 + zipdownload/localization/sk_SK.inc | 22 + zipdownload/localization/sl_SI.inc | 18 + zipdownload/localization/sr_CS.inc | 18 + zipdownload/localization/sv_SE.inc | 22 + zipdownload/localization/tr_TR.inc | 22 + zipdownload/localization/uk_UA.inc | 18 + zipdownload/localization/vi_VN.inc | 22 + zipdownload/localization/zh_CN.inc | 18 + zipdownload/localization/zh_TW.inc | 22 + zipdownload/skins/classic/zip.png | Bin 0 -> 546 bytes zipdownload/skins/classic/zipdownload.css | 8 + zipdownload/skins/larry/zipdownload.css | 7 + zipdownload/tests/Zipdownload.php | 23 + zipdownload/zipdownload.js | 99 + zipdownload/zipdownload.php | 334 +++ 1292 files changed, 70084 insertions(+) create mode 100644 acl/acl.js create mode 100644 acl/acl.php create mode 100644 acl/composer.json create mode 100644 acl/config.inc.php.dist create mode 100644 acl/localization/ar_SA.inc create mode 100644 acl/localization/ast.inc create mode 100644 acl/localization/az_AZ.inc create mode 100644 acl/localization/be_BE.inc create mode 100644 acl/localization/bg_BG.inc create mode 100644 acl/localization/br.inc create mode 100644 acl/localization/bs_BA.inc create mode 100644 acl/localization/ca_ES.inc create mode 100644 acl/localization/cs_CZ.inc create mode 100644 acl/localization/cy_GB.inc create mode 100644 acl/localization/da_DK.inc create mode 100644 acl/localization/de_CH.inc create mode 100644 acl/localization/de_DE.inc create mode 100644 acl/localization/el_GR.inc create mode 100644 acl/localization/en_CA.inc create mode 100644 acl/localization/en_GB.inc create mode 100644 acl/localization/en_US.inc create mode 100644 acl/localization/eo.inc create mode 100644 acl/localization/es_419.inc create mode 100644 acl/localization/es_AR.inc create mode 100644 acl/localization/es_ES.inc create mode 100644 acl/localization/et_EE.inc create mode 100644 acl/localization/eu_ES.inc create mode 100644 acl/localization/fa_AF.inc create mode 100644 acl/localization/fa_IR.inc create mode 100644 acl/localization/fi_FI.inc create mode 100644 acl/localization/fo_FO.inc create mode 100644 acl/localization/fr_FR.inc create mode 100644 acl/localization/fy_NL.inc create mode 100644 acl/localization/gl_ES.inc create mode 100644 acl/localization/he_IL.inc create mode 100644 acl/localization/hr_HR.inc create mode 100644 acl/localization/hu_HU.inc create mode 100644 acl/localization/hy_AM.inc create mode 100644 acl/localization/ia.inc create mode 100644 acl/localization/id_ID.inc create mode 100644 acl/localization/it_IT.inc create mode 100644 acl/localization/ja_JP.inc create mode 100644 acl/localization/km_KH.inc create mode 100644 acl/localization/ko_KR.inc create mode 100644 acl/localization/ku.inc create mode 100644 acl/localization/ku_IQ.inc create mode 100644 acl/localization/lb_LU.inc create mode 100644 acl/localization/lt_LT.inc create mode 100644 acl/localization/lv_LV.inc create mode 100644 acl/localization/nb_NO.inc create mode 100644 acl/localization/nl_NL.inc create mode 100644 acl/localization/nn_NO.inc create mode 100644 acl/localization/pl_PL.inc create mode 100644 acl/localization/pt_BR.inc create mode 100644 acl/localization/pt_PT.inc create mode 100644 acl/localization/ro_RO.inc create mode 100644 acl/localization/ru_RU.inc create mode 100644 acl/localization/sk_SK.inc create mode 100644 acl/localization/sl_SI.inc create mode 100644 acl/localization/sq_AL.inc create mode 100644 acl/localization/sr_CS.inc create mode 100644 acl/localization/sv_SE.inc create mode 100644 acl/localization/th_TH.inc create mode 100644 acl/localization/ti.inc create mode 100644 acl/localization/tr_TR.inc create mode 100644 acl/localization/uk_UA.inc create mode 100644 acl/localization/vi_VN.inc create mode 100644 acl/localization/zh_CN.inc create mode 100644 acl/localization/zh_TW.inc create mode 100644 acl/skins/classic/acl.css create mode 100644 acl/skins/classic/images/enabled.png create mode 100644 acl/skins/classic/images/partial.png create mode 100644 acl/skins/classic/templates/table.html create mode 100644 acl/skins/larry/acl.css create mode 100644 acl/skins/larry/images/enabled.png create mode 100644 acl/skins/larry/images/partial.png create mode 100644 acl/skins/larry/templates/table.html create mode 100644 acl/tests/Acl.php create mode 100644 additional_message_headers/additional_message_headers.php create mode 100644 additional_message_headers/composer.json create mode 100644 additional_message_headers/config.inc.php.dist create mode 100644 additional_message_headers/tests/AdditionalMessageHeaders.php create mode 100644 archive/archive.js create mode 100644 archive/archive.php create mode 100644 archive/composer.json create mode 100644 archive/localization/ar_SA.inc create mode 100644 archive/localization/ast.inc create mode 100644 archive/localization/az_AZ.inc create mode 100644 archive/localization/be_BE.inc create mode 100644 archive/localization/bg_BG.inc create mode 100644 archive/localization/br.inc create mode 100644 archive/localization/bs_BA.inc create mode 100644 archive/localization/ca_ES.inc create mode 100644 archive/localization/cs_CZ.inc create mode 100644 archive/localization/cy_GB.inc create mode 100644 archive/localization/da_DK.inc create mode 100644 archive/localization/de_CH.inc create mode 100644 archive/localization/de_DE.inc create mode 100644 archive/localization/el_GR.inc create mode 100644 archive/localization/en_CA.inc create mode 100644 archive/localization/en_GB.inc create mode 100644 archive/localization/en_US.inc create mode 100644 archive/localization/eo.inc create mode 100644 archive/localization/es_419.inc create mode 100644 archive/localization/es_AR.inc create mode 100644 archive/localization/es_ES.inc create mode 100644 archive/localization/et_EE.inc create mode 100644 archive/localization/eu_ES.inc create mode 100644 archive/localization/fa_AF.inc create mode 100644 archive/localization/fa_IR.inc create mode 100644 archive/localization/fi_FI.inc create mode 100644 archive/localization/fo_FO.inc create mode 100644 archive/localization/fr_FR.inc create mode 100644 archive/localization/gl_ES.inc create mode 100644 archive/localization/he_IL.inc create mode 100644 archive/localization/hr_HR.inc create mode 100644 archive/localization/hu_HU.inc create mode 100644 archive/localization/hy_AM.inc create mode 100644 archive/localization/ia.inc create mode 100644 archive/localization/id_ID.inc create mode 100644 archive/localization/it_IT.inc create mode 100644 archive/localization/ja_JP.inc create mode 100644 archive/localization/km_KH.inc create mode 100644 archive/localization/ko_KR.inc create mode 100644 archive/localization/ku.inc create mode 100644 archive/localization/ku_IQ.inc create mode 100644 archive/localization/lb_LU.inc create mode 100644 archive/localization/lt_LT.inc create mode 100644 archive/localization/lv_LV.inc create mode 100644 archive/localization/ml_IN.inc create mode 100644 archive/localization/mr_IN.inc create mode 100644 archive/localization/nb_NO.inc create mode 100644 archive/localization/nl_NL.inc create mode 100644 archive/localization/nn_NO.inc create mode 100644 archive/localization/pl_PL.inc create mode 100644 archive/localization/pt_BR.inc create mode 100644 archive/localization/pt_PT.inc create mode 100644 archive/localization/ro_RO.inc create mode 100644 archive/localization/ru_RU.inc create mode 100644 archive/localization/si_LK.inc create mode 100644 archive/localization/sk_SK.inc create mode 100644 archive/localization/sl_SI.inc create mode 100644 archive/localization/sq_AL.inc create mode 100644 archive/localization/sr_CS.inc create mode 100644 archive/localization/sv_SE.inc create mode 100644 archive/localization/tr_TR.inc create mode 100644 archive/localization/uk_UA.inc create mode 100644 archive/localization/vi_VN.inc create mode 100644 archive/localization/zh_CN.inc create mode 100644 archive/localization/zh_TW.inc create mode 100644 archive/skins/classic/archive.css create mode 100644 archive/skins/classic/archive_act.png create mode 100644 archive/skins/classic/archive_pas.png create mode 100644 archive/skins/classic/foldericon.png create mode 100644 archive/skins/larry/.gitignore create mode 100644 archive/tests/Archive.php create mode 100755 attachment_reminder/attachment_reminder.js create mode 100755 attachment_reminder/attachment_reminder.php create mode 100644 attachment_reminder/composer.json create mode 100644 attachment_reminder/localization/ar_SA.inc create mode 100644 attachment_reminder/localization/ast.inc create mode 100644 attachment_reminder/localization/az_AZ.inc create mode 100644 attachment_reminder/localization/be_BE.inc create mode 100644 attachment_reminder/localization/bg_BG.inc create mode 100644 attachment_reminder/localization/br.inc create mode 100644 attachment_reminder/localization/bs_BA.inc create mode 100644 attachment_reminder/localization/ca_ES.inc create mode 100644 attachment_reminder/localization/cs_CZ.inc create mode 100644 attachment_reminder/localization/cy_GB.inc create mode 100644 attachment_reminder/localization/da_DK.inc create mode 100644 attachment_reminder/localization/de_CH.inc create mode 100644 attachment_reminder/localization/de_DE.inc create mode 100644 attachment_reminder/localization/el_GR.inc create mode 100644 attachment_reminder/localization/en_CA.inc create mode 100644 attachment_reminder/localization/en_GB.inc create mode 100644 attachment_reminder/localization/en_US.inc create mode 100644 attachment_reminder/localization/es_419.inc create mode 100644 attachment_reminder/localization/es_AR.inc create mode 100644 attachment_reminder/localization/es_ES.inc create mode 100644 attachment_reminder/localization/et_EE.inc create mode 100644 attachment_reminder/localization/eu_ES.inc create mode 100644 attachment_reminder/localization/fa_AF.inc create mode 100644 attachment_reminder/localization/fa_IR.inc create mode 100644 attachment_reminder/localization/fi_FI.inc create mode 100644 attachment_reminder/localization/fo_FO.inc create mode 100644 attachment_reminder/localization/fr_FR.inc create mode 100644 attachment_reminder/localization/gl_ES.inc create mode 100644 attachment_reminder/localization/he_IL.inc create mode 100644 attachment_reminder/localization/hr_HR.inc create mode 100644 attachment_reminder/localization/hu_HU.inc create mode 100644 attachment_reminder/localization/ia.inc create mode 100644 attachment_reminder/localization/id_ID.inc create mode 100644 attachment_reminder/localization/it_IT.inc create mode 100644 attachment_reminder/localization/ja_JP.inc create mode 100644 attachment_reminder/localization/km_KH.inc create mode 100644 attachment_reminder/localization/kn_IN.inc create mode 100644 attachment_reminder/localization/ko_KR.inc create mode 100644 attachment_reminder/localization/ku.inc create mode 100644 attachment_reminder/localization/ku_IQ.inc create mode 100644 attachment_reminder/localization/lb_LU.inc create mode 100644 attachment_reminder/localization/lt_LT.inc create mode 100644 attachment_reminder/localization/lv_LV.inc create mode 100644 attachment_reminder/localization/ml_IN.inc create mode 100644 attachment_reminder/localization/nb_NO.inc create mode 100644 attachment_reminder/localization/nl_NL.inc create mode 100644 attachment_reminder/localization/pl_PL.inc create mode 100644 attachment_reminder/localization/pt_BR.inc create mode 100644 attachment_reminder/localization/pt_PT.inc create mode 100644 attachment_reminder/localization/ro_RO.inc create mode 100644 attachment_reminder/localization/ru_RU.inc create mode 100644 attachment_reminder/localization/sk_SK.inc create mode 100644 attachment_reminder/localization/sl_SI.inc create mode 100644 attachment_reminder/localization/sv_SE.inc create mode 100644 attachment_reminder/localization/tr_TR.inc create mode 100644 attachment_reminder/localization/uk_UA.inc create mode 100644 attachment_reminder/localization/vi_VN.inc create mode 100644 attachment_reminder/localization/zh_CN.inc create mode 100644 attachment_reminder/localization/zh_TW.inc create mode 100644 autologon/autologon.php create mode 100644 autologon/composer.json create mode 100644 autologon/tests/Autologon.php create mode 100644 database_attachments/composer.json create mode 100644 database_attachments/config.inc.php.dist create mode 100644 database_attachments/database_attachments.php create mode 100644 database_attachments/tests/DatabaseAttachments.php create mode 100644 debug_logger/composer.json create mode 100644 debug_logger/debug_logger.php create mode 100644 debug_logger/runlog/runlog.php create mode 100644 debug_logger/tests/DebugLogger.php create mode 100644 emoticons/composer.json create mode 100644 emoticons/emoticons.php create mode 100644 emoticons/tests/Emoticons.php create mode 100644 enigma/README create mode 100644 enigma/config.inc.php.dist create mode 100644 enigma/enigma.js create mode 100644 enigma/enigma.php create mode 100644 enigma/home/.htaccess create mode 100644 enigma/lib/enigma_driver.php create mode 100644 enigma/lib/enigma_driver_gnupg.php create mode 100644 enigma/lib/enigma_driver_phpssl.php create mode 100644 enigma/lib/enigma_engine.php create mode 100644 enigma/lib/enigma_error.php create mode 100644 enigma/lib/enigma_key.php create mode 100644 enigma/lib/enigma_signature.php create mode 100644 enigma/lib/enigma_subkey.php create mode 100644 enigma/lib/enigma_ui.php create mode 100644 enigma/lib/enigma_userid.php create mode 100644 enigma/localization/en_US.inc create mode 100644 enigma/localization/ja_JP.inc create mode 100644 enigma/localization/ru_RU.inc create mode 100644 enigma/skins/classic/enigma.css create mode 100644 enigma/skins/classic/enigma.png create mode 100644 enigma/skins/classic/enigma_error.png create mode 100644 enigma/skins/classic/key.png create mode 100644 enigma/skins/classic/key_add.png create mode 100644 enigma/skins/classic/keys_toolbar.png create mode 100644 enigma/skins/classic/templates/keyimport.html create mode 100644 enigma/skins/classic/templates/keyinfo.html create mode 100644 enigma/skins/classic/templates/keys.html create mode 100644 enigma/tests/Enigma.php create mode 100644 example_addressbook/composer.json create mode 100644 example_addressbook/example_addressbook.php create mode 100644 example_addressbook/example_addressbook_backend.php create mode 100644 example_addressbook/tests/ExampleAddressbook.php create mode 100644 filesystem_attachments/composer.json create mode 100644 filesystem_attachments/filesystem_attachments.php create mode 100644 filesystem_attachments/tests/FilesystemAttachments.php create mode 100644 help/composer.json create mode 100644 help/config.inc.php.dist create mode 100644 help/content/license.html create mode 100644 help/help.js create mode 100644 help/help.php create mode 100644 help/localization/ar_SA.inc create mode 100644 help/localization/ast.inc create mode 100644 help/localization/az_AZ.inc create mode 100644 help/localization/be_BE.inc create mode 100644 help/localization/bg_BG.inc create mode 100644 help/localization/br.inc create mode 100644 help/localization/bs_BA.inc create mode 100644 help/localization/ca_ES.inc create mode 100644 help/localization/cs_CZ.inc create mode 100644 help/localization/cy_GB.inc create mode 100644 help/localization/da_DK.inc create mode 100644 help/localization/de_CH.inc create mode 100644 help/localization/de_DE.inc create mode 100644 help/localization/el_GR.inc create mode 100644 help/localization/en_CA.inc create mode 100644 help/localization/en_GB.inc create mode 100644 help/localization/en_US.inc create mode 100644 help/localization/eo.inc create mode 100644 help/localization/es_419.inc create mode 100644 help/localization/es_AR.inc create mode 100644 help/localization/es_ES.inc create mode 100644 help/localization/et_EE.inc create mode 100644 help/localization/eu_ES.inc create mode 100644 help/localization/fa_AF.inc create mode 100644 help/localization/fa_IR.inc create mode 100644 help/localization/fi_FI.inc create mode 100644 help/localization/fo_FO.inc create mode 100644 help/localization/fr_FR.inc create mode 100644 help/localization/fy_NL.inc create mode 100644 help/localization/gl_ES.inc create mode 100644 help/localization/he_IL.inc create mode 100644 help/localization/hr_HR.inc create mode 100644 help/localization/hu_HU.inc create mode 100644 help/localization/hy_AM.inc create mode 100644 help/localization/ia.inc create mode 100644 help/localization/id_ID.inc create mode 100644 help/localization/it_IT.inc create mode 100644 help/localization/ja_JP.inc create mode 100644 help/localization/km_KH.inc create mode 100644 help/localization/kn_IN.inc create mode 100644 help/localization/ko_KR.inc create mode 100644 help/localization/ku.inc create mode 100644 help/localization/ku_IQ.inc create mode 100644 help/localization/lb_LU.inc create mode 100644 help/localization/lt_LT.inc create mode 100644 help/localization/lv_LV.inc create mode 100644 help/localization/ml_IN.inc create mode 100644 help/localization/nb_NO.inc create mode 100644 help/localization/nl_NL.inc create mode 100644 help/localization/nn_NO.inc create mode 100644 help/localization/pl_PL.inc create mode 100644 help/localization/pt_BR.inc create mode 100644 help/localization/pt_PT.inc create mode 100644 help/localization/ro_RO.inc create mode 100644 help/localization/ru_RU.inc create mode 100644 help/localization/sk_SK.inc create mode 100644 help/localization/sl_SI.inc create mode 100644 help/localization/sq_AL.inc create mode 100644 help/localization/sr_CS.inc create mode 100644 help/localization/sv_SE.inc create mode 100644 help/localization/ti.inc create mode 100644 help/localization/tr_TR.inc create mode 100644 help/localization/uk_UA.inc create mode 100644 help/localization/vi_VN.inc create mode 100644 help/localization/zh_CN.inc create mode 100644 help/localization/zh_TW.inc create mode 100644 help/skins/classic/help.css create mode 100644 help/skins/classic/help.gif create mode 100644 help/skins/classic/templates/help.html create mode 100644 help/skins/larry/help.css create mode 100644 help/skins/larry/help.png create mode 100644 help/skins/larry/icons.psd create mode 100644 help/skins/larry/templates/help.html create mode 100644 help/tests/Help.php create mode 100644 hide_blockquote/composer.json create mode 100644 hide_blockquote/hide_blockquote.js create mode 100644 hide_blockquote/hide_blockquote.php create mode 100644 hide_blockquote/localization/ar_SA.inc create mode 100644 hide_blockquote/localization/ast.inc create mode 100644 hide_blockquote/localization/az_AZ.inc create mode 100644 hide_blockquote/localization/be_BE.inc create mode 100644 hide_blockquote/localization/bg_BG.inc create mode 100644 hide_blockquote/localization/br.inc create mode 100644 hide_blockquote/localization/bs_BA.inc create mode 100644 hide_blockquote/localization/ca_ES.inc create mode 100644 hide_blockquote/localization/cs_CZ.inc create mode 100644 hide_blockquote/localization/cy_GB.inc create mode 100644 hide_blockquote/localization/da_DK.inc create mode 100644 hide_blockquote/localization/de_CH.inc create mode 100644 hide_blockquote/localization/de_DE.inc create mode 100644 hide_blockquote/localization/el_GR.inc create mode 100644 hide_blockquote/localization/en_CA.inc create mode 100644 hide_blockquote/localization/en_GB.inc create mode 100644 hide_blockquote/localization/en_US.inc create mode 100644 hide_blockquote/localization/eo.inc create mode 100644 hide_blockquote/localization/es_419.inc create mode 100644 hide_blockquote/localization/es_AR.inc create mode 100644 hide_blockquote/localization/es_ES.inc create mode 100644 hide_blockquote/localization/et_EE.inc create mode 100644 hide_blockquote/localization/eu_ES.inc create mode 100644 hide_blockquote/localization/fa_IR.inc create mode 100644 hide_blockquote/localization/fi_FI.inc create mode 100644 hide_blockquote/localization/fo_FO.inc create mode 100644 hide_blockquote/localization/fr_FR.inc create mode 100644 hide_blockquote/localization/gl_ES.inc create mode 100644 hide_blockquote/localization/he_IL.inc create mode 100644 hide_blockquote/localization/hr_HR.inc create mode 100644 hide_blockquote/localization/hu_HU.inc create mode 100644 hide_blockquote/localization/hy_AM.inc create mode 100644 hide_blockquote/localization/ia.inc create mode 100644 hide_blockquote/localization/id_ID.inc create mode 100644 hide_blockquote/localization/it_IT.inc create mode 100644 hide_blockquote/localization/ja_JP.inc create mode 100644 hide_blockquote/localization/km_KH.inc create mode 100644 hide_blockquote/localization/ko_KR.inc create mode 100644 hide_blockquote/localization/ku.inc create mode 100644 hide_blockquote/localization/lb_LU.inc create mode 100644 hide_blockquote/localization/lt_LT.inc create mode 100644 hide_blockquote/localization/lv_LV.inc create mode 100644 hide_blockquote/localization/ml_IN.inc create mode 100644 hide_blockquote/localization/nb_NO.inc create mode 100644 hide_blockquote/localization/nl_NL.inc create mode 100644 hide_blockquote/localization/nn_NO.inc create mode 100644 hide_blockquote/localization/pl_PL.inc create mode 100644 hide_blockquote/localization/pt_BR.inc create mode 100644 hide_blockquote/localization/pt_PT.inc create mode 100644 hide_blockquote/localization/ro_RO.inc create mode 100644 hide_blockquote/localization/ru_RU.inc create mode 100644 hide_blockquote/localization/sk_SK.inc create mode 100644 hide_blockquote/localization/sl_SI.inc create mode 100644 hide_blockquote/localization/sq_AL.inc create mode 100644 hide_blockquote/localization/sr_CS.inc create mode 100644 hide_blockquote/localization/sv_SE.inc create mode 100644 hide_blockquote/localization/tr_TR.inc create mode 100644 hide_blockquote/localization/uk_UA.inc create mode 100644 hide_blockquote/localization/vi_VN.inc create mode 100644 hide_blockquote/localization/zh_CN.inc create mode 100644 hide_blockquote/localization/zh_TW.inc create mode 100644 hide_blockquote/skins/larry/style.css create mode 100644 hide_blockquote/tests/HideBlockquote.php create mode 100644 http_authentication/composer.json create mode 100644 http_authentication/config.inc.php.dist create mode 100644 http_authentication/http_authentication.php create mode 100644 http_authentication/logout.html create mode 100644 http_authentication/tests/HttpAuthentication.php create mode 100644 identity_select/composer.json create mode 100644 identity_select/identity_select.php create mode 100644 identity_select/tests/IdentitySelect.php create mode 100644 jqueryui/README create mode 100644 jqueryui/composer.json create mode 100644 jqueryui/config.inc.php.dist create mode 100644 jqueryui/jqueryui.php create mode 100644 jqueryui/js/i18n/jquery-ui-i18n.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-af.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ar-DZ.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ar.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-az.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-bg.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-bs.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ca.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-cs.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-cy-GB.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-da.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-de-CH.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-de.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-el.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-en-AU.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-en-GB.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-en-NZ.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-eo.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-es.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-et.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-eu.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-fa.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-fi.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-fo.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-fr-CH.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-fr.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-gl.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-he.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-hi.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-hr.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-hu.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-hy.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-id.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-is.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-it.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ja.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ka.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-kk.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-km.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ko.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-kz.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-lb.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-lt.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-lv.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-mk.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ml.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ms.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-nl-BE.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-nl.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-no.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-pl.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-pt-BR.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-pt.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-rm.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ro.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ru.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-sk.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-sl.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-sq.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-sr-SR.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-sr.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-sv.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-ta.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-th.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-tj.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-tr.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-uk.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-vi.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-zh-CN.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-zh-HK.js create mode 100644 jqueryui/js/i18n/jquery.ui.datepicker-zh-TW.js create mode 100755 jqueryui/js/jquery-ui-1.10.4.custom.min.js create mode 100644 jqueryui/js/jquery-ui-accessible-datepicker.js create mode 100644 jqueryui/js/jquery.miniColors.min.js create mode 100644 jqueryui/js/jquery.tagedit.js create mode 100644 jqueryui/tests/Jqueryui.php create mode 100755 jqueryui/themes/classic/images/animated-overlay.gif create mode 100644 jqueryui/themes/classic/images/buttongradient.png create mode 100644 jqueryui/themes/classic/images/listheader.png create mode 100755 jqueryui/themes/classic/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 jqueryui/themes/classic/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 jqueryui/themes/classic/images/ui-bg_flat_90_cc3333_40x100.png create mode 100755 jqueryui/themes/classic/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 jqueryui/themes/classic/images/ui-bg_highlight-hard_90_a3a3a3_1x100.png create mode 100755 jqueryui/themes/classic/images/ui-bg_highlight-hard_90_e6e6e7_1x100.png create mode 100755 jqueryui/themes/classic/images/ui-bg_highlight-hard_90_f4f4f4_1x100.png create mode 100755 jqueryui/themes/classic/images/ui-icons_000000_256x240.png create mode 100755 jqueryui/themes/classic/images/ui-icons_333333_256x240.png create mode 100755 jqueryui/themes/classic/images/ui-icons_666666_256x240.png create mode 100755 jqueryui/themes/classic/images/ui-icons_cc3333_256x240.png create mode 100755 jqueryui/themes/classic/images/ui-icons_dddddd_256x240.png create mode 100755 jqueryui/themes/classic/jquery-ui-1.10.4.custom.css create mode 100644 jqueryui/themes/classic/roundcube-custom.diff create mode 100644 jqueryui/themes/larry/images/animated-overlay.gif create mode 100644 jqueryui/themes/larry/images/minicolors-all.png create mode 100644 jqueryui/themes/larry/images/minicolors-handles.gif create mode 100644 jqueryui/themes/larry/images/ui-dialog-close.png create mode 100644 jqueryui/themes/larry/images/ui-icons-datepicker.png create mode 100644 jqueryui/themes/larry/images/ui-icons_004458_256x240.png create mode 100644 jqueryui/themes/larry/images/ui-icons_d7211e_256x240.png create mode 100755 jqueryui/themes/larry/jquery-ui-1.10.4.custom.css create mode 100644 jqueryui/themes/larry/jquery-ui-css.diff create mode 100644 jqueryui/themes/larry/jquery.miniColors.css create mode 100644 jqueryui/themes/larry/tagedit.css create mode 100755 jqueryui/themes/redmond/images/animated-overlay.gif create mode 100755 jqueryui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 jqueryui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png create mode 100755 jqueryui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png create mode 100755 jqueryui/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png create mode 100755 jqueryui/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 jqueryui/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png create mode 100755 jqueryui/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png create mode 100755 jqueryui/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png create mode 100755 jqueryui/themes/redmond/images/ui-icons_217bc0_256x240.png create mode 100755 jqueryui/themes/redmond/images/ui-icons_2e83ff_256x240.png create mode 100755 jqueryui/themes/redmond/images/ui-icons_469bdd_256x240.png create mode 100755 jqueryui/themes/redmond/images/ui-icons_6da8d5_256x240.png create mode 100755 jqueryui/themes/redmond/images/ui-icons_cd0a0a_256x240.png create mode 100755 jqueryui/themes/redmond/images/ui-icons_d8e7f3_256x240.png create mode 100755 jqueryui/themes/redmond/images/ui-icons_f9bd01_256x240.png create mode 100755 jqueryui/themes/redmond/jquery-ui-1.10.4.custom.css create mode 100644 legacy_browser/composer.json create mode 100644 legacy_browser/js/iehacks.js create mode 100644 legacy_browser/js/jquery.min.js create mode 100644 legacy_browser/legacy_browser.php create mode 100644 legacy_browser/skins/classic/iehacks.css create mode 100644 legacy_browser/skins/classic/images/abook_toolbar.gif create mode 100644 legacy_browser/skins/classic/images/mail_toolbar.gif create mode 100644 legacy_browser/skins/larry/ie7hacks.css create mode 100644 legacy_browser/skins/larry/iehacks.css create mode 100644 legacy_browser/skins/larry/images/buttons.gif create mode 100644 legacy_browser/tests/LegacyBrowser.php create mode 100644 managesieve/Changelog create mode 100644 managesieve/composer.json create mode 100644 managesieve/config.inc.php.dist create mode 100644 managesieve/lib/Roundcube/rcube_sieve.php create mode 100644 managesieve/lib/Roundcube/rcube_sieve_engine.php create mode 100644 managesieve/lib/Roundcube/rcube_sieve_script.php create mode 100644 managesieve/lib/Roundcube/rcube_sieve_vacation.php create mode 100644 managesieve/localization/ar_SA.inc create mode 100644 managesieve/localization/ast.inc create mode 100644 managesieve/localization/az_AZ.inc create mode 100644 managesieve/localization/be_BE.inc create mode 100644 managesieve/localization/bg_BG.inc create mode 100644 managesieve/localization/br.inc create mode 100644 managesieve/localization/bs_BA.inc create mode 100644 managesieve/localization/ca_ES.inc create mode 100644 managesieve/localization/cs_CZ.inc create mode 100644 managesieve/localization/cy_GB.inc create mode 100644 managesieve/localization/da_DK.inc create mode 100644 managesieve/localization/de_CH.inc create mode 100644 managesieve/localization/de_DE.inc create mode 100644 managesieve/localization/el_GR.inc create mode 100644 managesieve/localization/en_CA.inc create mode 100644 managesieve/localization/en_GB.inc create mode 100644 managesieve/localization/en_US.inc create mode 100644 managesieve/localization/eo.inc create mode 100644 managesieve/localization/es_419.inc create mode 100644 managesieve/localization/es_AR.inc create mode 100644 managesieve/localization/es_ES.inc create mode 100644 managesieve/localization/et_EE.inc create mode 100644 managesieve/localization/eu_ES.inc create mode 100644 managesieve/localization/fa_AF.inc create mode 100644 managesieve/localization/fa_IR.inc create mode 100644 managesieve/localization/fi_FI.inc create mode 100644 managesieve/localization/fr_FR.inc create mode 100644 managesieve/localization/fy_NL.inc create mode 100644 managesieve/localization/gl_ES.inc create mode 100644 managesieve/localization/he_IL.inc create mode 100644 managesieve/localization/hr_HR.inc create mode 100644 managesieve/localization/hu_HU.inc create mode 100644 managesieve/localization/hy_AM.inc create mode 100644 managesieve/localization/ia.inc create mode 100644 managesieve/localization/id_ID.inc create mode 100644 managesieve/localization/it_IT.inc create mode 100644 managesieve/localization/ja_JP.inc create mode 100644 managesieve/localization/km_KH.inc create mode 100644 managesieve/localization/ko_KR.inc create mode 100644 managesieve/localization/ku.inc create mode 100644 managesieve/localization/lb_LU.inc create mode 100644 managesieve/localization/lt_LT.inc create mode 100644 managesieve/localization/lv_LV.inc create mode 100644 managesieve/localization/ml_IN.inc create mode 100644 managesieve/localization/mr_IN.inc create mode 100644 managesieve/localization/nb_NO.inc create mode 100644 managesieve/localization/nl_NL.inc create mode 100644 managesieve/localization/nn_NO.inc create mode 100644 managesieve/localization/pl_PL.inc create mode 100644 managesieve/localization/pt_BR.inc create mode 100644 managesieve/localization/pt_PT.inc create mode 100644 managesieve/localization/ro_RO.inc create mode 100644 managesieve/localization/ru_RU.inc create mode 100644 managesieve/localization/si_LK.inc create mode 100644 managesieve/localization/sk_SK.inc create mode 100644 managesieve/localization/sl_SI.inc create mode 100644 managesieve/localization/sq_AL.inc create mode 100644 managesieve/localization/sv_SE.inc create mode 100644 managesieve/localization/th_TH.inc create mode 100644 managesieve/localization/tr_TR.inc create mode 100644 managesieve/localization/uk_UA.inc create mode 100644 managesieve/localization/vi_VN.inc create mode 100644 managesieve/localization/zh_CN.inc create mode 100644 managesieve/localization/zh_TW.inc create mode 100644 managesieve/managesieve.js create mode 100644 managesieve/managesieve.php create mode 100644 managesieve/skins/classic/images/add.png create mode 100644 managesieve/skins/classic/images/del.png create mode 100644 managesieve/skins/classic/images/down_small.gif create mode 100644 managesieve/skins/classic/images/erase.png create mode 100644 managesieve/skins/classic/images/filter.png create mode 100644 managesieve/skins/classic/images/up_small.gif create mode 100644 managesieve/skins/classic/managesieve.css create mode 100644 managesieve/skins/classic/managesieve_mail.css create mode 100644 managesieve/skins/classic/templates/filteredit.html create mode 100644 managesieve/skins/classic/templates/managesieve.html create mode 100644 managesieve/skins/classic/templates/setedit.html create mode 100644 managesieve/skins/classic/templates/vacation.html create mode 100644 managesieve/skins/larry/images/add.png create mode 100644 managesieve/skins/larry/images/del.png create mode 100644 managesieve/skins/larry/images/down_small.gif create mode 100644 managesieve/skins/larry/images/erase.png create mode 100644 managesieve/skins/larry/images/up_small.gif create mode 100644 managesieve/skins/larry/images/vacation_icons.png create mode 100644 managesieve/skins/larry/managesieve.css create mode 100644 managesieve/skins/larry/managesieve_mail.css create mode 100644 managesieve/skins/larry/templates/filteredit.html create mode 100644 managesieve/skins/larry/templates/managesieve.html create mode 100644 managesieve/skins/larry/templates/setedit.html create mode 100644 managesieve/skins/larry/templates/vacation.html create mode 100644 managesieve/tests/Managesieve.php create mode 100644 managesieve/tests/Parser.php create mode 100644 managesieve/tests/Tokenizer.php create mode 100644 managesieve/tests/Vacation.php create mode 100644 managesieve/tests/src/parser create mode 100644 managesieve/tests/src/parser.out create mode 100644 managesieve/tests/src/parser_body create mode 100644 managesieve/tests/src/parser_date create mode 100644 managesieve/tests/src/parser_enotify_a create mode 100644 managesieve/tests/src/parser_enotify_b create mode 100644 managesieve/tests/src/parser_imapflags create mode 100644 managesieve/tests/src/parser_include create mode 100644 managesieve/tests/src/parser_index create mode 100644 managesieve/tests/src/parser_kep14 create mode 100644 managesieve/tests/src/parser_kep14.out create mode 100644 managesieve/tests/src/parser_notify_a create mode 100644 managesieve/tests/src/parser_notify_b create mode 100644 managesieve/tests/src/parser_prefix create mode 100644 managesieve/tests/src/parser_relational create mode 100644 managesieve/tests/src/parser_subaddress create mode 100644 managesieve/tests/src/parser_vacation create mode 100644 managesieve/tests/src/parser_vacation_seconds create mode 100644 managesieve/tests/src/parser_variables create mode 100644 markasjunk/composer.json create mode 100644 markasjunk/localization/ar.inc create mode 100644 markasjunk/localization/ar_SA.inc create mode 100644 markasjunk/localization/ast.inc create mode 100644 markasjunk/localization/az_AZ.inc create mode 100644 markasjunk/localization/be_BE.inc create mode 100644 markasjunk/localization/bg_BG.inc create mode 100644 markasjunk/localization/br.inc create mode 100644 markasjunk/localization/bs_BA.inc create mode 100644 markasjunk/localization/ca_ES.inc create mode 100644 markasjunk/localization/cs_CZ.inc create mode 100644 markasjunk/localization/cy_GB.inc create mode 100644 markasjunk/localization/da_DK.inc create mode 100644 markasjunk/localization/de_CH.inc create mode 100644 markasjunk/localization/de_DE.inc create mode 100644 markasjunk/localization/el_GR.inc create mode 100644 markasjunk/localization/en_CA.inc create mode 100644 markasjunk/localization/en_GB.inc create mode 100644 markasjunk/localization/en_US.inc create mode 100644 markasjunk/localization/eo.inc create mode 100644 markasjunk/localization/es_419.inc create mode 100644 markasjunk/localization/es_AR.inc create mode 100644 markasjunk/localization/es_ES.inc create mode 100644 markasjunk/localization/et_EE.inc create mode 100644 markasjunk/localization/eu_ES.inc create mode 100644 markasjunk/localization/fa_AF.inc create mode 100644 markasjunk/localization/fa_IR.inc create mode 100644 markasjunk/localization/fi_FI.inc create mode 100644 markasjunk/localization/fo_FO.inc create mode 100644 markasjunk/localization/fr_FR.inc create mode 100644 markasjunk/localization/fy_NL.inc create mode 100644 markasjunk/localization/gl_ES.inc create mode 100644 markasjunk/localization/he_IL.inc create mode 100644 markasjunk/localization/hr_HR.inc create mode 100644 markasjunk/localization/hu_HU.inc create mode 100644 markasjunk/localization/hy_AM.inc create mode 100644 markasjunk/localization/ia.inc create mode 100644 markasjunk/localization/id_ID.inc create mode 100644 markasjunk/localization/it_IT.inc create mode 100644 markasjunk/localization/ja_JP.inc create mode 100644 markasjunk/localization/km_KH.inc create mode 100644 markasjunk/localization/ko_KR.inc create mode 100644 markasjunk/localization/lb_LU.inc create mode 100644 markasjunk/localization/lt_LT.inc create mode 100644 markasjunk/localization/lv_LV.inc create mode 100644 markasjunk/localization/ml_IN.inc create mode 100644 markasjunk/localization/mr_IN.inc create mode 100644 markasjunk/localization/nb_NO.inc create mode 100644 markasjunk/localization/nl_NL.inc create mode 100644 markasjunk/localization/nn_NO.inc create mode 100644 markasjunk/localization/pl_PL.inc create mode 100644 markasjunk/localization/pt_BR.inc create mode 100644 markasjunk/localization/pt_PT.inc create mode 100644 markasjunk/localization/ro_RO.inc create mode 100644 markasjunk/localization/ru_RU.inc create mode 100644 markasjunk/localization/si_LK.inc create mode 100644 markasjunk/localization/sk_SK.inc create mode 100644 markasjunk/localization/sl_SI.inc create mode 100644 markasjunk/localization/sr_CS.inc create mode 100644 markasjunk/localization/sv_SE.inc create mode 100644 markasjunk/localization/tr_TR.inc create mode 100644 markasjunk/localization/uk_UA.inc create mode 100644 markasjunk/localization/vi_VN.inc create mode 100644 markasjunk/localization/zh_CN.inc create mode 100644 markasjunk/localization/zh_TW.inc create mode 100644 markasjunk/markasjunk.js create mode 100644 markasjunk/markasjunk.php create mode 100644 markasjunk/skins/classic/junk_act.png create mode 100644 markasjunk/skins/classic/junk_pas.png create mode 100644 markasjunk/skins/classic/markasjunk.css create mode 100644 markasjunk/skins/larry/.gitignore create mode 100644 markasjunk/tests/Markasjunk.php create mode 100644 new_user_dialog/composer.json create mode 100644 new_user_dialog/localization/ar.inc create mode 100644 new_user_dialog/localization/ar_SA.inc create mode 100644 new_user_dialog/localization/ast.inc create mode 100644 new_user_dialog/localization/az_AZ.inc create mode 100644 new_user_dialog/localization/be_BE.inc create mode 100644 new_user_dialog/localization/bg_BG.inc create mode 100644 new_user_dialog/localization/br.inc create mode 100644 new_user_dialog/localization/bs_BA.inc create mode 100644 new_user_dialog/localization/ca_ES.inc create mode 100644 new_user_dialog/localization/cs_CZ.inc create mode 100644 new_user_dialog/localization/cy_GB.inc create mode 100644 new_user_dialog/localization/da_DK.inc create mode 100644 new_user_dialog/localization/de_CH.inc create mode 100644 new_user_dialog/localization/de_DE.inc create mode 100644 new_user_dialog/localization/el_GR.inc create mode 100644 new_user_dialog/localization/en_CA.inc create mode 100644 new_user_dialog/localization/en_GB.inc create mode 100644 new_user_dialog/localization/en_US.inc create mode 100644 new_user_dialog/localization/eo.inc create mode 100644 new_user_dialog/localization/es_419.inc create mode 100644 new_user_dialog/localization/es_AR.inc create mode 100644 new_user_dialog/localization/es_ES.inc create mode 100644 new_user_dialog/localization/et_EE.inc create mode 100644 new_user_dialog/localization/eu_ES.inc create mode 100644 new_user_dialog/localization/fa_AF.inc create mode 100644 new_user_dialog/localization/fa_IR.inc create mode 100644 new_user_dialog/localization/fi_FI.inc create mode 100644 new_user_dialog/localization/fo_FO.inc create mode 100644 new_user_dialog/localization/fr_FR.inc create mode 100644 new_user_dialog/localization/gl_ES.inc create mode 100644 new_user_dialog/localization/he_IL.inc create mode 100644 new_user_dialog/localization/hr_HR.inc create mode 100644 new_user_dialog/localization/hu_HU.inc create mode 100644 new_user_dialog/localization/hy_AM.inc create mode 100644 new_user_dialog/localization/ia.inc create mode 100644 new_user_dialog/localization/id_ID.inc create mode 100644 new_user_dialog/localization/it_IT.inc create mode 100644 new_user_dialog/localization/ja_JP.inc create mode 100644 new_user_dialog/localization/km_KH.inc create mode 100644 new_user_dialog/localization/ko_KR.inc create mode 100644 new_user_dialog/localization/ku.inc create mode 100644 new_user_dialog/localization/lb_LU.inc create mode 100644 new_user_dialog/localization/lt_LT.inc create mode 100644 new_user_dialog/localization/lv_LV.inc create mode 100644 new_user_dialog/localization/ml_IN.inc create mode 100644 new_user_dialog/localization/mr_IN.inc create mode 100644 new_user_dialog/localization/nb_NO.inc create mode 100644 new_user_dialog/localization/nl_NL.inc create mode 100644 new_user_dialog/localization/nn_NO.inc create mode 100644 new_user_dialog/localization/pl_PL.inc create mode 100644 new_user_dialog/localization/pt_BR.inc create mode 100644 new_user_dialog/localization/pt_PT.inc create mode 100644 new_user_dialog/localization/ro_RO.inc create mode 100644 new_user_dialog/localization/ru_RU.inc create mode 100644 new_user_dialog/localization/sk_SK.inc create mode 100644 new_user_dialog/localization/sl_SI.inc create mode 100644 new_user_dialog/localization/sr_CS.inc create mode 100644 new_user_dialog/localization/sv_SE.inc create mode 100644 new_user_dialog/localization/tr_TR.inc create mode 100644 new_user_dialog/localization/uk_UA.inc create mode 100644 new_user_dialog/localization/vi_VN.inc create mode 100644 new_user_dialog/localization/zh_CN.inc create mode 100644 new_user_dialog/localization/zh_TW.inc create mode 100644 new_user_dialog/new_user_dialog.php create mode 100644 new_user_dialog/newuserdialog.css create mode 100644 new_user_dialog/tests/NewUserDialog.php create mode 100644 new_user_identity/composer.json create mode 100644 new_user_identity/config.inc.php.dist create mode 100644 new_user_identity/new_user_identity.php create mode 100644 new_user_identity/tests/NewUserIdentity.php create mode 100644 newmail_notifier/composer.json create mode 100644 newmail_notifier/config.inc.php.dist create mode 100644 newmail_notifier/favicon.ico create mode 100644 newmail_notifier/localization/ar_SA.inc create mode 100644 newmail_notifier/localization/ast.inc create mode 100644 newmail_notifier/localization/az_AZ.inc create mode 100644 newmail_notifier/localization/be_BE.inc create mode 100644 newmail_notifier/localization/bg_BG.inc create mode 100644 newmail_notifier/localization/br.inc create mode 100644 newmail_notifier/localization/bs_BA.inc create mode 100644 newmail_notifier/localization/ca_ES.inc create mode 100644 newmail_notifier/localization/cs_CZ.inc create mode 100644 newmail_notifier/localization/cy_GB.inc create mode 100644 newmail_notifier/localization/da_DK.inc create mode 100644 newmail_notifier/localization/de_CH.inc create mode 100644 newmail_notifier/localization/de_DE.inc create mode 100644 newmail_notifier/localization/el_GR.inc create mode 100644 newmail_notifier/localization/en_CA.inc create mode 100644 newmail_notifier/localization/en_GB.inc create mode 100644 newmail_notifier/localization/en_US.inc create mode 100644 newmail_notifier/localization/eo.inc create mode 100644 newmail_notifier/localization/es_419.inc create mode 100644 newmail_notifier/localization/es_AR.inc create mode 100644 newmail_notifier/localization/es_ES.inc create mode 100644 newmail_notifier/localization/et_EE.inc create mode 100644 newmail_notifier/localization/eu_ES.inc create mode 100644 newmail_notifier/localization/fa_IR.inc create mode 100644 newmail_notifier/localization/fi_FI.inc create mode 100644 newmail_notifier/localization/fo_FO.inc create mode 100644 newmail_notifier/localization/fr_FR.inc create mode 100644 newmail_notifier/localization/fy_NL.inc create mode 100644 newmail_notifier/localization/gl_ES.inc create mode 100644 newmail_notifier/localization/he_IL.inc create mode 100644 newmail_notifier/localization/hr_HR.inc create mode 100644 newmail_notifier/localization/hu_HU.inc create mode 100644 newmail_notifier/localization/hy_AM.inc create mode 100644 newmail_notifier/localization/ia.inc create mode 100644 newmail_notifier/localization/id_ID.inc create mode 100644 newmail_notifier/localization/it_IT.inc create mode 100644 newmail_notifier/localization/ja_JP.inc create mode 100644 newmail_notifier/localization/km_KH.inc create mode 100644 newmail_notifier/localization/ko_KR.inc create mode 100644 newmail_notifier/localization/ku.inc create mode 100644 newmail_notifier/localization/ku_IQ.inc create mode 100644 newmail_notifier/localization/lb_LU.inc create mode 100644 newmail_notifier/localization/lt_LT.inc create mode 100644 newmail_notifier/localization/lv_LV.inc create mode 100644 newmail_notifier/localization/ml_IN.inc create mode 100644 newmail_notifier/localization/mr_IN.inc create mode 100644 newmail_notifier/localization/nb_NO.inc create mode 100644 newmail_notifier/localization/nl_NL.inc create mode 100644 newmail_notifier/localization/nn_NO.inc create mode 100644 newmail_notifier/localization/pl_PL.inc create mode 100644 newmail_notifier/localization/pt_BR.inc create mode 100644 newmail_notifier/localization/pt_PT.inc create mode 100644 newmail_notifier/localization/ro_RO.inc create mode 100644 newmail_notifier/localization/ru_RU.inc create mode 100644 newmail_notifier/localization/si_LK.inc create mode 100644 newmail_notifier/localization/sk_SK.inc create mode 100644 newmail_notifier/localization/sl_SI.inc create mode 100644 newmail_notifier/localization/sq_AL.inc create mode 100644 newmail_notifier/localization/sr_CS.inc create mode 100644 newmail_notifier/localization/sv_SE.inc create mode 100644 newmail_notifier/localization/ti.inc create mode 100644 newmail_notifier/localization/tr_TR.inc create mode 100644 newmail_notifier/localization/uk_UA.inc create mode 100644 newmail_notifier/localization/vi_VN.inc create mode 100644 newmail_notifier/localization/zh_CN.inc create mode 100644 newmail_notifier/localization/zh_TW.inc create mode 100644 newmail_notifier/mail.png create mode 100644 newmail_notifier/newmail_notifier.js create mode 100644 newmail_notifier/newmail_notifier.php create mode 100644 newmail_notifier/overlay.ico create mode 100644 newmail_notifier/sound.mp3 create mode 100644 newmail_notifier/sound.wav create mode 100644 newmail_notifier/tests/NewmailNotifier.php create mode 100644 password/README create mode 100644 password/composer.json create mode 100644 password/config.inc.php.dist create mode 100644 password/drivers/chpasswd.php create mode 100644 password/drivers/cpanel.php create mode 100644 password/drivers/dbmail.php create mode 100644 password/drivers/directadmin.php create mode 100644 password/drivers/domainfactory.php create mode 100644 password/drivers/expect.php create mode 100644 password/drivers/gearman.php create mode 100644 password/drivers/hmail.php create mode 100644 password/drivers/ldap.php create mode 100644 password/drivers/ldap_simple.php create mode 100644 password/drivers/pam.php create mode 100644 password/drivers/plesk.php create mode 100644 password/drivers/poppassd.php create mode 100644 password/drivers/pw_usermod.php create mode 100644 password/drivers/sasl.php create mode 100644 password/drivers/smb.php create mode 100644 password/drivers/sql.php create mode 100644 password/drivers/virtualmin.php create mode 100644 password/drivers/vpopmaild.php create mode 100644 password/drivers/ximss.php create mode 100644 password/drivers/xmail.php create mode 100644 password/helpers/chgdbmailusers.c create mode 100644 password/helpers/chgsaslpasswd.c create mode 100644 password/helpers/chgvirtualminpasswd.c create mode 100644 password/helpers/chpass-wrapper.py create mode 100644 password/helpers/dovecot_hmacmd5.php create mode 100644 password/helpers/passwd-expect create mode 100644 password/localization/ar.inc create mode 100644 password/localization/ar_SA.inc create mode 100644 password/localization/ast.inc create mode 100644 password/localization/az_AZ.inc create mode 100644 password/localization/be_BE.inc create mode 100644 password/localization/bg_BG.inc create mode 100644 password/localization/br.inc create mode 100644 password/localization/bs_BA.inc create mode 100644 password/localization/ca_ES.inc create mode 100644 password/localization/cs_CZ.inc create mode 100644 password/localization/cy_GB.inc create mode 100644 password/localization/da_DK.inc create mode 100644 password/localization/de_CH.inc create mode 100644 password/localization/de_DE.inc create mode 100644 password/localization/el_GR.inc create mode 100644 password/localization/en_CA.inc create mode 100644 password/localization/en_GB.inc create mode 100644 password/localization/en_US.inc create mode 100644 password/localization/eo.inc create mode 100644 password/localization/es_419.inc create mode 100644 password/localization/es_AR.inc create mode 100644 password/localization/es_ES.inc create mode 100644 password/localization/et_EE.inc create mode 100644 password/localization/eu_ES.inc create mode 100644 password/localization/fa_AF.inc create mode 100644 password/localization/fa_IR.inc create mode 100644 password/localization/fi_FI.inc create mode 100644 password/localization/fo_FO.inc create mode 100644 password/localization/fr_FR.inc create mode 100644 password/localization/fy_NL.inc create mode 100644 password/localization/gl_ES.inc create mode 100644 password/localization/he_IL.inc create mode 100644 password/localization/hr_HR.inc create mode 100644 password/localization/hu_HU.inc create mode 100644 password/localization/hy_AM.inc create mode 100644 password/localization/ia.inc create mode 100644 password/localization/id_ID.inc create mode 100644 password/localization/it_IT.inc create mode 100644 password/localization/ja_JP.inc create mode 100644 password/localization/km_KH.inc create mode 100644 password/localization/ko_KR.inc create mode 100644 password/localization/ku.inc create mode 100644 password/localization/ku_IQ.inc create mode 100644 password/localization/lb_LU.inc create mode 100644 password/localization/lt_LT.inc create mode 100644 password/localization/lv_LV.inc create mode 100644 password/localization/ml_IN.inc create mode 100644 password/localization/nb_NO.inc create mode 100644 password/localization/nl_NL.inc create mode 100644 password/localization/nn_NO.inc create mode 100644 password/localization/pl_PL.inc create mode 100644 password/localization/pt_BR.inc create mode 100644 password/localization/pt_PT.inc create mode 100644 password/localization/ro_RO.inc create mode 100644 password/localization/ru_RU.inc create mode 100644 password/localization/sk_SK.inc create mode 100644 password/localization/sl_SI.inc create mode 100644 password/localization/sq_AL.inc create mode 100644 password/localization/sr_CS.inc create mode 100644 password/localization/sv_SE.inc create mode 100644 password/localization/ti.inc create mode 100644 password/localization/tr_TR.inc create mode 100644 password/localization/uk_UA.inc create mode 100644 password/localization/vi_VN.inc create mode 100644 password/localization/zh_CN.inc create mode 100644 password/localization/zh_TW.inc create mode 100644 password/password.js create mode 100644 password/password.php create mode 100644 password/tests/Password.php create mode 100644 redundant_attachments/composer.json create mode 100644 redundant_attachments/config.inc.php.dist create mode 100644 redundant_attachments/redundant_attachments.php create mode 100644 redundant_attachments/tests/RedundantAttachments.php create mode 100644 show_additional_headers/composer.json create mode 100644 show_additional_headers/show_additional_headers.php create mode 100644 show_additional_headers/tests/ShowAdditionalHeaders.php create mode 100644 squirrelmail_usercopy/composer.json create mode 100644 squirrelmail_usercopy/config.inc.php.dist create mode 100644 squirrelmail_usercopy/squirrelmail_usercopy.php create mode 100644 squirrelmail_usercopy/tests/SquirrelmailUsercopy.php create mode 100644 subscriptions_option/composer.json create mode 100644 subscriptions_option/localization/ar_SA.inc create mode 100644 subscriptions_option/localization/ast.inc create mode 100644 subscriptions_option/localization/az_AZ.inc create mode 100644 subscriptions_option/localization/be_BE.inc create mode 100644 subscriptions_option/localization/bg_BG.inc create mode 100644 subscriptions_option/localization/br.inc create mode 100644 subscriptions_option/localization/bs_BA.inc create mode 100644 subscriptions_option/localization/ca_ES.inc create mode 100644 subscriptions_option/localization/cs_CZ.inc create mode 100644 subscriptions_option/localization/cy_GB.inc create mode 100644 subscriptions_option/localization/da_DK.inc create mode 100644 subscriptions_option/localization/de_CH.inc create mode 100644 subscriptions_option/localization/de_DE.inc create mode 100644 subscriptions_option/localization/el_GR.inc create mode 100644 subscriptions_option/localization/en_CA.inc create mode 100644 subscriptions_option/localization/en_GB.inc create mode 100644 subscriptions_option/localization/en_US.inc create mode 100644 subscriptions_option/localization/eo.inc create mode 100644 subscriptions_option/localization/es_419.inc create mode 100644 subscriptions_option/localization/es_AR.inc create mode 100644 subscriptions_option/localization/es_ES.inc create mode 100644 subscriptions_option/localization/et_EE.inc create mode 100644 subscriptions_option/localization/eu_ES.inc create mode 100644 subscriptions_option/localization/fa_AF.inc create mode 100644 subscriptions_option/localization/fa_IR.inc create mode 100644 subscriptions_option/localization/fi_FI.inc create mode 100644 subscriptions_option/localization/fo_FO.inc create mode 100644 subscriptions_option/localization/fr_FR.inc create mode 100644 subscriptions_option/localization/gl_ES.inc create mode 100644 subscriptions_option/localization/he_IL.inc create mode 100644 subscriptions_option/localization/hr_HR.inc create mode 100644 subscriptions_option/localization/hu_HU.inc create mode 100644 subscriptions_option/localization/hy_AM.inc create mode 100644 subscriptions_option/localization/ia.inc create mode 100644 subscriptions_option/localization/id_ID.inc create mode 100644 subscriptions_option/localization/it_IT.inc create mode 100644 subscriptions_option/localization/ja_JP.inc create mode 100644 subscriptions_option/localization/km_KH.inc create mode 100644 subscriptions_option/localization/ko_KR.inc create mode 100644 subscriptions_option/localization/ku.inc create mode 100644 subscriptions_option/localization/lb_LU.inc create mode 100644 subscriptions_option/localization/lt_LT.inc create mode 100644 subscriptions_option/localization/lv_LV.inc create mode 100644 subscriptions_option/localization/ml_IN.inc create mode 100644 subscriptions_option/localization/nb_NO.inc create mode 100644 subscriptions_option/localization/nl_NL.inc create mode 100644 subscriptions_option/localization/nn_NO.inc create mode 100644 subscriptions_option/localization/pl_PL.inc create mode 100644 subscriptions_option/localization/pt_BR.inc create mode 100644 subscriptions_option/localization/pt_PT.inc create mode 100644 subscriptions_option/localization/ro_RO.inc create mode 100644 subscriptions_option/localization/ru_RU.inc create mode 100644 subscriptions_option/localization/sk_SK.inc create mode 100644 subscriptions_option/localization/sl_SI.inc create mode 100644 subscriptions_option/localization/sr_CS.inc create mode 100644 subscriptions_option/localization/sv_SE.inc create mode 100644 subscriptions_option/localization/tr_TR.inc create mode 100644 subscriptions_option/localization/uk_UA.inc create mode 100644 subscriptions_option/localization/vi_VN.inc create mode 100644 subscriptions_option/localization/zh_CN.inc create mode 100644 subscriptions_option/localization/zh_TW.inc create mode 100644 subscriptions_option/subscriptions_option.php create mode 100644 subscriptions_option/tests/SubscriptionsOption.php create mode 100644 userinfo/composer.json create mode 100644 userinfo/localization/ar.inc create mode 100644 userinfo/localization/ar_SA.inc create mode 100644 userinfo/localization/ast.inc create mode 100644 userinfo/localization/az_AZ.inc create mode 100644 userinfo/localization/be_BE.inc create mode 100644 userinfo/localization/bg_BG.inc create mode 100644 userinfo/localization/br.inc create mode 100644 userinfo/localization/bs_BA.inc create mode 100644 userinfo/localization/ca_ES.inc create mode 100644 userinfo/localization/cs_CZ.inc create mode 100644 userinfo/localization/cy_GB.inc create mode 100644 userinfo/localization/da_DK.inc create mode 100644 userinfo/localization/de_CH.inc create mode 100644 userinfo/localization/de_DE.inc create mode 100644 userinfo/localization/el_GR.inc create mode 100644 userinfo/localization/en_CA.inc create mode 100644 userinfo/localization/en_GB.inc create mode 100644 userinfo/localization/en_US.inc create mode 100644 userinfo/localization/eo.inc create mode 100644 userinfo/localization/es_419.inc create mode 100644 userinfo/localization/es_AR.inc create mode 100644 userinfo/localization/es_ES.inc create mode 100644 userinfo/localization/et_EE.inc create mode 100644 userinfo/localization/eu_ES.inc create mode 100644 userinfo/localization/fa_AF.inc create mode 100644 userinfo/localization/fa_IR.inc create mode 100644 userinfo/localization/fi_FI.inc create mode 100644 userinfo/localization/fo_FO.inc create mode 100644 userinfo/localization/fr_FR.inc create mode 100644 userinfo/localization/fy_NL.inc create mode 100644 userinfo/localization/gl_ES.inc create mode 100644 userinfo/localization/he_IL.inc create mode 100644 userinfo/localization/hr_HR.inc create mode 100644 userinfo/localization/hu_HU.inc create mode 100644 userinfo/localization/hy_AM.inc create mode 100644 userinfo/localization/ia.inc create mode 100644 userinfo/localization/id_ID.inc create mode 100644 userinfo/localization/it_IT.inc create mode 100644 userinfo/localization/ja_JP.inc create mode 100644 userinfo/localization/km_KH.inc create mode 100644 userinfo/localization/ko_KR.inc create mode 100644 userinfo/localization/ku.inc create mode 100644 userinfo/localization/ku_IQ.inc create mode 100644 userinfo/localization/lb_LU.inc create mode 100644 userinfo/localization/lt_LT.inc create mode 100644 userinfo/localization/lv_LV.inc create mode 100644 userinfo/localization/ml_IN.inc create mode 100644 userinfo/localization/mr_IN.inc create mode 100644 userinfo/localization/nb_NO.inc create mode 100644 userinfo/localization/nl_NL.inc create mode 100644 userinfo/localization/nn_NO.inc create mode 100644 userinfo/localization/pl_PL.inc create mode 100644 userinfo/localization/pt_BR.inc create mode 100644 userinfo/localization/pt_PT.inc create mode 100644 userinfo/localization/ro_RO.inc create mode 100644 userinfo/localization/ru_RU.inc create mode 100644 userinfo/localization/sk_SK.inc create mode 100644 userinfo/localization/sl_SI.inc create mode 100644 userinfo/localization/sq_AL.inc create mode 100644 userinfo/localization/sr_CS.inc create mode 100644 userinfo/localization/sv_SE.inc create mode 100644 userinfo/localization/ti.inc create mode 100644 userinfo/localization/tr_TR.inc create mode 100644 userinfo/localization/uk_UA.inc create mode 100644 userinfo/localization/vi_VN.inc create mode 100644 userinfo/localization/zh_CN.inc create mode 100644 userinfo/localization/zh_TW.inc create mode 100644 userinfo/tests/Userinfo.php create mode 100644 userinfo/userinfo.js create mode 100644 userinfo/userinfo.php create mode 100644 vcard_attachments/composer.json create mode 100644 vcard_attachments/localization/ar.inc create mode 100644 vcard_attachments/localization/ar_SA.inc create mode 100644 vcard_attachments/localization/ast.inc create mode 100644 vcard_attachments/localization/az_AZ.inc create mode 100644 vcard_attachments/localization/be_BE.inc create mode 100644 vcard_attachments/localization/bg_BG.inc create mode 100644 vcard_attachments/localization/br.inc create mode 100644 vcard_attachments/localization/bs_BA.inc create mode 100644 vcard_attachments/localization/ca_ES.inc create mode 100644 vcard_attachments/localization/cs_CZ.inc create mode 100644 vcard_attachments/localization/cy_GB.inc create mode 100644 vcard_attachments/localization/da_DK.inc create mode 100644 vcard_attachments/localization/de_CH.inc create mode 100644 vcard_attachments/localization/de_DE.inc create mode 100644 vcard_attachments/localization/el_GR.inc create mode 100644 vcard_attachments/localization/en_CA.inc create mode 100644 vcard_attachments/localization/en_GB.inc create mode 100644 vcard_attachments/localization/en_US.inc create mode 100644 vcard_attachments/localization/eo.inc create mode 100644 vcard_attachments/localization/es_419.inc create mode 100644 vcard_attachments/localization/es_AR.inc create mode 100644 vcard_attachments/localization/es_ES.inc create mode 100644 vcard_attachments/localization/et_EE.inc create mode 100644 vcard_attachments/localization/eu_ES.inc create mode 100644 vcard_attachments/localization/fa_IR.inc create mode 100644 vcard_attachments/localization/fi_FI.inc create mode 100644 vcard_attachments/localization/fo_FO.inc create mode 100644 vcard_attachments/localization/fr_FR.inc create mode 100644 vcard_attachments/localization/gl_ES.inc create mode 100644 vcard_attachments/localization/he_IL.inc create mode 100644 vcard_attachments/localization/hr_HR.inc create mode 100644 vcard_attachments/localization/hu_HU.inc create mode 100644 vcard_attachments/localization/hy_AM.inc create mode 100644 vcard_attachments/localization/ia.inc create mode 100644 vcard_attachments/localization/id_ID.inc create mode 100644 vcard_attachments/localization/it_IT.inc create mode 100644 vcard_attachments/localization/ja_JP.inc create mode 100644 vcard_attachments/localization/km_KH.inc create mode 100644 vcard_attachments/localization/ko_KR.inc create mode 100644 vcard_attachments/localization/ku.inc create mode 100644 vcard_attachments/localization/lb_LU.inc create mode 100644 vcard_attachments/localization/lt_LT.inc create mode 100644 vcard_attachments/localization/lv_LV.inc create mode 100644 vcard_attachments/localization/ml_IN.inc create mode 100644 vcard_attachments/localization/mr_IN.inc create mode 100644 vcard_attachments/localization/nb_NO.inc create mode 100644 vcard_attachments/localization/nl_NL.inc create mode 100644 vcard_attachments/localization/nn_NO.inc create mode 100644 vcard_attachments/localization/pl_PL.inc create mode 100644 vcard_attachments/localization/pt_BR.inc create mode 100644 vcard_attachments/localization/pt_PT.inc create mode 100644 vcard_attachments/localization/ro_RO.inc create mode 100644 vcard_attachments/localization/ru_RU.inc create mode 100644 vcard_attachments/localization/si_LK.inc create mode 100644 vcard_attachments/localization/sk_SK.inc create mode 100644 vcard_attachments/localization/sl_SI.inc create mode 100644 vcard_attachments/localization/sr_CS.inc create mode 100644 vcard_attachments/localization/sv_SE.inc create mode 100644 vcard_attachments/localization/tr_TR.inc create mode 100644 vcard_attachments/localization/uk_UA.inc create mode 100644 vcard_attachments/localization/vi_VN.inc create mode 100644 vcard_attachments/localization/zh_CN.inc create mode 100644 vcard_attachments/localization/zh_TW.inc create mode 100644 vcard_attachments/skins/classic/style.css create mode 100644 vcard_attachments/skins/classic/vcard.png create mode 100644 vcard_attachments/skins/classic/vcard_add_contact.png create mode 100644 vcard_attachments/skins/larry/style.css create mode 100644 vcard_attachments/skins/larry/vcard.png create mode 100644 vcard_attachments/skins/larry/vcard_add_contact.png create mode 100644 vcard_attachments/tests/VcardAttachments.php create mode 100644 vcard_attachments/vcard_attachments.php create mode 100644 vcard_attachments/vcardattach.js create mode 100644 virtuser_file/composer.json create mode 100644 virtuser_file/tests/VirtuserFile.php create mode 100644 virtuser_file/virtuser_file.php create mode 100644 virtuser_query/composer.json create mode 100644 virtuser_query/tests/VirtuserQuery.php create mode 100644 virtuser_query/virtuser_query.php create mode 100644 zipdownload/README create mode 100644 zipdownload/composer.json create mode 100644 zipdownload/config.inc.php.dist create mode 100644 zipdownload/localization/ar.inc create mode 100644 zipdownload/localization/ar_SA.inc create mode 100644 zipdownload/localization/ast.inc create mode 100644 zipdownload/localization/az_AZ.inc create mode 100644 zipdownload/localization/be_BE.inc create mode 100644 zipdownload/localization/bg_BG.inc create mode 100644 zipdownload/localization/br.inc create mode 100644 zipdownload/localization/bs_BA.inc create mode 100644 zipdownload/localization/ca_ES.inc create mode 100644 zipdownload/localization/cs_CZ.inc create mode 100644 zipdownload/localization/cy_GB.inc create mode 100644 zipdownload/localization/da_DK.inc create mode 100644 zipdownload/localization/de_CH.inc create mode 100644 zipdownload/localization/de_DE.inc create mode 100644 zipdownload/localization/el_GR.inc create mode 100644 zipdownload/localization/en_CA.inc create mode 100644 zipdownload/localization/en_GB.inc create mode 100644 zipdownload/localization/en_US.inc create mode 100644 zipdownload/localization/eo.inc create mode 100644 zipdownload/localization/es_419.inc create mode 100644 zipdownload/localization/es_AR.inc create mode 100644 zipdownload/localization/es_ES.inc create mode 100644 zipdownload/localization/et_EE.inc create mode 100644 zipdownload/localization/eu_ES.inc create mode 100644 zipdownload/localization/fa_AF.inc create mode 100644 zipdownload/localization/fa_IR.inc create mode 100644 zipdownload/localization/fi_FI.inc create mode 100644 zipdownload/localization/fo_FO.inc create mode 100644 zipdownload/localization/fr_FR.inc create mode 100644 zipdownload/localization/fy_NL.inc create mode 100644 zipdownload/localization/gl_ES.inc create mode 100644 zipdownload/localization/he_IL.inc create mode 100644 zipdownload/localization/hr_HR.inc create mode 100644 zipdownload/localization/hu_HU.inc create mode 100644 zipdownload/localization/hy_AM.inc create mode 100644 zipdownload/localization/ia.inc create mode 100644 zipdownload/localization/id_ID.inc create mode 100644 zipdownload/localization/it_IT.inc create mode 100644 zipdownload/localization/ja_JP.inc create mode 100644 zipdownload/localization/km_KH.inc create mode 100644 zipdownload/localization/ko_KR.inc create mode 100644 zipdownload/localization/ku.inc create mode 100644 zipdownload/localization/ku_IQ.inc create mode 100644 zipdownload/localization/lb_LU.inc create mode 100644 zipdownload/localization/lt_LT.inc create mode 100644 zipdownload/localization/lv_LV.inc create mode 100644 zipdownload/localization/ml_IN.inc create mode 100644 zipdownload/localization/nb_NO.inc create mode 100644 zipdownload/localization/nl_NL.inc create mode 100644 zipdownload/localization/nn_NO.inc create mode 100644 zipdownload/localization/pl_PL.inc create mode 100644 zipdownload/localization/pt_BR.inc create mode 100644 zipdownload/localization/pt_PT.inc create mode 100644 zipdownload/localization/ro_RO.inc create mode 100644 zipdownload/localization/ru_RU.inc create mode 100644 zipdownload/localization/sk_SK.inc create mode 100644 zipdownload/localization/sl_SI.inc create mode 100644 zipdownload/localization/sr_CS.inc create mode 100644 zipdownload/localization/sv_SE.inc create mode 100644 zipdownload/localization/tr_TR.inc create mode 100644 zipdownload/localization/uk_UA.inc create mode 100644 zipdownload/localization/vi_VN.inc create mode 100644 zipdownload/localization/zh_CN.inc create mode 100644 zipdownload/localization/zh_TW.inc create mode 100644 zipdownload/skins/classic/zip.png create mode 100644 zipdownload/skins/classic/zipdownload.css create mode 100644 zipdownload/skins/larry/zipdownload.css create mode 100644 zipdownload/tests/Zipdownload.php create mode 100644 zipdownload/zipdownload.js create mode 100644 zipdownload/zipdownload.php diff --git a/acl/acl.js b/acl/acl.js new file mode 100644 index 0000000..e6a84ff --- /dev/null +++ b/acl/acl.js @@ -0,0 +1,394 @@ +/** + * ACL plugin script + * + * @version @package_version@ + * @author Aleksander Machniak + */ + +if (window.rcmail) { + rcmail.addEventListener('init', function() { + if (rcmail.gui_objects.acltable) { + rcmail.acl_list_init(); + // enable autocomplete on user input + if (rcmail.env.acl_users_source) { + var inst = rcmail.is_framed() ? parent.rcmail : rcmail; + inst.init_address_input_events($('#acluser'), {action:'settings/plugin.acl-autocomplete'}); + + // pass config settings and localized texts to autocomplete context + inst.set_env({ autocomplete_max:rcmail.env.autocomplete_max, autocomplete_min_length:rcmail.env.autocomplete_min_length }); + inst.add_label('autocompletechars', rcmail.labels.autocompletechars); + inst.add_label('autocompletemore', rcmail.labels.autocompletemore); + + // fix inserted value + inst.addEventListener('autocomplete_insert', function(e) { + if (e.field.id != 'acluser') + return; + + e.field.value = e.insert.replace(/[ ,;]+$/, ''); + }); + } + } + + rcmail.enable_command('acl-create', 'acl-save', 'acl-cancel', 'acl-mode-switch', true); + rcmail.enable_command('acl-delete', 'acl-edit', false); + + if (rcmail.env.acl_advanced) + $('#acl-switch').addClass('selected'); + }); +} + +// Display new-entry form +rcube_webmail.prototype.acl_create = function() +{ + this.acl_init_form(); +} + +// Display ACL edit form +rcube_webmail.prototype.acl_edit = function() +{ + // @TODO: multi-row edition + var id = this.acl_list.get_single_selection(); + if (id) + this.acl_init_form(id); +} + +// ACL entry delete +rcube_webmail.prototype.acl_delete = function() +{ + var users = this.acl_get_usernames(); + + if (users && users.length && confirm(this.get_label('acl.deleteconfirm'))) { + this.http_post('settings/plugin.acl', { + _act: 'delete', + _user: users.join(','), + _mbox: this.env.mailbox + }, + this.set_busy(true, 'acl.deleting')); + } +} + +// Save ACL data +rcube_webmail.prototype.acl_save = function() +{ + var data, type, rights = '', user = $('#acluser', this.acl_form).val(); + + $((this.env.acl_advanced ? '#advancedrights :checkbox' : '#simplerights :checkbox'), this.acl_form).map(function() { + if (this.checked) + rights += this.value; + }); + + if (type = $('input:checked[name=usertype]', this.acl_form).val()) { + if (type != 'user') + user = type; + } + + if (!user) { + alert(this.get_label('acl.nouser')); + return; + } + if (!rights) { + alert(this.get_label('acl.norights')); + return; + } + + data = { + _act: 'save', + _user: user, + _acl: rights, + _mbox: this.env.mailbox + } + + if (this.acl_id) { + data._old = this.acl_id; + } + + this.http_post('settings/plugin.acl', data, this.set_busy(true, 'acl.saving')); +} + +// Cancel/Hide form +rcube_webmail.prototype.acl_cancel = function() +{ + this.ksearch_blur(); + this.acl_popup.dialog('close'); +} + +// Update data after save (and hide form) +rcube_webmail.prototype.acl_update = function(o) +{ + // delete old row + if (o.old) + this.acl_remove_row(o.old); + // make sure the same ID doesn't exist + else if (this.env.acl[o.id]) + this.acl_remove_row(o.id); + + // add new row + this.acl_add_row(o, true); + // hide autocomplete popup + this.ksearch_blur(); + // hide form + this.acl_popup.dialog('close'); +} + +// Switch table display mode +rcube_webmail.prototype.acl_mode_switch = function(elem) +{ + this.env.acl_advanced = !this.env.acl_advanced; + this.enable_command('acl-delete', 'acl-edit', false); + this.http_request('settings/plugin.acl', '_act=list' + + '&_mode='+(this.env.acl_advanced ? 'advanced' : 'simple') + + '&_mbox='+urlencode(this.env.mailbox), + this.set_busy(true, 'loading')); +} + +// ACL table initialization +rcube_webmail.prototype.acl_list_init = function() +{ + var method = this.env.acl_advanced ? 'addClass' : 'removeClass'; + + $('#acl-switch')[method]('selected'); + $(this.gui_objects.acltable)[method]('advanced'); + + this.acl_list = new rcube_list_widget(this.gui_objects.acltable, + {multiselect: true, draggable: false, keyboard: true}); + this.acl_list.addEventListener('select', function(o) { rcmail.acl_list_select(o); }) + .addEventListener('dblclick', function(o) { rcmail.acl_list_dblclick(o); }) + .addEventListener('keypress', function(o) { rcmail.acl_list_keypress(o); }) + .init(); +} + +// ACL table row selection handler +rcube_webmail.prototype.acl_list_select = function(list) +{ + rcmail.enable_command('acl-delete', list.selection.length > 0); + rcmail.enable_command('acl-edit', list.selection.length == 1); + list.focus(); +} + +// ACL table double-click handler +rcube_webmail.prototype.acl_list_dblclick = function(list) +{ + this.acl_edit(); +} + +// ACL table keypress handler +rcube_webmail.prototype.acl_list_keypress = function(list) +{ + if (list.key_pressed == list.ENTER_KEY) + this.command('acl-edit'); + else if (list.key_pressed == list.DELETE_KEY || list.key_pressed == list.BACKSPACE_KEY) + if (!this.acl_form || !this.acl_form.is(':visible')) + this.command('acl-delete'); +} + +// Reloads ACL table +rcube_webmail.prototype.acl_list_update = function(html) +{ + $(this.gui_objects.acltable).html(html); + this.acl_list_init(); +} + +// Returns names of users in selected rows +rcube_webmail.prototype.acl_get_usernames = function() +{ + var users = [], n, len, cell, row, + list = this.acl_list, + selection = list.get_selection(); + + for (n=0, len=selection.length; n= 0) { + users.push(selection[n]); + } + else if (row = list.rows[selection[n]]) { + cell = $('td.user', row.obj); + if (cell.length == 1) + users.push(cell.text()); + } + } + + return users; +} + +// Removes ACL table row +rcube_webmail.prototype.acl_remove_row = function(id) +{ + var list = this.acl_list; + + list.remove_row(id); + list.clear_selection(); + + // we don't need it anymore (remove id conflict) + $('#rcmrow'+id).remove(); + this.env.acl[id] = null; + + this.enable_command('acl-delete', list.selection.length > 0); + this.enable_command('acl-edit', list.selection.length == 1); +} + +// Adds ACL table row +rcube_webmail.prototype.acl_add_row = function(o, sel) +{ + var n, len, ids = [], spec = [], id = o.id, list = this.acl_list, + items = this.env.acl_advanced ? [] : this.env.acl_items, + table = this.gui_objects.acltable, + row = $('thead > tr', table).clone(); + + // Update new row + $('th', row).map(function() { + var td = $(''), + title = $(this).attr('title'), + cl = this.className.replace(/^acl/, ''); + + if (title) + td.attr('title', title); + + if (items && items[cl]) + cl = items[cl]; + + if (cl == 'user') + td.addClass(cl).append($('').text(o.username)); + else + td.addClass(this.className + ' ' + rcmail.acl_class(o.acl, cl)).text(''); + + $(this).replaceWith(td); + }); + + row.attr('id', 'rcmrow'+id); + row = row.get(0); + + this.env.acl[id] = o.acl; + + // sorting... (create an array of user identifiers, then sort it) + for (n in this.env.acl) { + if (this.env.acl[n]) { + if (this.env.acl_specials.length && $.inArray(n, this.env.acl_specials) >= 0) + spec.push(n); + else + ids.push(n); + } + } + ids.sort(); + // specials on the top + ids = spec.concat(ids); + + // find current id + for (n=0, len=ids.length; n ', + id ? this.gettext('acl.editperms') : this.gettext('acl.newuser'), + buttons, + { + button_classes: ['mainaction'], + modal: true, + closeOnEscape: true, + close: function(e, ui) { + (me.is_framed() ? parent.rcmail : me).ksearch_hide(); + me.acl_form.appendTo(body).hide(); + $(this).remove(); + window.focus(); // focus iframe + } + } + ); + + this.acl_form.appendTo(this.acl_popup).show(); + + if (type == 'user') + name_input.focus(); + else + $('input:checked', type_list).focus(); +} + +// Returns class name according to ACL comparision result +rcube_webmail.prototype.acl_class = function(acl1, acl2) +{ + var i, len, found = 0; + + acl1 = String(acl1); + acl2 = String(acl2); + + for (i=0, len=acl2.length; i -1) + found++; + + if (found == len) + return 'enabled'; + else if (found) + return 'partial'; + + return 'disabled'; +} diff --git a/acl/acl.php b/acl/acl.php new file mode 100644 index 0000000..384faa3 --- /dev/null +++ b/acl/acl.php @@ -0,0 +1,760 @@ + + * + * + * 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 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/. + */ + +class acl extends rcube_plugin +{ + public $task = 'settings|addressbook|calendar'; + + private $rc; + private $supported = null; + private $mbox; + private $ldap; + private $specials = array('anyone', 'anonymous'); + + /** + * Plugin initialization + */ + function init() + { + $this->rc = rcmail::get_instance(); + + // Register hooks + $this->add_hook('folder_form', array($this, 'folder_form')); + // kolab_addressbook plugin + $this->add_hook('addressbook_form', array($this, 'folder_form')); + $this->add_hook('calendar_form_kolab', array($this, 'folder_form')); + // Plugin actions + $this->register_action('plugin.acl', array($this, 'acl_actions')); + $this->register_action('plugin.acl-autocomplete', array($this, 'acl_autocomplete')); + } + + /** + * Handler for plugin actions (AJAX) + */ + function acl_actions() + { + $action = trim(rcube_utils::get_input_value('_act', rcube_utils::INPUT_GPC)); + + // Connect to IMAP + $this->rc->storage_init(); + + // Load localization and configuration + $this->add_texts('localization/'); + $this->load_config(); + + if ($action == 'save') { + $this->action_save(); + } + else if ($action == 'delete') { + $this->action_delete(); + } + else if ($action == 'list') { + $this->action_list(); + } + + // Only AJAX actions + $this->rc->output->send(); + } + + /** + * Handler for user login autocomplete request + */ + function acl_autocomplete() + { + $this->load_config(); + + $search = rcube_utils::get_input_value('_search', rcube_utils::INPUT_GPC, true); + $reqid = rcube_utils::get_input_value('_reqid', rcube_utils::INPUT_GPC); + $users = array(); + $keys = array(); + + if ($this->init_ldap()) { + $max = (int) $this->rc->config->get('autocomplete_max', 15); + $mode = (int) $this->rc->config->get('addressbook_search_mode'); + + $this->ldap->set_pagesize($max); + $result = $this->ldap->search('*', $search, $mode); + + foreach ($result->records as $record) { + $user = $record['uid']; + + if (is_array($user)) { + $user = array_filter($user); + $user = $user[0]; + } + + if ($user) { + $display = rcube_addressbook::compose_search_name($record); + $user = array('name' => $user, 'display' => $display); + $users[] = $user; + $keys[] = $display ?: $user['name']; + } + } + + if ($this->rc->config->get('acl_groups')) { + $prefix = $this->rc->config->get('acl_group_prefix'); + $group_field = $this->rc->config->get('acl_group_field', 'name'); + $result = $this->ldap->list_groups($search, $mode); + + foreach ($result as $record) { + $group = $record['name']; + $group_id = is_array($record[$group_field]) ? $record[$group_field][0] : $record[$group_field]; + + if ($group) { + $users[] = array('name' => ($prefix ? $prefix : '') . $group_id, 'display' => $group, 'type' => 'group'); + $keys[] = $group; + } + } + } + } + + if (count($users)) { + // sort users index + asort($keys, SORT_LOCALE_STRING); + // re-sort users according to index + foreach ($keys as $idx => $val) { + $keys[$idx] = $users[$idx]; + } + $users = array_values($keys); + } + + $this->rc->output->command('ksearch_query_results', $users, $search, $reqid); + $this->rc->output->send(); + } + + /** + * Handler for 'folder_form' hook + * + * @param array $args Hook arguments array (form data) + * + * @return array Hook arguments array + */ + function folder_form($args) + { + $mbox_imap = $args['options']['name']; + $myrights = $args['options']['rights']; + + // Edited folder name (empty in create-folder mode) + if (!strlen($mbox_imap)) { + return $args; + } +/* + // Do nothing on protected folders (?) + if ($args['options']['protected']) { + return $args; + } +*/ + // Get MYRIGHTS + if (empty($myrights)) { + return $args; + } + + // 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', 'newuser', 'editperms')); + $this->rc->output->add_label('save', 'cancel'); + $this->include_script('acl.js'); + $this->rc->output->include_script('list.js'); + $this->include_stylesheet($this->local_skin_path().'/acl.css'); + + // 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'), + 'content' => array()); + + // Display folder rights to 'Info' fieldset + $args['form']['props']['fieldsets']['info']['content']['myrights'] = array( + 'label' => rcube::Q($this->gettext('myrights')), + 'value' => $this->acl2text($myrights) + ); + + // Return if not folder admin + if (!in_array('a', $myrights)) { + return $args; + } + + // The 'Sharing' tab + $this->mbox = $mbox_imap; + $this->rc->output->set_env('acl_users_source', (bool) $this->rc->config->get('acl_users_source')); + $this->rc->output->set_env('mailbox', $mbox_imap); + $this->rc->output->add_handlers(array( + 'acltable' => array($this, 'templ_table'), + 'acluser' => array($this, 'templ_user'), + 'aclrights' => array($this, 'templ_rights'), + )); + + $this->rc->output->set_env('autocomplete_max', (int)$this->rc->config->get('autocomplete_max', 15)); + $this->rc->output->set_env('autocomplete_min_length', $this->rc->config->get('autocomplete_min_length')); + $this->rc->output->add_label('autocompletechars', 'autocompletemore'); + + $args['form']['sharing'] = array( + 'name' => rcube::Q($this->gettext('sharing')), + 'content' => $this->rc->output->parse('acl.table', false, false), + ); + + return $args; + } + + /** + * Creates ACL rights table + * + * @param array $attrib Template object attributes + * + * @return string HTML Content + */ + function templ_table($attrib) + { + if (empty($attrib['id'])) + $attrib['id'] = 'acl-table'; + + $out = $this->list_rights($attrib); + + $this->rc->output->add_gui_object('acltable', $attrib['id']); + + return $out; + } + + /** + * Creates ACL rights form (rights list part) + * + * @param array $attrib Template object attributes + * + * @return string HTML Content + */ + function templ_rights($attrib) + { + // Get supported rights + $supported = $this->rights_supported(); + + // depending on server capability either use 'te' or 'd' for deleting msgs + $deleteright = implode(array_intersect(str_split('ted'), $supported)); + + $out = ''; + $ul = ''; + $input = new html_checkbox(); + + // Advanced rights + $attrib['id'] = 'advancedrights'; + foreach ($supported as $key => $val) { + $id = "acl$val"; + $ul .= html::tag('li', null, + $input->show('', array( + 'name' => "acl[$val]", 'value' => $val, 'id' => $id)) + . html::label(array('for' => $id, 'title' => $this->gettext('longacl'.$val)), + $this->gettext('acl'.$val))); + } + + $out = html::tag('ul', $attrib, $ul, html::$common_attrib); + + // Simple rights + $ul = ''; + $attrib['id'] = 'simplerights'; + $items = array( + 'read' => 'lrs', + 'write' => 'wi', + 'delete' => $deleteright, + 'other' => preg_replace('/[lrswi'.$deleteright.']/', '', implode($supported)), + ); + + foreach ($items as $key => $val) { + $id = "acl$key"; + $ul .= html::tag('li', null, + $input->show('', array( + 'name' => "acl[$val]", 'value' => $val, 'id' => $id)) + . html::label(array('for' => $id, 'title' => $this->gettext('longacl'.$key)), + $this->gettext('acl'.$key))); + } + + $out .= "\n" . html::tag('ul', $attrib, $ul, html::$common_attrib); + + $this->rc->output->set_env('acl_items', $items); + + return $out; + } + + /** + * Creates ACL rights form (user part) + * + * @param array $attrib Template object attributes + * + * @return string HTML Content + */ + function templ_user($attrib) + { + // Create username input + $attrib['name'] = 'acluser'; + + $textfield = new html_inputfield($attrib); + + $fields['user'] = html::label(array('for' => $attrib['id']), $this->gettext('username')) + . ' ' . $textfield->show(); + + // Add special entries + if (!empty($this->specials)) { + foreach ($this->specials as $key) { + $fields[$key] = html::label(array('for' => 'id'.$key), $this->gettext($key)); + } + } + + $this->rc->output->set_env('acl_specials', $this->specials); + + // Create list with radio buttons + if (count($fields) > 1) { + $ul = ''; + $radio = new html_radiobutton(array('name' => 'usertype')); + foreach ($fields as $key => $val) { + $ul .= html::tag('li', null, $radio->show($key == 'user' ? 'user' : '', + array('value' => $key, 'id' => 'id'.$key)) + . $val); + } + + $out = html::tag('ul', array('id' => 'usertype', 'class' => $attrib['class']), $ul, html::$common_attrib); + } + // Display text input alone + else { + $out = $fields['user']; + } + + return $out; + } + + /** + * Creates ACL rights table + * + * @param array $attrib Template object attributes + * + * @return string HTML Content + */ + private function list_rights($attrib=array()) + { + // Get ACL for the folder + $acl = $this->rc->storage->get_acl($this->mbox); + + if (!is_array($acl)) { + $acl = array(); + } + + // Keep special entries (anyone/anonymous) on top of the list + if (!empty($this->specials) && !empty($acl)) { + foreach ($this->specials as $key) { + if (isset($acl[$key])) { + $acl_special[$key] = $acl[$key]; + unset($acl[$key]); + } + } + } + + // Sort the list by username + uksort($acl, 'strnatcasecmp'); + + if (!empty($acl_special)) { + $acl = array_merge($acl_special, $acl); + } + + // Get supported rights and build column names + $supported = $this->rights_supported(); + + // depending on server capability either use 'te' or 'd' for deleting msgs + $deleteright = implode(array_intersect(str_split('ted'), $supported)); + + // Use advanced or simple (grouped) rights + $advanced = $this->rc->config->get('acl_advanced_mode'); + + if ($advanced) { + $items = array(); + foreach ($supported as $sup) { + $items[$sup] = $sup; + } + } + else { + $items = array( + 'read' => 'lrs', + 'write' => 'wi', + 'delete' => $deleteright, + 'other' => preg_replace('/[lrswi'.$deleteright.']/', '', implode($supported)), + ); + } + + // Create the table + $attrib['noheader'] = true; + $table = new html_table($attrib); + + // Create table header + $table->add_header('user', $this->gettext('identifier')); + foreach (array_keys($items) as $key) { + $label = $this->gettext('shortacl'.$key); + $table->add_header(array('class' => 'acl'.$key, 'title' => $label), $label); + } + + $js_table = array(); + foreach ($acl as $user => $rights) { + if ($this->rc->storage->conn->user == $user) { + continue; + } + + // filter out virtual rights (c or d) the server may return + $userrights = array_intersect($rights, $supported); + $userid = rcube_utils::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', html::a(array('id' => 'rcmlinkrow'.$userid), rcube::Q($user))); + + foreach ($items as $key => $right) { + $in = $this->acl_compare($userrights, $right); + switch ($in) { + case 2: $class = 'enabled'; break; + case 1: $class = 'partial'; break; + default: $class = 'disabled'; break; + } + $table->add('acl' . $key . ' ' . $class, ''); + } + + $js_table[$userid] = implode($userrights); + } + + $this->rc->output->set_env('acl', $js_table); + $this->rc->output->set_env('acl_advanced', $advanced); + + $out = $table->show(); + + return $out; + } + + /** + * Handler for ACL update/create action + */ + private function action_save() + { + $mbox = trim(rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_POST, true)); // UTF7-IMAP + $user = trim(rcube_utils::get_input_value('_user', rcube_utils::INPUT_POST)); + $acl = trim(rcube_utils::get_input_value('_acl', rcube_utils::INPUT_POST)); + $oldid = trim(rcube_utils::get_input_value('_old', rcube_utils::INPUT_POST)); + + $acl = array_intersect(str_split($acl), $this->rights_supported()); + $users = $oldid ? array($user) : explode(',', $user); + $result = 0; + + foreach ($users as $user) { + $user = trim($user); + $prefix = $this->rc->config->get('acl_groups') ? $this->rc->config->get('acl_group_prefix') : ''; + + if ($prefix && strpos($user, $prefix) === 0) { + $username = $user; + } + else if (!empty($this->specials) && in_array($user, $this->specials)) { + $username = $this->gettext($user); + } + else if (!empty($user)) { + if (!strpos($user, '@') && ($realm = $this->get_realm())) { + $user .= '@' . rcube_utils::idn_to_ascii(preg_replace('/^@/', '', $realm)); + } + $username = $user; + } + + if (!$acl || !$user || !strlen($mbox)) { + continue; + } + + $user = $this->mod_login($user); + $username = $this->mod_login($username); + + if ($user != $_SESSION['username'] && $username != $_SESSION['username']) { + if ($this->rc->storage->set_acl($mbox, $user, $acl)) { + $ret = array('id' => rcube_utils::html_identifier($user), + 'username' => $username, 'acl' => implode($acl), 'old' => $oldid); + $this->rc->output->command('acl_update', $ret); + $result++; + } + } + } + + if ($result) { + $this->rc->output->show_message($oldid ? 'acl.updatesuccess' : 'acl.createsuccess', 'confirmation'); + } + else { + $this->rc->output->show_message($oldid ? 'acl.updateerror' : 'acl.createerror', 'error'); + } + } + + /** + * Handler for ACL delete action + */ + private function action_delete() + { + $mbox = trim(rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_POST, true)); //UTF7-IMAP + $user = trim(rcube_utils::get_input_value('_user', rcube_utils::INPUT_POST)); + + $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)); + } + else { + $error = true; + } + } + + if (!$error) { + $this->rc->output->show_message('acl.deletesuccess', 'confirmation'); + } + else { + $this->rc->output->show_message('acl.deleteerror', 'error'); + } + } + + /** + * Handler for ACL list update action (with display mode change) + */ + private function action_list() + { + if (in_array('acl_advanced_mode', (array)$this->rc->config->get('dont_override'))) { + 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)); + $advanced = $advanced == 'advanced' ? true : false; + + // Save state in user preferences + $this->rc->user->save_prefs(array('acl_advanced_mode' => $advanced)); + + $out = $this->list_rights(); + + $out = preg_replace(array('/^]+>/', '/<\/table>$/'), '', $out); + + $this->rc->output->command('acl_list_update', $out); + } + + /** + * Creates