From e6d8f97bf2e0bbb4d95df0c4e030eb7ec6ef75a5 Mon Sep 17 00:00:00 2001 From: thomasb Date: Sat, 31 Mar 2012 12:25:48 +0000 Subject: Move plugins repository into roundcubemail root folder; svn:externals are not defined anymore git-svn-id: https://svn.roundcube.net/trunk@6034 208e9e7b-5314-0410-a742-e7e81cd9613c --- plugins/acl/acl.js | 351 --- plugins/acl/acl.php | 715 ------ plugins/acl/config.inc.php.dist | 19 - plugins/acl/localization/de_DE.inc | 83 - plugins/acl/localization/en_US.inc | 83 - plugins/acl/localization/pl_PL.inc | 83 - plugins/acl/package.xml | 63 - plugins/acl/skins/default/acl.css | 100 - plugins/acl/skins/default/images/enabled.png | Bin 674 -> 0 bytes plugins/acl/skins/default/images/partial.png | Bin 389 -> 0 bytes plugins/acl/skins/default/templates/table.html | 54 - plugins/acl/skins/larry/acl.css | 113 - plugins/acl/skins/larry/images/enabled.png | Bin 674 -> 0 bytes plugins/acl/skins/larry/images/partial.png | Bin 389 -> 0 bytes plugins/acl/skins/larry/templates/table.html | 34 - .../additional_message_headers.php | 43 - .../additional_message_headers/config.inc.php.dist | 14 - plugins/additional_message_headers/package.xml | 48 - plugins/archive/archive.js | 34 - plugins/archive/archive.php | 128 - plugins/archive/localization/cs_CZ.inc | 25 - plugins/archive/localization/de_CH.inc | 8 - plugins/archive/localization/de_DE.inc | 8 - plugins/archive/localization/en_US.inc | 9 - plugins/archive/localization/es_AR.inc | 10 - plugins/archive/localization/es_ES.inc | 10 - plugins/archive/localization/et_EE.inc | 8 - plugins/archive/localization/fr_FR.inc | 8 - plugins/archive/localization/gl_ES.inc | 10 - plugins/archive/localization/ja_JP.inc | 21 - plugins/archive/localization/nl_NL.inc | 8 - plugins/archive/localization/pl_PL.inc | 21 - plugins/archive/localization/pt_BR.inc | 8 - plugins/archive/localization/ru_RU.inc | 8 - plugins/archive/localization/sv_SE.inc | 8 - plugins/archive/localization/zh_TW.inc | 8 - plugins/archive/package.xml | 70 - plugins/archive/skins/default/archive.css | 10 - plugins/archive/skins/default/archive_act.png | Bin 3663 -> 0 bytes plugins/archive/skins/default/archive_pas.png | Bin 977 -> 0 bytes plugins/archive/skins/default/foldericon.png | Bin 3312 -> 0 bytes plugins/autologon/autologon.php | 50 - .../database_attachments/database_attachments.php | 169 -- plugins/database_attachments/package.xml | 62 - plugins/debug_logger/debug_logger.php | 149 -- plugins/debug_logger/package.xml | 55 - plugins/debug_logger/runlog/runlog.php | 227 -- plugins/emoticons/emoticons.php | 78 - plugins/emoticons/package.xml | 53 - plugins/enigma/README | 35 - plugins/enigma/config.inc.php.dist | 14 - plugins/enigma/enigma.js | 206 -- plugins/enigma/enigma.php | 475 ---- plugins/enigma/home/.htaccess | 2 - plugins/enigma/lib/Crypt/GPG.php | 2542 -------------------- .../enigma/lib/Crypt/GPG/DecryptStatusHandler.php | 336 --- plugins/enigma/lib/Crypt/GPG/Engine.php | 1758 -------------- plugins/enigma/lib/Crypt/GPG/Exceptions.php | 473 ---- plugins/enigma/lib/Crypt/GPG/Key.php | 223 -- plugins/enigma/lib/Crypt/GPG/Signature.php | 428 ---- plugins/enigma/lib/Crypt/GPG/SubKey.php | 649 ----- plugins/enigma/lib/Crypt/GPG/UserId.php | 373 --- .../enigma/lib/Crypt/GPG/VerifyStatusHandler.php | 216 -- plugins/enigma/lib/enigma_driver.php | 106 - plugins/enigma/lib/enigma_driver_gnupg.php | 305 --- plugins/enigma/lib/enigma_engine.php | 547 ----- plugins/enigma/lib/enigma_error.php | 62 - plugins/enigma/lib/enigma_key.php | 129 - plugins/enigma/lib/enigma_signature.php | 34 - plugins/enigma/lib/enigma_subkey.php | 57 - plugins/enigma/lib/enigma_ui.php | 456 ---- plugins/enigma/lib/enigma_userid.php | 31 - plugins/enigma/localization/en_US.inc | 53 - plugins/enigma/localization/ja_JP.inc | 55 - plugins/enigma/localization/ru_RU.inc | 65 - plugins/enigma/skins/default/enigma.css | 182 -- plugins/enigma/skins/default/enigma.png | Bin 1592 -> 0 bytes plugins/enigma/skins/default/enigma_error.png | Bin 1960 -> 0 bytes plugins/enigma/skins/default/key.png | Bin 1743 -> 0 bytes plugins/enigma/skins/default/key_add.png | Bin 1967 -> 0 bytes plugins/enigma/skins/default/keys_toolbar.png | Bin 14977 -> 0 bytes .../enigma/skins/default/templates/keyimport.html | 20 - .../enigma/skins/default/templates/keyinfo.html | 17 - plugins/enigma/skins/default/templates/keys.html | 76 - .../example_addressbook/example_addressbook.php | 50 - .../example_addressbook_backend.php | 116 - plugins/example_addressbook/package.xml | 51 - .../filesystem_attachments.php | 161 -- plugins/filesystem_attachments/package.xml | 59 - plugins/help/config.inc.php.dist | 5 - plugins/help/content/about.html | 28 - plugins/help/content/license.html | 689 ------ plugins/help/help.php | 98 - plugins/help/localization/cs_CZ.inc | 25 - plugins/help/localization/da_DK.inc | 8 - plugins/help/localization/de_DE.inc | 8 - plugins/help/localization/en_GB.inc | 8 - plugins/help/localization/en_US.inc | 8 - plugins/help/localization/es_ES.inc | 8 - plugins/help/localization/et_EE.inc | 8 - plugins/help/localization/gl_ES.inc | 8 - plugins/help/localization/hu_HU.inc | 8 - plugins/help/localization/ja_JP.inc | 10 - plugins/help/localization/pl_PL.inc | 8 - plugins/help/localization/pt_BR.inc | 8 - plugins/help/localization/ru_RU.inc | 23 - plugins/help/localization/sv_SE.inc | 8 - plugins/help/localization/zh_TW.inc | 8 - plugins/help/package.xml | 67 - plugins/help/skins/default/help.css | 29 - plugins/help/skins/default/help.gif | Bin 898 -> 0 bytes plugins/help/skins/default/templates/help.html | 37 - plugins/help/skins/larry/help.css | 52 - plugins/help/skins/larry/help.png | Bin 1555 -> 0 bytes plugins/help/skins/larry/templates/help.html | 30 - .../http_authentication/http_authentication.php | 67 - plugins/http_authentication/logout.html | 29 - plugins/http_authentication/package.xml | 48 - plugins/jqueryui/README | 29 - plugins/jqueryui/config.inc.php.dist | 12 - plugins/jqueryui/jqueryui.php | 67 - plugins/jqueryui/js/i18n/jquery-ui-i18n.js | 1242 ---------- .../jqueryui/js/i18n/jquery.ui.datepicker-af.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-ar.js | 24 - .../jqueryui/js/i18n/jquery.ui.datepicker-az.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-bg.js | 24 - .../jqueryui/js/i18n/jquery.ui.datepicker-bs.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-ca.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-cs.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-da.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-de-CH.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-de.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-el.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-en-GB.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-eo.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-es.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-et.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-eu.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-fa.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-fi.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-fo.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-fr-CH.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-fr.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-gl.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-he.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-hr.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-hu.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-hy.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-id.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-is.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-it.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-ja.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-ko.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-kz.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-lt.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-lv.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-ms.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-nl-BE.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-nl.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-no.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-pl.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-pt-BR.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-pt.js | 22 - .../jqueryui/js/i18n/jquery.ui.datepicker-ro.js | 26 - .../jqueryui/js/i18n/jquery.ui.datepicker-ru.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-sk.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-sl.js | 24 - .../jqueryui/js/i18n/jquery.ui.datepicker-sq.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-sr-SR.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-sr.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-sv.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-ta.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-th.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-tr.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-uk.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-vi.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-zh-CN.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-zh-HK.js | 23 - .../jqueryui/js/i18n/jquery.ui.datepicker-zh-TW.js | 23 - plugins/jqueryui/js/jquery-ui-1.8.18.custom.min.js | 356 --- plugins/jqueryui/package.xml | 149 -- .../themes/default/images/buttongradient.png | Bin 193 -> 0 bytes .../jqueryui/themes/default/images/listheader.png | Bin 356 -> 0 bytes .../default/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 0 bytes .../default/images/ui-bg_flat_75_ffffff_40x100.png | Bin 178 -> 0 bytes .../default/images/ui-bg_flat_90_cc3333_40x100.png | Bin 212 -> 0 bytes .../default/images/ui-bg_glass_95_fef1ec_1x400.png | Bin 119 -> 0 bytes .../ui-bg_highlight-hard_90_a3a3a3_1x100.png | Bin 114 -> 0 bytes .../ui-bg_highlight-hard_90_e6e6e7_1x100.png | Bin 101 -> 0 bytes .../ui-bg_highlight-hard_90_f4f4f4_1x100.png | Bin 122 -> 0 bytes .../default/images/ui-icons_000000_256x240.png | Bin 4369 -> 0 bytes .../default/images/ui-icons_333333_256x240.png | Bin 4369 -> 0 bytes .../default/images/ui-icons_666666_256x240.png | Bin 4369 -> 0 bytes .../default/images/ui-icons_cc3333_256x240.png | Bin 5355 -> 0 bytes .../default/images/ui-icons_dddddd_256x240.png | Bin 4369 -> 0 bytes .../themes/default/jquery-ui-1.8.18.custom.css | 577 ----- .../jqueryui/themes/default/roundcube-custom.diff | 118 - .../ui-bg_highlight-hard_55_b0ccd7_1x100.png | Bin 117 -> 0 bytes .../ui-bg_highlight-hard_65_ffffff_1x100.png | Bin 93 -> 0 bytes .../ui-bg_highlight-hard_75_eaeaea_1x100.png | Bin 136 -> 0 bytes .../ui-bg_highlight-hard_75_f8f8f8_1x100.png | Bin 88 -> 0 bytes .../ui-bg_highlight-soft_75_fafafa_1x100.png | Bin 117 -> 0 bytes .../ui-bg_highlight-soft_90_e4e4e4_1x100.png | Bin 111 -> 0 bytes .../themes/larry/images/ui-dialog-close.png | Bin 1596 -> 0 bytes .../themes/larry/images/ui-icons-datepicker.png | Bin 1160 -> 0 bytes .../larry/images/ui-icons_004458_256x240.png | Bin 4369 -> 0 bytes .../larry/images/ui-icons_d7211e_256x240.png | Bin 4369 -> 0 bytes .../larry/images/ui-icons_ffffff_256x240.png | Bin 4369 -> 0 bytes .../themes/larry/jquery-ui-1.8.18.custom.css | 656 ----- .../redmond/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 0 bytes .../redmond/images/ui-bg_flat_55_fbec88_40x100.png | Bin 182 -> 0 bytes .../redmond/images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 124 -> 0 bytes .../redmond/images/ui-bg_glass_85_dfeffc_1x400.png | Bin 123 -> 0 bytes .../redmond/images/ui-bg_glass_95_fef1ec_1x400.png | Bin 119 -> 0 bytes .../images/ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 3457 -> 0 bytes .../images/ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 104 -> 0 bytes .../images/ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 88 -> 0 bytes .../redmond/images/ui-icons_217bc0_256x240.png | Bin 4369 -> 0 bytes .../redmond/images/ui-icons_2e83ff_256x240.png | Bin 4369 -> 0 bytes .../redmond/images/ui-icons_469bdd_256x240.png | Bin 4369 -> 0 bytes .../redmond/images/ui-icons_6da8d5_256x240.png | Bin 5355 -> 0 bytes .../redmond/images/ui-icons_cd0a0a_256x240.png | Bin 4369 -> 0 bytes .../redmond/images/ui-icons_d8e7f3_256x240.png | Bin 4369 -> 0 bytes .../redmond/images/ui-icons_f9bd01_256x240.png | Bin 4369 -> 0 bytes .../themes/redmond/jquery-ui-1.8.18.custom.css | 565 ----- plugins/managesieve/Changelog | 237 -- plugins/managesieve/config.inc.php.dist | 67 - plugins/managesieve/lib/Net/Sieve.php | 1274 ---------- plugins/managesieve/lib/rcube_sieve.php | 387 --- plugins/managesieve/lib/rcube_sieve_script.php | 1073 --------- plugins/managesieve/localization/bg_BG.inc | 61 - plugins/managesieve/localization/cs_CZ.inc | 150 -- plugins/managesieve/localization/de_CH.inc | 150 -- plugins/managesieve/localization/de_DE.inc | 150 -- plugins/managesieve/localization/el_GR.inc | 64 - plugins/managesieve/localization/en_GB.inc | 150 -- plugins/managesieve/localization/en_US.inc | 138 -- plugins/managesieve/localization/es_AR.inc | 90 - plugins/managesieve/localization/es_ES.inc | 124 - plugins/managesieve/localization/et_EE.inc | 140 -- plugins/managesieve/localization/fi_FI.inc | 150 -- plugins/managesieve/localization/fr_FR.inc | 150 -- plugins/managesieve/localization/gl_ES.inc | 90 - plugins/managesieve/localization/hr_HR.inc | 150 -- plugins/managesieve/localization/hu_HU.inc | 150 -- plugins/managesieve/localization/it_IT.inc | 150 -- plugins/managesieve/localization/ja_JP.inc | 150 -- plugins/managesieve/localization/lv_LV.inc | 140 -- plugins/managesieve/localization/nb_NO.inc | 85 - plugins/managesieve/localization/nl_NL.inc | 150 -- plugins/managesieve/localization/pl_PL.inc | 150 -- plugins/managesieve/localization/pt_BR.inc | 150 -- plugins/managesieve/localization/pt_PT.inc | 150 -- plugins/managesieve/localization/ru_RU.inc | 144 -- plugins/managesieve/localization/sk_SK.inc | 150 -- plugins/managesieve/localization/sl_SI.inc | 65 - plugins/managesieve/localization/sv_SE.inc | 150 -- plugins/managesieve/localization/uk_UA.inc | 85 - plugins/managesieve/localization/zh_CN.inc | 140 -- plugins/managesieve/localization/zh_TW.inc | 129 - plugins/managesieve/managesieve.js | 787 ------ plugins/managesieve/managesieve.php | 1877 --------------- plugins/managesieve/package.xml | 100 - plugins/managesieve/skins/default/images/add.png | Bin 280 -> 0 bytes plugins/managesieve/skins/default/images/del.png | Bin 247 -> 0 bytes .../skins/default/images/down_small.gif | Bin 106 -> 0 bytes .../managesieve/skins/default/images/filter.png | Bin 547 -> 0 bytes .../managesieve/skins/default/images/up_small.gif | Bin 106 -> 0 bytes plugins/managesieve/skins/default/managesieve.css | 322 --- .../managesieve/skins/default/managesieve_mail.css | 63 - .../skins/default/templates/filteredit.html | 33 - .../skins/default/templates/managesieve.html | 87 - .../skins/default/templates/setedit.html | 24 - plugins/managesieve/tests/Makefile | 7 - plugins/managesieve/tests/parser.phpt | 120 - plugins/managesieve/tests/parser_body.phpt | 49 - plugins/managesieve/tests/parser_imapflags.phpt | 28 - plugins/managesieve/tests/parser_include.phpt | 30 - plugins/managesieve/tests/parser_kep14.phpt | 19 - plugins/managesieve/tests/parser_prefix.phpt | 25 - plugins/managesieve/tests/parser_relational.phpt | 25 - plugins/managesieve/tests/parser_vacation.phpt | 39 - plugins/managesieve/tests/parser_variables.phpt | 39 - plugins/managesieve/tests/parset_subaddress.phpt | 38 - plugins/managesieve/tests/tokenize.phpt | 66 - plugins/markasjunk/localization/cs_CZ.inc | 24 - plugins/markasjunk/localization/da_DK.inc | 7 - plugins/markasjunk/localization/de_CH.inc | 6 - plugins/markasjunk/localization/de_DE.inc | 6 - plugins/markasjunk/localization/en_US.inc | 8 - plugins/markasjunk/localization/es_AR.inc | 7 - plugins/markasjunk/localization/es_ES.inc | 7 - plugins/markasjunk/localization/et_EE.inc | 7 - plugins/markasjunk/localization/gl_ES.inc | 7 - plugins/markasjunk/localization/it_IT.inc | 7 - plugins/markasjunk/localization/ja_JP.inc | 20 - plugins/markasjunk/localization/pl_PL.inc | 7 - plugins/markasjunk/localization/ru_RU.inc | 20 - plugins/markasjunk/localization/sk_SK.inc | 15 - plugins/markasjunk/localization/sv_SE.inc | 7 - plugins/markasjunk/localization/zh_TW.inc | 7 - plugins/markasjunk/markasjunk.js | 28 - plugins/markasjunk/markasjunk.php | 63 - plugins/markasjunk/package.xml | 69 - plugins/markasjunk/skins/default/junk_act.png | Bin 1995 -> 0 bytes plugins/markasjunk/skins/default/junk_pas.png | Bin 1988 -> 0 bytes plugins/markasjunk/skins/default/markasjunk.css | 6 - plugins/new_user_dialog/localization/bg_BG.inc | 20 - plugins/new_user_dialog/localization/cs_CZ.inc | 7 - plugins/new_user_dialog/localization/de_CH.inc | 7 - plugins/new_user_dialog/localization/de_DE.inc | 7 - plugins/new_user_dialog/localization/en_US.inc | 7 - plugins/new_user_dialog/localization/es_ES.inc | 7 - plugins/new_user_dialog/localization/et_EE.inc | 7 - plugins/new_user_dialog/localization/gl_ES.inc | 7 - plugins/new_user_dialog/localization/it_IT.inc | 7 - plugins/new_user_dialog/localization/ja_JP.inc | 20 - plugins/new_user_dialog/localization/nl_NL.inc | 7 - plugins/new_user_dialog/localization/pl_PL.inc | 7 - plugins/new_user_dialog/localization/pt_BR.inc | 7 - plugins/new_user_dialog/localization/pt_PT.inc | 20 - plugins/new_user_dialog/localization/ru_RU.inc | 20 - plugins/new_user_dialog/localization/sk_SK.inc | 16 - plugins/new_user_dialog/localization/sl_SI.inc | 7 - plugins/new_user_dialog/localization/sv_SE.inc | 7 - plugins/new_user_dialog/localization/zh_TW.inc | 7 - plugins/new_user_dialog/new_user_dialog.php | 145 -- plugins/new_user_dialog/newuserdialog.css | 39 - plugins/new_user_dialog/package.xml | 154 -- plugins/new_user_identity/new_user_identity.php | 89 - plugins/new_user_identity/package.xml | 49 - plugins/newmail_notifier/config.inc.php.dist | 12 - plugins/newmail_notifier/favicon.ico | Bin 1734 -> 0 bytes plugins/newmail_notifier/localization/de_CH.inc | 27 - plugins/newmail_notifier/localization/de_DE.inc | 27 - plugins/newmail_notifier/localization/en_US.inc | 13 - plugins/newmail_notifier/localization/ja_JP.inc | 27 - plugins/newmail_notifier/localization/lv_LV.inc | 27 - plugins/newmail_notifier/localization/pl_PL.inc | 27 - plugins/newmail_notifier/localization/pt_BR.inc | 27 - plugins/newmail_notifier/localization/ru_RU.inc | 27 - plugins/newmail_notifier/localization/sv_SE.inc | 27 - plugins/newmail_notifier/mail.png | Bin 1408 -> 0 bytes plugins/newmail_notifier/newmail_notifier.js | 120 - plugins/newmail_notifier/newmail_notifier.php | 178 -- plugins/newmail_notifier/package.xml | 70 - plugins/newmail_notifier/sound.wav | Bin 10444 -> 0 bytes plugins/password/README | 309 --- plugins/password/config.inc.php.dist | 347 --- plugins/password/drivers/chpasswd.php | 39 - plugins/password/drivers/cpanel.php | 120 - plugins/password/drivers/dbmail.php | 42 - plugins/password/drivers/directadmin.php | 489 ---- plugins/password/drivers/domainfactory.php | 70 - plugins/password/drivers/expect.php | 58 - plugins/password/drivers/hmail.php | 63 - plugins/password/drivers/ldap.php | 319 --- plugins/password/drivers/ldap_simple.php | 276 --- plugins/password/drivers/pam.php | 42 - plugins/password/drivers/poppassd.php | 67 - plugins/password/drivers/pw_usermod.php | 41 - plugins/password/drivers/sasl.php | 45 - plugins/password/drivers/smb.php | 59 - plugins/password/drivers/sql.php | 175 -- plugins/password/drivers/virtualmin.php | 76 - plugins/password/drivers/vpopmaild.php | 53 - plugins/password/drivers/ximss.php | 76 - plugins/password/drivers/xmail.php | 106 - plugins/password/helpers/chgdbmailusers.c | 48 - plugins/password/helpers/chgsaslpasswd.c | 29 - plugins/password/helpers/chgvirtualminpasswd.c | 28 - plugins/password/helpers/chpass-wrapper.py | 32 - plugins/password/helpers/passwd-expect | 267 -- plugins/password/localization/az_AZ.inc | 24 - plugins/password/localization/bg_BG.inc | 18 - plugins/password/localization/ca_ES.inc | 20 - plugins/password/localization/cs_CZ.inc | 30 - plugins/password/localization/da_DK.inc | 18 - plugins/password/localization/de_CH.inc | 19 - plugins/password/localization/de_DE.inc | 19 - plugins/password/localization/en_US.inc | 21 - plugins/password/localization/es_AR.inc | 21 - plugins/password/localization/es_ES.inc | 21 - plugins/password/localization/et_EE.inc | 17 - plugins/password/localization/fi_FI.inc | 22 - plugins/password/localization/fr_FR.inc | 18 - plugins/password/localization/gl_ES.inc | 21 - plugins/password/localization/hr_HR.inc | 21 - plugins/password/localization/hu_HU.inc | 17 - plugins/password/localization/it_IT.inc | 21 - plugins/password/localization/ja_JP.inc | 23 - plugins/password/localization/lt_LT.inc | 21 - plugins/password/localization/lv_LV.inc | 20 - plugins/password/localization/nl_NL.inc | 17 - plugins/password/localization/pl_PL.inc | 21 - plugins/password/localization/pt_BR.inc | 21 - plugins/password/localization/pt_PT.inc | 18 - plugins/password/localization/ru_RU.inc | 35 - plugins/password/localization/sk_SK.inc | 29 - plugins/password/localization/sl_SI.inc | 18 - plugins/password/localization/sv_SE.inc | 21 - plugins/password/localization/tr_TR.inc | 21 - plugins/password/localization/zh_TW.inc | 21 - plugins/password/package.xml | 335 --- plugins/password/password.js | 37 - plugins/password/password.php | 290 --- plugins/redundant_attachments/config.inc.php.dist | 13 - plugins/redundant_attachments/package.xml | 63 - .../redundant_attachments.php | 232 -- plugins/show_additional_headers/package.xml | 49 - .../show_additional_headers.php | 52 - plugins/squirrelmail_usercopy/config.inc.php.dist | 25 - .../squirrelmail_usercopy.php | 190 -- .../subscriptions_option/localization/cs_CZ.inc | 23 - .../subscriptions_option/localization/de_CH.inc | 6 - .../subscriptions_option/localization/de_DE.inc | 6 - .../subscriptions_option/localization/en_US.inc | 6 - .../subscriptions_option/localization/es_ES.inc | 6 - .../subscriptions_option/localization/et_EE.inc | 6 - .../subscriptions_option/localization/gl_ES.inc | 6 - .../subscriptions_option/localization/ja_JP.inc | 8 - .../subscriptions_option/localization/pl_PL.inc | 6 - .../subscriptions_option/localization/ru_RU.inc | 6 - .../subscriptions_option/localization/sv_SE.inc | 6 - .../subscriptions_option/localization/zh_TW.inc | 6 - plugins/subscriptions_option/package.xml | 69 - .../subscriptions_option/subscriptions_option.php | 95 - plugins/userinfo/localization/cs_CZ.inc | 27 - plugins/userinfo/localization/da_DK.inc | 9 - plugins/userinfo/localization/de_CH.inc | 9 - plugins/userinfo/localization/en_US.inc | 9 - plugins/userinfo/localization/es_ES.inc | 9 - plugins/userinfo/localization/et_EE.inc | 9 - plugins/userinfo/localization/fr_FR.inc | 9 - plugins/userinfo/localization/gl_ES.inc | 9 - plugins/userinfo/localization/ja_JP.inc | 22 - plugins/userinfo/localization/pl_PL.inc | 9 - plugins/userinfo/localization/pt_BR.inc | 22 - plugins/userinfo/localization/pt_PT.inc | 22 - plugins/userinfo/localization/ro_RO.inc | 9 - plugins/userinfo/localization/ru_RU.inc | 9 - plugins/userinfo/localization/sv_SE.inc | 9 - plugins/userinfo/localization/zh_TW.inc | 9 - plugins/userinfo/package.xml | 70 - plugins/userinfo/userinfo.js | 16 - plugins/userinfo/userinfo.php | 55 - plugins/vcard_attachments/localization/cs_CZ.inc | 21 - plugins/vcard_attachments/localization/de_CH.inc | 7 - plugins/vcard_attachments/localization/de_DE.inc | 7 - plugins/vcard_attachments/localization/en_US.inc | 7 - plugins/vcard_attachments/localization/es_ES.inc | 7 - plugins/vcard_attachments/localization/et_EE.inc | 7 - plugins/vcard_attachments/localization/gl_ES.inc | 7 - plugins/vcard_attachments/localization/it_IT.inc | 7 - plugins/vcard_attachments/localization/ja_JP.inc | 20 - plugins/vcard_attachments/localization/pl_PL.inc | 7 - plugins/vcard_attachments/localization/pt_BR.inc | 7 - plugins/vcard_attachments/localization/ru_RU.inc | 7 - plugins/vcard_attachments/localization/sv_SE.inc | 7 - plugins/vcard_attachments/localization/zh_TW.inc | 7 - plugins/vcard_attachments/package.xml | 121 - plugins/vcard_attachments/skins/default/style.css | 17 - plugins/vcard_attachments/skins/default/vcard.png | Bin 493 -> 0 bytes .../skins/default/vcard_add_contact.png | Bin 1361 -> 0 bytes plugins/vcard_attachments/skins/larry/style.css | 21 - plugins/vcard_attachments/skins/larry/vcard.png | Bin 493 -> 0 bytes .../skins/larry/vcard_add_contact.png | Bin 1859 -> 0 bytes plugins/vcard_attachments/vcard_attachments.php | 185 -- plugins/vcard_attachments/vcardattach.js | 23 - plugins/virtuser_file/package.xml | 47 - plugins/virtuser_file/virtuser_file.php | 107 - plugins/virtuser_query/package.xml | 47 - plugins/virtuser_query/virtuser_query.php | 117 - 473 files changed, 38769 deletions(-) delete mode 100644 plugins/acl/acl.js delete mode 100644 plugins/acl/acl.php delete mode 100644 plugins/acl/config.inc.php.dist delete mode 100644 plugins/acl/localization/de_DE.inc delete mode 100644 plugins/acl/localization/en_US.inc delete mode 100644 plugins/acl/localization/pl_PL.inc delete mode 100644 plugins/acl/package.xml delete mode 100644 plugins/acl/skins/default/acl.css delete mode 100644 plugins/acl/skins/default/images/enabled.png delete mode 100644 plugins/acl/skins/default/images/partial.png delete mode 100644 plugins/acl/skins/default/templates/table.html delete mode 100644 plugins/acl/skins/larry/acl.css delete mode 100644 plugins/acl/skins/larry/images/enabled.png delete mode 100644 plugins/acl/skins/larry/images/partial.png delete mode 100644 plugins/acl/skins/larry/templates/table.html delete mode 100644 plugins/additional_message_headers/additional_message_headers.php delete mode 100644 plugins/additional_message_headers/config.inc.php.dist delete mode 100644 plugins/additional_message_headers/package.xml delete mode 100644 plugins/archive/archive.js delete mode 100644 plugins/archive/archive.php delete mode 100644 plugins/archive/localization/cs_CZ.inc delete mode 100644 plugins/archive/localization/de_CH.inc delete mode 100644 plugins/archive/localization/de_DE.inc delete mode 100644 plugins/archive/localization/en_US.inc delete mode 100644 plugins/archive/localization/es_AR.inc delete mode 100644 plugins/archive/localization/es_ES.inc delete mode 100644 plugins/archive/localization/et_EE.inc delete mode 100644 plugins/archive/localization/fr_FR.inc delete mode 100644 plugins/archive/localization/gl_ES.inc delete mode 100644 plugins/archive/localization/ja_JP.inc delete mode 100644 plugins/archive/localization/nl_NL.inc delete mode 100644 plugins/archive/localization/pl_PL.inc delete mode 100644 plugins/archive/localization/pt_BR.inc delete mode 100644 plugins/archive/localization/ru_RU.inc delete mode 100644 plugins/archive/localization/sv_SE.inc delete mode 100644 plugins/archive/localization/zh_TW.inc delete mode 100644 plugins/archive/package.xml delete mode 100644 plugins/archive/skins/default/archive.css delete mode 100644 plugins/archive/skins/default/archive_act.png delete mode 100644 plugins/archive/skins/default/archive_pas.png delete mode 100644 plugins/archive/skins/default/foldericon.png delete mode 100644 plugins/autologon/autologon.php delete mode 100644 plugins/database_attachments/database_attachments.php delete mode 100644 plugins/database_attachments/package.xml delete mode 100644 plugins/debug_logger/debug_logger.php delete mode 100644 plugins/debug_logger/package.xml delete mode 100644 plugins/debug_logger/runlog/runlog.php delete mode 100644 plugins/emoticons/emoticons.php delete mode 100644 plugins/emoticons/package.xml delete mode 100644 plugins/enigma/README delete mode 100644 plugins/enigma/config.inc.php.dist delete mode 100644 plugins/enigma/enigma.js delete mode 100644 plugins/enigma/enigma.php delete mode 100644 plugins/enigma/home/.htaccess delete mode 100644 plugins/enigma/lib/Crypt/GPG.php delete mode 100644 plugins/enigma/lib/Crypt/GPG/DecryptStatusHandler.php delete mode 100644 plugins/enigma/lib/Crypt/GPG/Engine.php delete mode 100644 plugins/enigma/lib/Crypt/GPG/Exceptions.php delete mode 100644 plugins/enigma/lib/Crypt/GPG/Key.php delete mode 100644 plugins/enigma/lib/Crypt/GPG/Signature.php delete mode 100644 plugins/enigma/lib/Crypt/GPG/SubKey.php delete mode 100644 plugins/enigma/lib/Crypt/GPG/UserId.php delete mode 100644 plugins/enigma/lib/Crypt/GPG/VerifyStatusHandler.php delete mode 100644 plugins/enigma/lib/enigma_driver.php delete mode 100644 plugins/enigma/lib/enigma_driver_gnupg.php delete mode 100644 plugins/enigma/lib/enigma_engine.php delete mode 100644 plugins/enigma/lib/enigma_error.php delete mode 100644 plugins/enigma/lib/enigma_key.php delete mode 100644 plugins/enigma/lib/enigma_signature.php delete mode 100644 plugins/enigma/lib/enigma_subkey.php delete mode 100644 plugins/enigma/lib/enigma_ui.php delete mode 100644 plugins/enigma/lib/enigma_userid.php delete mode 100644 plugins/enigma/localization/en_US.inc delete mode 100644 plugins/enigma/localization/ja_JP.inc delete mode 100644 plugins/enigma/localization/ru_RU.inc delete mode 100644 plugins/enigma/skins/default/enigma.css delete mode 100644 plugins/enigma/skins/default/enigma.png delete mode 100644 plugins/enigma/skins/default/enigma_error.png delete mode 100644 plugins/enigma/skins/default/key.png delete mode 100644 plugins/enigma/skins/default/key_add.png delete mode 100644 plugins/enigma/skins/default/keys_toolbar.png delete mode 100644 plugins/enigma/skins/default/templates/keyimport.html delete mode 100644 plugins/enigma/skins/default/templates/keyinfo.html delete mode 100644 plugins/enigma/skins/default/templates/keys.html delete mode 100644 plugins/example_addressbook/example_addressbook.php delete mode 100644 plugins/example_addressbook/example_addressbook_backend.php delete mode 100644 plugins/example_addressbook/package.xml delete mode 100644 plugins/filesystem_attachments/filesystem_attachments.php delete mode 100644 plugins/filesystem_attachments/package.xml delete mode 100644 plugins/help/config.inc.php.dist delete mode 100644 plugins/help/content/about.html delete mode 100644 plugins/help/content/license.html delete mode 100644 plugins/help/help.php delete mode 100644 plugins/help/localization/cs_CZ.inc delete mode 100644 plugins/help/localization/da_DK.inc delete mode 100644 plugins/help/localization/de_DE.inc delete mode 100644 plugins/help/localization/en_GB.inc delete mode 100644 plugins/help/localization/en_US.inc delete mode 100644 plugins/help/localization/es_ES.inc delete mode 100644 plugins/help/localization/et_EE.inc delete mode 100644 plugins/help/localization/gl_ES.inc delete mode 100644 plugins/help/localization/hu_HU.inc delete mode 100644 plugins/help/localization/ja_JP.inc delete mode 100644 plugins/help/localization/pl_PL.inc delete mode 100644 plugins/help/localization/pt_BR.inc delete mode 100644 plugins/help/localization/ru_RU.inc delete mode 100644 plugins/help/localization/sv_SE.inc delete mode 100644 plugins/help/localization/zh_TW.inc delete mode 100644 plugins/help/package.xml delete mode 100644 plugins/help/skins/default/help.css delete mode 100644 plugins/help/skins/default/help.gif delete mode 100644 plugins/help/skins/default/templates/help.html delete mode 100644 plugins/help/skins/larry/help.css delete mode 100644 plugins/help/skins/larry/help.png delete mode 100644 plugins/help/skins/larry/templates/help.html delete mode 100644 plugins/http_authentication/http_authentication.php delete mode 100644 plugins/http_authentication/logout.html delete mode 100644 plugins/http_authentication/package.xml delete mode 100644 plugins/jqueryui/README delete mode 100644 plugins/jqueryui/config.inc.php.dist delete mode 100644 plugins/jqueryui/jqueryui.php delete mode 100644 plugins/jqueryui/js/i18n/jquery-ui-i18n.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-af.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-ar.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-az.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-bg.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-bs.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-ca.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-cs.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-da.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-de-CH.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-de.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-el.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-GB.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-eo.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-es.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-et.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-eu.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-fa.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-fi.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-fo.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-fr-CH.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-fr.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-gl.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-he.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-hr.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-hu.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-hy.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-id.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-is.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-it.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-ja.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-ko.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-kz.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-lt.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-lv.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-ms.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-nl-BE.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-nl.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-no.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-pl.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-pt-BR.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-pt.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-ro.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-ru.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-sk.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-sl.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-sq.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-sr-SR.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-sr.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-sv.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-ta.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-th.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-tr.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-uk.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-vi.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-CN.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-HK.js delete mode 100644 plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-TW.js delete mode 100755 plugins/jqueryui/js/jquery-ui-1.8.18.custom.min.js delete mode 100644 plugins/jqueryui/package.xml delete mode 100644 plugins/jqueryui/themes/default/images/buttongradient.png delete mode 100644 plugins/jqueryui/themes/default/images/listheader.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-bg_flat_90_cc3333_40x100.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-bg_highlight-hard_90_a3a3a3_1x100.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-bg_highlight-hard_90_e6e6e7_1x100.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-bg_highlight-hard_90_f4f4f4_1x100.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-icons_000000_256x240.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-icons_333333_256x240.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-icons_666666_256x240.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-icons_cc3333_256x240.png delete mode 100755 plugins/jqueryui/themes/default/images/ui-icons_dddddd_256x240.png delete mode 100755 plugins/jqueryui/themes/default/jquery-ui-1.8.18.custom.css delete mode 100644 plugins/jqueryui/themes/default/roundcube-custom.diff delete mode 100755 plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_55_b0ccd7_1x100.png delete mode 100755 plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_65_ffffff_1x100.png delete mode 100755 plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_75_eaeaea_1x100.png delete mode 100755 plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_75_f8f8f8_1x100.png delete mode 100755 plugins/jqueryui/themes/larry/images/ui-bg_highlight-soft_75_fafafa_1x100.png delete mode 100755 plugins/jqueryui/themes/larry/images/ui-bg_highlight-soft_90_e4e4e4_1x100.png delete mode 100644 plugins/jqueryui/themes/larry/images/ui-dialog-close.png delete mode 100644 plugins/jqueryui/themes/larry/images/ui-icons-datepicker.png delete mode 100755 plugins/jqueryui/themes/larry/images/ui-icons_004458_256x240.png delete mode 100755 plugins/jqueryui/themes/larry/images/ui-icons_d7211e_256x240.png delete mode 100755 plugins/jqueryui/themes/larry/images/ui-icons_ffffff_256x240.png delete mode 100755 plugins/jqueryui/themes/larry/jquery-ui-1.8.18.custom.css delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-icons_217bc0_256x240.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-icons_2e83ff_256x240.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-icons_469bdd_256x240.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-icons_6da8d5_256x240.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-icons_cd0a0a_256x240.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-icons_d8e7f3_256x240.png delete mode 100755 plugins/jqueryui/themes/redmond/images/ui-icons_f9bd01_256x240.png delete mode 100755 plugins/jqueryui/themes/redmond/jquery-ui-1.8.18.custom.css delete mode 100644 plugins/managesieve/Changelog delete mode 100644 plugins/managesieve/config.inc.php.dist delete mode 100644 plugins/managesieve/lib/Net/Sieve.php delete mode 100644 plugins/managesieve/lib/rcube_sieve.php delete mode 100644 plugins/managesieve/lib/rcube_sieve_script.php delete mode 100644 plugins/managesieve/localization/bg_BG.inc delete mode 100644 plugins/managesieve/localization/cs_CZ.inc delete mode 100644 plugins/managesieve/localization/de_CH.inc delete mode 100644 plugins/managesieve/localization/de_DE.inc delete mode 100644 plugins/managesieve/localization/el_GR.inc delete mode 100644 plugins/managesieve/localization/en_GB.inc delete mode 100644 plugins/managesieve/localization/en_US.inc delete mode 100644 plugins/managesieve/localization/es_AR.inc delete mode 100644 plugins/managesieve/localization/es_ES.inc delete mode 100644 plugins/managesieve/localization/et_EE.inc delete mode 100644 plugins/managesieve/localization/fi_FI.inc delete mode 100644 plugins/managesieve/localization/fr_FR.inc delete mode 100644 plugins/managesieve/localization/gl_ES.inc delete mode 100644 plugins/managesieve/localization/hr_HR.inc delete mode 100644 plugins/managesieve/localization/hu_HU.inc delete mode 100644 plugins/managesieve/localization/it_IT.inc delete mode 100644 plugins/managesieve/localization/ja_JP.inc delete mode 100644 plugins/managesieve/localization/lv_LV.inc delete mode 100644 plugins/managesieve/localization/nb_NO.inc delete mode 100644 plugins/managesieve/localization/nl_NL.inc delete mode 100644 plugins/managesieve/localization/pl_PL.inc delete mode 100644 plugins/managesieve/localization/pt_BR.inc delete mode 100644 plugins/managesieve/localization/pt_PT.inc delete mode 100644 plugins/managesieve/localization/ru_RU.inc delete mode 100644 plugins/managesieve/localization/sk_SK.inc delete mode 100644 plugins/managesieve/localization/sl_SI.inc delete mode 100644 plugins/managesieve/localization/sv_SE.inc delete mode 100644 plugins/managesieve/localization/uk_UA.inc delete mode 100644 plugins/managesieve/localization/zh_CN.inc delete mode 100644 plugins/managesieve/localization/zh_TW.inc delete mode 100644 plugins/managesieve/managesieve.js delete mode 100644 plugins/managesieve/managesieve.php delete mode 100644 plugins/managesieve/package.xml delete mode 100644 plugins/managesieve/skins/default/images/add.png delete mode 100644 plugins/managesieve/skins/default/images/del.png delete mode 100644 plugins/managesieve/skins/default/images/down_small.gif delete mode 100644 plugins/managesieve/skins/default/images/filter.png delete mode 100644 plugins/managesieve/skins/default/images/up_small.gif delete mode 100644 plugins/managesieve/skins/default/managesieve.css delete mode 100644 plugins/managesieve/skins/default/managesieve_mail.css delete mode 100644 plugins/managesieve/skins/default/templates/filteredit.html delete mode 100644 plugins/managesieve/skins/default/templates/managesieve.html delete mode 100644 plugins/managesieve/skins/default/templates/setedit.html delete mode 100644 plugins/managesieve/tests/Makefile delete mode 100644 plugins/managesieve/tests/parser.phpt delete mode 100644 plugins/managesieve/tests/parser_body.phpt delete mode 100644 plugins/managesieve/tests/parser_imapflags.phpt delete mode 100644 plugins/managesieve/tests/parser_include.phpt delete mode 100644 plugins/managesieve/tests/parser_kep14.phpt delete mode 100644 plugins/managesieve/tests/parser_prefix.phpt delete mode 100644 plugins/managesieve/tests/parser_relational.phpt delete mode 100644 plugins/managesieve/tests/parser_vacation.phpt delete mode 100644 plugins/managesieve/tests/parser_variables.phpt delete mode 100644 plugins/managesieve/tests/parset_subaddress.phpt delete mode 100644 plugins/managesieve/tests/tokenize.phpt delete mode 100644 plugins/markasjunk/localization/cs_CZ.inc delete mode 100644 plugins/markasjunk/localization/da_DK.inc delete mode 100644 plugins/markasjunk/localization/de_CH.inc delete mode 100644 plugins/markasjunk/localization/de_DE.inc delete mode 100644 plugins/markasjunk/localization/en_US.inc delete mode 100644 plugins/markasjunk/localization/es_AR.inc delete mode 100644 plugins/markasjunk/localization/es_ES.inc delete mode 100644 plugins/markasjunk/localization/et_EE.inc delete mode 100644 plugins/markasjunk/localization/gl_ES.inc delete mode 100644 plugins/markasjunk/localization/it_IT.inc delete mode 100644 plugins/markasjunk/localization/ja_JP.inc delete mode 100644 plugins/markasjunk/localization/pl_PL.inc delete mode 100644 plugins/markasjunk/localization/ru_RU.inc delete mode 100644 plugins/markasjunk/localization/sk_SK.inc delete mode 100644 plugins/markasjunk/localization/sv_SE.inc delete mode 100644 plugins/markasjunk/localization/zh_TW.inc delete mode 100644 plugins/markasjunk/markasjunk.js delete mode 100644 plugins/markasjunk/markasjunk.php delete mode 100644 plugins/markasjunk/package.xml delete mode 100644 plugins/markasjunk/skins/default/junk_act.png delete mode 100644 plugins/markasjunk/skins/default/junk_pas.png delete mode 100644 plugins/markasjunk/skins/default/markasjunk.css delete mode 100644 plugins/new_user_dialog/localization/bg_BG.inc delete mode 100644 plugins/new_user_dialog/localization/cs_CZ.inc delete mode 100644 plugins/new_user_dialog/localization/de_CH.inc delete mode 100644 plugins/new_user_dialog/localization/de_DE.inc delete mode 100644 plugins/new_user_dialog/localization/en_US.inc delete mode 100644 plugins/new_user_dialog/localization/es_ES.inc delete mode 100644 plugins/new_user_dialog/localization/et_EE.inc delete mode 100644 plugins/new_user_dialog/localization/gl_ES.inc delete mode 100644 plugins/new_user_dialog/localization/it_IT.inc delete mode 100644 plugins/new_user_dialog/localization/ja_JP.inc delete mode 100644 plugins/new_user_dialog/localization/nl_NL.inc delete mode 100644 plugins/new_user_dialog/localization/pl_PL.inc delete mode 100644 plugins/new_user_dialog/localization/pt_BR.inc delete mode 100644 plugins/new_user_dialog/localization/pt_PT.inc delete mode 100644 plugins/new_user_dialog/localization/ru_RU.inc delete mode 100644 plugins/new_user_dialog/localization/sk_SK.inc delete mode 100644 plugins/new_user_dialog/localization/sl_SI.inc delete mode 100644 plugins/new_user_dialog/localization/sv_SE.inc delete mode 100644 plugins/new_user_dialog/localization/zh_TW.inc delete mode 100644 plugins/new_user_dialog/new_user_dialog.php delete mode 100644 plugins/new_user_dialog/newuserdialog.css delete mode 100644 plugins/new_user_dialog/package.xml delete mode 100644 plugins/new_user_identity/new_user_identity.php delete mode 100644 plugins/new_user_identity/package.xml delete mode 100644 plugins/newmail_notifier/config.inc.php.dist delete mode 100644 plugins/newmail_notifier/favicon.ico delete mode 100644 plugins/newmail_notifier/localization/de_CH.inc delete mode 100644 plugins/newmail_notifier/localization/de_DE.inc delete mode 100644 plugins/newmail_notifier/localization/en_US.inc delete mode 100644 plugins/newmail_notifier/localization/ja_JP.inc delete mode 100644 plugins/newmail_notifier/localization/lv_LV.inc delete mode 100644 plugins/newmail_notifier/localization/pl_PL.inc delete mode 100644 plugins/newmail_notifier/localization/pt_BR.inc delete mode 100644 plugins/newmail_notifier/localization/ru_RU.inc delete mode 100644 plugins/newmail_notifier/localization/sv_SE.inc delete mode 100644 plugins/newmail_notifier/mail.png delete mode 100644 plugins/newmail_notifier/newmail_notifier.js delete mode 100644 plugins/newmail_notifier/newmail_notifier.php delete mode 100644 plugins/newmail_notifier/package.xml delete mode 100644 plugins/newmail_notifier/sound.wav delete mode 100644 plugins/password/README delete mode 100644 plugins/password/config.inc.php.dist delete mode 100644 plugins/password/drivers/chpasswd.php delete mode 100644 plugins/password/drivers/cpanel.php delete mode 100644 plugins/password/drivers/dbmail.php delete mode 100644 plugins/password/drivers/directadmin.php delete mode 100644 plugins/password/drivers/domainfactory.php delete mode 100644 plugins/password/drivers/expect.php delete mode 100644 plugins/password/drivers/hmail.php delete mode 100644 plugins/password/drivers/ldap.php delete mode 100644 plugins/password/drivers/ldap_simple.php delete mode 100644 plugins/password/drivers/pam.php delete mode 100644 plugins/password/drivers/poppassd.php delete mode 100644 plugins/password/drivers/pw_usermod.php delete mode 100644 plugins/password/drivers/sasl.php delete mode 100644 plugins/password/drivers/smb.php delete mode 100644 plugins/password/drivers/sql.php delete mode 100644 plugins/password/drivers/virtualmin.php delete mode 100644 plugins/password/drivers/vpopmaild.php delete mode 100644 plugins/password/drivers/ximss.php delete mode 100644 plugins/password/drivers/xmail.php delete mode 100644 plugins/password/helpers/chgdbmailusers.c delete mode 100644 plugins/password/helpers/chgsaslpasswd.c delete mode 100644 plugins/password/helpers/chgvirtualminpasswd.c delete mode 100644 plugins/password/helpers/chpass-wrapper.py delete mode 100644 plugins/password/helpers/passwd-expect delete mode 100644 plugins/password/localization/az_AZ.inc delete mode 100644 plugins/password/localization/bg_BG.inc delete mode 100644 plugins/password/localization/ca_ES.inc delete mode 100644 plugins/password/localization/cs_CZ.inc delete mode 100644 plugins/password/localization/da_DK.inc delete mode 100644 plugins/password/localization/de_CH.inc delete mode 100644 plugins/password/localization/de_DE.inc delete mode 100644 plugins/password/localization/en_US.inc delete mode 100644 plugins/password/localization/es_AR.inc delete mode 100644 plugins/password/localization/es_ES.inc delete mode 100644 plugins/password/localization/et_EE.inc delete mode 100644 plugins/password/localization/fi_FI.inc delete mode 100644 plugins/password/localization/fr_FR.inc delete mode 100644 plugins/password/localization/gl_ES.inc delete mode 100644 plugins/password/localization/hr_HR.inc delete mode 100644 plugins/password/localization/hu_HU.inc delete mode 100644 plugins/password/localization/it_IT.inc delete mode 100644 plugins/password/localization/ja_JP.inc delete mode 100644 plugins/password/localization/lt_LT.inc delete mode 100644 plugins/password/localization/lv_LV.inc delete mode 100644 plugins/password/localization/nl_NL.inc delete mode 100644 plugins/password/localization/pl_PL.inc delete mode 100644 plugins/password/localization/pt_BR.inc delete mode 100644 plugins/password/localization/pt_PT.inc delete mode 100644 plugins/password/localization/ru_RU.inc delete mode 100644 plugins/password/localization/sk_SK.inc delete mode 100644 plugins/password/localization/sl_SI.inc delete mode 100644 plugins/password/localization/sv_SE.inc delete mode 100644 plugins/password/localization/tr_TR.inc delete mode 100644 plugins/password/localization/zh_TW.inc delete mode 100644 plugins/password/package.xml delete mode 100644 plugins/password/password.js delete mode 100644 plugins/password/password.php delete mode 100644 plugins/redundant_attachments/config.inc.php.dist delete mode 100644 plugins/redundant_attachments/package.xml delete mode 100644 plugins/redundant_attachments/redundant_attachments.php delete mode 100644 plugins/show_additional_headers/package.xml delete mode 100644 plugins/show_additional_headers/show_additional_headers.php delete mode 100644 plugins/squirrelmail_usercopy/config.inc.php.dist delete mode 100644 plugins/squirrelmail_usercopy/squirrelmail_usercopy.php delete mode 100644 plugins/subscriptions_option/localization/cs_CZ.inc delete mode 100644 plugins/subscriptions_option/localization/de_CH.inc delete mode 100644 plugins/subscriptions_option/localization/de_DE.inc delete mode 100644 plugins/subscriptions_option/localization/en_US.inc delete mode 100644 plugins/subscriptions_option/localization/es_ES.inc delete mode 100644 plugins/subscriptions_option/localization/et_EE.inc delete mode 100644 plugins/subscriptions_option/localization/gl_ES.inc delete mode 100644 plugins/subscriptions_option/localization/ja_JP.inc delete mode 100644 plugins/subscriptions_option/localization/pl_PL.inc delete mode 100644 plugins/subscriptions_option/localization/ru_RU.inc delete mode 100644 plugins/subscriptions_option/localization/sv_SE.inc delete mode 100644 plugins/subscriptions_option/localization/zh_TW.inc delete mode 100644 plugins/subscriptions_option/package.xml delete mode 100644 plugins/subscriptions_option/subscriptions_option.php delete mode 100644 plugins/userinfo/localization/cs_CZ.inc delete mode 100644 plugins/userinfo/localization/da_DK.inc delete mode 100644 plugins/userinfo/localization/de_CH.inc delete mode 100644 plugins/userinfo/localization/en_US.inc delete mode 100644 plugins/userinfo/localization/es_ES.inc delete mode 100644 plugins/userinfo/localization/et_EE.inc delete mode 100755 plugins/userinfo/localization/fr_FR.inc delete mode 100644 plugins/userinfo/localization/gl_ES.inc delete mode 100644 plugins/userinfo/localization/ja_JP.inc delete mode 100644 plugins/userinfo/localization/pl_PL.inc delete mode 100644 plugins/userinfo/localization/pt_BR.inc delete mode 100644 plugins/userinfo/localization/pt_PT.inc delete mode 100755 plugins/userinfo/localization/ro_RO.inc delete mode 100644 plugins/userinfo/localization/ru_RU.inc delete mode 100644 plugins/userinfo/localization/sv_SE.inc delete mode 100644 plugins/userinfo/localization/zh_TW.inc delete mode 100644 plugins/userinfo/package.xml delete mode 100644 plugins/userinfo/userinfo.js delete mode 100644 plugins/userinfo/userinfo.php delete mode 100644 plugins/vcard_attachments/localization/cs_CZ.inc delete mode 100644 plugins/vcard_attachments/localization/de_CH.inc delete mode 100644 plugins/vcard_attachments/localization/de_DE.inc delete mode 100644 plugins/vcard_attachments/localization/en_US.inc delete mode 100644 plugins/vcard_attachments/localization/es_ES.inc delete mode 100644 plugins/vcard_attachments/localization/et_EE.inc delete mode 100644 plugins/vcard_attachments/localization/gl_ES.inc delete mode 100644 plugins/vcard_attachments/localization/it_IT.inc delete mode 100644 plugins/vcard_attachments/localization/ja_JP.inc delete mode 100644 plugins/vcard_attachments/localization/pl_PL.inc delete mode 100644 plugins/vcard_attachments/localization/pt_BR.inc delete mode 100644 plugins/vcard_attachments/localization/ru_RU.inc delete mode 100644 plugins/vcard_attachments/localization/sv_SE.inc delete mode 100644 plugins/vcard_attachments/localization/zh_TW.inc delete mode 100644 plugins/vcard_attachments/package.xml delete mode 100644 plugins/vcard_attachments/skins/default/style.css delete mode 100644 plugins/vcard_attachments/skins/default/vcard.png delete mode 100644 plugins/vcard_attachments/skins/default/vcard_add_contact.png delete mode 100644 plugins/vcard_attachments/skins/larry/style.css delete mode 100644 plugins/vcard_attachments/skins/larry/vcard.png delete mode 100644 plugins/vcard_attachments/skins/larry/vcard_add_contact.png delete mode 100644 plugins/vcard_attachments/vcard_attachments.php delete mode 100644 plugins/vcard_attachments/vcardattach.js delete mode 100644 plugins/virtuser_file/package.xml delete mode 100644 plugins/virtuser_file/virtuser_file.php delete mode 100644 plugins/virtuser_query/package.xml delete mode 100644 plugins/virtuser_query/virtuser_query.php (limited to 'plugins') diff --git a/plugins/acl/acl.js b/plugins/acl/acl.js deleted file mode 100644 index aa9e06d3d..000000000 --- a/plugins/acl/acl.js +++ /dev/null @@ -1,351 +0,0 @@ -/** - * 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) { - rcmail.init_address_input_events($('#acluser'), {action:'settings/plugin.acl-autocomplete'}); - // fix inserted value - rcmail.addEventListener('autocomplete_insert', function(e) { - if (e.field.id != 'acluser') - return; - - var value = e.insert; - // get UID from the entry value - if (value.match(/\s*\(([^)]+)\)[, ]*$/)) - value = RegExp.$1; - e.field.value = value; - }); - } - } - - rcmail.enable_command('acl-create', 'acl-save', 'acl-cancel', 'acl-mode-switch', true); - rcmail.enable_command('acl-delete', 'acl-edit', false); - }); -} - -// 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_request('settings/plugin.acl', '_act=delete&_user='+urlencode(users.join(',')) - + '&_mbox='+urlencode(this.env.mailbox), - this.set_busy(true, 'acl.deleting')); - } -} - -// Save ACL data -rcube_webmail.prototype.acl_save = function() -{ - var user = $('#acluser').val(), rights = '', type; - - $(':checkbox', this.env.acl_advanced ? $('#advancedrights') : sim_ul = $('#simplerights')).map(function() { - if (this.checked) - rights += this.value; - }); - - if (type = $('input:checked[name=usertype]').val()) { - if (type != 'user') - user = type; - } - - if (!user) { - alert(this.get_label('acl.nouser')); - return; - } - if (!rights) { - alert(this.get_label('acl.norights')); - return; - } - - this.http_request('settings/plugin.acl', '_act=save' - + '&_user='+urlencode(user) - + '&_acl=' +rights - + '&_mbox='+urlencode(this.env.mailbox) - + (this.acl_id ? '&_old='+this.acl_id : ''), - this.set_busy(true, 'acl.saving')); -} - -// Cancel/Hide form -rcube_webmail.prototype.acl_cancel = function() -{ - this.ksearch_blur(); - this.acl_form.hide(); -} - -// 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_form.hide(); -} - -// 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() -{ - this.acl_list = new rcube_list_widget(this.gui_objects.acltable, - {multiselect:true, draggable:false, keyboard:true, toggleselect:true}); - this.acl_list.addEventListener('select', function(o) { rcmail.acl_list_select(o); }); - this.acl_list.addEventListener('dblclick', function(o) { rcmail.acl_list_dblclick(o); }); - this.acl_list.addEventListener('keypress', function(o) { rcmail.acl_list_keypress(o); }); - this.acl_list.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 - $('td', row).map(function() { - var r, cl = this.className.replace(/^acl/, ''); - - if (items && items[cl]) - cl = items[cl]; - - if (cl == 'user') - $(this).text(o.username); - else - $(this).addClass(rcmail.acl_class(o.acl, cl)).text(''); - }); - - 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= mw) - this.acl_form.css({left: parseInt((bw - mw)/2)+'px'}); - - // display it - this.acl_form.show(); - if (type == 'user') - name_input.focus(); - - // unfocus the list, make backspace key in name input field working - this.acl_list.blur(); -} - -// 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/plugins/acl/acl.php b/plugins/acl/acl.php deleted file mode 100644 index ab981ab89..000000000 --- a/plugins/acl/acl.php +++ /dev/null @@ -1,715 +0,0 @@ - - * - * - * 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 version 2 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -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(get_input_value('_act', RCUBE_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 = get_input_value('_search', RCUBE_INPUT_GPC, true); - $sid = get_input_value('_id', RCUBE_INPUT_GPC); - $users = 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) { - if ($record['name']) - $user = $record['name'] . ' (' . $user . ')'; - - $users[] = $user; - } - } - } - - sort($users, SORT_LOCALE_STRING); - - $this->rc->output->command('ksearch_query_results', $users, $search, $sid); - $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) - { - // Edited folder name (empty in create-folder mode) - $mbox_imap = $args['options']['name']; - if (!strlen($mbox_imap)) { - return $args; - } -/* - // Do nothing on protected folders (?) - if ($args['options']['protected']) { - return $args; - } -*/ - // Namespace root - if ($args['options']['is_root']) { - return $args; - } - - // Get MYRIGHTS - if (!($myrights = $args['options']['rights'])) { - return $args; - } - - // Do nothing if no ACL support - if (!$this->rc->storage->get_capability('ACL')) { - return $args; - } - - // Load localization and include scripts - $this->load_config(); - $this->add_texts('localization/', array('deleteconfirm', 'norights', - 'nouser', 'deleting', 'saving')); - $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' => rcube_label('info'), - 'content' => array()); - - // Display folder rights to 'Info' fieldset - $args['form']['props']['fieldsets']['info']['content']['myrights'] = array( - 'label' => 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' => 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 $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' => 'iduser'), $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'), $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); - } - - $i = 1; - $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 = 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', 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(get_input_value('_mbox', RCUBE_INPUT_GPC, true)); // UTF7-IMAP - $user = trim(get_input_value('_user', RCUBE_INPUT_GPC)); - $acl = trim(get_input_value('_acl', RCUBE_INPUT_GPC)); - $oldid = trim(get_input_value('_old', RCUBE_INPUT_GPC)); - - $acl = array_intersect(str_split($acl), $this->rights_supported()); - $users = $oldid ? array($user) : explode(',', $user); - - foreach ($users as $user) { - $user = trim($user); - - if (!empty($this->specials) && in_array($user, $this->specials)) { - $username = $this->gettext($user); - } - else { - if (!strpos($user, '@') && ($realm = $this->get_realm())) { - $user .= '@' . rcube_idn_to_ascii(preg_replace('/^@/', '', $realm)); - } - $username = $user; - } - - if (!$acl || !$user || !strlen($mbox)) { - continue; - } - - if ($user != $_SESSION['username'] && $username != $_SESSION['username']) { - if ($this->rc->storage->set_acl($mbox, $user, $acl)) { - $ret = array('id' => 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(get_input_value('_mbox', RCUBE_INPUT_GPC, true)); //UTF7-IMAP - $user = trim(get_input_value('_user', RCUBE_INPUT_GPC)); - - $user = explode(',', $user); - - foreach ($user as $u) { - $u = trim($u); - if ($this->rc->storage->delete_acl($mbox, $u)) { - $this->rc->output->command('acl_remove_row', 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(get_input_value('_mbox', RCUBE_INPUT_GPC, true)); // UTF7-IMAP - $advanced = trim(get_input_value('_mode', RCUBE_INPUT_GPC)); - $advanced = $advanced == 'advanced' ? true : false; - - // Save state in user preferences - $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