From 44794778d1e148b988fe57a75b3ef203883fa05f Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Tue, 22 Dec 2009 19:02:12 -0700 Subject: [PATCH] Import horde from CVS HEAD --- horde/COPYING | 437 + horde/README | 112 + horde/admin/alarms.php | 138 + horde/admin/cmdshell.php | 56 + horde/admin/datatree.php | 74 + horde/admin/groups.php | 247 + horde/admin/index.html | 0 horde/admin/locale/en_US/help.xml | 38 + horde/admin/locale/eu_ES/help.xml | 16 + horde/admin/locale/fi_FI/help.xml | 38 + horde/admin/locale/hu_HU/help.xml | 36 + horde/admin/perms/addchild.php | 66 + horde/admin/perms/delete.php | 63 + horde/admin/perms/edit.php | 114 + horde/admin/perms/index.php | 28 + horde/admin/phpshell.php | 88 + horde/admin/sessions.php | 79 + horde/admin/setup/config.php | 102 + horde/admin/setup/diff.php | 87 + horde/admin/setup/index.php | 255 + horde/admin/setup/scripts.php | 102 + horde/admin/signup_confirm.php | 84 + horde/admin/sqlshell.php | 142 + horde/admin/user.php | 274 + horde/config/.htaccess | 1 + horde/config/conf.php.dist | 73 + horde/config/conf.xml | 2033 ++ horde/config/hooks.php.dist | 718 + horde/config/mime_drivers.php.dist | 618 + horde/config/motd.php.dist | 6 + horde/config/prefs.php.dist | 575 + horde/config/registry.d/README | 9 + horde/config/registry.php.dist | 512 + horde/config/spelling.php.dist | 13 + horde/docs/CHANGES | 2423 ++ horde/docs/CODING_STANDARDS | 861 + horde/docs/CODING_STANDARDS.H3 | 855 + horde/docs/CONTRIBUTING | 32 + horde/docs/CREDITS | 141 + horde/docs/HACKING | 204 + horde/docs/INSTALL | 821 + horde/docs/LICENSES | 8 + horde/docs/PERFORMANCE | 212 + horde/docs/RELEASE | 114 + horde/docs/RELEASE_NOTES | 51 + horde/docs/SECURITY | 293 + horde/docs/TODO | 27 + horde/docs/TRANSLATIONS | 174 + horde/docs/UPGRADING | 260 + horde/docs/lighttpd-horde.conf | 23 + horde/index.php | 96 + horde/js/Growler.js | 245 + horde/js/KeyNavList.js | 275 + horde/js/QuickFinder.js | 99 + horde/js/SpellChecker.js | 274 + horde/js/accesskeys.js | 49 + horde/js/autocomplete.js | 320 + horde/js/builder.js | 136 + horde/js/calendar.js | 284 + horde/js/colorpicker.js | 396 + horde/js/controls.js | 965 + horde/js/dhtmlHistory.js | 499 + horde/js/dragdrop.js | 974 + horde/js/dragdrop2.js | 725 + horde/js/effects.js | 1123 + horde/js/form_assign.js | 83 + horde/js/form_helpers.js | 202 + horde/js/form_sections.js | 63 + horde/js/glow/1.5.1/core/core.debug.js | 10930 ++++++++ horde/js/glow/1.5.1/core/core.js | 20 + .../1.5.1/widgets/images/carousel/darkdots.png | Bin 0 -> 999 bytes .../1.5.1/widgets/images/carousel/darkdotsv.png | Bin 0 -> 988 bytes .../glow/1.5.1/widgets/images/carousel/darkh.png | Bin 0 -> 1371 bytes .../glow/1.5.1/widgets/images/carousel/darkv.png | Bin 0 -> 1257 bytes .../1.5.1/widgets/images/carousel/lightdots.png | Bin 0 -> 926 bytes .../1.5.1/widgets/images/carousel/lightdotsv.png | Bin 0 -> 812 bytes .../glow/1.5.1/widgets/images/carousel/lighth.png | Bin 0 -> 895 bytes .../glow/1.5.1/widgets/images/carousel/lightv.png | Bin 0 -> 773 bytes .../js/glow/1.5.1/widgets/images/darkpanel/ab.png | Bin 0 -> 772 bytes .../js/glow/1.5.1/widgets/images/darkpanel/al.png | Bin 0 -> 822 bytes .../js/glow/1.5.1/widgets/images/darkpanel/ar.png | Bin 0 -> 823 bytes .../js/glow/1.5.1/widgets/images/darkpanel/at.png | Bin 0 -> 707 bytes .../js/glow/1.5.1/widgets/images/darkpanel/bg.gif | Bin 0 -> 273 bytes .../js/glow/1.5.1/widgets/images/darkpanel/cbl.png | Bin 0 -> 214 bytes .../js/glow/1.5.1/widgets/images/darkpanel/cbr.png | Bin 0 -> 199 bytes .../glow/1.5.1/widgets/images/darkpanel/close.png | Bin 0 -> 186 bytes .../js/glow/1.5.1/widgets/images/darkpanel/ctl.png | Bin 0 -> 193 bytes .../js/glow/1.5.1/widgets/images/darkpanel/ctr.png | Bin 0 -> 207 bytes .../1.5.1/widgets/images/darkpanel/transbg.png | Bin 0 -> 80 bytes .../widgets/images/editor/button-blockquote.png | Bin 0 -> 3414 bytes .../1.5.1/widgets/images/editor/button-bold.png | Bin 0 -> 3210 bytes .../1.5.1/widgets/images/editor/button-italics.png | Bin 0 -> 2459 bytes .../1.5.1/widgets/images/editor/button-strike.png | Bin 0 -> 2826 bytes .../images/editor/dark-button-blockquote.png | Bin 0 -> 567 bytes .../widgets/images/editor/dark-button-bold.png | Bin 0 -> 571 bytes .../widgets/images/editor/dark-button-italics.png | Bin 0 -> 530 bytes .../widgets/images/editor/dark-button-strike.png | Bin 0 -> 968 bytes .../images/editor/light-button-blockquote.png | Bin 0 -> 3414 bytes .../widgets/images/editor/light-button-bold.png | Bin 0 -> 3210 bytes .../widgets/images/editor/light-button-italics.png | Bin 0 -> 2459 bytes .../widgets/images/editor/light-button-strike.png | Bin 0 -> 2826 bytes .../js/glow/1.5.1/widgets/images/lightpanel/ab.png | Bin 0 -> 798 bytes .../js/glow/1.5.1/widgets/images/lightpanel/al.png | Bin 0 -> 788 bytes .../js/glow/1.5.1/widgets/images/lightpanel/ar.png | Bin 0 -> 751 bytes .../js/glow/1.5.1/widgets/images/lightpanel/at.png | Bin 0 -> 705 bytes .../js/glow/1.5.1/widgets/images/lightpanel/bg.gif | Bin 0 -> 169 bytes .../glow/1.5.1/widgets/images/lightpanel/cbl.png | Bin 0 -> 237 bytes .../glow/1.5.1/widgets/images/lightpanel/cbr.png | Bin 0 -> 225 bytes .../glow/1.5.1/widgets/images/lightpanel/close.png | Bin 0 -> 186 bytes .../glow/1.5.1/widgets/images/lightpanel/ctl.png | Bin 0 -> 214 bytes .../glow/1.5.1/widgets/images/lightpanel/ctr.png | Bin 0 -> 227 bytes .../1.5.1/widgets/images/lightpanel/transbg.png | Bin 0 -> 79 bytes .../js/glow/1.5.1/widgets/images/slider/darkh.png | Bin 0 -> 1371 bytes .../js/glow/1.5.1/widgets/images/slider/darkv.png | Bin 0 -> 1301 bytes .../js/glow/1.5.1/widgets/images/slider/lighth.png | Bin 0 -> 1148 bytes .../js/glow/1.5.1/widgets/images/slider/lightv.png | Bin 0 -> 1112 bytes horde/js/glow/1.5.1/widgets/images/t.gif | Bin 0 -> 43 bytes .../glow/1.5.1/widgets/images/timetable/darkh.png | Bin 0 -> 474 bytes .../glow/1.5.1/widgets/images/timetable/darkv.png | Bin 0 -> 434 bytes .../glow/1.5.1/widgets/images/timetable/lighth.png | Bin 0 -> 486 bytes .../glow/1.5.1/widgets/images/timetable/lightv.png | Bin 0 -> 446 bytes horde/js/glow/1.5.1/widgets/widgets.css | 16 + horde/js/glow/1.5.1/widgets/widgets.debug.css | 1780 ++ horde/js/glow/1.5.1/widgets/widgets.debug.js | 9342 +++++++ horde/js/glow/1.5.1/widgets/widgets.js | 19 + horde/js/glow/LICENCE.txt | 177 + horde/js/glow/map.debug.js | 164 + horde/js/glow/map.js | 16 + horde/js/horde.js | 139 + horde/js/hordemap/OpenLayers.js | 25811 +++++++++++++++++++ horde/js/hordemap/ca-ES.js | 124 + horde/js/hordemap/cloudmade.js | 32 + horde/js/hordemap/cs-CZ.js | 120 + horde/js/hordemap/da-DK.js | 123 + horde/js/hordemap/de-DE.js | 69 + horde/js/hordemap/en-CA.js | 25 + horde/js/hordemap/es-ES.js | 125 + horde/js/hordemap/fr-FR.js | 121 + horde/js/hordemap/google.js | 677 + horde/js/hordemap/horde.js | 227 + horde/js/hordemap/img/blank.gif | Bin 0 -> 42 bytes horde/js/hordemap/img/cloud-popup-relative.png | Bin 0 -> 2564 bytes horde/js/hordemap/img/drag-rectangle-off.png | Bin 0 -> 1202 bytes horde/js/hordemap/img/drag-rectangle-on.png | Bin 0 -> 1218 bytes horde/js/hordemap/img/east-mini.png | Bin 0 -> 451 bytes horde/js/hordemap/img/layer-switcher-maximize.png | Bin 0 -> 451 bytes horde/js/hordemap/img/layer-switcher-minimize.png | Bin 0 -> 249 bytes horde/js/hordemap/img/measuring-stick-off.png | Bin 0 -> 3343 bytes horde/js/hordemap/img/measuring-stick-on.png | Bin 0 -> 3816 bytes horde/js/hordemap/img/north-mini.png | Bin 0 -> 484 bytes horde/js/hordemap/img/panning-hand-off.png | Bin 0 -> 3875 bytes horde/js/hordemap/img/panning-hand-on.png | Bin 0 -> 3977 bytes horde/js/hordemap/img/slider.png | Bin 0 -> 285 bytes horde/js/hordemap/img/south-mini.png | Bin 0 -> 481 bytes horde/js/hordemap/img/west-mini.png | Bin 0 -> 453 bytes horde/js/hordemap/img/zoom-minus-mini.png | Bin 0 -> 359 bytes horde/js/hordemap/img/zoom-plus-mini.png | Bin 0 -> 489 bytes horde/js/hordemap/img/zoom-world-mini.png | Bin 0 -> 1072 bytes horde/js/hordemap/img/zoombar.png | Bin 0 -> 463 bytes horde/js/hordemap/it-IT.js | 120 + horde/js/hordemap/map.js | 136 + horde/js/hordemap/nb-NO.js | 120 + horde/js/hordemap/nl-NL.js | 68 + horde/js/hordemap/pt-BR.js | 122 + horde/js/hordemap/public.js | 37 + horde/js/hordemap/sapo.js | 248 + horde/js/hordemap/sv-SE.js | 121 + horde/js/hordemap/theme/default/framedCloud.css | 0 horde/js/hordemap/theme/default/google.css | 9 + horde/js/hordemap/theme/default/ie6-style.css | 7 + .../hordemap/theme/default/img/add_point_off.png | Bin 0 -> 1616 bytes .../js/hordemap/theme/default/img/add_point_on.png | Bin 0 -> 1464 bytes horde/js/hordemap/theme/default/img/blank.gif | Bin 0 -> 42 bytes horde/js/hordemap/theme/default/img/close.gif | Bin 0 -> 1078 bytes .../theme/default/img/drag-rectangle-off.png | Bin 0 -> 1202 bytes .../theme/default/img/drag-rectangle-on.png | Bin 0 -> 1218 bytes .../hordemap/theme/default/img/draw_line_off.png | Bin 0 -> 1567 bytes .../js/hordemap/theme/default/img/draw_line_on.png | Bin 0 -> 1399 bytes .../hordemap/theme/default/img/draw_point_off.png | Bin 0 -> 1612 bytes .../hordemap/theme/default/img/draw_point_on.png | Bin 0 -> 1460 bytes .../theme/default/img/draw_polygon_off.png | Bin 0 -> 1546 bytes .../hordemap/theme/default/img/draw_polygon_on.png | Bin 0 -> 1407 bytes .../theme/default/img/editing_tool_bar.png | Bin 0 -> 3901 bytes .../theme/default/img/move_feature_off.png | Bin 0 -> 1543 bytes .../hordemap/theme/default/img/move_feature_on.png | Bin 0 -> 1379 bytes .../theme/default/img/navigation_history.png | Bin 0 -> 7021 bytes .../theme/default/img/overview_replacement.gif | Bin 0 -> 79 bytes .../theme/default/img/pan-panel-NOALPHA.png | Bin 0 -> 566 bytes horde/js/hordemap/theme/default/img/pan-panel.png | Bin 0 -> 1287 bytes horde/js/hordemap/theme/default/img/pan_off.png | Bin 0 -> 1696 bytes horde/js/hordemap/theme/default/img/pan_on.png | Bin 0 -> 1568 bytes .../theme/default/img/panning-hand-off.png | Bin 0 -> 3875 bytes .../hordemap/theme/default/img/panning-hand-on.png | Bin 0 -> 3977 bytes .../theme/default/img/remove_point_off.png | Bin 0 -> 1612 bytes .../hordemap/theme/default/img/remove_point_on.png | Bin 0 -> 1464 bytes horde/js/hordemap/theme/default/img/ruler.png | Bin 0 -> 1211 bytes .../theme/default/img/save_features_off.png | Bin 0 -> 357 bytes .../theme/default/img/save_features_on.png | Bin 0 -> 364 bytes .../hordemap/theme/default/img/view_next_off.png | Bin 0 -> 1644 bytes .../js/hordemap/theme/default/img/view_next_on.png | Bin 0 -> 1686 bytes .../theme/default/img/view_previous_off.png | Bin 0 -> 1553 bytes .../theme/default/img/view_previous_on.png | Bin 0 -> 1592 bytes .../theme/default/img/zoom-panel-NOALPHA.png | Bin 0 -> 1173 bytes horde/js/hordemap/theme/default/img/zoom-panel.png | Bin 0 -> 1624 bytes horde/js/hordemap/theme/default/style.css | 343 + horde/js/hordemap/ve.js | 456 + horde/js/hordemap/yahoo.js | 517 + horde/js/hordemap/zh-CN.js | 120 + horde/js/hordemap/zh-TW.js | 121 + horde/js/hordetree.js | 571 + horde/js/ieEscGuard.js | 21 + horde/js/image.js | 61 + horde/js/liquidmetal.js | 102 + horde/js/login.js | 97 + horde/js/popup.js | 61 + horde/js/prettyautocomplete.js | 207 + horde/js/prototype.js | 4874 ++++ horde/js/redbox.js | 128 + horde/js/scriptaculous.js | 68 + horde/js/select_autocompleter.js | 262 + horde/js/sidebar.js | 65 + horde/js/slider.js | 275 + horde/js/sorter.js | 111 + horde/js/stripe.js | 39 + horde/js/tables.js | 262 + horde/js/tooltips.js | 141 + horde/lib/.htaccess | 1 + horde/lib/Api.php | 871 + horde/lib/Application.php | 212 + horde/lib/Block/account.php | 862 + horde/lib/Block/cloud.php | 83 + horde/lib/Block/fb_stream.php | 304 + horde/lib/Block/feed.php | 90 + horde/lib/Block/feed/reader.php | 43 + horde/lib/Block/fortune.php | 135 + horde/lib/Block/google.php | 66 + horde/lib/Block/iframe.php | 68 + horde/lib/Block/metar.php | 474 + horde/lib/Block/moon.php | 222 + horde/lib/Block/sunrise.php | 171 + horde/lib/Block/time.php | 63 + horde/lib/Block/twitter.php | 143 + horde/lib/Block/twitter_timeline.php | 323 + horde/lib/Block/vatid.php | 116 + horde/lib/Block/weatherdotcom.php | 440 + horde/lib/Block/weatherdotcom_strings.php | 104 + .../LoginTasks/SystemTask/GarbageCollection.php | 79 + horde/lib/LoginTasks/Task/TosAgreement.php | 67 + horde/lib/Test.php | 691 + horde/lib/base.php | 67 + horde/lib/core.local.php | 2 + horde/lib/core.php | 69 + horde/lib/tests/webroot.phpt | 90 + horde/locale/.htaccess | 1 + horde/locale/ar_SY/LC_MESSAGES/horde.mo | Bin 0 -> 22004 bytes horde/locale/bg_BG/LC_MESSAGES/horde.mo | Bin 0 -> 47973 bytes horde/locale/bg_BG/help.xml | 39 + horde/locale/bs_BA/LC_MESSAGES/horde.mo | Bin 0 -> 24892 bytes horde/locale/ca_ES/LC_MESSAGES/horde.mo | Bin 0 -> 135290 bytes horde/locale/ca_ES/help.xml | 30 + horde/locale/cs_CZ/LC_MESSAGES/horde.mo | Bin 0 -> 134507 bytes horde/locale/cs_CZ/help.xml | 39 + horde/locale/da_DK/LC_MESSAGES/horde.mo | Bin 0 -> 121215 bytes horde/locale/da_DK/help.xml | 39 + horde/locale/de_DE/LC_MESSAGES/horde.mo | Bin 0 -> 156438 bytes horde/locale/de_DE/help.xml | 49 + horde/locale/el_GR/LC_MESSAGES/horde.mo | Bin 0 -> 122825 bytes horde/locale/el_GR/help.xml | 39 + horde/locale/en_US/help.xml | 30 + horde/locale/es_ES/LC_MESSAGES/horde.mo | Bin 0 -> 148853 bytes horde/locale/es_ES/help.xml | 44 + horde/locale/et_EE/LC_MESSAGES/horde.mo | Bin 0 -> 133706 bytes horde/locale/et_EE/help.xml | 39 + horde/locale/eu_ES/LC_MESSAGES/horde.mo | Bin 0 -> 159490 bytes horde/locale/eu_ES/help.xml | 20 + horde/locale/fa_IR/LC_MESSAGES/horde.mo | Bin 0 -> 136416 bytes horde/locale/fa_IR/help.xml | 20 + horde/locale/fi_FI/LC_MESSAGES/horde.mo | Bin 0 -> 145127 bytes horde/locale/fi_FI/help.xml | 45 + horde/locale/fr_FR/LC_MESSAGES/horde.mo | Bin 0 -> 147596 bytes horde/locale/fr_FR/help.xml | 31 + horde/locale/gl_ES/LC_MESSAGES/horde.mo | Bin 0 -> 17168 bytes horde/locale/he_IL/LC_MESSAGES/horde.mo | Bin 0 -> 7900 bytes horde/locale/hr_HR/LC_MESSAGES/horde.mo | Bin 0 -> 157135 bytes horde/locale/hr_HR/help.xml | 30 + horde/locale/hu_HU/LC_MESSAGES/horde.mo | Bin 0 -> 147325 bytes horde/locale/hu_HU/help.xml | 39 + horde/locale/id_ID/LC_MESSAGES/horde.mo | Bin 0 -> 63185 bytes horde/locale/is_IS/LC_MESSAGES/horde.mo | Bin 0 -> 6121 bytes horde/locale/it_IT/LC_MESSAGES/horde.mo | Bin 0 -> 146200 bytes horde/locale/it_IT/help.xml | 45 + horde/locale/ja_JP/LC_MESSAGES/horde.mo | Bin 0 -> 133572 bytes horde/locale/ja_JP/help.xml | 39 + horde/locale/km_KH/LC_MESSAGES/horde.mo | Bin 0 -> 37867 bytes horde/locale/ko_KR/LC_MESSAGES/horde.mo | Bin 0 -> 22537 bytes horde/locale/ko_KR/help.xml | 39 + horde/locale/lt_LT/LC_MESSAGES/horde.mo | Bin 0 -> 138637 bytes horde/locale/lt_LT/help.xml | 39 + horde/locale/lv_LV/LC_MESSAGES/horde.mo | Bin 0 -> 14455 bytes horde/locale/mk_MK/LC_MESSAGES/horde.mo | Bin 0 -> 14969 bytes horde/locale/nb_NO/LC_MESSAGES/horde.mo | Bin 0 -> 85784 bytes horde/locale/nb_NO/help.xml | 39 + horde/locale/nl_NL/LC_MESSAGES/horde.mo | Bin 0 -> 141581 bytes horde/locale/nl_NL/help.xml | 39 + horde/locale/nn_NO/LC_MESSAGES/horde.mo | Bin 0 -> 23141 bytes horde/locale/nn_NO/help.xml | 39 + horde/locale/pl_PL/LC_MESSAGES/horde.mo | Bin 0 -> 63817 bytes horde/locale/pl_PL/help.xml | 39 + horde/locale/pt_BR/LC_MESSAGES/horde.mo | Bin 0 -> 147680 bytes horde/locale/pt_BR/help.xml | 39 + horde/locale/pt_PT/LC_MESSAGES/horde.mo | Bin 0 -> 141512 bytes horde/locale/pt_PT/help.xml | 40 + horde/locale/ro_RO/LC_MESSAGES/horde.mo | Bin 0 -> 14906 bytes horde/locale/ru_RU/LC_MESSAGES/horde.mo | Bin 0 -> 18836 bytes horde/locale/ru_RU/help.xml | 39 + horde/locale/sk_SK/LC_MESSAGES/horde.mo | Bin 0 -> 144142 bytes horde/locale/sk_SK/help.xml | 39 + horde/locale/sl_SI/LC_MESSAGES/horde.mo | Bin 0 -> 126425 bytes horde/locale/sl_SI/help.xml | 39 + horde/locale/sv_SE/LC_MESSAGES/horde.mo | Bin 0 -> 85170 bytes horde/locale/sv_SE/help.xml | 39 + horde/locale/tr_TR/LC_MESSAGES/horde.mo | Bin 0 -> 140414 bytes horde/locale/tr_TR/help.xml | 84 + horde/locale/uk_UA/LC_MESSAGES/horde.mo | Bin 0 -> 119414 bytes horde/locale/uk_UA/help.xml | 39 + horde/locale/zh_CN/LC_MESSAGES/horde.mo | Bin 0 -> 110260 bytes horde/locale/zh_CN/help.xml | 39 + horde/locale/zh_TW/LC_MESSAGES/horde.mo | Bin 0 -> 127242 bytes horde/locale/zh_TW/help.xml | 59 + horde/login.php | 319 + horde/po/.htaccess | 1 + horde/po/README | 494 + horde/po/ar_SY.po | 1390 + horde/po/bg_BG.po | 1818 ++ horde/po/bs_BA.po | 8998 +++++++ horde/po/ca_ES.po | 8901 +++++++ horde/po/cs_CZ.po | 8721 +++++++ horde/po/da_DK.po | 8629 +++++++ horde/po/de_DE.po | 9776 +++++++ horde/po/el_GR.po | 6616 +++++ horde/po/es_ES.po | 9109 +++++++ horde/po/et_EE.po | 8830 +++++++ horde/po/eu_ES.po | 9835 +++++++ horde/po/fa_IR.po | 9410 +++++++ horde/po/fi_FI.po | 9252 +++++++ horde/po/fr_FR.po | 9148 +++++++ horde/po/gl_ES.po | 679 + horde/po/he_IL.po | 8668 +++++++ horde/po/horde.pot | 9441 +++++++ horde/po/hr_HR.po | 9940 +++++++ horde/po/hu_HU.po | 9038 +++++++ horde/po/id_ID.po | 3994 +++ horde/po/is_IS.po | 9123 +++++++ horde/po/it_IT.po | 9127 +++++++ horde/po/ja_JP.po | 8817 +++++++ horde/po/km_KH.po | 8656 +++++++ horde/po/ko_KR.po | 9050 +++++++ horde/po/lt_LT.po | 8979 +++++++ horde/po/lv_LV.po | 569 + horde/po/mk_MK.po | 566 + horde/po/nb_NO.po | 5746 +++++ horde/po/nl_NL.po | 9059 +++++++ horde/po/nn_NO.po | 883 + horde/po/pl_PL.po | 8367 ++++++ horde/po/pt_BR.po | 9178 +++++++ horde/po/pt_PT.po | 8786 +++++++ horde/po/ro_RO.po | 575 + horde/po/ru_RU.po | 10626 ++++++++ horde/po/sk_SK.po | 9085 +++++++ horde/po/sl_SI.po | 8370 ++++++ horde/po/sv_SE.po | 8637 +++++++ horde/po/tr_TR.po | 9057 +++++++ horde/po/translation.php | 1594 ++ horde/po/uk_UA.po | 9269 +++++++ horde/po/zh_CN.po | 8289 ++++++ horde/po/zh_TW.po | 8936 +++++++ horde/rampage.php | 77 + horde/rpc.php | 108 + horde/rpc/.htaccess | 6 + horde/rpc/index.php | 11 + horde/scripts/.htaccess | 1 + horde/scripts/SCRIPTS | 39 + horde/scripts/alarms.php | 36 + horde/scripts/cookie_login.php | 24 + horde/scripts/get_login.php | 22 + horde/scripts/horde.logrotate | 13 + horde/scripts/http_login_refer.php | 30 + horde/scripts/import_squirrelmail_file_prefs.php | 126 + horde/scripts/import_squirrelmail_prefs.php | 211 + horde/scripts/import_squirrelmail_sql_prefs.php | 87 + horde/scripts/ldap/horde.prefs.acl | 7 + horde/scripts/ldap/horde.schema | 534 + horde/scripts/set_perms.sh | 92 + horde/scripts/sql/README | 169 + horde/scripts/sql/README.OCI8 | 244 + horde/scripts/sql/create.mssql.sql | 231 + horde/scripts/sql/create.mysql.sql | 256 + horde/scripts/sql/create.oci8.sql | 281 + horde/scripts/sql/create.pgsql.sql | 217 + horde/scripts/sql/create.sql | 222 + horde/scripts/sql/create.sybase.sql | 334 + horde/scripts/sql/create.xml | 1310 + horde/scripts/sql/horde_alarms.mssql.sql | 24 + horde/scripts/sql/horde_alarms.oci8.sql | 23 + horde/scripts/sql/horde_alarms.pgsql.sql | 23 + horde/scripts/sql/horde_alarms.sql | 24 + horde/scripts/sql/horde_cache.pgsql.sql | 8 + horde/scripts/sql/horde_cache.sql | 12 + horde/scripts/sql/horde_datatree.mssql.sql | 32 + horde/scripts/sql/horde_datatree.mysql.sql | 29 + horde/scripts/sql/horde_datatree.pgsql.sql | 38 + horde/scripts/sql/horde_datatree.sql | 38 + horde/scripts/sql/horde_groups.mysql.sql | 15 + horde/scripts/sql/horde_groups.oci8.sql | 15 + horde/scripts/sql/horde_groups.pgsql.sql | 14 + horde/scripts/sql/horde_groups.sql | 14 + horde/scripts/sql/horde_histories.mssql.sql | 15 + horde/scripts/sql/horde_histories.sql | 15 + horde/scripts/sql/horde_locks.sql | 12 + horde/scripts/sql/horde_log.mssql.sql | 10 + horde/scripts/sql/horde_log.sql | 10 + horde/scripts/sql/horde_muvfs.mssql.sql | 14 + horde/scripts/sql/horde_muvfs.sql | 16 + horde/scripts/sql/horde_perms.mysql.sql | 8 + horde/scripts/sql/horde_perms.oci8.sql | 7 + horde/scripts/sql/horde_perms.pgsql.sql | 7 + horde/scripts/sql/horde_perms.sql | 7 + horde/scripts/sql/horde_prefs.mssql.sql | 11 + horde/scripts/sql/horde_prefs.pgsql.sql | 11 + horde/scripts/sql/horde_prefs.sql | 11 + horde/scripts/sql/horde_sessionhandler.mssql.sql | 9 + horde/scripts/sql/horde_sessionhandler.mysql.sql | 9 + horde/scripts/sql/horde_sessionhandler.oci8.sql | 9 + horde/scripts/sql/horde_sessionhandler.pgsql.sql | 8 + horde/scripts/sql/horde_sessionhandler.sql | 11 + horde/scripts/sql/horde_signups.mysql.sql | 7 + horde/scripts/sql/horde_signups.sql | 7 + horde/scripts/sql/horde_syncml.sql | 29 + horde/scripts/sql/horde_tokens.sql | 7 + horde/scripts/sql/horde_users.sql | 8 + horde/scripts/sql/horde_vfs.mssql.sql | 13 + horde/scripts/sql/horde_vfs.oci8.sql | 14 + horde/scripts/sql/horde_vfs.pgsql.sql | 14 + horde/scripts/sql/horde_vfs.sql | 15 + horde/scripts/sql/script.initial_horde_user.sql | 9 + horde/scripts/temp-cleanup.cron | 41 + horde/scripts/upgrades/2.2_to_3.0.mysql.sql | 61 + horde/scripts/upgrades/2.2_to_3.0.oci8.sql | 63 + horde/scripts/upgrades/2.2_to_3.0.pgsql.sql | 67 + .../2005-09-22_horde_prefs_varchar2.oci8.sql | 9 + .../upgrades/2006-06-29_horde_prefs_indexes.sql | 6 + .../upgrades/2007-02-21_horde_alarms_primary.sql | 2 + .../2007-04-25_horde_alarms_drop_primary.sql | 2 + .../2007-05-24_horde_alarms_add_dismissed.sql | 2 + ...-04-04_horde_syncml_map_split_indexes.pgsql.sql | 36 + .../2008-04-04_horde_syncml_map_split_indexes.sql | 14 + .../upgrades/2008-04-09_horde_syncml_map.php | 71 + .../upgrades/2008-04-09_horde_syncml_map.sql | 11 + .../upgrades/2008-04-23-horde_cache_expiry.sql | 1 + .../upgrades/2008-05-15-horde_lock_schema.sql | 14 + .../upgrades/2008-05-16_horde_lock_uuid.sql | 2 + .../upgrades/2008-08-29_fix_mdb2_sequences.php | 67 + ...-13_horde_sessionhandler_lastmodified_index.sql | 1 + .../upgrades/2009-04-13_horde_pgsql_upgrade.sql | 3 + .../2009-09-10_horde_signup_drop_email.sql | 1 + horde/scripts/upgrades/3.0_to_3.1.mysql.sql | 24 + horde/scripts/upgrades/3.0_to_3.1.oci8.sql | 18 + horde/scripts/upgrades/3.0_to_3.1.sql | 18 + horde/scripts/upgrades/3.1_to_3.2.mssql.sql | 112 + horde/scripts/upgrades/3.1_to_3.2.mysql.sql | 99 + horde/scripts/upgrades/3.1_to_3.2.oci8.sql | 99 + horde/scripts/upgrades/3.1_to_3.2.pgsql.sql | 99 + horde/scripts/upgrades/3.1_to_3.2.sql | 100 + horde/scripts/upgrades/3.1_to_3.2.sybase.sql | 151 + horde/scripts/upgrades/3.3_to_3.3.5.sql | 1 + .../upgrades/convert_datatree_groups_to_sql.php | 79 + .../upgrades/convert_datatree_perms_to_sql.php | 53 + horde/scripts/upgrades/migrate_user_categories.php | 150 + .../upgrades/move_history_out_of_datatree.php | 110 + horde/services/cache.php | 84 + horde/services/cacheview.php | 26 + horde/services/changepassword.php | 77 + horde/services/confirm.php | 19 + horde/services/download/index.php | 19 + horde/services/editor/ckeditor/LICENSE.html | 1334 + horde/services/editor/ckeditor/ckeditor.js | 109 + horde/services/editor/ckeditor/ckeditor_basic.js | 8 + horde/services/editor/ckeditor/config.js | 11 + horde/services/editor/ckeditor/contents.css | 35 + horde/services/editor/ckeditor/images/spacer.gif | Bin 0 -> 43 bytes horde/services/editor/ckeditor/lang/_languages.js | 6 + .../editor/ckeditor/lang/_translationstatus.txt | 59 + horde/services/editor/ckeditor/lang/af.js | 6 + horde/services/editor/ckeditor/lang/ar.js | 6 + horde/services/editor/ckeditor/lang/bg.js | 6 + horde/services/editor/ckeditor/lang/bn.js | 6 + horde/services/editor/ckeditor/lang/bs.js | 6 + horde/services/editor/ckeditor/lang/ca.js | 6 + horde/services/editor/ckeditor/lang/cs.js | 6 + horde/services/editor/ckeditor/lang/da.js | 6 + horde/services/editor/ckeditor/lang/de.js | 6 + horde/services/editor/ckeditor/lang/el.js | 6 + horde/services/editor/ckeditor/lang/en-au.js | 6 + horde/services/editor/ckeditor/lang/en-ca.js | 6 + horde/services/editor/ckeditor/lang/en-uk.js | 6 + horde/services/editor/ckeditor/lang/en.js | 6 + horde/services/editor/ckeditor/lang/eo.js | 6 + horde/services/editor/ckeditor/lang/es.js | 6 + horde/services/editor/ckeditor/lang/et.js | 6 + horde/services/editor/ckeditor/lang/eu.js | 6 + horde/services/editor/ckeditor/lang/fa.js | 6 + horde/services/editor/ckeditor/lang/fi.js | 6 + horde/services/editor/ckeditor/lang/fo.js | 6 + horde/services/editor/ckeditor/lang/fr-ca.js | 6 + horde/services/editor/ckeditor/lang/fr.js | 6 + horde/services/editor/ckeditor/lang/gl.js | 6 + horde/services/editor/ckeditor/lang/gu.js | 6 + horde/services/editor/ckeditor/lang/he.js | 6 + horde/services/editor/ckeditor/lang/hi.js | 6 + horde/services/editor/ckeditor/lang/hr.js | 6 + horde/services/editor/ckeditor/lang/hu.js | 6 + horde/services/editor/ckeditor/lang/is.js | 6 + horde/services/editor/ckeditor/lang/it.js | 6 + horde/services/editor/ckeditor/lang/ja.js | 6 + horde/services/editor/ckeditor/lang/km.js | 6 + horde/services/editor/ckeditor/lang/ko.js | 6 + horde/services/editor/ckeditor/lang/lt.js | 6 + horde/services/editor/ckeditor/lang/lv.js | 6 + horde/services/editor/ckeditor/lang/mn.js | 6 + horde/services/editor/ckeditor/lang/ms.js | 6 + horde/services/editor/ckeditor/lang/nb.js | 6 + horde/services/editor/ckeditor/lang/nl.js | 6 + horde/services/editor/ckeditor/lang/no.js | 6 + horde/services/editor/ckeditor/lang/pl.js | 6 + horde/services/editor/ckeditor/lang/pt-br.js | 6 + horde/services/editor/ckeditor/lang/pt.js | 6 + horde/services/editor/ckeditor/lang/ro.js | 6 + horde/services/editor/ckeditor/lang/ru.js | 6 + horde/services/editor/ckeditor/lang/sk.js | 6 + horde/services/editor/ckeditor/lang/sl.js | 6 + horde/services/editor/ckeditor/lang/sr-latn.js | 6 + horde/services/editor/ckeditor/lang/sr.js | 6 + horde/services/editor/ckeditor/lang/sv.js | 6 + horde/services/editor/ckeditor/lang/th.js | 6 + horde/services/editor/ckeditor/lang/tr.js | 6 + horde/services/editor/ckeditor/lang/uk.js | 6 + horde/services/editor/ckeditor/lang/vi.js | 6 + horde/services/editor/ckeditor/lang/zh-cn.js | 6 + horde/services/editor/ckeditor/lang/zh.js | 6 + .../editor/ckeditor/plugins/about/dialogs/about.js | 6 + .../plugins/about/dialogs/logo_ckeditor.png | Bin 0 -> 2759 bytes .../editor/ckeditor/plugins/about/plugin.js | 6 + .../editor/ckeditor/plugins/basicstyles/plugin.js | 6 + .../editor/ckeditor/plugins/blockquote/plugin.js | 7 + .../editor/ckeditor/plugins/button/plugin.js | 7 + .../ckeditor/plugins/clipboard/dialogs/paste.js | 7 + .../editor/ckeditor/plugins/clipboard/plugin.js | 6 + .../editor/ckeditor/plugins/colorbutton/plugin.js | 7 + .../plugins/colordialog/dialogs/colordialog.js | 6 + .../editor/ckeditor/plugins/colordialog/plugin.js | 6 + .../editor/ckeditor/plugins/contextmenu/plugin.js | 6 + .../ckeditor/plugins/dialog/dialogDefinition.js | 4 + .../editor/ckeditor/plugins/dialog/plugin.js | 17 + .../editor/ckeditor/plugins/dialogui/plugin.js | 11 + .../editor/ckeditor/plugins/domiterator/plugin.js | 7 + .../editor/ckeditor/plugins/editingblock/plugin.js | 6 + .../editor/ckeditor/plugins/elementspath/plugin.js | 6 + .../editor/ckeditor/plugins/enterkey/plugin.js | 7 + .../editor/ckeditor/plugins/entities/plugin.js | 6 + .../editor/ckeditor/plugins/fakeobjects/plugin.js | 6 + .../editor/ckeditor/plugins/filebrowser/plugin.js | 7 + .../editor/ckeditor/plugins/find/dialogs/find.js | 9 + .../editor/ckeditor/plugins/find/plugin.js | 6 + .../editor/ckeditor/plugins/flash/dialogs/flash.js | 9 + .../ckeditor/plugins/flash/images/placeholder.png | Bin 0 -> 256 bytes .../editor/ckeditor/plugins/flash/plugin.js | 6 + .../editor/ckeditor/plugins/floatpanel/plugin.js | 7 + .../editor/ckeditor/plugins/font/plugin.js | 6 + .../editor/ckeditor/plugins/format/plugin.js | 6 + .../ckeditor/plugins/forms/dialogs/button.js | 6 + .../ckeditor/plugins/forms/dialogs/checkbox.js | 6 + .../editor/ckeditor/plugins/forms/dialogs/form.js | 6 + .../ckeditor/plugins/forms/dialogs/hiddenfield.js | 6 + .../editor/ckeditor/plugins/forms/dialogs/radio.js | 6 + .../ckeditor/plugins/forms/dialogs/select.js | 9 + .../ckeditor/plugins/forms/dialogs/textarea.js | 6 + .../ckeditor/plugins/forms/dialogs/textfield.js | 6 + .../editor/ckeditor/plugins/forms/plugin.js | 7 + .../ckeditor/plugins/horizontalrule/plugin.js | 6 + .../ckeditor/plugins/htmldataprocessor/plugin.js | 7 + .../editor/ckeditor/plugins/htmlwriter/plugin.js | 6 + .../editor/ckeditor/plugins/iframedialog/plugin.js | 6 + .../editor/ckeditor/plugins/image/dialogs/image.js | 13 + .../editor/ckeditor/plugins/image/plugin.js | 6 + .../editor/ckeditor/plugins/indent/plugin.js | 7 + .../editor/ckeditor/plugins/justify/plugin.js | 6 + .../editor/ckeditor/plugins/keystrokes/plugin.js | 6 + .../editor/ckeditor/plugins/link/dialogs/anchor.js | 6 + .../editor/ckeditor/plugins/link/dialogs/link.js | 11 + .../editor/ckeditor/plugins/link/images/anchor.gif | Bin 0 -> 184 bytes .../editor/ckeditor/plugins/link/plugin.js | 6 + .../editor/ckeditor/plugins/list/plugin.js | 9 + .../editor/ckeditor/plugins/listblock/plugin.js | 7 + .../editor/ckeditor/plugins/maximize/plugin.js | 7 + .../editor/ckeditor/plugins/menu/plugin.js | 7 + .../editor/ckeditor/plugins/menubutton/plugin.js | 6 + .../editor/ckeditor/plugins/newpage/plugin.js | 6 + .../plugins/pagebreak/images/pagebreak.gif | Bin 0 -> 54 bytes .../editor/ckeditor/plugins/pagebreak/plugin.js | 6 + .../editor/ckeditor/plugins/panel/plugin.js | 7 + .../editor/ckeditor/plugins/panelbutton/plugin.js | 6 + .../plugins/pastefromword/dialogs/pastefromword.js | 8 + .../ckeditor/plugins/pastefromword/plugin.js | 6 + .../plugins/pastetext/dialogs/pastetext.js | 6 + .../editor/ckeditor/plugins/pastetext/plugin.js | 6 + .../editor/ckeditor/plugins/popup/plugin.js | 6 + .../editor/ckeditor/plugins/preview/plugin.js | 6 + .../editor/ckeditor/plugins/print/plugin.js | 6 + .../editor/ckeditor/plugins/removeformat/plugin.js | 6 + .../editor/ckeditor/plugins/resize/plugin.js | 6 + .../editor/ckeditor/plugins/richcombo/plugin.js | 7 + .../editor/ckeditor/plugins/save/plugin.js | 6 + .../ckeditor/plugins/scayt/dialogs/options.js | 8 + .../ckeditor/plugins/scayt/dialogs/toolbar.css | 6 + .../editor/ckeditor/plugins/scayt/plugin.js | 8 + .../editor/ckeditor/plugins/selection/plugin.js | 9 + .../plugins/showblocks/images/block_address.png | Bin 0 -> 288 bytes .../plugins/showblocks/images/block_blockquote.png | Bin 0 -> 293 bytes .../plugins/showblocks/images/block_div.png | Bin 0 -> 229 bytes .../plugins/showblocks/images/block_h1.png | Bin 0 -> 218 bytes .../plugins/showblocks/images/block_h2.png | Bin 0 -> 220 bytes .../plugins/showblocks/images/block_h3.png | Bin 0 -> 219 bytes .../plugins/showblocks/images/block_h4.png | Bin 0 -> 229 bytes .../plugins/showblocks/images/block_h5.png | Bin 0 -> 236 bytes .../plugins/showblocks/images/block_h6.png | Bin 0 -> 216 bytes .../ckeditor/plugins/showblocks/images/block_p.png | Bin 0 -> 205 bytes .../plugins/showblocks/images/block_pre.png | Bin 0 -> 223 bytes .../editor/ckeditor/plugins/showblocks/plugin.js | 6 + .../ckeditor/plugins/smiley/dialogs/smiley.js | 7 + .../ckeditor/plugins/smiley/images/angel_smile.gif | Bin 0 -> 465 bytes .../ckeditor/plugins/smiley/images/angry_smile.gif | Bin 0 -> 443 bytes .../plugins/smiley/images/broken_heart.gif | Bin 0 -> 192 bytes .../plugins/smiley/images/confused_smile.gif | Bin 0 -> 464 bytes .../ckeditor/plugins/smiley/images/cry_smile.gif | Bin 0 -> 468 bytes .../ckeditor/plugins/smiley/images/devil_smile.gif | Bin 0 -> 436 bytes .../plugins/smiley/images/embaressed_smile.gif | Bin 0 -> 442 bytes .../ckeditor/plugins/smiley/images/envelope.gif | Bin 0 -> 426 bytes .../ckeditor/plugins/smiley/images/heart.gif | Bin 0 -> 183 bytes .../editor/ckeditor/plugins/smiley/images/kiss.gif | Bin 0 -> 241 bytes .../ckeditor/plugins/smiley/images/lightbulb.gif | Bin 0 -> 368 bytes .../ckeditor/plugins/smiley/images/omg_smile.gif | Bin 0 -> 451 bytes .../plugins/smiley/images/regular_smile.gif | Bin 0 -> 450 bytes .../ckeditor/plugins/smiley/images/sad_smile.gif | Bin 0 -> 460 bytes .../plugins/smiley/images/shades_smile.gif | Bin 0 -> 449 bytes .../ckeditor/plugins/smiley/images/teeth_smile.gif | Bin 0 -> 442 bytes .../ckeditor/plugins/smiley/images/thumbs_down.gif | Bin 0 -> 408 bytes .../ckeditor/plugins/smiley/images/thumbs_up.gif | Bin 0 -> 396 bytes .../plugins/smiley/images/tounge_smile.gif | Bin 0 -> 446 bytes .../smiley/images/whatchutalkingabout_smile.gif | Bin 0 -> 452 bytes .../ckeditor/plugins/smiley/images/wink_smile.gif | Bin 0 -> 458 bytes .../editor/ckeditor/plugins/smiley/plugin.js | 6 + .../editor/ckeditor/plugins/sourcearea/plugin.js | 6 + .../plugins/specialchar/dialogs/specialchar.js | 7 + .../editor/ckeditor/plugins/specialchar/plugin.js | 6 + .../editor/ckeditor/plugins/styles/plugin.js | 10 + .../editor/ckeditor/plugins/stylescombo/plugin.js | 7 + .../ckeditor/plugins/stylescombo/styles/default.js | 6 + .../services/editor/ckeditor/plugins/tab/plugin.js | 6 + .../editor/ckeditor/plugins/table/dialogs/table.js | 8 + .../editor/ckeditor/plugins/table/plugin.js | 6 + .../plugins/tabletools/dialogs/tableCell.js | 8 + .../editor/ckeditor/plugins/tabletools/plugin.js | 9 + .../plugins/templates/dialogs/templates.js | 6 + .../editor/ckeditor/plugins/templates/plugin.js | 6 + .../plugins/templates/templates/default.js | 6 + .../templates/templates/images/template1.gif | Bin 0 -> 375 bytes .../templates/templates/images/template2.gif | Bin 0 -> 333 bytes .../templates/templates/images/template3.gif | Bin 0 -> 422 bytes .../editor/ckeditor/plugins/toolbar/plugin.js | 7 + .../ckeditor/plugins/uicolor/dialogs/uicolor.js | 7 + .../editor/ckeditor/plugins/uicolor/lang/en.js | 6 + .../editor/ckeditor/plugins/uicolor/plugin.js | 6 + .../editor/ckeditor/plugins/uicolor/uicolor.gif | Bin 0 -> 1108 bytes .../ckeditor/plugins/uicolor/yui/assets/hue_bg.png | Bin 0 -> 1120 bytes .../plugins/uicolor/yui/assets/hue_thumb.png | Bin 0 -> 195 bytes .../plugins/uicolor/yui/assets/picker_mask.png | Bin 0 -> 12174 bytes .../plugins/uicolor/yui/assets/picker_thumb.png | Bin 0 -> 192 bytes .../ckeditor/plugins/uicolor/yui/assets/yui.css | 6 + .../editor/ckeditor/plugins/uicolor/yui/yui.js | 76 + .../editor/ckeditor/plugins/undo/plugin.js | 7 + .../ckeditor/plugins/wsc/dialogs/ciframe.html | 49 + .../ckeditor/plugins/wsc/dialogs/tmpFrameset.html | 52 + .../editor/ckeditor/plugins/wsc/dialogs/wsc.css | 6 + .../editor/ckeditor/plugins/wsc/dialogs/wsc.js | 7 + .../services/editor/ckeditor/plugins/wsc/plugin.js | 6 + .../editor/ckeditor/plugins/wysiwygarea/plugin.js | 9 + .../services/editor/ckeditor/skins/kama/dialog.css | 9 + .../services/editor/ckeditor/skins/kama/editor.css | 12 + .../services/editor/ckeditor/skins/kama/icons.png | Bin 0 -> 4365 bytes .../ckeditor/skins/kama/images/dialog_sides.gif | Bin 0 -> 48 bytes .../ckeditor/skins/kama/images/dialog_sides.png | Bin 0 -> 178 bytes .../skins/kama/images/dialog_sides_rtl.png | Bin 0 -> 181 bytes .../editor/ckeditor/skins/kama/images/mini.gif | Bin 0 -> 183 bytes .../editor/ckeditor/skins/kama/images/noimage.png | Bin 0 -> 2115 bytes .../editor/ckeditor/skins/kama/images/sprites.png | Bin 0 -> 7086 bytes .../ckeditor/skins/kama/images/sprites_ie6.png | Bin 0 -> 2724 bytes .../ckeditor/skins/kama/images/toolbar_start.gif | Bin 0 -> 105 bytes horde/services/editor/ckeditor/skins/kama/skin.js | 7 + .../editor/ckeditor/skins/kama/templates.css | 6 + .../editor/ckeditor/skins/office2003/dialog.css | 8 + .../editor/ckeditor/skins/office2003/editor.css | 13 + .../editor/ckeditor/skins/office2003/icons.png | Bin 0 -> 4365 bytes .../skins/office2003/images/dialog_sides.gif | Bin 0 -> 48 bytes .../skins/office2003/images/dialog_sides.png | Bin 0 -> 178 bytes .../skins/office2003/images/dialog_sides_rtl.png | Bin 0 -> 181 bytes .../ckeditor/skins/office2003/images/mini.gif | Bin 0 -> 183 bytes .../ckeditor/skins/office2003/images/noimage.png | Bin 0 -> 2115 bytes .../ckeditor/skins/office2003/images/sprites.png | Bin 0 -> 6119 bytes .../skins/office2003/images/sprites_ie6.png | Bin 0 -> 2715 bytes .../editor/ckeditor/skins/office2003/skin.js | 6 + .../editor/ckeditor/skins/office2003/templates.css | 6 + horde/services/editor/ckeditor/skins/v2/dialog.css | 8 + horde/services/editor/ckeditor/skins/v2/editor.css | 12 + horde/services/editor/ckeditor/skins/v2/icons.png | Bin 0 -> 4365 bytes .../ckeditor/skins/v2/images/dialog_sides.gif | Bin 0 -> 48 bytes .../ckeditor/skins/v2/images/dialog_sides.png | Bin 0 -> 178 bytes .../ckeditor/skins/v2/images/dialog_sides_rtl.png | Bin 0 -> 181 bytes .../editor/ckeditor/skins/v2/images/mini.gif | Bin 0 -> 183 bytes .../editor/ckeditor/skins/v2/images/noimage.png | Bin 0 -> 2115 bytes .../editor/ckeditor/skins/v2/images/sprites.png | Bin 0 -> 5389 bytes .../ckeditor/skins/v2/images/sprites_ie6.png | Bin 0 -> 492 bytes .../ckeditor/skins/v2/images/toolbar_start.gif | Bin 0 -> 105 bytes horde/services/editor/ckeditor/skins/v2/skin.js | 6 + .../editor/ckeditor/skins/v2/templates.css | 6 + .../editor/ckeditor/themes/default/theme.js | 7 + .../editor/css/behaviors/disablehandles.htc | 15 + .../editor/css/behaviors/showtableborders.htc | 36 + .../editor/fckeditor/editor/css/fck_editorarea.css | 110 + .../editor/fckeditor/editor/css/fck_internal.css | 199 + .../editor/css/fck_showtableborders_gecko.css | 49 + .../fckeditor/editor/css/images/block_address.png | Bin 0 -> 288 bytes .../editor/css/images/block_blockquote.png | Bin 0 -> 293 bytes .../fckeditor/editor/css/images/block_div.png | Bin 0 -> 229 bytes .../fckeditor/editor/css/images/block_h1.png | Bin 0 -> 218 bytes .../fckeditor/editor/css/images/block_h2.png | Bin 0 -> 220 bytes .../fckeditor/editor/css/images/block_h3.png | Bin 0 -> 219 bytes .../fckeditor/editor/css/images/block_h4.png | Bin 0 -> 229 bytes .../fckeditor/editor/css/images/block_h5.png | Bin 0 -> 236 bytes .../fckeditor/editor/css/images/block_h6.png | Bin 0 -> 216 bytes .../editor/fckeditor/editor/css/images/block_p.png | Bin 0 -> 205 bytes .../fckeditor/editor/css/images/block_pre.png | Bin 0 -> 223 bytes .../fckeditor/editor/css/images/fck_anchor.gif | Bin 0 -> 184 bytes .../fckeditor/editor/css/images/fck_flashlogo.gif | Bin 0 -> 599 bytes .../editor/css/images/fck_hiddenfield.gif | Bin 0 -> 105 bytes .../fckeditor/editor/css/images/fck_pagebreak.gif | Bin 0 -> 54 bytes .../fckeditor/editor/css/images/fck_plugin.gif | Bin 0 -> 1709 bytes .../editor/dialog/common/fck_dialog_common.css | 85 + .../editor/dialog/common/fck_dialog_common.js | 1 + .../editor/dialog/common/images/locked.gif | Bin 0 -> 74 bytes .../editor/dialog/common/images/reset.gif | Bin 0 -> 104 bytes .../editor/dialog/common/images/unlocked.gif | Bin 0 -> 75 bytes .../editor/dialog/common/src/fck_dialog_common.js | 347 + .../editor/fckeditor/editor/dialog/fck_about.html | 161 + .../editor/dialog/fck_about/logo_fckeditor.gif | Bin 0 -> 2044 bytes .../editor/dialog/fck_about/logo_fredck.gif | Bin 0 -> 920 bytes .../editor/fckeditor/editor/dialog/fck_anchor.html | 220 + .../editor/fckeditor/editor/dialog/fck_button.html | 104 + .../fckeditor/editor/dialog/fck_checkbox.html | 104 + .../fckeditor/editor/dialog/fck_colorselector.html | 172 + .../editor/fckeditor/editor/dialog/fck_div.html | 396 + .../fckeditor/editor/dialog/fck_docprops.html | 600 + .../dialog/fck_docprops/fck_document_preview.html | 113 + .../editor/fckeditor/editor/dialog/fck_flash.html | 152 + .../fckeditor/editor/dialog/fck_flash/fck_flash.js | 1 + .../editor/dialog/fck_flash/fck_flash_preview.html | 50 + .../editor/dialog/fck_flash/src/fck_flash.js | 300 + .../editor/fckeditor/editor/dialog/fck_form.html | 109 + .../fckeditor/editor/dialog/fck_hiddenfield.html | 115 + .../editor/fckeditor/editor/dialog/fck_image.html | 258 + .../fckeditor/editor/dialog/fck_image/fck_image.js | 1 + .../editor/dialog/fck_image/fck_image_preview.html | 72 + .../editor/dialog/fck_image/src/fck_image.js | 512 + .../editor/fckeditor/editor/dialog/fck_link.html | 295 + .../fckeditor/editor/dialog/fck_link/fck_link.js | 1 + .../editor/dialog/fck_link/src/fck_link.js | 893 + .../fckeditor/editor/dialog/fck_listprop.html | 120 + .../editor/fckeditor/editor/dialog/fck_paste.html | 347 + .../fckeditor/editor/dialog/fck_radiobutton.html | 104 + .../fckeditor/editor/dialog/fck_replace.html | 650 + .../editor/fckeditor/editor/dialog/fck_select.html | 180 + .../editor/dialog/fck_select/fck_select.js | 1 + .../editor/dialog/fck_select/src/fck_select.js | 194 + .../editor/fckeditor/editor/dialog/fck_smiley.html | 111 + .../editor/fckeditor/editor/dialog/fck_source.html | 68 + .../fckeditor/editor/dialog/fck_specialchar.html | 121 + .../editor/fckeditor/editor/dialog/fck_table.html | 439 + .../fckeditor/editor/dialog/fck_tablecell.html | 293 + .../fckeditor/editor/dialog/fck_template.html | 242 + .../dialog/fck_template/images/template1.gif | Bin 0 -> 375 bytes .../dialog/fck_template/images/template2.gif | Bin 0 -> 333 bytes .../dialog/fck_template/images/template3.gif | Bin 0 -> 422 bytes .../fckeditor/editor/dialog/fck_textarea.html | 94 + .../fckeditor/editor/dialog/fck_textfield.html | 136 + .../services/editor/fckeditor/editor/fckdebug.html | 153 + .../editor/fckeditor/editor/fckdialog.html | 819 + .../editor/fckeditor/editor/fckeditor.html | 317 + .../editor/fckeditor/editor/images/anchor.gif | Bin 0 -> 184 bytes .../editor/fckeditor/editor/images/arrow_ltr.gif | Bin 0 -> 49 bytes .../editor/fckeditor/editor/images/arrow_rtl.gif | Bin 0 -> 49 bytes .../editor/images/smiley/msn/angel_smile.gif | Bin 0 -> 445 bytes .../editor/images/smiley/msn/angry_smile.gif | Bin 0 -> 453 bytes .../editor/images/smiley/msn/broken_heart.gif | Bin 0 -> 423 bytes .../fckeditor/editor/images/smiley/msn/cake.gif | Bin 0 -> 453 bytes .../editor/images/smiley/msn/confused_smile.gif | Bin 0 -> 322 bytes .../editor/images/smiley/msn/cry_smile.gif | Bin 0 -> 473 bytes .../editor/images/smiley/msn/devil_smile.gif | Bin 0 -> 444 bytes .../editor/images/smiley/msn/embaressed_smile.gif | Bin 0 -> 1077 bytes .../editor/images/smiley/msn/envelope.gif | Bin 0 -> 1030 bytes .../fckeditor/editor/images/smiley/msn/heart.gif | Bin 0 -> 1012 bytes .../fckeditor/editor/images/smiley/msn/kiss.gif | Bin 0 -> 978 bytes .../editor/images/smiley/msn/lightbulb.gif | Bin 0 -> 303 bytes .../editor/images/smiley/msn/omg_smile.gif | Bin 0 -> 342 bytes .../editor/images/smiley/msn/regular_smile.gif | Bin 0 -> 1036 bytes .../editor/images/smiley/msn/sad_smile.gif | Bin 0 -> 1039 bytes .../editor/images/smiley/msn/shades_smile.gif | Bin 0 -> 1059 bytes .../editor/images/smiley/msn/teeth_smile.gif | Bin 0 -> 1064 bytes .../editor/images/smiley/msn/thumbs_down.gif | Bin 0 -> 992 bytes .../editor/images/smiley/msn/thumbs_up.gif | Bin 0 -> 989 bytes .../editor/images/smiley/msn/tounge_smile.gif | Bin 0 -> 1055 bytes .../smiley/msn/whatchutalkingabout_smile.gif | Bin 0 -> 1034 bytes .../editor/images/smiley/msn/wink_smile.gif | Bin 0 -> 1041 bytes .../editor/fckeditor/editor/images/spacer.gif | Bin 0 -> 43 bytes .../editor/fckeditor/editor/js/fckadobeair.js | 1 + .../fckeditor/editor/js/fckeditorcode_gecko.js | 1 + .../editor/fckeditor/editor/js/fckeditorcode_ie.js | 1 + .../editor/fckeditor/editor/js/src/fckadobeair.js | 176 + .../fckeditor/editor/js/src/fckeditorcode_gecko.js | 108 + .../fckeditor/editor/js/src/fckeditorcode_ie.js | 109 + horde/services/editor/fckeditor/editor/lang/af.js | 1 + horde/services/editor/fckeditor/editor/lang/ar.js | 1 + horde/services/editor/fckeditor/editor/lang/bg.js | 1 + horde/services/editor/fckeditor/editor/lang/bn.js | 1 + horde/services/editor/fckeditor/editor/lang/bs.js | 1 + horde/services/editor/fckeditor/editor/lang/ca.js | 1 + horde/services/editor/fckeditor/editor/lang/cs.js | 1 + horde/services/editor/fckeditor/editor/lang/da.js | 1 + horde/services/editor/fckeditor/editor/lang/de.js | 1 + horde/services/editor/fckeditor/editor/lang/el.js | 1 + .../services/editor/fckeditor/editor/lang/en-au.js | 1 + .../services/editor/fckeditor/editor/lang/en-ca.js | 1 + .../services/editor/fckeditor/editor/lang/en-uk.js | 1 + horde/services/editor/fckeditor/editor/lang/en.js | 1 + horde/services/editor/fckeditor/editor/lang/eo.js | 1 + horde/services/editor/fckeditor/editor/lang/es.js | 1 + horde/services/editor/fckeditor/editor/lang/et.js | 1 + horde/services/editor/fckeditor/editor/lang/eu.js | 1 + horde/services/editor/fckeditor/editor/lang/fa.js | 1 + horde/services/editor/fckeditor/editor/lang/fi.js | 1 + horde/services/editor/fckeditor/editor/lang/fo.js | 1 + .../services/editor/fckeditor/editor/lang/fr-ca.js | 1 + horde/services/editor/fckeditor/editor/lang/fr.js | 1 + horde/services/editor/fckeditor/editor/lang/gl.js | 1 + horde/services/editor/fckeditor/editor/lang/gu.js | 1 + horde/services/editor/fckeditor/editor/lang/he.js | 1 + horde/services/editor/fckeditor/editor/lang/hi.js | 1 + horde/services/editor/fckeditor/editor/lang/hr.js | 1 + horde/services/editor/fckeditor/editor/lang/hu.js | 1 + horde/services/editor/fckeditor/editor/lang/is.js | 1 + horde/services/editor/fckeditor/editor/lang/it.js | 1 + horde/services/editor/fckeditor/editor/lang/ja.js | 1 + horde/services/editor/fckeditor/editor/lang/km.js | 1 + horde/services/editor/fckeditor/editor/lang/ko.js | 1 + horde/services/editor/fckeditor/editor/lang/lt.js | 1 + horde/services/editor/fckeditor/editor/lang/lv.js | 1 + horde/services/editor/fckeditor/editor/lang/mn.js | 1 + horde/services/editor/fckeditor/editor/lang/ms.js | 1 + horde/services/editor/fckeditor/editor/lang/nb.js | 1 + horde/services/editor/fckeditor/editor/lang/nl.js | 1 + horde/services/editor/fckeditor/editor/lang/no.js | 1 + horde/services/editor/fckeditor/editor/lang/pl.js | 1 + .../services/editor/fckeditor/editor/lang/pt-br.js | 1 + horde/services/editor/fckeditor/editor/lang/pt.js | 1 + horde/services/editor/fckeditor/editor/lang/ro.js | 1 + horde/services/editor/fckeditor/editor/lang/ru.js | 1 + horde/services/editor/fckeditor/editor/lang/sk.js | 1 + horde/services/editor/fckeditor/editor/lang/sl.js | 1 + .../editor/fckeditor/editor/lang/sr-latn.js | 1 + horde/services/editor/fckeditor/editor/lang/sr.js | 1 + .../editor/fckeditor/editor/lang/src/af.js | 534 + .../editor/fckeditor/editor/lang/src/ar.js | 534 + .../editor/fckeditor/editor/lang/src/bg.js | 534 + .../editor/fckeditor/editor/lang/src/bn.js | 534 + .../editor/fckeditor/editor/lang/src/bs.js | 534 + .../editor/fckeditor/editor/lang/src/ca.js | 534 + .../editor/fckeditor/editor/lang/src/cs.js | 534 + .../editor/fckeditor/editor/lang/src/da.js | 534 + .../editor/fckeditor/editor/lang/src/de.js | 534 + .../editor/fckeditor/editor/lang/src/el.js | 534 + .../editor/fckeditor/editor/lang/src/en-au.js | 534 + .../editor/fckeditor/editor/lang/src/en-ca.js | 534 + .../editor/fckeditor/editor/lang/src/en-uk.js | 534 + .../editor/fckeditor/editor/lang/src/en.js | 534 + .../editor/fckeditor/editor/lang/src/eo.js | 534 + .../editor/fckeditor/editor/lang/src/es.js | 534 + .../editor/fckeditor/editor/lang/src/et.js | 534 + .../editor/fckeditor/editor/lang/src/eu.js | 535 + .../editor/fckeditor/editor/lang/src/fa.js | 534 + .../editor/fckeditor/editor/lang/src/fi.js | 534 + .../editor/fckeditor/editor/lang/src/fo.js | 534 + .../editor/fckeditor/editor/lang/src/fr-ca.js | 534 + .../editor/fckeditor/editor/lang/src/fr.js | 534 + .../editor/fckeditor/editor/lang/src/gl.js | 534 + .../editor/fckeditor/editor/lang/src/gu.js | 534 + .../editor/fckeditor/editor/lang/src/he.js | 534 + .../editor/fckeditor/editor/lang/src/hi.js | 534 + .../editor/fckeditor/editor/lang/src/hr.js | 534 + .../editor/fckeditor/editor/lang/src/hu.js | 534 + .../editor/fckeditor/editor/lang/src/is.js | 534 + .../editor/fckeditor/editor/lang/src/it.js | 534 + .../editor/fckeditor/editor/lang/src/ja.js | 534 + .../editor/fckeditor/editor/lang/src/km.js | 534 + .../editor/fckeditor/editor/lang/src/ko.js | 534 + .../editor/fckeditor/editor/lang/src/lt.js | 534 + .../editor/fckeditor/editor/lang/src/lv.js | 534 + .../editor/fckeditor/editor/lang/src/mn.js | 534 + .../editor/fckeditor/editor/lang/src/ms.js | 534 + .../editor/fckeditor/editor/lang/src/nb.js | 534 + .../editor/fckeditor/editor/lang/src/nl.js | 534 + .../editor/fckeditor/editor/lang/src/no.js | 534 + .../editor/fckeditor/editor/lang/src/pl.js | 534 + .../editor/fckeditor/editor/lang/src/pt-br.js | 534 + .../editor/fckeditor/editor/lang/src/pt.js | 534 + .../editor/fckeditor/editor/lang/src/ro.js | 534 + .../editor/fckeditor/editor/lang/src/ru.js | 534 + .../editor/fckeditor/editor/lang/src/sk.js | 534 + .../editor/fckeditor/editor/lang/src/sl.js | 534 + .../editor/fckeditor/editor/lang/src/sr-latn.js | 534 + .../editor/fckeditor/editor/lang/src/sr.js | 534 + .../editor/fckeditor/editor/lang/src/sv.js | 534 + .../editor/fckeditor/editor/lang/src/th.js | 534 + .../editor/fckeditor/editor/lang/src/tr.js | 534 + .../editor/fckeditor/editor/lang/src/uk.js | 534 + .../editor/fckeditor/editor/lang/src/vi.js | 534 + .../editor/fckeditor/editor/lang/src/zh-cn.js | 534 + .../editor/fckeditor/editor/lang/src/zh.js | 534 + horde/services/editor/fckeditor/editor/lang/sv.js | 1 + horde/services/editor/fckeditor/editor/lang/th.js | 1 + horde/services/editor/fckeditor/editor/lang/tr.js | 1 + horde/services/editor/fckeditor/editor/lang/uk.js | 1 + horde/services/editor/fckeditor/editor/lang/vi.js | 1 + .../services/editor/fckeditor/editor/lang/zh-cn.js | 1 + horde/services/editor/fckeditor/editor/lang/zh.js | 1 + .../fckeditor/editor/skins/default/fck_dialog.css | 402 + .../editor/skins/default/fck_dialog_ie6.js | 1 + .../fckeditor/editor/skins/default/fck_editor.css | 464 + .../fckeditor/editor/skins/default/fck_strip.gif | Bin 0 -> 5175 bytes .../editor/skins/default/images/dialog.sides.gif | Bin 0 -> 48 bytes .../editor/skins/default/images/dialog.sides.png | Bin 0 -> 178 bytes .../skins/default/images/dialog.sides.rtl.png | Bin 0 -> 181 bytes .../editor/skins/default/images/sprites.gif | Bin 0 -> 959 bytes .../editor/skins/default/images/sprites.png | Bin 0 -> 3250 bytes .../skins/default/images/toolbar.arrowright.gif | Bin 0 -> 53 bytes .../skins/default/images/toolbar.buttonarrow.gif | Bin 0 -> 46 bytes .../skins/default/images/toolbar.collapse.gif | Bin 0 -> 152 bytes .../editor/skins/default/images/toolbar.end.gif | Bin 0 -> 43 bytes .../editor/skins/default/images/toolbar.expand.gif | Bin 0 -> 152 bytes .../skins/default/images/toolbar.separator.gif | Bin 0 -> 58 bytes .../editor/skins/default/images/toolbar.start.gif | Bin 0 -> 105 bytes .../editor/skins/default/src/fck_dialog_ie6.js | 110 + horde/services/editor/fckeditor/fckconfig.js | 1 + horde/services/editor/fckeditor/fckeditor.js | 1 + horde/services/editor/fckeditor/fckstyles.xml | 111 + horde/services/editor/fckeditor/fcktemplates.xml | 103 + horde/services/editor/fckeditor/license.txt | 442 + horde/services/editor/fckeditor/src/fckconfig.js | 325 + horde/services/editor/fckeditor/src/fckeditor.js | 330 + horde/services/facebook.php | 290 + horde/services/go.php | 108 + horde/services/help/index.php | 168 + horde/services/images/pixel.php | 28 + horde/services/images/view.php | 131 + horde/services/imple.php | 82 + horde/services/javascript.php | 37 + horde/services/keyboard.php | 160 + horde/services/language.php | 31 + horde/services/logintasks.php | 89 + horde/services/obrowser/index.php | 105 + horde/services/portal/cloud_search.php | 42 + horde/services/portal/edit.php | 40 + horde/services/portal/index.php | 80 + horde/services/portal/mobile.php | 33 + horde/services/portal/rpcsum.php | 86 + horde/services/portal/sidebar.php | 280 + horde/services/portal/syncml.php | 54 + horde/services/prefs.php | 169 + horde/services/prefs/index.php | 62 + horde/services/problem.php | 143 + horde/services/resetpassword.php | 99 + horde/services/shares/edit.php | 285 + horde/services/snooze.php | 24 + horde/services/twitter.php | 152 + horde/services/twitterapi.php | 39 + horde/signup.php | 70 + horde/static/README | 2 + horde/templates/.htaccess | 1 + horde/templates/admin/groups/addchild.inc | 14 + horde/templates/admin/groups/delete.inc | 13 + horde/templates/admin/groups/edit.inc | 67 + horde/templates/admin/menu.inc | 16 + horde/templates/admin/setup/config.html | 11 + horde/templates/admin/setup/diff.html | 11 + horde/templates/admin/setup/index.html | 81 + horde/templates/admin/user/add.inc | 5 + horde/templates/admin/user/approve.inc | 44 + horde/templates/admin/user/clear.inc | 14 + horde/templates/admin/user/list.inc | 45 + horde/templates/admin/user/noadd.inc | 6 + horde/templates/admin/user/nolist.inc | 6 + horde/templates/admin/user/remove.inc | 14 + horde/templates/admin/user/removequeued.inc | 15 + horde/templates/admin/user/update.inc | 83 + horde/templates/block/cloud.inc | 26 + horde/templates/common-footer.inc | 8 + horde/templates/common-header.inc | 32 + horde/templates/contents/open_view_win.js | 27 + horde/templates/data/csvinfo.inc | 26 + horde/templates/data/csvmap.inc | 126 + horde/templates/data/date.inc | 53 + horde/templates/data/datemap.inc | 42 + horde/templates/data/datetime.inc | 114 + horde/templates/data/time.inc | 32 + horde/templates/data/tsvinfo.inc | 16 + horde/templates/help/index.inc | 20 + horde/templates/help/menu.inc | 4 + horde/templates/help/sidebar.inc | 11 + horde/templates/index/frames_index.inc | 23 + horde/templates/javascript/open_calendar.js | 476 + horde/templates/javascript/open_html_helper.js | 65 + horde/templates/login/login.inc | 92 + horde/templates/login/mobile.inc | 46 + horde/templates/logintasks/logintasks.html | 59 + horde/templates/menu/menu.inc | 15 + horde/templates/portal/add.inc | 16 + horde/templates/portal/block.inc | 23 + horde/templates/portal/edit.inc | 55 + horde/templates/portal/layout.inc | 120 + horde/templates/portal/sidebar.inc | 45 + horde/templates/prefs/alarm.inc | 55 + horde/templates/prefs/app.inc | 23 + horde/templates/prefs/begin.inc | 13 + horde/templates/prefs/categorymanagement.inc | 95 + horde/templates/prefs/checkbox.inc | 3 + horde/templates/prefs/credentialsui.inc | 2 + horde/templates/prefs/deleteidentity.inc | 16 + horde/templates/prefs/end.inc | 9 + horde/templates/prefs/enum.inc | 7 + horde/templates/prefs/identityselect.inc | 99 + horde/templates/prefs/link.inc | 1 + horde/templates/prefs/multienum.inc | 7 + horde/templates/prefs/number.inc | 2 + horde/templates/prefs/overview.inc | 18 + horde/templates/prefs/password.inc | 2 + horde/templates/prefs/select.inc | 7 + horde/templates/prefs/text.inc | 2 + horde/templates/prefs/textarea.inc | 4 + horde/templates/problem/problem.inc | 62 + horde/templates/rpcsum/rpcsum.inc | 95 + horde/templates/shares/edit.inc | 337 + horde/templates/syncml/syncml.inc | 43 + horde/templates/test/extensions.inc | 41 + horde/templates/test/footer.inc | 2 + horde/templates/test/header.inc | 11 + horde/templates/test/php_version.inc | 23 + horde/templates/test/version.inc | 4 + horde/test.php | 395 + horde/themes/NeXTgrey/info.php | 2 + horde/themes/NeXTgrey/screen.css | 64 + horde/themes/azur/info.php | 6 + horde/themes/azur/screen.css | 71 + horde/themes/barbie/info.php | 2 + horde/themes/barbie/screen.css | 62 + horde/themes/bluemoon/info.php | 2 + horde/themes/bluemoon/screen.css | 163 + horde/themes/bluewhite/info.php | 2 + horde/themes/bluewhite/rtl.css | 9 + horde/themes/bluewhite/screen.css | 166 + horde/themes/brown/graphics/button.gif | Bin 0 -> 141 bytes horde/themes/brown/info.php | 2 + horde/themes/brown/screen.css | 76 + horde/themes/burntorange/info.php | 7 + horde/themes/burntorange/screen.css | 94 + horde/themes/camouflage/graphics/menu.png | Bin 0 -> 3529 bytes horde/themes/camouflage/info.php | 2 + horde/themes/camouflage/screen.css | 81 + .../themes/cornflower/graphics/active_tab_left.gif | Bin 0 -> 256 bytes .../cornflower/graphics/active_tab_right.gif | Bin 0 -> 749 bytes horde/themes/cornflower/graphics/tab_bottom.gif | Bin 0 -> 129 bytes horde/themes/cornflower/graphics/tab_left.gif | Bin 0 -> 195 bytes horde/themes/cornflower/graphics/tab_right.gif | Bin 0 -> 984 bytes horde/themes/cornflower/info.php | 2 + horde/themes/cornflower/screen.css | 172 + horde/themes/embed.css | 17 + horde/themes/facebook.css | 174 + horde/themes/fadetogreen/graphics/control.png | Bin 0 -> 149 bytes horde/themes/fadetogreen/graphics/header.png | Bin 0 -> 113 bytes horde/themes/fadetogreen/graphics/headerbox.png | Bin 0 -> 125 bytes horde/themes/fadetogreen/graphics/menucurrent.png | Bin 0 -> 243 bytes horde/themes/fadetogreen/graphics/menuhover.png | Bin 0 -> 113 bytes horde/themes/fadetogreen/graphics/message.png | Bin 0 -> 218 bytes horde/themes/fadetogreen/graphics/notice.png | Bin 0 -> 160 bytes horde/themes/fadetogreen/graphics/sidebar.png | Bin 0 -> 113 bytes horde/themes/fadetogreen/graphics/sidebarhover.png | Bin 0 -> 248 bytes horde/themes/fadetogreen/info.php | 9 + horde/themes/fadetogreen/screen.css | 248 + horde/themes/gennevilliers/info.php | 12 + horde/themes/gennevilliers/screen.css | 68 + horde/themes/graphics/about.png | Bin 0 -> 201 bytes horde/themes/graphics/add_group.png | Bin 0 -> 641 bytes horde/themes/graphics/add_perm.png | Bin 0 -> 287 bytes horde/themes/graphics/administration.png | Bin 0 -> 335 bytes horde/themes/graphics/alerts/alarm.png | Bin 0 -> 422 bytes horde/themes/graphics/alerts/error.png | Bin 0 -> 298 bytes horde/themes/graphics/alerts/message.png | Bin 0 -> 477 bytes horde/themes/graphics/alerts/success.png | Bin 0 -> 360 bytes horde/themes/graphics/alerts/warning.png | Bin 0 -> 227 bytes horde/themes/graphics/avatars/alien.jpg | Bin 0 -> 5268 bytes horde/themes/graphics/avatars/aly.jpg | Bin 0 -> 4133 bytes horde/themes/graphics/avatars/angryboy.gif | Bin 0 -> 1669 bytes horde/themes/graphics/avatars/ape.jpg | Bin 0 -> 4488 bytes horde/themes/graphics/avatars/au.jpg | Bin 0 -> 3229 bytes horde/themes/graphics/avatars/baby.gif | Bin 0 -> 1255 bytes horde/themes/graphics/avatars/barbarian.jpg | Bin 0 -> 4711 bytes horde/themes/graphics/avatars/bart.gif | Bin 0 -> 1138 bytes horde/themes/graphics/avatars/batman.gif | Bin 0 -> 1100 bytes horde/themes/graphics/avatars/bert.jpg | Bin 0 -> 4034 bytes horde/themes/graphics/avatars/bert2.jpg | Bin 0 -> 4328 bytes horde/themes/graphics/avatars/bobafett.gif | Bin 0 -> 1152 bytes horde/themes/graphics/avatars/boo.jpg | Bin 0 -> 4580 bytes horde/themes/graphics/avatars/boyandmower.gif | Bin 0 -> 1666 bytes horde/themes/graphics/avatars/boyandpc.gif | Bin 0 -> 1257 bytes horde/themes/graphics/avatars/bret.jpg | Bin 0 -> 5127 bytes horde/themes/graphics/avatars/bunny.gif | Bin 0 -> 1139 bytes horde/themes/graphics/avatars/charlie_brown.gif | Bin 0 -> 1089 bytes horde/themes/graphics/avatars/clown.jpg | Bin 0 -> 9994 bytes horde/themes/graphics/avatars/cocky.jpg | Bin 0 -> 4017 bytes horde/themes/graphics/avatars/devil.gif | Bin 0 -> 1685 bytes horde/themes/graphics/avatars/digimon.gif | Bin 0 -> 2048 bytes horde/themes/graphics/avatars/dilbert.gif | Bin 0 -> 1029 bytes horde/themes/graphics/avatars/dino.gif | Bin 0 -> 1145 bytes horde/themes/graphics/avatars/dog.gif | Bin 0 -> 1094 bytes horde/themes/graphics/avatars/duck.gif | Bin 0 -> 1118 bytes horde/themes/graphics/avatars/einstein.jpg | Bin 0 -> 4661 bytes horde/themes/graphics/avatars/elmerfudd.gif | Bin 0 -> 1219 bytes horde/themes/graphics/avatars/elmo.jpg | Bin 0 -> 3169 bytes horde/themes/graphics/avatars/evil.jpg | Bin 0 -> 3716 bytes horde/themes/graphics/avatars/female1.jpg | Bin 0 -> 4584 bytes horde/themes/graphics/avatars/female2.jpg | Bin 0 -> 9325 bytes horde/themes/graphics/avatars/franc.jpg | Bin 0 -> 5564 bytes horde/themes/graphics/avatars/fredflinstone.gif | Bin 0 -> 1248 bytes horde/themes/graphics/avatars/garfield.gif | Bin 0 -> 1220 bytes horde/themes/graphics/avatars/gopher.gif | Bin 0 -> 1252 bytes horde/themes/graphics/avatars/greenhead.gif | Bin 0 -> 2450 bytes horde/themes/graphics/avatars/gremlin.jpg | Bin 0 -> 4508 bytes horde/themes/graphics/avatars/grover.jpg | Bin 0 -> 3669 bytes horde/themes/graphics/avatars/homer.gif | Bin 0 -> 1112 bytes horde/themes/graphics/avatars/hump.jpg | Bin 0 -> 4769 bytes horde/themes/graphics/avatars/iceskatekid.gif | Bin 0 -> 1596 bytes horde/themes/graphics/avatars/jeri.jpg | Bin 0 -> 3884 bytes horde/themes/graphics/avatars/kid.gif | Bin 0 -> 1535 bytes horde/themes/graphics/avatars/kirk.jpg | Bin 0 -> 5360 bytes horde/themes/graphics/avatars/kryton.jpg | Bin 0 -> 4190 bytes horde/themes/graphics/avatars/linux.gif | Bin 0 -> 1952 bytes horde/themes/graphics/avatars/lisa.gif | Bin 0 -> 1094 bytes horde/themes/graphics/avatars/lovebird.gif | Bin 0 -> 1208 bytes horde/themes/graphics/avatars/male1.jpg | Bin 0 -> 3771 bytes horde/themes/graphics/avatars/male2.jpg | Bin 0 -> 3902 bytes horde/themes/graphics/avatars/man.jpg | Bin 0 -> 3692 bytes horde/themes/graphics/avatars/marge.gif | Bin 0 -> 1135 bytes horde/themes/graphics/avatars/maul.gif | Bin 0 -> 1047 bytes horde/themes/graphics/avatars/melon.jpg | Bin 0 -> 4747 bytes horde/themes/graphics/avatars/mib.gif | Bin 0 -> 1070 bytes horde/themes/graphics/avatars/monkey.jpg | Bin 0 -> 8399 bytes horde/themes/graphics/avatars/neo.jpg | Bin 0 -> 4054 bytes horde/themes/graphics/avatars/ninja.jpg | Bin 0 -> 1226 bytes horde/themes/graphics/avatars/paintingbird.gif | Bin 0 -> 1179 bytes horde/themes/graphics/avatars/picard.jpg | Bin 0 -> 4047 bytes horde/themes/graphics/avatars/puff.jpg | Bin 0 -> 3990 bytes horde/themes/graphics/avatars/redcreature.gif | Bin 0 -> 1813 bytes horde/themes/graphics/avatars/rei.jpg | Bin 0 -> 4541 bytes horde/themes/graphics/avatars/rei2.jpg | Bin 0 -> 5065 bytes horde/themes/graphics/avatars/ryu.gif | Bin 0 -> 1592 bytes horde/themes/graphics/avatars/sexy.gif | Bin 0 -> 1137 bytes horde/themes/graphics/avatars/smiley.gif | Bin 0 -> 1104 bytes horde/themes/graphics/avatars/smurfs.gif | Bin 0 -> 1089 bytes horde/themes/graphics/avatars/sonic.gif | Bin 0 -> 1142 bytes horde/themes/graphics/avatars/speedy.gif | Bin 0 -> 1252 bytes horde/themes/graphics/avatars/stan.jpg | Bin 0 -> 3942 bytes horde/themes/graphics/avatars/superman.gif | Bin 0 -> 1046 bytes horde/themes/graphics/avatars/sylvester.gif | Bin 0 -> 1396 bytes horde/themes/graphics/avatars/thomas.gif | Bin 0 -> 1185 bytes horde/themes/graphics/avatars/tigger.gif | Bin 0 -> 1228 bytes horde/themes/graphics/avatars/trin.jpg | Bin 0 -> 4394 bytes horde/themes/graphics/avatars/us.jpg | Bin 0 -> 4945 bytes horde/themes/graphics/avatars/vampire.jpg | Bin 0 -> 4231 bytes horde/themes/graphics/avatars/vampire2.jpg | Bin 0 -> 3767 bytes horde/themes/graphics/avatars/wacko.gif | Bin 0 -> 1157 bytes horde/themes/graphics/avatars/winnie.gif | Bin 0 -> 1066 bytes horde/themes/graphics/avatars/wizard.jpg | Bin 0 -> 4924 bytes horde/themes/graphics/avatars/wolverine.jpg | Bin 0 -> 5039 bytes horde/themes/graphics/avatars/woman.jpg | Bin 0 -> 3831 bytes horde/themes/graphics/avatars/woodie.jpg | Bin 0 -> 4416 bytes horde/themes/graphics/avatars/xena.gif | Bin 0 -> 1148 bytes horde/themes/graphics/az.png | Bin 0 -> 117 bytes horde/themes/graphics/blank.gif | Bin 0 -> 42 bytes horde/themes/graphics/block.png | Bin 0 -> 494 bytes horde/themes/graphics/block/down.png | Bin 0 -> 127 bytes horde/themes/graphics/block/large_down.png | Bin 0 -> 136 bytes horde/themes/graphics/block/large_left.png | Bin 0 -> 133 bytes horde/themes/graphics/block/large_right.png | Bin 0 -> 133 bytes horde/themes/graphics/block/large_up.png | Bin 0 -> 139 bytes horde/themes/graphics/block/left.png | Bin 0 -> 131 bytes horde/themes/graphics/block/moon/firstquarter.png | Bin 0 -> 1901 bytes horde/themes/graphics/block/moon/fullmoon.png | Bin 0 -> 1977 bytes horde/themes/graphics/block/moon/lastquarter.png | Bin 0 -> 1926 bytes horde/themes/graphics/block/moon/newmoon.png | Bin 0 -> 1747 bytes horde/themes/graphics/block/right.png | Bin 0 -> 130 bytes horde/themes/graphics/block/sunrise/sunrise.png | Bin 0 -> 279 bytes horde/themes/graphics/block/sunrise/sunset.png | Bin 0 -> 277 bytes horde/themes/graphics/block/up.png | Bin 0 -> 127 bytes .../graphics/block/weatherdotcom/23x23/0.png | Bin 0 -> 1143 bytes .../graphics/block/weatherdotcom/23x23/1.png | Bin 0 -> 1173 bytes .../graphics/block/weatherdotcom/23x23/10.png | Bin 0 -> 1150 bytes .../graphics/block/weatherdotcom/23x23/11.png | Bin 0 -> 1205 bytes .../graphics/block/weatherdotcom/23x23/12.png | Bin 0 -> 1221 bytes .../graphics/block/weatherdotcom/23x23/13.png | Bin 0 -> 869 bytes .../graphics/block/weatherdotcom/23x23/14.png | Bin 0 -> 1035 bytes .../graphics/block/weatherdotcom/23x23/15.png | Bin 0 -> 449 bytes .../graphics/block/weatherdotcom/23x23/16.png | Bin 0 -> 1164 bytes .../graphics/block/weatherdotcom/23x23/17.png | Bin 0 -> 1154 bytes .../graphics/block/weatherdotcom/23x23/18.png | Bin 0 -> 1202 bytes .../graphics/block/weatherdotcom/23x23/19.png | Bin 0 -> 1080 bytes .../graphics/block/weatherdotcom/23x23/2.png | Bin 0 -> 1179 bytes .../graphics/block/weatherdotcom/23x23/20.png | Bin 0 -> 870 bytes .../graphics/block/weatherdotcom/23x23/21.png | Bin 0 -> 999 bytes .../graphics/block/weatherdotcom/23x23/22.png | Bin 0 -> 931 bytes .../graphics/block/weatherdotcom/23x23/23.png | Bin 0 -> 593 bytes .../graphics/block/weatherdotcom/23x23/24.png | Bin 0 -> 590 bytes .../graphics/block/weatherdotcom/23x23/25.png | Bin 0 -> 1035 bytes .../graphics/block/weatherdotcom/23x23/26.png | Bin 0 -> 1101 bytes .../graphics/block/weatherdotcom/23x23/27.png | Bin 0 -> 1241 bytes .../graphics/block/weatherdotcom/23x23/28.png | Bin 0 -> 1545 bytes .../graphics/block/weatherdotcom/23x23/29.png | Bin 0 -> 1093 bytes .../graphics/block/weatherdotcom/23x23/3.png | Bin 0 -> 1158 bytes .../graphics/block/weatherdotcom/23x23/30.png | Bin 0 -> 1452 bytes .../graphics/block/weatherdotcom/23x23/31.png | Bin 0 -> 1050 bytes .../graphics/block/weatherdotcom/23x23/32.png | Bin 0 -> 1263 bytes .../graphics/block/weatherdotcom/23x23/33.png | Bin 0 -> 1063 bytes .../graphics/block/weatherdotcom/23x23/34.png | Bin 0 -> 1395 bytes .../graphics/block/weatherdotcom/23x23/35.png | Bin 0 -> 1148 bytes .../graphics/block/weatherdotcom/23x23/36.png | Bin 0 -> 1381 bytes .../graphics/block/weatherdotcom/23x23/37.png | Bin 0 -> 1086 bytes .../graphics/block/weatherdotcom/23x23/38.png | Bin 0 -> 1091 bytes .../graphics/block/weatherdotcom/23x23/39.png | Bin 0 -> 1216 bytes .../graphics/block/weatherdotcom/23x23/4.png | Bin 0 -> 1152 bytes .../graphics/block/weatherdotcom/23x23/40.png | Bin 0 -> 1198 bytes .../graphics/block/weatherdotcom/23x23/41.png | Bin 0 -> 1167 bytes .../graphics/block/weatherdotcom/23x23/42.png | Bin 0 -> 1163 bytes .../graphics/block/weatherdotcom/23x23/43.png | Bin 0 -> 1165 bytes .../graphics/block/weatherdotcom/23x23/44.png | Bin 0 -> 1452 bytes .../graphics/block/weatherdotcom/23x23/45.png | Bin 0 -> 1494 bytes .../graphics/block/weatherdotcom/23x23/46.png | Bin 0 -> 1457 bytes .../graphics/block/weatherdotcom/23x23/47.png | Bin 0 -> 1452 bytes .../graphics/block/weatherdotcom/23x23/5.png | Bin 0 -> 1216 bytes .../graphics/block/weatherdotcom/23x23/6.png | Bin 0 -> 1197 bytes .../graphics/block/weatherdotcom/23x23/7.png | Bin 0 -> 1276 bytes .../graphics/block/weatherdotcom/23x23/8.png | Bin 0 -> 1074 bytes .../graphics/block/weatherdotcom/23x23/9.png | Bin 0 -> 873 bytes .../graphics/block/weatherdotcom/23x23/na.png | Bin 0 -> 697 bytes .../graphics/block/weatherdotcom/32x32/0.png | Bin 0 -> 1064 bytes .../graphics/block/weatherdotcom/32x32/1.png | Bin 0 -> 1063 bytes .../graphics/block/weatherdotcom/32x32/10.png | Bin 0 -> 1048 bytes .../graphics/block/weatherdotcom/32x32/11.png | Bin 0 -> 1051 bytes .../graphics/block/weatherdotcom/32x32/12.png | Bin 0 -> 1087 bytes .../graphics/block/weatherdotcom/32x32/13.png | Bin 0 -> 960 bytes .../graphics/block/weatherdotcom/32x32/14.png | Bin 0 -> 1040 bytes .../graphics/block/weatherdotcom/32x32/15.png | Bin 0 -> 645 bytes .../graphics/block/weatherdotcom/32x32/16.png | Bin 0 -> 1104 bytes .../graphics/block/weatherdotcom/32x32/17.png | Bin 0 -> 1063 bytes .../graphics/block/weatherdotcom/32x32/18.png | Bin 0 -> 1077 bytes .../graphics/block/weatherdotcom/32x32/19.png | Bin 0 -> 1105 bytes .../graphics/block/weatherdotcom/32x32/2.png | Bin 0 -> 1063 bytes .../graphics/block/weatherdotcom/32x32/20.png | Bin 0 -> 1003 bytes .../graphics/block/weatherdotcom/32x32/21.png | Bin 0 -> 1011 bytes .../graphics/block/weatherdotcom/32x32/22.png | Bin 0 -> 995 bytes .../graphics/block/weatherdotcom/32x32/23.png | Bin 0 -> 824 bytes .../graphics/block/weatherdotcom/32x32/24.png | Bin 0 -> 824 bytes .../graphics/block/weatherdotcom/32x32/25.png | Bin 0 -> 976 bytes .../graphics/block/weatherdotcom/32x32/26.png | Bin 0 -> 1072 bytes .../graphics/block/weatherdotcom/32x32/27.png | Bin 0 -> 1198 bytes .../graphics/block/weatherdotcom/32x32/28.png | Bin 0 -> 1235 bytes .../graphics/block/weatherdotcom/32x32/29.png | Bin 0 -> 1162 bytes .../graphics/block/weatherdotcom/32x32/3.png | Bin 0 -> 1064 bytes .../graphics/block/weatherdotcom/32x32/30.png | Bin 0 -> 1210 bytes .../graphics/block/weatherdotcom/32x32/31.png | Bin 0 -> 1159 bytes .../graphics/block/weatherdotcom/32x32/32.png | Bin 0 -> 1167 bytes .../graphics/block/weatherdotcom/32x32/33.png | Bin 0 -> 1160 bytes .../graphics/block/weatherdotcom/32x32/34.png | Bin 0 -> 1190 bytes .../graphics/block/weatherdotcom/32x32/35.png | Bin 0 -> 1064 bytes .../graphics/block/weatherdotcom/32x32/36.png | Bin 0 -> 1175 bytes .../graphics/block/weatherdotcom/32x32/37.png | Bin 0 -> 1007 bytes .../graphics/block/weatherdotcom/32x32/38.png | Bin 0 -> 1010 bytes .../graphics/block/weatherdotcom/32x32/39.png | Bin 0 -> 1086 bytes .../graphics/block/weatherdotcom/32x32/4.png | Bin 0 -> 1064 bytes .../graphics/block/weatherdotcom/32x32/40.png | Bin 0 -> 1072 bytes .../graphics/block/weatherdotcom/32x32/41.png | Bin 0 -> 1105 bytes .../graphics/block/weatherdotcom/32x32/42.png | Bin 0 -> 1102 bytes .../graphics/block/weatherdotcom/32x32/43.png | Bin 0 -> 1161 bytes .../graphics/block/weatherdotcom/32x32/44.png | Bin 0 -> 1204 bytes .../graphics/block/weatherdotcom/32x32/45.png | Bin 0 -> 778 bytes .../graphics/block/weatherdotcom/32x32/46.png | Bin 0 -> 795 bytes .../graphics/block/weatherdotcom/32x32/47.png | Bin 0 -> 781 bytes .../graphics/block/weatherdotcom/32x32/5.png | Bin 0 -> 1083 bytes .../graphics/block/weatherdotcom/32x32/6.png | Bin 0 -> 1072 bytes .../graphics/block/weatherdotcom/32x32/7.png | Bin 0 -> 1109 bytes .../graphics/block/weatherdotcom/32x32/8.png | Bin 0 -> 1017 bytes .../graphics/block/weatherdotcom/32x32/9.png | Bin 0 -> 993 bytes .../block/weatherdotcom/32x32/TWClogo_32px.png | Bin 0 -> 2373 bytes .../graphics/block/weatherdotcom/32x32/na.png | Bin 0 -> 994 bytes horde/themes/graphics/calendar.png | Bin 0 -> 368 bytes horde/themes/graphics/close.png | Bin 0 -> 235 bytes horde/themes/graphics/color-picker-cursor.gif | Bin 0 -> 70 bytes horde/themes/graphics/color-picker-palette.png | Bin 0 -> 85584 bytes horde/themes/graphics/color-picker-resize.gif | Bin 0 -> 205 bytes horde/themes/graphics/colorpicker.png | Bin 0 -> 765 bytes horde/themes/graphics/colorscale.png | Bin 0 -> 1801 bytes horde/themes/graphics/config.png | Bin 0 -> 180 bytes horde/themes/graphics/data.png | Bin 0 -> 594 bytes horde/themes/graphics/datatree.png | Bin 0 -> 354 bytes horde/themes/graphics/delete-small.png | Bin 0 -> 148 bytes horde/themes/graphics/delete.png | Bin 0 -> 788 bytes horde/themes/graphics/devel.png | Bin 0 -> 359 bytes horde/themes/graphics/download.png | Bin 0 -> 190 bytes horde/themes/graphics/edit-small.png | Bin 0 -> 199 bytes horde/themes/graphics/edit.png | Bin 0 -> 585 bytes horde/themes/graphics/emoticons/angel.png | Bin 0 -> 332 bytes horde/themes/graphics/emoticons/angelwink.png | Bin 0 -> 377 bytes horde/themes/graphics/emoticons/angry.png | Bin 0 -> 551 bytes horde/themes/graphics/emoticons/annoyed.png | Bin 0 -> 353 bytes horde/themes/graphics/emoticons/asleep.png | Bin 0 -> 247 bytes horde/themes/graphics/emoticons/bigfrown.png | Bin 0 -> 429 bytes horde/themes/graphics/emoticons/biggrin.png | Bin 0 -> 467 bytes horde/themes/graphics/emoticons/blush.png | Bin 0 -> 413 bytes horde/themes/graphics/emoticons/clown.png | Bin 0 -> 717 bytes horde/themes/graphics/emoticons/confused.png | Bin 0 -> 312 bytes horde/themes/graphics/emoticons/cool.png | Bin 0 -> 445 bytes horde/themes/graphics/emoticons/coolgrin.png | Bin 0 -> 512 bytes horde/themes/graphics/emoticons/cooltongue.png | Bin 0 -> 521 bytes horde/themes/graphics/emoticons/dazed.png | Bin 0 -> 509 bytes horde/themes/graphics/emoticons/devil.png | Bin 0 -> 557 bytes horde/themes/graphics/emoticons/deviltongue.png | Bin 0 -> 514 bytes horde/themes/graphics/emoticons/disappointed.png | Bin 0 -> 342 bytes horde/themes/graphics/emoticons/embarrassed.png | Bin 0 -> 507 bytes horde/themes/graphics/emoticons/enraged.png | Bin 0 -> 506 bytes horde/themes/graphics/emoticons/frown.png | Bin 0 -> 296 bytes horde/themes/graphics/emoticons/frustrated.png | Bin 0 -> 321 bytes horde/themes/graphics/emoticons/grin.png | Bin 0 -> 366 bytes horde/themes/graphics/emoticons/hangover.png | Bin 0 -> 388 bytes horde/themes/graphics/emoticons/hippie.png | Bin 0 -> 408 bytes horde/themes/graphics/emoticons/hippiegrin.png | Bin 0 -> 478 bytes horde/themes/graphics/emoticons/hippietongue.png | Bin 0 -> 478 bytes horde/themes/graphics/emoticons/hurt.png | Bin 0 -> 408 bytes horde/themes/graphics/emoticons/indifferent.png | Bin 0 -> 248 bytes horde/themes/graphics/emoticons/love.png | Bin 0 -> 466 bytes horde/themes/graphics/emoticons/mad.png | Bin 0 -> 355 bytes horde/themes/graphics/emoticons/mrt.png | Bin 0 -> 716 bytes horde/themes/graphics/emoticons/punk.png | Bin 0 -> 461 bytes horde/themes/graphics/emoticons/punkmohawk.png | Bin 0 -> 722 bytes horde/themes/graphics/emoticons/punktongue.png | Bin 0 -> 526 bytes horde/themes/graphics/emoticons/raspberry.png | Bin 0 -> 434 bytes horde/themes/graphics/emoticons/sad.png | Bin 0 -> 385 bytes horde/themes/graphics/emoticons/shout.png | Bin 0 -> 427 bytes horde/themes/graphics/emoticons/smile.png | Bin 0 -> 309 bytes horde/themes/graphics/emoticons/tired.png | Bin 0 -> 244 bytes horde/themes/graphics/emoticons/tongueout.png | Bin 0 -> 377 bytes horde/themes/graphics/emoticons/vampire.png | Bin 0 -> 377 bytes horde/themes/graphics/emoticons/wink.png | Bin 0 -> 358 bytes horde/themes/graphics/emoticons/winkgrin.png | Bin 0 -> 427 bytes horde/themes/graphics/emoticons/winktongue.png | Bin 0 -> 425 bytes horde/themes/graphics/emoticons/winktongueout.png | Bin 0 -> 428 bytes horde/themes/graphics/emoticons/worried.png | Bin 0 -> 357 bytes horde/themes/graphics/external.png | Bin 0 -> 162 bytes horde/themes/graphics/favicon.ico | Bin 0 -> 1150 bytes horde/themes/graphics/feed.png | Bin 0 -> 612 bytes horde/themes/graphics/flags/ad.png | Bin 0 -> 643 bytes horde/themes/graphics/flags/ae.png | Bin 0 -> 408 bytes horde/themes/graphics/flags/af.png | Bin 0 -> 604 bytes horde/themes/graphics/flags/ag.png | Bin 0 -> 591 bytes horde/themes/graphics/flags/ai.png | Bin 0 -> 643 bytes horde/themes/graphics/flags/al.png | Bin 0 -> 600 bytes horde/themes/graphics/flags/am.png | Bin 0 -> 497 bytes horde/themes/graphics/flags/an.png | Bin 0 -> 488 bytes horde/themes/graphics/flags/ao.png | Bin 0 -> 428 bytes horde/themes/graphics/flags/ar.png | Bin 0 -> 506 bytes horde/themes/graphics/flags/as.png | Bin 0 -> 647 bytes horde/themes/graphics/flags/at.png | Bin 0 -> 403 bytes horde/themes/graphics/flags/au.png | Bin 0 -> 673 bytes horde/themes/graphics/flags/aw.png | Bin 0 -> 524 bytes horde/themes/graphics/flags/ax.png | Bin 0 -> 663 bytes horde/themes/graphics/flags/az.png | Bin 0 -> 589 bytes horde/themes/graphics/flags/ba.png | Bin 0 -> 593 bytes horde/themes/graphics/flags/bb.png | Bin 0 -> 585 bytes horde/themes/graphics/flags/bd.png | Bin 0 -> 504 bytes horde/themes/graphics/flags/be.png | Bin 0 -> 449 bytes horde/themes/graphics/flags/bf.png | Bin 0 -> 497 bytes horde/themes/graphics/flags/bg.png | Bin 0 -> 462 bytes horde/themes/graphics/flags/bh.png | Bin 0 -> 457 bytes horde/themes/graphics/flags/bi.png | Bin 0 -> 675 bytes horde/themes/graphics/flags/bj.png | Bin 0 -> 486 bytes horde/themes/graphics/flags/bm.png | Bin 0 -> 611 bytes horde/themes/graphics/flags/bn.png | Bin 0 -> 639 bytes horde/themes/graphics/flags/bo.png | Bin 0 -> 500 bytes horde/themes/graphics/flags/br.png | Bin 0 -> 593 bytes horde/themes/graphics/flags/bs.png | Bin 0 -> 526 bytes horde/themes/graphics/flags/bt.png | Bin 0 -> 631 bytes horde/themes/graphics/flags/bv.png | Bin 0 -> 512 bytes horde/themes/graphics/flags/bw.png | Bin 0 -> 443 bytes horde/themes/graphics/flags/by.png | Bin 0 -> 514 bytes horde/themes/graphics/flags/bz.png | Bin 0 -> 600 bytes horde/themes/graphics/flags/ca.png | Bin 0 -> 628 bytes horde/themes/graphics/flags/cc.png | Bin 0 -> 625 bytes horde/themes/graphics/flags/cd.png | Bin 0 -> 528 bytes horde/themes/graphics/flags/cf.png | Bin 0 -> 614 bytes horde/themes/graphics/flags/cg.png | Bin 0 -> 521 bytes horde/themes/graphics/flags/ch.png | Bin 0 -> 367 bytes horde/themes/graphics/flags/ci.png | Bin 0 -> 453 bytes horde/themes/graphics/flags/ck.png | Bin 0 -> 586 bytes horde/themes/graphics/flags/cl.png | Bin 0 -> 450 bytes horde/themes/graphics/flags/cm.png | Bin 0 -> 525 bytes horde/themes/graphics/flags/cn.png | Bin 0 -> 472 bytes horde/themes/graphics/flags/co.png | Bin 0 -> 483 bytes horde/themes/graphics/flags/cr.png | Bin 0 -> 477 bytes horde/themes/graphics/flags/cs.png | Bin 0 -> 439 bytes horde/themes/graphics/flags/cu.png | Bin 0 -> 563 bytes horde/themes/graphics/flags/cv.png | Bin 0 -> 529 bytes horde/themes/graphics/flags/cx.png | Bin 0 -> 608 bytes horde/themes/graphics/flags/cy.png | Bin 0 -> 428 bytes horde/themes/graphics/flags/cz.png | Bin 0 -> 476 bytes horde/themes/graphics/flags/de.png | Bin 0 -> 545 bytes horde/themes/graphics/flags/dj.png | Bin 0 -> 572 bytes horde/themes/graphics/flags/dk.png | Bin 0 -> 495 bytes horde/themes/graphics/flags/dm.png | Bin 0 -> 620 bytes horde/themes/graphics/flags/do.png | Bin 0 -> 508 bytes horde/themes/graphics/flags/dz.png | Bin 0 -> 582 bytes horde/themes/graphics/flags/ec.png | Bin 0 -> 500 bytes horde/themes/graphics/flags/ee.png | Bin 0 -> 429 bytes horde/themes/graphics/flags/eg.png | Bin 0 -> 465 bytes horde/themes/graphics/flags/eh.png | Bin 0 -> 508 bytes horde/themes/graphics/flags/er.png | Bin 0 -> 653 bytes horde/themes/graphics/flags/es.png | Bin 0 -> 469 bytes horde/themes/graphics/flags/et.png | Bin 0 -> 592 bytes horde/themes/graphics/flags/eu.png | Bin 0 -> 479 bytes horde/themes/graphics/flags/fam.png | Bin 0 -> 532 bytes horde/themes/graphics/flags/fi.png | Bin 0 -> 489 bytes horde/themes/graphics/flags/fj.png | Bin 0 -> 610 bytes horde/themes/graphics/flags/fk.png | Bin 0 -> 648 bytes horde/themes/graphics/flags/fm.png | Bin 0 -> 552 bytes horde/themes/graphics/flags/fo.png | Bin 0 -> 474 bytes horde/themes/graphics/flags/fr.png | Bin 0 -> 545 bytes horde/themes/graphics/flags/ga.png | Bin 0 -> 489 bytes horde/themes/graphics/flags/gb.png | Bin 0 -> 599 bytes horde/themes/graphics/flags/gd.png | Bin 0 -> 637 bytes horde/themes/graphics/flags/ge.png | Bin 0 -> 594 bytes horde/themes/graphics/flags/gf.png | Bin 0 -> 545 bytes horde/themes/graphics/flags/gh.png | Bin 0 -> 490 bytes horde/themes/graphics/flags/gi.png | Bin 0 -> 463 bytes horde/themes/graphics/flags/gl.png | Bin 0 -> 470 bytes horde/themes/graphics/flags/gm.png | Bin 0 -> 493 bytes horde/themes/graphics/flags/gn.png | Bin 0 -> 480 bytes horde/themes/graphics/flags/gp.png | Bin 0 -> 488 bytes horde/themes/graphics/flags/gq.png | Bin 0 -> 537 bytes horde/themes/graphics/flags/gr.png | Bin 0 -> 487 bytes horde/themes/graphics/flags/gs.png | Bin 0 -> 630 bytes horde/themes/graphics/flags/gt.png | Bin 0 -> 493 bytes horde/themes/graphics/flags/gu.png | Bin 0 -> 509 bytes horde/themes/graphics/flags/gw.png | Bin 0 -> 516 bytes horde/themes/graphics/flags/gy.png | Bin 0 -> 645 bytes horde/themes/graphics/flags/hk.png | Bin 0 -> 527 bytes horde/themes/graphics/flags/hm.png | Bin 0 -> 673 bytes horde/themes/graphics/flags/hn.png | Bin 0 -> 537 bytes horde/themes/graphics/flags/hr.png | Bin 0 -> 524 bytes horde/themes/graphics/flags/ht.png | Bin 0 -> 487 bytes horde/themes/graphics/flags/hu.png | Bin 0 -> 432 bytes horde/themes/graphics/flags/id.png | Bin 0 -> 430 bytes horde/themes/graphics/flags/ie.png | Bin 0 -> 481 bytes horde/themes/graphics/flags/il.png | Bin 0 -> 431 bytes horde/themes/graphics/flags/in.png | Bin 0 -> 503 bytes horde/themes/graphics/flags/io.png | Bin 0 -> 658 bytes horde/themes/graphics/flags/iq.png | Bin 0 -> 515 bytes horde/themes/graphics/flags/ir.png | Bin 0 -> 512 bytes horde/themes/graphics/flags/is.png | Bin 0 -> 532 bytes horde/themes/graphics/flags/it.png | Bin 0 -> 420 bytes horde/themes/graphics/flags/jm.png | Bin 0 -> 637 bytes horde/themes/graphics/flags/jo.png | Bin 0 -> 473 bytes horde/themes/graphics/flags/jp.png | Bin 0 -> 420 bytes horde/themes/graphics/flags/ke.png | Bin 0 -> 569 bytes horde/themes/graphics/flags/kg.png | Bin 0 -> 510 bytes horde/themes/graphics/flags/kh.png | Bin 0 -> 549 bytes horde/themes/graphics/flags/ki.png | Bin 0 -> 656 bytes horde/themes/graphics/flags/km.png | Bin 0 -> 577 bytes horde/themes/graphics/flags/kn.png | Bin 0 -> 604 bytes horde/themes/graphics/flags/kp.png | Bin 0 -> 561 bytes horde/themes/graphics/flags/kr.png | Bin 0 -> 592 bytes horde/themes/graphics/flags/kw.png | Bin 0 -> 486 bytes horde/themes/graphics/flags/ky.png | Bin 0 -> 643 bytes horde/themes/graphics/flags/kz.png | Bin 0 -> 616 bytes horde/themes/graphics/flags/la.png | Bin 0 -> 563 bytes horde/themes/graphics/flags/lb.png | Bin 0 -> 517 bytes horde/themes/graphics/flags/lc.png | Bin 0 -> 520 bytes horde/themes/graphics/flags/li.png | Bin 0 -> 537 bytes horde/themes/graphics/flags/lk.png | Bin 0 -> 627 bytes horde/themes/graphics/flags/lr.png | Bin 0 -> 466 bytes horde/themes/graphics/flags/ls.png | Bin 0 -> 628 bytes horde/themes/graphics/flags/lt.png | Bin 0 -> 508 bytes horde/themes/graphics/flags/lu.png | Bin 0 -> 481 bytes horde/themes/graphics/flags/lv.png | Bin 0 -> 465 bytes horde/themes/graphics/flags/ly.png | Bin 0 -> 419 bytes horde/themes/graphics/flags/ma.png | Bin 0 -> 432 bytes horde/themes/graphics/flags/mc.png | Bin 0 -> 380 bytes horde/themes/graphics/flags/md.png | Bin 0 -> 566 bytes horde/themes/graphics/flags/me.png | Bin 0 -> 448 bytes horde/themes/graphics/flags/mg.png | Bin 0 -> 453 bytes horde/themes/graphics/flags/mh.png | Bin 0 -> 628 bytes horde/themes/graphics/flags/mk.png | Bin 0 -> 664 bytes horde/themes/graphics/flags/ml.png | Bin 0 -> 474 bytes horde/themes/graphics/flags/mm.png | Bin 0 -> 483 bytes horde/themes/graphics/flags/mn.png | Bin 0 -> 492 bytes horde/themes/graphics/flags/mo.png | Bin 0 -> 588 bytes horde/themes/graphics/flags/mp.png | Bin 0 -> 597 bytes horde/themes/graphics/flags/mq.png | Bin 0 -> 655 bytes horde/themes/graphics/flags/mr.png | Bin 0 -> 569 bytes horde/themes/graphics/flags/ms.png | Bin 0 -> 614 bytes horde/themes/graphics/flags/mt.png | Bin 0 -> 420 bytes horde/themes/graphics/flags/mu.png | Bin 0 -> 496 bytes horde/themes/graphics/flags/mv.png | Bin 0 -> 542 bytes horde/themes/graphics/flags/mw.png | Bin 0 -> 529 bytes horde/themes/graphics/flags/mx.png | Bin 0 -> 574 bytes horde/themes/graphics/flags/my.png | Bin 0 -> 571 bytes horde/themes/graphics/flags/mz.png | Bin 0 -> 584 bytes horde/themes/graphics/flags/na.png | Bin 0 -> 647 bytes horde/themes/graphics/flags/nc.png | Bin 0 -> 591 bytes horde/themes/graphics/flags/ne.png | Bin 0 -> 537 bytes horde/themes/graphics/flags/nf.png | Bin 0 -> 602 bytes horde/themes/graphics/flags/ng.png | Bin 0 -> 482 bytes horde/themes/graphics/flags/ni.png | Bin 0 -> 508 bytes horde/themes/graphics/flags/nl.png | Bin 0 -> 453 bytes horde/themes/graphics/flags/no.png | Bin 0 -> 512 bytes horde/themes/graphics/flags/np.png | Bin 0 -> 443 bytes horde/themes/graphics/flags/nr.png | Bin 0 -> 527 bytes horde/themes/graphics/flags/nu.png | Bin 0 -> 572 bytes horde/themes/graphics/flags/nz.png | Bin 0 -> 639 bytes horde/themes/graphics/flags/om.png | Bin 0 -> 478 bytes horde/themes/graphics/flags/pa.png | Bin 0 -> 519 bytes horde/themes/graphics/flags/pe.png | Bin 0 -> 397 bytes horde/themes/graphics/flags/pf.png | Bin 0 -> 498 bytes horde/themes/graphics/flags/pg.png | Bin 0 -> 593 bytes horde/themes/graphics/flags/ph.png | Bin 0 -> 538 bytes horde/themes/graphics/flags/pk.png | Bin 0 -> 569 bytes horde/themes/graphics/flags/pl.png | Bin 0 -> 374 bytes horde/themes/graphics/flags/pm.png | Bin 0 -> 689 bytes horde/themes/graphics/flags/pn.png | Bin 0 -> 657 bytes horde/themes/graphics/flags/pr.png | Bin 0 -> 556 bytes horde/themes/graphics/flags/ps.png | Bin 0 -> 472 bytes horde/themes/graphics/flags/pt.png | Bin 0 -> 554 bytes horde/themes/graphics/flags/pw.png | Bin 0 -> 550 bytes horde/themes/graphics/flags/py.png | Bin 0 -> 473 bytes horde/themes/graphics/flags/qa.png | Bin 0 -> 450 bytes horde/themes/graphics/flags/re.png | Bin 0 -> 545 bytes horde/themes/graphics/flags/ro.png | Bin 0 -> 495 bytes horde/themes/graphics/flags/rs.png | Bin 0 -> 423 bytes horde/themes/graphics/flags/ru.png | Bin 0 -> 420 bytes horde/themes/graphics/flags/rw.png | Bin 0 -> 533 bytes horde/themes/graphics/flags/sa.png | Bin 0 -> 551 bytes horde/themes/graphics/flags/sb.png | Bin 0 -> 624 bytes horde/themes/graphics/flags/sc.png | Bin 0 -> 608 bytes horde/themes/graphics/flags/scotland.png | Bin 0 -> 649 bytes horde/themes/graphics/flags/sd.png | Bin 0 -> 492 bytes horde/themes/graphics/flags/se.png | Bin 0 -> 542 bytes horde/themes/graphics/flags/sg.png | Bin 0 -> 468 bytes horde/themes/graphics/flags/sh.png | Bin 0 -> 645 bytes horde/themes/graphics/flags/si.png | Bin 0 -> 510 bytes horde/themes/graphics/flags/sj.png | Bin 0 -> 512 bytes horde/themes/graphics/flags/sk.png | Bin 0 -> 562 bytes horde/themes/graphics/flags/sl.png | Bin 0 -> 436 bytes horde/themes/graphics/flags/sm.png | Bin 0 -> 502 bytes horde/themes/graphics/flags/sn.png | Bin 0 -> 532 bytes horde/themes/graphics/flags/so.png | Bin 0 -> 527 bytes horde/themes/graphics/flags/sr.png | Bin 0 -> 513 bytes horde/themes/graphics/flags/st.png | Bin 0 -> 584 bytes horde/themes/graphics/flags/sv.png | Bin 0 -> 501 bytes horde/themes/graphics/flags/sy.png | Bin 0 -> 422 bytes horde/themes/graphics/flags/sz.png | Bin 0 -> 643 bytes horde/themes/graphics/flags/tc.png | Bin 0 -> 624 bytes horde/themes/graphics/flags/td.png | Bin 0 -> 570 bytes horde/themes/graphics/flags/tf.png | Bin 0 -> 527 bytes horde/themes/graphics/flags/tg.png | Bin 0 -> 562 bytes horde/themes/graphics/flags/th.png | Bin 0 -> 452 bytes horde/themes/graphics/flags/tj.png | Bin 0 -> 496 bytes horde/themes/graphics/flags/tk.png | Bin 0 -> 638 bytes horde/themes/graphics/flags/tl.png | Bin 0 -> 514 bytes horde/themes/graphics/flags/tm.png | Bin 0 -> 593 bytes horde/themes/graphics/flags/tn.png | Bin 0 -> 495 bytes horde/themes/graphics/flags/to.png | Bin 0 -> 426 bytes horde/themes/graphics/flags/tp.png | Bin 0 -> 737 bytes horde/themes/graphics/flags/tr.png | Bin 0 -> 492 bytes horde/themes/graphics/flags/tt.png | Bin 0 -> 617 bytes horde/themes/graphics/flags/tv.png | Bin 0 -> 536 bytes horde/themes/graphics/flags/tw.png | Bin 0 -> 465 bytes horde/themes/graphics/flags/tz.png | Bin 0 -> 642 bytes horde/themes/graphics/flags/ua.png | Bin 0 -> 446 bytes horde/themes/graphics/flags/ug.png | Bin 0 -> 531 bytes horde/themes/graphics/flags/uk.png | Bin 0 -> 599 bytes horde/themes/graphics/flags/um.png | Bin 0 -> 571 bytes horde/themes/graphics/flags/us.png | Bin 0 -> 609 bytes horde/themes/graphics/flags/uy.png | Bin 0 -> 532 bytes horde/themes/graphics/flags/uz.png | Bin 0 -> 515 bytes horde/themes/graphics/flags/va.png | Bin 0 -> 553 bytes horde/themes/graphics/flags/vc.png | Bin 0 -> 577 bytes horde/themes/graphics/flags/ve.png | Bin 0 -> 528 bytes horde/themes/graphics/flags/vg.png | Bin 0 -> 630 bytes horde/themes/graphics/flags/vi.png | Bin 0 -> 616 bytes horde/themes/graphics/flags/vn.png | Bin 0 -> 474 bytes horde/themes/graphics/flags/vu.png | Bin 0 -> 604 bytes horde/themes/graphics/flags/wales.png | Bin 0 -> 652 bytes horde/themes/graphics/flags/wf.png | Bin 0 -> 554 bytes horde/themes/graphics/flags/ws.png | Bin 0 -> 476 bytes horde/themes/graphics/flags/ye.png | Bin 0 -> 413 bytes horde/themes/graphics/flags/yt.png | Bin 0 -> 593 bytes horde/themes/graphics/flags/yu.png | Bin 0 -> 712 bytes horde/themes/graphics/flags/za.png | Bin 0 -> 642 bytes horde/themes/graphics/flags/zm.png | Bin 0 -> 500 bytes horde/themes/graphics/flags/zw.png | Bin 0 -> 574 bytes horde/themes/graphics/google.png | Bin 0 -> 1565 bytes horde/themes/graphics/group.png | Bin 0 -> 757 bytes horde/themes/graphics/help.png | Bin 0 -> 695 bytes horde/themes/graphics/help_index.png | Bin 0 -> 584 bytes horde/themes/graphics/hide_panel.png | Bin 0 -> 419 bytes horde/themes/graphics/horde-power1.png | Bin 0 -> 2259 bytes horde/themes/graphics/horde-power2.png | Bin 0 -> 1551 bytes horde/themes/graphics/horde-power3.png | Bin 0 -> 2725 bytes horde/themes/graphics/horde.png | Bin 0 -> 488 bytes horde/themes/graphics/image/crop.png | Bin 0 -> 172 bytes horde/themes/graphics/image/flip.png | Bin 0 -> 223 bytes horde/themes/graphics/image/grayscale.png | Bin 0 -> 238 bytes horde/themes/graphics/image/mirror.png | Bin 0 -> 212 bytes horde/themes/graphics/image/ratio.png | Bin 0 -> 256 bytes horde/themes/graphics/image/refresh.png | Bin 0 -> 254 bytes horde/themes/graphics/image/rotate-180.png | Bin 0 -> 317 bytes horde/themes/graphics/image/rotate-270.png | Bin 0 -> 230 bytes horde/themes/graphics/image/rotate-90.png | Bin 0 -> 252 bytes horde/themes/graphics/info.png | Bin 0 -> 304 bytes horde/themes/graphics/info_icon.png | Bin 0 -> 477 bytes horde/themes/graphics/keyboard.png | Bin 0 -> 197 bytes horde/themes/graphics/layout.png | Bin 0 -> 261 bytes horde/themes/graphics/lhand.png | Bin 0 -> 221 bytes horde/themes/graphics/loading.gif | Bin 0 -> 1737 bytes horde/themes/graphics/locked.png | Bin 0 -> 505 bytes horde/themes/graphics/login.png | Bin 0 -> 463 bytes horde/themes/graphics/logout.png | Bin 0 -> 385 bytes horde/themes/graphics/map.png | Bin 0 -> 354 bytes horde/themes/graphics/map/marker-blue.png | Bin 0 -> 992 bytes horde/themes/graphics/map/marker-gold.png | Bin 0 -> 831 bytes horde/themes/graphics/map/marker-green.png | Bin 0 -> 967 bytes horde/themes/graphics/map/marker-shadow.png | Bin 0 -> 374 bytes horde/themes/graphics/map/marker.png | Bin 0 -> 606 bytes horde/themes/graphics/map_eu.png | Bin 0 -> 767 bytes horde/themes/graphics/mime/audio.png | Bin 0 -> 209 bytes horde/themes/graphics/mime/binary.png | Bin 0 -> 325 bytes horde/themes/graphics/mime/compressed.png | Bin 0 -> 1244 bytes horde/themes/graphics/mime/deb.png | Bin 0 -> 453 bytes horde/themes/graphics/mime/encryption.png | Bin 0 -> 505 bytes horde/themes/graphics/mime/html.png | Bin 0 -> 603 bytes horde/themes/graphics/mime/icalendar.png | Bin 0 -> 376 bytes horde/themes/graphics/mime/image.png | Bin 0 -> 236 bytes horde/themes/graphics/mime/mail.png | Bin 0 -> 597 bytes horde/themes/graphics/mime/msexcel.png | Bin 0 -> 199 bytes horde/themes/graphics/mime/mspowerpoint.png | Bin 0 -> 506 bytes horde/themes/graphics/mime/msword.png | Bin 0 -> 204 bytes horde/themes/graphics/mime/ooo_calc.png | Bin 0 -> 172 bytes horde/themes/graphics/mime/ooo_draw.png | Bin 0 -> 233 bytes horde/themes/graphics/mime/ooo_impress.png | Bin 0 -> 191 bytes horde/themes/graphics/mime/ooo_math.png | Bin 0 -> 166 bytes horde/themes/graphics/mime/ooo_writer.png | Bin 0 -> 170 bytes horde/themes/graphics/mime/pdf.png | Bin 0 -> 1191 bytes horde/themes/graphics/mime/php.png | Bin 0 -> 300 bytes horde/themes/graphics/mime/rpm.png | Bin 0 -> 765 bytes horde/themes/graphics/mime/script-js.png | Bin 0 -> 199 bytes horde/themes/graphics/mime/source-c.png | Bin 0 -> 174 bytes horde/themes/graphics/mime/source-cpp.png | Bin 0 -> 178 bytes horde/themes/graphics/mime/source-h.png | Bin 0 -> 168 bytes horde/themes/graphics/mime/source-java.png | Bin 0 -> 338 bytes horde/themes/graphics/mime/source-python.png | Bin 0 -> 353 bytes horde/themes/graphics/mime/text.png | Bin 0 -> 152 bytes horde/themes/graphics/mime/vcard.png | Bin 0 -> 331 bytes horde/themes/graphics/mime/video.png | Bin 0 -> 178 bytes horde/themes/graphics/mime/wordperfect.png | Bin 0 -> 3831 bytes horde/themes/graphics/mime/xml.png | Bin 0 -> 224 bytes horde/themes/graphics/minus.png | Bin 0 -> 203 bytes horde/themes/graphics/mobile.png | Bin 0 -> 486 bytes horde/themes/graphics/mobile/bottom.jpg | Bin 0 -> 15540 bytes horde/themes/graphics/mobile/display.jpg | Bin 0 -> 1421 bytes horde/themes/graphics/mobile/left.jpg | Bin 0 -> 1560 bytes horde/themes/graphics/mobile/right.jpg | Bin 0 -> 1568 bytes horde/themes/graphics/mobile/top.jpg | Bin 0 -> 4213 bytes horde/themes/graphics/myaccount.png | Bin 0 -> 797 bytes horde/themes/graphics/nav/bottom-grey.png | Bin 0 -> 257 bytes horde/themes/graphics/nav/bottom.png | Bin 0 -> 261 bytes horde/themes/graphics/nav/down-grey.png | Bin 0 -> 296 bytes horde/themes/graphics/nav/down.png | Bin 0 -> 242 bytes horde/themes/graphics/nav/first-grey.png | Bin 0 -> 309 bytes horde/themes/graphics/nav/first.png | Bin 0 -> 271 bytes horde/themes/graphics/nav/last-grey.png | Bin 0 -> 263 bytes horde/themes/graphics/nav/last.png | Bin 0 -> 267 bytes horde/themes/graphics/nav/left-grey.png | Bin 0 -> 290 bytes horde/themes/graphics/nav/left.png | Bin 0 -> 245 bytes horde/themes/graphics/nav/right-grey.png | Bin 0 -> 295 bytes horde/themes/graphics/nav/right.png | Bin 0 -> 244 bytes horde/themes/graphics/nav/top-grey.png | Bin 0 -> 299 bytes horde/themes/graphics/nav/top.png | Bin 0 -> 263 bytes horde/themes/graphics/nav/up-grey.png | Bin 0 -> 289 bytes horde/themes/graphics/nav/up.png | Bin 0 -> 246 bytes horde/themes/graphics/office.png | Bin 0 -> 703 bytes horde/themes/graphics/organizing.png | Bin 0 -> 571 bytes horde/themes/graphics/perms.png | Bin 0 -> 273 bytes horde/themes/graphics/phone.png | Bin 0 -> 473 bytes horde/themes/graphics/plus.png | Bin 0 -> 229 bytes horde/themes/graphics/prefs.png | Bin 0 -> 333 bytes horde/themes/graphics/print.png | Bin 0 -> 537 bytes horde/themes/graphics/problem.png | Bin 0 -> 124 bytes horde/themes/graphics/redbox_spinner.gif | Bin 0 -> 6820 bytes horde/themes/graphics/reload.png | Bin 0 -> 264 bytes horde/themes/graphics/required.png | Bin 0 -> 118 bytes horde/themes/graphics/rhand.png | Bin 0 -> 222 bytes horde/themes/graphics/save.png | Bin 0 -> 498 bytes horde/themes/graphics/search.png | Bin 0 -> 795 bytes horde/themes/graphics/shadow.gif | Bin 0 -> 3557 bytes horde/themes/graphics/shadow.png | Bin 0 -> 2734 bytes horde/themes/graphics/shell.png | Bin 0 -> 371 bytes horde/themes/graphics/show_panel.png | Bin 0 -> 404 bytes horde/themes/graphics/sql.png | Bin 0 -> 240 bytes horde/themes/graphics/tab_bottom.gif | Bin 0 -> 37 bytes horde/themes/graphics/tree/blank.png | Bin 0 -> 150 bytes horde/themes/graphics/tree/folder.png | Bin 0 -> 1144 bytes horde/themes/graphics/tree/folderopen.png | Bin 0 -> 1118 bytes horde/themes/graphics/tree/join.png | Bin 0 -> 177 bytes horde/themes/graphics/tree/joinbottom-down.png | Bin 0 -> 111 bytes horde/themes/graphics/tree/joinbottom.png | Bin 0 -> 180 bytes horde/themes/graphics/tree/leaf.png | Bin 0 -> 152 bytes horde/themes/graphics/tree/line.png | Bin 0 -> 173 bytes horde/themes/graphics/tree/minus.png | Bin 0 -> 211 bytes horde/themes/graphics/tree/minusbottom.png | Bin 0 -> 208 bytes horde/themes/graphics/tree/minusonly.png | Bin 0 -> 206 bytes horde/themes/graphics/tree/minustop.png | Bin 0 -> 212 bytes horde/themes/graphics/tree/nullonly.png | Bin 0 -> 201 bytes horde/themes/graphics/tree/plus.png | Bin 0 -> 213 bytes horde/themes/graphics/tree/plusbottom.png | Bin 0 -> 214 bytes horde/themes/graphics/tree/plusonly.png | Bin 0 -> 213 bytes horde/themes/graphics/tree/plustop.png | Bin 0 -> 215 bytes horde/themes/graphics/tree/rev-join.png | Bin 0 -> 112 bytes horde/themes/graphics/tree/rev-joinbottom-down.png | Bin 0 -> 111 bytes horde/themes/graphics/tree/rev-joinbottom.png | Bin 0 -> 113 bytes horde/themes/graphics/tree/rev-leaf.png | Bin 0 -> 152 bytes horde/themes/graphics/tree/rev-line.png | Bin 0 -> 108 bytes horde/themes/graphics/tree/rev-minus.png | Bin 0 -> 133 bytes horde/themes/graphics/tree/rev-minusbottom.png | Bin 0 -> 134 bytes horde/themes/graphics/tree/rev-minusonly.png | Bin 0 -> 126 bytes horde/themes/graphics/tree/rev-minustop.png | Bin 0 -> 130 bytes horde/themes/graphics/tree/rev-nullonly.png | Bin 0 -> 125 bytes horde/themes/graphics/tree/rev-plus.png | Bin 0 -> 137 bytes horde/themes/graphics/tree/rev-plusbottom.png | Bin 0 -> 139 bytes horde/themes/graphics/tree/rev-plusonly.png | Bin 0 -> 131 bytes horde/themes/graphics/tree/rev-plustop.png | Bin 0 -> 135 bytes horde/themes/graphics/unlocked.png | Bin 0 -> 448 bytes horde/themes/graphics/user.png | Bin 0 -> 797 bytes horde/themes/graphics/website.png | Bin 0 -> 882 bytes horde/themes/graphics/za.png | Bin 0 -> 119 bytes horde/themes/green/info.php | 2 + horde/themes/green/screen.css | 88 + horde/themes/grey/info.php | 2 + horde/themes/grey/screen.css | 90 + horde/themes/hi-contrast/info.php | 3 + horde/themes/hi-contrast/screen.css | 73 + .../themes/hordeweb/graphics/horde-halfgear-ie.png | Bin 0 -> 2135 bytes horde/themes/hordeweb/graphics/horde-halfgear.png | Bin 0 -> 3713 bytes horde/themes/hordeweb/ie6_or_less.css | 3 + horde/themes/hordeweb/info.php | 2 + horde/themes/hordeweb/screen.css | 183 + horde/themes/ideas/graphics/background.png | Bin 0 -> 131589 bytes horde/themes/ideas/graphics/left_menu_bottom.png | Bin 0 -> 3573 bytes horde/themes/ideas/graphics/left_menu_top.png | Bin 0 -> 483 bytes horde/themes/ideas/graphics/menu_top.png | Bin 0 -> 90 bytes horde/themes/ideas/info.php | 2 + horde/themes/ideas/screen.css | 250 + horde/themes/ie5mac.css | 23 + horde/themes/ie6_or_less.css | 21 + horde/themes/kolab/graphics/bg.png | Bin 0 -> 87 bytes horde/themes/kolab/graphics/kolab.png | Bin 0 -> 4651 bytes horde/themes/kolab/graphics/kolablogo.png | Bin 0 -> 2451 bytes horde/themes/kolab/info.php | 7 + horde/themes/kolab/screen.css | 81 + horde/themes/lavander/info.php | 2 + horde/themes/lavander/screen.css | 77 + horde/themes/lightblue/graphics/menu.png | Bin 0 -> 95 bytes horde/themes/lightblue/info.php | 2 + horde/themes/lightblue/screen.css | 44 + horde/themes/luc/graphics/currentTab_left.gif | Bin 0 -> 351 bytes horde/themes/luc/graphics/currentTab_right.gif | Bin 0 -> 1291 bytes horde/themes/luc/graphics/tab_bottom.gif | Bin 0 -> 129 bytes horde/themes/luc/graphics/tab_left.gif | Bin 0 -> 372 bytes horde/themes/luc/graphics/tab_right.gif | Bin 0 -> 1446 bytes horde/themes/luc/info.php | 2 + horde/themes/luc/screen.css | 189 + horde/themes/lucblue/info.php | 2 + horde/themes/lucblue/screen.css | 144 + horde/themes/mobile/screen.css | 35 + horde/themes/mozilla/graphics/header.png | Bin 0 -> 154 bytes horde/themes/mozilla/graphics/menu-active.png | Bin 0 -> 127 bytes horde/themes/mozilla/graphics/menu.png | Bin 0 -> 198 bytes horde/themes/mozilla/info.php | 2 + horde/themes/mozilla/screen.css | 94 + horde/themes/opera.css | 13 + horde/themes/postnuke/info.php | 2 + horde/themes/postnuke/screen.css | 85 + horde/themes/purple/info.php | 2 + horde/themes/purple/screen.css | 145 + horde/themes/rtl.css | 173 + horde/themes/screen.css | 1139 + horde/themes/silver/graphics/about.png | Bin 0 -> 670 bytes horde/themes/silver/graphics/add_group.png | Bin 0 -> 807 bytes horde/themes/silver/graphics/add_perm.png | Bin 0 -> 703 bytes horde/themes/silver/graphics/administration.png | Bin 0 -> 700 bytes horde/themes/silver/graphics/alerts/alarm.png | Bin 0 -> 789 bytes horde/themes/silver/graphics/alerts/error.png | Bin 0 -> 701 bytes horde/themes/silver/graphics/alerts/message.png | Bin 0 -> 778 bytes horde/themes/silver/graphics/alerts/success.png | Bin 0 -> 781 bytes horde/themes/silver/graphics/alerts/warning.png | Bin 0 -> 666 bytes horde/themes/silver/graphics/avatars/alien.jpg | Bin 0 -> 5268 bytes horde/themes/silver/graphics/avatars/aly.jpg | Bin 0 -> 4133 bytes horde/themes/silver/graphics/avatars/angryboy.gif | Bin 0 -> 1669 bytes horde/themes/silver/graphics/avatars/ape.jpg | Bin 0 -> 4488 bytes horde/themes/silver/graphics/avatars/au.jpg | Bin 0 -> 3229 bytes horde/themes/silver/graphics/avatars/baby.gif | Bin 0 -> 1255 bytes horde/themes/silver/graphics/avatars/barbarian.jpg | Bin 0 -> 4711 bytes horde/themes/silver/graphics/avatars/bart.gif | Bin 0 -> 1138 bytes horde/themes/silver/graphics/avatars/batman.gif | Bin 0 -> 1100 bytes horde/themes/silver/graphics/avatars/bert.jpg | Bin 0 -> 4034 bytes horde/themes/silver/graphics/avatars/bert2.jpg | Bin 0 -> 4328 bytes horde/themes/silver/graphics/avatars/bobafett.gif | Bin 0 -> 1152 bytes horde/themes/silver/graphics/avatars/boo.jpg | Bin 0 -> 4580 bytes .../themes/silver/graphics/avatars/boyandmower.gif | Bin 0 -> 1666 bytes horde/themes/silver/graphics/avatars/boyandpc.gif | Bin 0 -> 1257 bytes horde/themes/silver/graphics/avatars/bret.jpg | Bin 0 -> 5127 bytes horde/themes/silver/graphics/avatars/bunny.gif | Bin 0 -> 1139 bytes .../silver/graphics/avatars/charlie_brown.gif | Bin 0 -> 1089 bytes horde/themes/silver/graphics/avatars/clown.jpg | Bin 0 -> 9994 bytes horde/themes/silver/graphics/avatars/cocky.jpg | Bin 0 -> 4017 bytes horde/themes/silver/graphics/avatars/devil.gif | Bin 0 -> 1685 bytes horde/themes/silver/graphics/avatars/digimon.gif | Bin 0 -> 2048 bytes horde/themes/silver/graphics/avatars/dilbert.gif | Bin 0 -> 1029 bytes horde/themes/silver/graphics/avatars/dino.gif | Bin 0 -> 1145 bytes horde/themes/silver/graphics/avatars/dog.gif | Bin 0 -> 1094 bytes horde/themes/silver/graphics/avatars/duck.gif | Bin 0 -> 1118 bytes horde/themes/silver/graphics/avatars/einstein.jpg | Bin 0 -> 4661 bytes horde/themes/silver/graphics/avatars/elmerfudd.gif | Bin 0 -> 1219 bytes horde/themes/silver/graphics/avatars/elmo.jpg | Bin 0 -> 3169 bytes horde/themes/silver/graphics/avatars/evil.jpg | Bin 0 -> 3716 bytes horde/themes/silver/graphics/avatars/female1.jpg | Bin 0 -> 4584 bytes horde/themes/silver/graphics/avatars/female2.jpg | Bin 0 -> 9325 bytes horde/themes/silver/graphics/avatars/franc.jpg | Bin 0 -> 5564 bytes .../silver/graphics/avatars/fredflinstone.gif | Bin 0 -> 1248 bytes horde/themes/silver/graphics/avatars/garfield.gif | Bin 0 -> 1220 bytes horde/themes/silver/graphics/avatars/gopher.gif | Bin 0 -> 1252 bytes horde/themes/silver/graphics/avatars/greenhead.gif | Bin 0 -> 2450 bytes horde/themes/silver/graphics/avatars/gremlin.jpg | Bin 0 -> 4508 bytes horde/themes/silver/graphics/avatars/grover.jpg | Bin 0 -> 3669 bytes horde/themes/silver/graphics/avatars/homer.gif | Bin 0 -> 1112 bytes horde/themes/silver/graphics/avatars/hump.jpg | Bin 0 -> 4769 bytes .../themes/silver/graphics/avatars/iceskatekid.gif | Bin 0 -> 1596 bytes horde/themes/silver/graphics/avatars/jeri.jpg | Bin 0 -> 3884 bytes horde/themes/silver/graphics/avatars/kid.gif | Bin 0 -> 1535 bytes horde/themes/silver/graphics/avatars/kirk.jpg | Bin 0 -> 5360 bytes horde/themes/silver/graphics/avatars/kryton.jpg | Bin 0 -> 4190 bytes horde/themes/silver/graphics/avatars/linux.gif | Bin 0 -> 1952 bytes horde/themes/silver/graphics/avatars/lisa.gif | Bin 0 -> 1094 bytes horde/themes/silver/graphics/avatars/lovebird.gif | Bin 0 -> 1208 bytes horde/themes/silver/graphics/avatars/male1.jpg | Bin 0 -> 3771 bytes horde/themes/silver/graphics/avatars/male2.jpg | Bin 0 -> 3902 bytes horde/themes/silver/graphics/avatars/man.jpg | Bin 0 -> 3692 bytes horde/themes/silver/graphics/avatars/marge.gif | Bin 0 -> 1135 bytes horde/themes/silver/graphics/avatars/maul.gif | Bin 0 -> 1047 bytes horde/themes/silver/graphics/avatars/melon.jpg | Bin 0 -> 4747 bytes horde/themes/silver/graphics/avatars/mib.gif | Bin 0 -> 1070 bytes horde/themes/silver/graphics/avatars/monkey.jpg | Bin 0 -> 8399 bytes horde/themes/silver/graphics/avatars/neo.jpg | Bin 0 -> 4054 bytes horde/themes/silver/graphics/avatars/ninja.jpg | Bin 0 -> 1226 bytes .../silver/graphics/avatars/paintingbird.gif | Bin 0 -> 1179 bytes horde/themes/silver/graphics/avatars/picard.jpg | Bin 0 -> 4047 bytes horde/themes/silver/graphics/avatars/puff.jpg | Bin 0 -> 3990 bytes .../themes/silver/graphics/avatars/redcreature.gif | Bin 0 -> 1813 bytes horde/themes/silver/graphics/avatars/rei.jpg | Bin 0 -> 4541 bytes horde/themes/silver/graphics/avatars/rei2.jpg | Bin 0 -> 5065 bytes horde/themes/silver/graphics/avatars/ryu.gif | Bin 0 -> 1592 bytes horde/themes/silver/graphics/avatars/sexy.gif | Bin 0 -> 1137 bytes horde/themes/silver/graphics/avatars/smiley.gif | Bin 0 -> 1104 bytes horde/themes/silver/graphics/avatars/smurfs.gif | Bin 0 -> 1089 bytes horde/themes/silver/graphics/avatars/sonic.gif | Bin 0 -> 1142 bytes horde/themes/silver/graphics/avatars/speedy.gif | Bin 0 -> 1252 bytes horde/themes/silver/graphics/avatars/stan.jpg | Bin 0 -> 3942 bytes horde/themes/silver/graphics/avatars/superman.gif | Bin 0 -> 1046 bytes horde/themes/silver/graphics/avatars/sylvester.gif | Bin 0 -> 1396 bytes horde/themes/silver/graphics/avatars/thomas.gif | Bin 0 -> 1185 bytes horde/themes/silver/graphics/avatars/tigger.gif | Bin 0 -> 1228 bytes horde/themes/silver/graphics/avatars/trin.jpg | Bin 0 -> 4394 bytes horde/themes/silver/graphics/avatars/us.jpg | Bin 0 -> 4945 bytes horde/themes/silver/graphics/avatars/vampire.jpg | Bin 0 -> 4231 bytes horde/themes/silver/graphics/avatars/vampire2.jpg | Bin 0 -> 3767 bytes horde/themes/silver/graphics/avatars/wacko.gif | Bin 0 -> 1157 bytes horde/themes/silver/graphics/avatars/winnie.gif | Bin 0 -> 1066 bytes horde/themes/silver/graphics/avatars/wizard.jpg | Bin 0 -> 4924 bytes horde/themes/silver/graphics/avatars/wolverine.jpg | Bin 0 -> 5039 bytes horde/themes/silver/graphics/avatars/woman.jpg | Bin 0 -> 3831 bytes horde/themes/silver/graphics/avatars/woodie.jpg | Bin 0 -> 4416 bytes horde/themes/silver/graphics/avatars/xena.gif | Bin 0 -> 1148 bytes horde/themes/silver/graphics/az.png | Bin 0 -> 302 bytes horde/themes/silver/graphics/blank.gif | Bin 0 -> 42 bytes horde/themes/silver/graphics/block.png | Bin 0 -> 452 bytes horde/themes/silver/graphics/block/down.png | Bin 0 -> 966 bytes horde/themes/silver/graphics/block/large_down.png | Bin 0 -> 981 bytes horde/themes/silver/graphics/block/large_left.png | Bin 0 -> 975 bytes horde/themes/silver/graphics/block/large_right.png | Bin 0 -> 975 bytes horde/themes/silver/graphics/block/large_up.png | Bin 0 -> 975 bytes horde/themes/silver/graphics/block/left.png | Bin 0 -> 969 bytes .../silver/graphics/block/moon/firstquarter.png | Bin 0 -> 1901 bytes .../themes/silver/graphics/block/moon/fullmoon.png | Bin 0 -> 1977 bytes .../silver/graphics/block/moon/lastquarter.png | Bin 0 -> 1926 bytes .../themes/silver/graphics/block/moon/newmoon.png | Bin 0 -> 1747 bytes horde/themes/silver/graphics/block/right.png | Bin 0 -> 968 bytes .../silver/graphics/block/sunrise/sunrise.png | Bin 0 -> 279 bytes .../silver/graphics/block/sunrise/sunset.png | Bin 0 -> 277 bytes horde/themes/silver/graphics/block/up.png | Bin 0 -> 969 bytes .../graphics/block/weatherdotcom/23x23/0.png | Bin 0 -> 1143 bytes .../graphics/block/weatherdotcom/23x23/1.png | Bin 0 -> 1173 bytes .../graphics/block/weatherdotcom/23x23/10.png | Bin 0 -> 1150 bytes .../graphics/block/weatherdotcom/23x23/11.png | Bin 0 -> 1205 bytes .../graphics/block/weatherdotcom/23x23/12.png | Bin 0 -> 1221 bytes .../graphics/block/weatherdotcom/23x23/13.png | Bin 0 -> 869 bytes .../graphics/block/weatherdotcom/23x23/14.png | Bin 0 -> 1035 bytes .../graphics/block/weatherdotcom/23x23/15.png | Bin 0 -> 449 bytes .../graphics/block/weatherdotcom/23x23/16.png | Bin 0 -> 1164 bytes .../graphics/block/weatherdotcom/23x23/17.png | Bin 0 -> 1154 bytes .../graphics/block/weatherdotcom/23x23/18.png | Bin 0 -> 1202 bytes .../graphics/block/weatherdotcom/23x23/19.png | Bin 0 -> 1080 bytes .../graphics/block/weatherdotcom/23x23/2.png | Bin 0 -> 1179 bytes .../graphics/block/weatherdotcom/23x23/20.png | Bin 0 -> 870 bytes .../graphics/block/weatherdotcom/23x23/21.png | Bin 0 -> 999 bytes .../graphics/block/weatherdotcom/23x23/22.png | Bin 0 -> 931 bytes .../graphics/block/weatherdotcom/23x23/23.png | Bin 0 -> 593 bytes .../graphics/block/weatherdotcom/23x23/24.png | Bin 0 -> 590 bytes .../graphics/block/weatherdotcom/23x23/25.png | Bin 0 -> 1035 bytes .../graphics/block/weatherdotcom/23x23/26.png | Bin 0 -> 1101 bytes .../graphics/block/weatherdotcom/23x23/27.png | Bin 0 -> 1241 bytes .../graphics/block/weatherdotcom/23x23/28.png | Bin 0 -> 1545 bytes .../graphics/block/weatherdotcom/23x23/29.png | Bin 0 -> 1093 bytes .../graphics/block/weatherdotcom/23x23/3.png | Bin 0 -> 1158 bytes .../graphics/block/weatherdotcom/23x23/30.png | Bin 0 -> 1452 bytes .../graphics/block/weatherdotcom/23x23/31.png | Bin 0 -> 1050 bytes .../graphics/block/weatherdotcom/23x23/32.png | Bin 0 -> 1263 bytes .../graphics/block/weatherdotcom/23x23/33.png | Bin 0 -> 1063 bytes .../graphics/block/weatherdotcom/23x23/34.png | Bin 0 -> 1395 bytes .../graphics/block/weatherdotcom/23x23/35.png | Bin 0 -> 1148 bytes .../graphics/block/weatherdotcom/23x23/36.png | Bin 0 -> 1381 bytes .../graphics/block/weatherdotcom/23x23/37.png | Bin 0 -> 1086 bytes .../graphics/block/weatherdotcom/23x23/38.png | Bin 0 -> 1091 bytes .../graphics/block/weatherdotcom/23x23/39.png | Bin 0 -> 1216 bytes .../graphics/block/weatherdotcom/23x23/4.png | Bin 0 -> 1152 bytes .../graphics/block/weatherdotcom/23x23/40.png | Bin 0 -> 1198 bytes .../graphics/block/weatherdotcom/23x23/41.png | Bin 0 -> 1167 bytes .../graphics/block/weatherdotcom/23x23/42.png | Bin 0 -> 1163 bytes .../graphics/block/weatherdotcom/23x23/43.png | Bin 0 -> 1165 bytes .../graphics/block/weatherdotcom/23x23/44.png | Bin 0 -> 1452 bytes .../graphics/block/weatherdotcom/23x23/45.png | Bin 0 -> 1494 bytes .../graphics/block/weatherdotcom/23x23/46.png | Bin 0 -> 1457 bytes .../graphics/block/weatherdotcom/23x23/47.png | Bin 0 -> 1452 bytes .../graphics/block/weatherdotcom/23x23/5.png | Bin 0 -> 1216 bytes .../graphics/block/weatherdotcom/23x23/6.png | Bin 0 -> 1197 bytes .../graphics/block/weatherdotcom/23x23/7.png | Bin 0 -> 1276 bytes .../graphics/block/weatherdotcom/23x23/8.png | Bin 0 -> 1074 bytes .../graphics/block/weatherdotcom/23x23/9.png | Bin 0 -> 873 bytes .../graphics/block/weatherdotcom/23x23/na.png | Bin 0 -> 697 bytes .../graphics/block/weatherdotcom/32x32/0.png | Bin 0 -> 1064 bytes .../graphics/block/weatherdotcom/32x32/1.png | Bin 0 -> 1063 bytes .../graphics/block/weatherdotcom/32x32/10.png | Bin 0 -> 1048 bytes .../graphics/block/weatherdotcom/32x32/11.png | Bin 0 -> 1051 bytes .../graphics/block/weatherdotcom/32x32/12.png | Bin 0 -> 1087 bytes .../graphics/block/weatherdotcom/32x32/13.png | Bin 0 -> 960 bytes .../graphics/block/weatherdotcom/32x32/14.png | Bin 0 -> 1040 bytes .../graphics/block/weatherdotcom/32x32/15.png | Bin 0 -> 645 bytes .../graphics/block/weatherdotcom/32x32/16.png | Bin 0 -> 1104 bytes .../graphics/block/weatherdotcom/32x32/17.png | Bin 0 -> 1063 bytes .../graphics/block/weatherdotcom/32x32/18.png | Bin 0 -> 1077 bytes .../graphics/block/weatherdotcom/32x32/19.png | Bin 0 -> 1105 bytes .../graphics/block/weatherdotcom/32x32/2.png | Bin 0 -> 1063 bytes .../graphics/block/weatherdotcom/32x32/20.png | Bin 0 -> 1003 bytes .../graphics/block/weatherdotcom/32x32/21.png | Bin 0 -> 1011 bytes .../graphics/block/weatherdotcom/32x32/22.png | Bin 0 -> 995 bytes .../graphics/block/weatherdotcom/32x32/23.png | Bin 0 -> 824 bytes .../graphics/block/weatherdotcom/32x32/24.png | Bin 0 -> 824 bytes .../graphics/block/weatherdotcom/32x32/25.png | Bin 0 -> 976 bytes .../graphics/block/weatherdotcom/32x32/26.png | Bin 0 -> 1072 bytes .../graphics/block/weatherdotcom/32x32/27.png | Bin 0 -> 1198 bytes .../graphics/block/weatherdotcom/32x32/28.png | Bin 0 -> 1235 bytes .../graphics/block/weatherdotcom/32x32/29.png | Bin 0 -> 1162 bytes .../graphics/block/weatherdotcom/32x32/3.png | Bin 0 -> 1064 bytes .../graphics/block/weatherdotcom/32x32/30.png | Bin 0 -> 1210 bytes .../graphics/block/weatherdotcom/32x32/31.png | Bin 0 -> 1159 bytes .../graphics/block/weatherdotcom/32x32/32.png | Bin 0 -> 1167 bytes .../graphics/block/weatherdotcom/32x32/33.png | Bin 0 -> 1160 bytes .../graphics/block/weatherdotcom/32x32/34.png | Bin 0 -> 1190 bytes .../graphics/block/weatherdotcom/32x32/35.png | Bin 0 -> 1064 bytes .../graphics/block/weatherdotcom/32x32/36.png | Bin 0 -> 1175 bytes .../graphics/block/weatherdotcom/32x32/37.png | Bin 0 -> 1007 bytes .../graphics/block/weatherdotcom/32x32/38.png | Bin 0 -> 1010 bytes .../graphics/block/weatherdotcom/32x32/39.png | Bin 0 -> 1086 bytes .../graphics/block/weatherdotcom/32x32/4.png | Bin 0 -> 1064 bytes .../graphics/block/weatherdotcom/32x32/40.png | Bin 0 -> 1072 bytes .../graphics/block/weatherdotcom/32x32/41.png | Bin 0 -> 1105 bytes .../graphics/block/weatherdotcom/32x32/42.png | Bin 0 -> 1102 bytes .../graphics/block/weatherdotcom/32x32/43.png | Bin 0 -> 1161 bytes .../graphics/block/weatherdotcom/32x32/44.png | Bin 0 -> 1204 bytes .../graphics/block/weatherdotcom/32x32/45.png | Bin 0 -> 778 bytes .../graphics/block/weatherdotcom/32x32/46.png | Bin 0 -> 795 bytes .../graphics/block/weatherdotcom/32x32/47.png | Bin 0 -> 781 bytes .../graphics/block/weatherdotcom/32x32/5.png | Bin 0 -> 1083 bytes .../graphics/block/weatherdotcom/32x32/6.png | Bin 0 -> 1072 bytes .../graphics/block/weatherdotcom/32x32/7.png | Bin 0 -> 1109 bytes .../graphics/block/weatherdotcom/32x32/8.png | Bin 0 -> 1017 bytes .../graphics/block/weatherdotcom/32x32/9.png | Bin 0 -> 993 bytes .../block/weatherdotcom/32x32/TWClogo_32px.png | Bin 0 -> 2373 bytes .../graphics/block/weatherdotcom/32x32/na.png | Bin 0 -> 994 bytes horde/themes/silver/graphics/calendar.png | Bin 0 -> 626 bytes horde/themes/silver/graphics/close.png | Bin 0 -> 655 bytes .../themes/silver/graphics/color-picker-cursor.gif | Bin 0 -> 70 bytes .../silver/graphics/color-picker-palette.png | Bin 0 -> 85584 bytes .../themes/silver/graphics/color-picker-resize.gif | Bin 0 -> 205 bytes horde/themes/silver/graphics/colorpicker.png | Bin 0 -> 892 bytes horde/themes/silver/graphics/colorscale.png | Bin 0 -> 1810 bytes horde/themes/silver/graphics/config.png | Bin 0 -> 584 bytes horde/themes/silver/graphics/currentTab_left.png | Bin 0 -> 161 bytes horde/themes/silver/graphics/currentTab_right.png | Bin 0 -> 371 bytes horde/themes/silver/graphics/data.png | Bin 0 -> 755 bytes horde/themes/silver/graphics/datatree.png | Bin 0 -> 444 bytes horde/themes/silver/graphics/delete-small.png | Bin 0 -> 27068 bytes horde/themes/silver/graphics/delete.png | Bin 0 -> 363 bytes horde/themes/silver/graphics/devel.png | Bin 0 -> 512 bytes horde/themes/silver/graphics/download.png | Bin 0 -> 620 bytes horde/themes/silver/graphics/edit-small.png | Bin 0 -> 405 bytes horde/themes/silver/graphics/edit.png | Bin 0 -> 807 bytes horde/themes/silver/graphics/emoticons/angel.png | Bin 0 -> 382 bytes .../themes/silver/graphics/emoticons/angelwink.png | Bin 0 -> 496 bytes horde/themes/silver/graphics/emoticons/angry.png | Bin 0 -> 750 bytes horde/themes/silver/graphics/emoticons/annoyed.png | Bin 0 -> 531 bytes horde/themes/silver/graphics/emoticons/asleep.png | Bin 0 -> 247 bytes .../themes/silver/graphics/emoticons/bigfrown.png | Bin 0 -> 509 bytes horde/themes/silver/graphics/emoticons/biggrin.png | Bin 0 -> 525 bytes horde/themes/silver/graphics/emoticons/blush.png | Bin 0 -> 501 bytes horde/themes/silver/graphics/emoticons/clown.png | Bin 0 -> 847 bytes .../themes/silver/graphics/emoticons/confused.png | Bin 0 -> 367 bytes horde/themes/silver/graphics/emoticons/cool.png | Bin 0 -> 514 bytes .../themes/silver/graphics/emoticons/coolgrin.png | Bin 0 -> 733 bytes .../silver/graphics/emoticons/cooltongue.png | Bin 0 -> 736 bytes horde/themes/silver/graphics/emoticons/dazed.png | Bin 0 -> 544 bytes horde/themes/silver/graphics/emoticons/devil.png | Bin 0 -> 776 bytes .../silver/graphics/emoticons/deviltongue.png | Bin 0 -> 560 bytes .../silver/graphics/emoticons/disappointed.png | Bin 0 -> 522 bytes .../silver/graphics/emoticons/embarrassed.png | Bin 0 -> 543 bytes horde/themes/silver/graphics/emoticons/enraged.png | Bin 0 -> 540 bytes horde/themes/silver/graphics/emoticons/frown.png | Bin 0 -> 352 bytes .../silver/graphics/emoticons/frustrated.png | Bin 0 -> 369 bytes horde/themes/silver/graphics/emoticons/grin.png | Bin 0 -> 485 bytes .../themes/silver/graphics/emoticons/hangover.png | Bin 0 -> 488 bytes horde/themes/silver/graphics/emoticons/hippie.png | Bin 0 -> 497 bytes .../silver/graphics/emoticons/hippiegrin.png | Bin 0 -> 526 bytes .../silver/graphics/emoticons/hippietongue.png | Bin 0 -> 525 bytes horde/themes/silver/graphics/emoticons/hurt.png | Bin 0 -> 498 bytes .../silver/graphics/emoticons/indifferent.png | Bin 0 -> 248 bytes horde/themes/silver/graphics/emoticons/love.png | Bin 0 -> 543 bytes horde/themes/silver/graphics/emoticons/mad.png | Bin 0 -> 535 bytes horde/themes/silver/graphics/emoticons/mrt.png | Bin 0 -> 841 bytes horde/themes/silver/graphics/emoticons/punk.png | Bin 0 -> 521 bytes .../silver/graphics/emoticons/punkmohawk.png | Bin 0 -> 831 bytes .../silver/graphics/emoticons/punktongue.png | Bin 0 -> 739 bytes .../themes/silver/graphics/emoticons/raspberry.png | Bin 0 -> 507 bytes horde/themes/silver/graphics/emoticons/sad.png | Bin 0 -> 493 bytes horde/themes/silver/graphics/emoticons/shout.png | Bin 0 -> 511 bytes horde/themes/silver/graphics/emoticons/smile.png | Bin 0 -> 363 bytes horde/themes/silver/graphics/emoticons/tired.png | Bin 0 -> 244 bytes .../themes/silver/graphics/emoticons/tongueout.png | Bin 0 -> 483 bytes horde/themes/silver/graphics/emoticons/vampire.png | Bin 0 -> 489 bytes horde/themes/silver/graphics/emoticons/wink.png | Bin 0 -> 478 bytes .../themes/silver/graphics/emoticons/winkgrin.png | Bin 0 -> 509 bytes .../silver/graphics/emoticons/winktongue.png | Bin 0 -> 504 bytes .../silver/graphics/emoticons/winktongueout.png | Bin 0 -> 504 bytes horde/themes/silver/graphics/emoticons/worried.png | Bin 0 -> 484 bytes horde/themes/silver/graphics/external.png | Bin 0 -> 957 bytes horde/themes/silver/graphics/favicon.ico | Bin 0 -> 1150 bytes horde/themes/silver/graphics/feed.png | Bin 0 -> 691 bytes horde/themes/silver/graphics/flags/ad.png | Bin 0 -> 643 bytes horde/themes/silver/graphics/flags/ae.png | Bin 0 -> 408 bytes horde/themes/silver/graphics/flags/af.png | Bin 0 -> 604 bytes horde/themes/silver/graphics/flags/ag.png | Bin 0 -> 591 bytes horde/themes/silver/graphics/flags/ai.png | Bin 0 -> 643 bytes horde/themes/silver/graphics/flags/al.png | Bin 0 -> 600 bytes horde/themes/silver/graphics/flags/am.png | Bin 0 -> 497 bytes horde/themes/silver/graphics/flags/an.png | Bin 0 -> 488 bytes horde/themes/silver/graphics/flags/ao.png | Bin 0 -> 428 bytes horde/themes/silver/graphics/flags/ar.png | Bin 0 -> 506 bytes horde/themes/silver/graphics/flags/as.png | Bin 0 -> 647 bytes horde/themes/silver/graphics/flags/at.png | Bin 0 -> 403 bytes horde/themes/silver/graphics/flags/au.png | Bin 0 -> 673 bytes horde/themes/silver/graphics/flags/aw.png | Bin 0 -> 524 bytes horde/themes/silver/graphics/flags/ax.png | Bin 0 -> 663 bytes horde/themes/silver/graphics/flags/az.png | Bin 0 -> 589 bytes horde/themes/silver/graphics/flags/ba.png | Bin 0 -> 593 bytes horde/themes/silver/graphics/flags/bb.png | Bin 0 -> 585 bytes horde/themes/silver/graphics/flags/bd.png | Bin 0 -> 504 bytes horde/themes/silver/graphics/flags/be.png | Bin 0 -> 449 bytes horde/themes/silver/graphics/flags/bf.png | Bin 0 -> 497 bytes horde/themes/silver/graphics/flags/bg.png | Bin 0 -> 462 bytes horde/themes/silver/graphics/flags/bh.png | Bin 0 -> 457 bytes horde/themes/silver/graphics/flags/bi.png | Bin 0 -> 675 bytes horde/themes/silver/graphics/flags/bj.png | Bin 0 -> 486 bytes horde/themes/silver/graphics/flags/bm.png | Bin 0 -> 611 bytes horde/themes/silver/graphics/flags/bn.png | Bin 0 -> 639 bytes horde/themes/silver/graphics/flags/bo.png | Bin 0 -> 500 bytes horde/themes/silver/graphics/flags/br.png | Bin 0 -> 593 bytes horde/themes/silver/graphics/flags/bs.png | Bin 0 -> 526 bytes horde/themes/silver/graphics/flags/bt.png | Bin 0 -> 631 bytes horde/themes/silver/graphics/flags/bv.png | Bin 0 -> 512 bytes horde/themes/silver/graphics/flags/bw.png | Bin 0 -> 443 bytes horde/themes/silver/graphics/flags/by.png | Bin 0 -> 514 bytes horde/themes/silver/graphics/flags/bz.png | Bin 0 -> 600 bytes horde/themes/silver/graphics/flags/ca.png | Bin 0 -> 628 bytes horde/themes/silver/graphics/flags/cc.png | Bin 0 -> 625 bytes horde/themes/silver/graphics/flags/cd.png | Bin 0 -> 528 bytes horde/themes/silver/graphics/flags/cf.png | Bin 0 -> 614 bytes horde/themes/silver/graphics/flags/cg.png | Bin 0 -> 521 bytes horde/themes/silver/graphics/flags/ch.png | Bin 0 -> 367 bytes horde/themes/silver/graphics/flags/ci.png | Bin 0 -> 453 bytes horde/themes/silver/graphics/flags/ck.png | Bin 0 -> 586 bytes horde/themes/silver/graphics/flags/cl.png | Bin 0 -> 450 bytes horde/themes/silver/graphics/flags/cm.png | Bin 0 -> 525 bytes horde/themes/silver/graphics/flags/cn.png | Bin 0 -> 472 bytes horde/themes/silver/graphics/flags/co.png | Bin 0 -> 483 bytes horde/themes/silver/graphics/flags/cr.png | Bin 0 -> 477 bytes horde/themes/silver/graphics/flags/cs.png | Bin 0 -> 439 bytes horde/themes/silver/graphics/flags/cu.png | Bin 0 -> 563 bytes horde/themes/silver/graphics/flags/cv.png | Bin 0 -> 529 bytes horde/themes/silver/graphics/flags/cx.png | Bin 0 -> 608 bytes horde/themes/silver/graphics/flags/cy.png | Bin 0 -> 428 bytes horde/themes/silver/graphics/flags/cz.png | Bin 0 -> 476 bytes horde/themes/silver/graphics/flags/de.png | Bin 0 -> 545 bytes horde/themes/silver/graphics/flags/dj.png | Bin 0 -> 572 bytes horde/themes/silver/graphics/flags/dk.png | Bin 0 -> 495 bytes horde/themes/silver/graphics/flags/dm.png | Bin 0 -> 620 bytes horde/themes/silver/graphics/flags/do.png | Bin 0 -> 508 bytes horde/themes/silver/graphics/flags/dz.png | Bin 0 -> 582 bytes horde/themes/silver/graphics/flags/ec.png | Bin 0 -> 500 bytes horde/themes/silver/graphics/flags/ee.png | Bin 0 -> 429 bytes horde/themes/silver/graphics/flags/eg.png | Bin 0 -> 465 bytes horde/themes/silver/graphics/flags/eh.png | Bin 0 -> 508 bytes horde/themes/silver/graphics/flags/er.png | Bin 0 -> 653 bytes horde/themes/silver/graphics/flags/es.png | Bin 0 -> 469 bytes horde/themes/silver/graphics/flags/et.png | Bin 0 -> 592 bytes horde/themes/silver/graphics/flags/eu.png | Bin 0 -> 479 bytes horde/themes/silver/graphics/flags/fam.png | Bin 0 -> 532 bytes horde/themes/silver/graphics/flags/fi.png | Bin 0 -> 489 bytes horde/themes/silver/graphics/flags/fj.png | Bin 0 -> 610 bytes horde/themes/silver/graphics/flags/fk.png | Bin 0 -> 648 bytes horde/themes/silver/graphics/flags/fm.png | Bin 0 -> 552 bytes horde/themes/silver/graphics/flags/fo.png | Bin 0 -> 474 bytes horde/themes/silver/graphics/flags/fr.png | Bin 0 -> 545 bytes horde/themes/silver/graphics/flags/ga.png | Bin 0 -> 489 bytes horde/themes/silver/graphics/flags/gb.png | Bin 0 -> 599 bytes horde/themes/silver/graphics/flags/gd.png | Bin 0 -> 637 bytes horde/themes/silver/graphics/flags/ge.png | Bin 0 -> 594 bytes horde/themes/silver/graphics/flags/gf.png | Bin 0 -> 545 bytes horde/themes/silver/graphics/flags/gh.png | Bin 0 -> 490 bytes horde/themes/silver/graphics/flags/gi.png | Bin 0 -> 463 bytes horde/themes/silver/graphics/flags/gl.png | Bin 0 -> 470 bytes horde/themes/silver/graphics/flags/gm.png | Bin 0 -> 493 bytes horde/themes/silver/graphics/flags/gn.png | Bin 0 -> 480 bytes horde/themes/silver/graphics/flags/gp.png | Bin 0 -> 488 bytes horde/themes/silver/graphics/flags/gq.png | Bin 0 -> 537 bytes horde/themes/silver/graphics/flags/gr.png | Bin 0 -> 487 bytes horde/themes/silver/graphics/flags/gs.png | Bin 0 -> 630 bytes horde/themes/silver/graphics/flags/gt.png | Bin 0 -> 493 bytes horde/themes/silver/graphics/flags/gu.png | Bin 0 -> 509 bytes horde/themes/silver/graphics/flags/gw.png | Bin 0 -> 516 bytes horde/themes/silver/graphics/flags/gy.png | Bin 0 -> 645 bytes horde/themes/silver/graphics/flags/hk.png | Bin 0 -> 527 bytes horde/themes/silver/graphics/flags/hm.png | Bin 0 -> 673 bytes horde/themes/silver/graphics/flags/hn.png | Bin 0 -> 537 bytes horde/themes/silver/graphics/flags/hr.png | Bin 0 -> 524 bytes horde/themes/silver/graphics/flags/ht.png | Bin 0 -> 487 bytes horde/themes/silver/graphics/flags/hu.png | Bin 0 -> 432 bytes horde/themes/silver/graphics/flags/id.png | Bin 0 -> 430 bytes horde/themes/silver/graphics/flags/ie.png | Bin 0 -> 481 bytes horde/themes/silver/graphics/flags/il.png | Bin 0 -> 431 bytes horde/themes/silver/graphics/flags/in.png | Bin 0 -> 503 bytes horde/themes/silver/graphics/flags/io.png | Bin 0 -> 658 bytes horde/themes/silver/graphics/flags/iq.png | Bin 0 -> 515 bytes horde/themes/silver/graphics/flags/ir.png | Bin 0 -> 512 bytes horde/themes/silver/graphics/flags/is.png | Bin 0 -> 532 bytes horde/themes/silver/graphics/flags/it.png | Bin 0 -> 420 bytes horde/themes/silver/graphics/flags/jm.png | Bin 0 -> 637 bytes horde/themes/silver/graphics/flags/jo.png | Bin 0 -> 473 bytes horde/themes/silver/graphics/flags/jp.png | Bin 0 -> 420 bytes horde/themes/silver/graphics/flags/ke.png | Bin 0 -> 569 bytes horde/themes/silver/graphics/flags/kg.png | Bin 0 -> 510 bytes horde/themes/silver/graphics/flags/kh.png | Bin 0 -> 549 bytes horde/themes/silver/graphics/flags/ki.png | Bin 0 -> 656 bytes horde/themes/silver/graphics/flags/km.png | Bin 0 -> 577 bytes horde/themes/silver/graphics/flags/kn.png | Bin 0 -> 604 bytes horde/themes/silver/graphics/flags/kp.png | Bin 0 -> 561 bytes horde/themes/silver/graphics/flags/kr.png | Bin 0 -> 592 bytes horde/themes/silver/graphics/flags/kw.png | Bin 0 -> 486 bytes horde/themes/silver/graphics/flags/ky.png | Bin 0 -> 643 bytes horde/themes/silver/graphics/flags/kz.png | Bin 0 -> 616 bytes horde/themes/silver/graphics/flags/la.png | Bin 0 -> 563 bytes horde/themes/silver/graphics/flags/lb.png | Bin 0 -> 517 bytes horde/themes/silver/graphics/flags/lc.png | Bin 0 -> 520 bytes horde/themes/silver/graphics/flags/li.png | Bin 0 -> 537 bytes horde/themes/silver/graphics/flags/lk.png | Bin 0 -> 627 bytes horde/themes/silver/graphics/flags/lr.png | Bin 0 -> 466 bytes horde/themes/silver/graphics/flags/ls.png | Bin 0 -> 628 bytes horde/themes/silver/graphics/flags/lt.png | Bin 0 -> 508 bytes horde/themes/silver/graphics/flags/lu.png | Bin 0 -> 481 bytes horde/themes/silver/graphics/flags/lv.png | Bin 0 -> 465 bytes horde/themes/silver/graphics/flags/ly.png | Bin 0 -> 419 bytes horde/themes/silver/graphics/flags/ma.png | Bin 0 -> 432 bytes horde/themes/silver/graphics/flags/mc.png | Bin 0 -> 380 bytes horde/themes/silver/graphics/flags/md.png | Bin 0 -> 566 bytes horde/themes/silver/graphics/flags/me.png | Bin 0 -> 448 bytes horde/themes/silver/graphics/flags/mg.png | Bin 0 -> 453 bytes horde/themes/silver/graphics/flags/mh.png | Bin 0 -> 628 bytes horde/themes/silver/graphics/flags/mk.png | Bin 0 -> 664 bytes horde/themes/silver/graphics/flags/ml.png | Bin 0 -> 474 bytes horde/themes/silver/graphics/flags/mm.png | Bin 0 -> 483 bytes horde/themes/silver/graphics/flags/mn.png | Bin 0 -> 492 bytes horde/themes/silver/graphics/flags/mo.png | Bin 0 -> 588 bytes horde/themes/silver/graphics/flags/mp.png | Bin 0 -> 597 bytes horde/themes/silver/graphics/flags/mq.png | Bin 0 -> 655 bytes horde/themes/silver/graphics/flags/mr.png | Bin 0 -> 569 bytes horde/themes/silver/graphics/flags/ms.png | Bin 0 -> 614 bytes horde/themes/silver/graphics/flags/mt.png | Bin 0 -> 420 bytes horde/themes/silver/graphics/flags/mu.png | Bin 0 -> 496 bytes horde/themes/silver/graphics/flags/mv.png | Bin 0 -> 542 bytes horde/themes/silver/graphics/flags/mw.png | Bin 0 -> 529 bytes horde/themes/silver/graphics/flags/mx.png | Bin 0 -> 574 bytes horde/themes/silver/graphics/flags/my.png | Bin 0 -> 571 bytes horde/themes/silver/graphics/flags/mz.png | Bin 0 -> 584 bytes horde/themes/silver/graphics/flags/na.png | Bin 0 -> 647 bytes horde/themes/silver/graphics/flags/nc.png | Bin 0 -> 591 bytes horde/themes/silver/graphics/flags/ne.png | Bin 0 -> 537 bytes horde/themes/silver/graphics/flags/nf.png | Bin 0 -> 602 bytes horde/themes/silver/graphics/flags/ng.png | Bin 0 -> 482 bytes horde/themes/silver/graphics/flags/ni.png | Bin 0 -> 508 bytes horde/themes/silver/graphics/flags/nl.png | Bin 0 -> 453 bytes horde/themes/silver/graphics/flags/no.png | Bin 0 -> 512 bytes horde/themes/silver/graphics/flags/np.png | Bin 0 -> 443 bytes horde/themes/silver/graphics/flags/nr.png | Bin 0 -> 527 bytes horde/themes/silver/graphics/flags/nu.png | Bin 0 -> 572 bytes horde/themes/silver/graphics/flags/nz.png | Bin 0 -> 639 bytes horde/themes/silver/graphics/flags/om.png | Bin 0 -> 478 bytes horde/themes/silver/graphics/flags/pa.png | Bin 0 -> 519 bytes horde/themes/silver/graphics/flags/pe.png | Bin 0 -> 397 bytes horde/themes/silver/graphics/flags/pf.png | Bin 0 -> 498 bytes horde/themes/silver/graphics/flags/pg.png | Bin 0 -> 593 bytes horde/themes/silver/graphics/flags/ph.png | Bin 0 -> 538 bytes horde/themes/silver/graphics/flags/pk.png | Bin 0 -> 569 bytes horde/themes/silver/graphics/flags/pl.png | Bin 0 -> 374 bytes horde/themes/silver/graphics/flags/pm.png | Bin 0 -> 689 bytes horde/themes/silver/graphics/flags/pn.png | Bin 0 -> 657 bytes horde/themes/silver/graphics/flags/pr.png | Bin 0 -> 556 bytes horde/themes/silver/graphics/flags/ps.png | Bin 0 -> 472 bytes horde/themes/silver/graphics/flags/pt.png | Bin 0 -> 554 bytes horde/themes/silver/graphics/flags/pw.png | Bin 0 -> 550 bytes horde/themes/silver/graphics/flags/py.png | Bin 0 -> 473 bytes horde/themes/silver/graphics/flags/qa.png | Bin 0 -> 450 bytes horde/themes/silver/graphics/flags/re.png | Bin 0 -> 545 bytes horde/themes/silver/graphics/flags/ro.png | Bin 0 -> 495 bytes horde/themes/silver/graphics/flags/rs.png | Bin 0 -> 423 bytes horde/themes/silver/graphics/flags/ru.png | Bin 0 -> 420 bytes horde/themes/silver/graphics/flags/rw.png | Bin 0 -> 533 bytes horde/themes/silver/graphics/flags/sa.png | Bin 0 -> 551 bytes horde/themes/silver/graphics/flags/sb.png | Bin 0 -> 624 bytes horde/themes/silver/graphics/flags/sc.png | Bin 0 -> 608 bytes horde/themes/silver/graphics/flags/scotland.png | Bin 0 -> 649 bytes horde/themes/silver/graphics/flags/sd.png | Bin 0 -> 492 bytes horde/themes/silver/graphics/flags/se.png | Bin 0 -> 542 bytes horde/themes/silver/graphics/flags/sg.png | Bin 0 -> 468 bytes horde/themes/silver/graphics/flags/sh.png | Bin 0 -> 645 bytes horde/themes/silver/graphics/flags/si.png | Bin 0 -> 510 bytes horde/themes/silver/graphics/flags/sj.png | Bin 0 -> 512 bytes horde/themes/silver/graphics/flags/sk.png | Bin 0 -> 562 bytes horde/themes/silver/graphics/flags/sl.png | Bin 0 -> 436 bytes horde/themes/silver/graphics/flags/sm.png | Bin 0 -> 502 bytes horde/themes/silver/graphics/flags/sn.png | Bin 0 -> 532 bytes horde/themes/silver/graphics/flags/so.png | Bin 0 -> 527 bytes horde/themes/silver/graphics/flags/sr.png | Bin 0 -> 513 bytes horde/themes/silver/graphics/flags/st.png | Bin 0 -> 584 bytes horde/themes/silver/graphics/flags/sv.png | Bin 0 -> 501 bytes horde/themes/silver/graphics/flags/sy.png | Bin 0 -> 422 bytes horde/themes/silver/graphics/flags/sz.png | Bin 0 -> 643 bytes horde/themes/silver/graphics/flags/tc.png | Bin 0 -> 624 bytes horde/themes/silver/graphics/flags/td.png | Bin 0 -> 570 bytes horde/themes/silver/graphics/flags/tf.png | Bin 0 -> 527 bytes horde/themes/silver/graphics/flags/tg.png | Bin 0 -> 562 bytes horde/themes/silver/graphics/flags/th.png | Bin 0 -> 452 bytes horde/themes/silver/graphics/flags/tj.png | Bin 0 -> 496 bytes horde/themes/silver/graphics/flags/tk.png | Bin 0 -> 638 bytes horde/themes/silver/graphics/flags/tl.png | Bin 0 -> 514 bytes horde/themes/silver/graphics/flags/tm.png | Bin 0 -> 593 bytes horde/themes/silver/graphics/flags/tn.png | Bin 0 -> 495 bytes horde/themes/silver/graphics/flags/to.png | Bin 0 -> 426 bytes horde/themes/silver/graphics/flags/tp.png | Bin 0 -> 737 bytes horde/themes/silver/graphics/flags/tr.png | Bin 0 -> 492 bytes horde/themes/silver/graphics/flags/tt.png | Bin 0 -> 617 bytes horde/themes/silver/graphics/flags/tv.png | Bin 0 -> 536 bytes horde/themes/silver/graphics/flags/tw.png | Bin 0 -> 465 bytes horde/themes/silver/graphics/flags/tz.png | Bin 0 -> 642 bytes horde/themes/silver/graphics/flags/ua.png | Bin 0 -> 446 bytes horde/themes/silver/graphics/flags/ug.png | Bin 0 -> 531 bytes horde/themes/silver/graphics/flags/uk.png | Bin 0 -> 599 bytes horde/themes/silver/graphics/flags/um.png | Bin 0 -> 571 bytes horde/themes/silver/graphics/flags/us.png | Bin 0 -> 609 bytes horde/themes/silver/graphics/flags/uy.png | Bin 0 -> 532 bytes horde/themes/silver/graphics/flags/uz.png | Bin 0 -> 515 bytes horde/themes/silver/graphics/flags/va.png | Bin 0 -> 553 bytes horde/themes/silver/graphics/flags/vc.png | Bin 0 -> 577 bytes horde/themes/silver/graphics/flags/ve.png | Bin 0 -> 528 bytes horde/themes/silver/graphics/flags/vg.png | Bin 0 -> 630 bytes horde/themes/silver/graphics/flags/vi.png | Bin 0 -> 616 bytes horde/themes/silver/graphics/flags/vn.png | Bin 0 -> 474 bytes horde/themes/silver/graphics/flags/vu.png | Bin 0 -> 604 bytes horde/themes/silver/graphics/flags/wales.png | Bin 0 -> 652 bytes horde/themes/silver/graphics/flags/wf.png | Bin 0 -> 554 bytes horde/themes/silver/graphics/flags/ws.png | Bin 0 -> 476 bytes horde/themes/silver/graphics/flags/ye.png | Bin 0 -> 413 bytes horde/themes/silver/graphics/flags/yt.png | Bin 0 -> 593 bytes horde/themes/silver/graphics/flags/yu.png | Bin 0 -> 712 bytes horde/themes/silver/graphics/flags/za.png | Bin 0 -> 642 bytes horde/themes/silver/graphics/flags/zm.png | Bin 0 -> 500 bytes horde/themes/silver/graphics/flags/zw.png | Bin 0 -> 574 bytes horde/themes/silver/graphics/google.png | Bin 0 -> 1687 bytes horde/themes/silver/graphics/group.png | Bin 0 -> 753 bytes horde/themes/silver/graphics/help.png | Bin 0 -> 786 bytes horde/themes/silver/graphics/help_index.png | Bin 0 -> 622 bytes horde/themes/silver/graphics/hide_panel.png | Bin 0 -> 547 bytes horde/themes/silver/graphics/horde-power1.png | Bin 0 -> 3046 bytes horde/themes/silver/graphics/horde-power2.png | Bin 0 -> 2221 bytes horde/themes/silver/graphics/horde-power3.png | Bin 0 -> 3365 bytes horde/themes/silver/graphics/horde.png | Bin 0 -> 604 bytes horde/themes/silver/graphics/image/crop.png | Bin 0 -> 184 bytes horde/themes/silver/graphics/image/flip.png | Bin 0 -> 279 bytes horde/themes/silver/graphics/image/grayscale.png | Bin 0 -> 1144 bytes horde/themes/silver/graphics/image/mirror.png | Bin 0 -> 268 bytes horde/themes/silver/graphics/image/ratio.png | Bin 0 -> 309 bytes horde/themes/silver/graphics/image/refresh.png | Bin 0 -> 348 bytes horde/themes/silver/graphics/image/rotate-180.png | Bin 0 -> 376 bytes horde/themes/silver/graphics/image/rotate-270.png | Bin 0 -> 286 bytes horde/themes/silver/graphics/image/rotate-90.png | Bin 0 -> 307 bytes horde/themes/silver/graphics/info.png | Bin 0 -> 782 bytes horde/themes/silver/graphics/info_icon.png | Bin 0 -> 782 bytes horde/themes/silver/graphics/keyboard.png | Bin 0 -> 570 bytes horde/themes/silver/graphics/layout.png | Bin 0 -> 519 bytes horde/themes/silver/graphics/lhand.png | Bin 0 -> 345 bytes horde/themes/silver/graphics/loading.gif | Bin 0 -> 1737 bytes horde/themes/silver/graphics/locked.png | Bin 0 -> 749 bytes horde/themes/silver/graphics/login.png | Bin 0 -> 702 bytes horde/themes/silver/graphics/logout.png | Bin 0 -> 693 bytes horde/themes/silver/graphics/map.png | Bin 0 -> 804 bytes horde/themes/silver/graphics/map/marker-blue.png | Bin 0 -> 992 bytes horde/themes/silver/graphics/map/marker-gold.png | Bin 0 -> 831 bytes horde/themes/silver/graphics/map/marker-green.png | Bin 0 -> 967 bytes horde/themes/silver/graphics/map/marker-shadow.png | Bin 0 -> 374 bytes horde/themes/silver/graphics/map/marker.png | Bin 0 -> 606 bytes horde/themes/silver/graphics/map_eu.png | Bin 0 -> 804 bytes horde/themes/silver/graphics/menu-active.png | Bin 0 -> 136 bytes horde/themes/silver/graphics/menu.png | Bin 0 -> 165 bytes horde/themes/silver/graphics/mime/audio.png | Bin 0 -> 666 bytes horde/themes/silver/graphics/mime/binary.png | Bin 0 -> 402 bytes horde/themes/silver/graphics/mime/compressed.png | Bin 0 -> 724 bytes horde/themes/silver/graphics/mime/deb.png | Bin 0 -> 668 bytes horde/themes/silver/graphics/mime/encryption.png | Bin 0 -> 749 bytes horde/themes/silver/graphics/mime/html.png | Bin 0 -> 603 bytes horde/themes/silver/graphics/mime/icalendar.png | Bin 0 -> 675 bytes horde/themes/silver/graphics/mime/image.png | Bin 0 -> 516 bytes horde/themes/silver/graphics/mime/mail.png | Bin 0 -> 783 bytes horde/themes/silver/graphics/mime/msexcel.png | Bin 0 -> 663 bytes horde/themes/silver/graphics/mime/mspowerpoint.png | Bin 0 -> 588 bytes horde/themes/silver/graphics/mime/msword.png | Bin 0 -> 651 bytes horde/themes/silver/graphics/mime/ooo_calc.png | Bin 0 -> 663 bytes horde/themes/silver/graphics/mime/ooo_draw.png | Bin 0 -> 688 bytes horde/themes/silver/graphics/mime/ooo_impress.png | Bin 0 -> 588 bytes horde/themes/silver/graphics/mime/ooo_math.png | Bin 0 -> 294 bytes horde/themes/silver/graphics/mime/ooo_writer.png | Bin 0 -> 651 bytes horde/themes/silver/graphics/mime/pdf.png | Bin 0 -> 591 bytes horde/themes/silver/graphics/mime/php.png | Bin 0 -> 538 bytes horde/themes/silver/graphics/mime/rpm.png | Bin 0 -> 668 bytes horde/themes/silver/graphics/mime/script-js.png | Bin 0 -> 587 bytes horde/themes/silver/graphics/mime/source-c.png | Bin 0 -> 587 bytes horde/themes/silver/graphics/mime/source-cpp.png | Bin 0 -> 621 bytes horde/themes/silver/graphics/mime/source-h.png | Bin 0 -> 603 bytes horde/themes/silver/graphics/mime/source-java.png | Bin 0 -> 639 bytes .../themes/silver/graphics/mime/source-python.png | Bin 0 -> 402 bytes horde/themes/silver/graphics/mime/text.png | Bin 0 -> 342 bytes horde/themes/silver/graphics/mime/vcard.png | Bin 0 -> 533 bytes horde/themes/silver/graphics/mime/video.png | Bin 0 -> 653 bytes horde/themes/silver/graphics/mime/wordperfect.png | Bin 0 -> 3831 bytes horde/themes/silver/graphics/mime/xml.png | Bin 0 -> 603 bytes horde/themes/silver/graphics/minus.png | Bin 0 -> 746 bytes horde/themes/silver/graphics/mobile.png | Bin 0 -> 488 bytes horde/themes/silver/graphics/mobile/bottom.jpg | Bin 0 -> 15540 bytes horde/themes/silver/graphics/mobile/display.jpg | Bin 0 -> 1421 bytes horde/themes/silver/graphics/mobile/left.jpg | Bin 0 -> 1560 bytes horde/themes/silver/graphics/mobile/right.jpg | Bin 0 -> 1568 bytes horde/themes/silver/graphics/mobile/top.jpg | Bin 0 -> 4213 bytes horde/themes/silver/graphics/myaccount.png | Bin 0 -> 748 bytes horde/themes/silver/graphics/nav/bottom-grey.png | Bin 0 -> 540 bytes horde/themes/silver/graphics/nav/bottom.png | Bin 0 -> 591 bytes horde/themes/silver/graphics/nav/down-grey.png | Bin 0 -> 432 bytes horde/themes/silver/graphics/nav/down.png | Bin 0 -> 469 bytes horde/themes/silver/graphics/nav/first-grey.png | Bin 0 -> 506 bytes horde/themes/silver/graphics/nav/first.png | Bin 0 -> 569 bytes horde/themes/silver/graphics/nav/last-grey.png | Bin 0 -> 514 bytes horde/themes/silver/graphics/nav/last.png | Bin 0 -> 561 bytes horde/themes/silver/graphics/nav/left-grey.png | Bin 0 -> 419 bytes horde/themes/silver/graphics/nav/left.png | Bin 0 -> 459 bytes horde/themes/silver/graphics/nav/right-grey.png | Bin 0 -> 411 bytes horde/themes/silver/graphics/nav/right.png | Bin 0 -> 456 bytes horde/themes/silver/graphics/nav/top-grey.png | Bin 0 -> 507 bytes horde/themes/silver/graphics/nav/top.png | Bin 0 -> 571 bytes horde/themes/silver/graphics/nav/up-grey.png | Bin 0 -> 428 bytes horde/themes/silver/graphics/nav/up.png | Bin 0 -> 461 bytes horde/themes/silver/graphics/office.png | Bin 0 -> 793 bytes horde/themes/silver/graphics/organizing.png | Bin 0 -> 825 bytes horde/themes/silver/graphics/perms.png | Bin 0 -> 612 bytes horde/themes/silver/graphics/phone.png | Bin 0 -> 488 bytes horde/themes/silver/graphics/plus.png | Bin 0 -> 733 bytes horde/themes/silver/graphics/prefs.png | Bin 0 -> 610 bytes horde/themes/silver/graphics/print.png | Bin 0 -> 731 bytes horde/themes/silver/graphics/problem.png | Bin 0 -> 793 bytes horde/themes/silver/graphics/redbox_spinner.gif | Bin 0 -> 6820 bytes horde/themes/silver/graphics/reload.png | Bin 0 -> 685 bytes horde/themes/silver/graphics/required.png | Bin 0 -> 518 bytes horde/themes/silver/graphics/rhand.png | Bin 0 -> 349 bytes horde/themes/silver/graphics/save.png | Bin 0 -> 620 bytes horde/themes/silver/graphics/search.png | Bin 0 -> 692 bytes horde/themes/silver/graphics/shadow.gif | Bin 0 -> 3557 bytes horde/themes/silver/graphics/shadow.png | Bin 0 -> 3403 bytes horde/themes/silver/graphics/shell.png | Bin 0 -> 525 bytes horde/themes/silver/graphics/show_panel.png | Bin 0 -> 581 bytes horde/themes/silver/graphics/sql.png | Bin 0 -> 525 bytes horde/themes/silver/graphics/tab_left.png | Bin 0 -> 372 bytes horde/themes/silver/graphics/tab_right.png | Bin 0 -> 2656 bytes horde/themes/silver/graphics/tree/blank.png | Bin 0 -> 178 bytes horde/themes/silver/graphics/tree/folder.png | Bin 0 -> 537 bytes horde/themes/silver/graphics/tree/folderopen.png | Bin 0 -> 688 bytes horde/themes/silver/graphics/tree/join.png | Bin 0 -> 197 bytes .../silver/graphics/tree/joinbottom-down.png | Bin 0 -> 111 bytes horde/themes/silver/graphics/tree/joinbottom.png | Bin 0 -> 195 bytes horde/themes/silver/graphics/tree/leaf.png | Bin 0 -> 635 bytes horde/themes/silver/graphics/tree/line.png | Bin 0 -> 193 bytes horde/themes/silver/graphics/tree/minus.png | Bin 0 -> 241 bytes horde/themes/silver/graphics/tree/minusbottom.png | Bin 0 -> 236 bytes horde/themes/silver/graphics/tree/minusonly.png | Bin 0 -> 230 bytes horde/themes/silver/graphics/tree/minustop.png | Bin 0 -> 238 bytes horde/themes/silver/graphics/tree/nullonly.png | Bin 0 -> 228 bytes horde/themes/silver/graphics/tree/plus.png | Bin 0 -> 247 bytes horde/themes/silver/graphics/tree/plusbottom.png | Bin 0 -> 244 bytes horde/themes/silver/graphics/tree/plusonly.png | Bin 0 -> 242 bytes horde/themes/silver/graphics/tree/plustop.png | Bin 0 -> 245 bytes horde/themes/silver/graphics/tree/rev-join.png | Bin 0 -> 524 bytes .../silver/graphics/tree/rev-joinbottom-down.png | Bin 0 -> 532 bytes .../themes/silver/graphics/tree/rev-joinbottom.png | Bin 0 -> 524 bytes horde/themes/silver/graphics/tree/rev-leaf.png | Bin 0 -> 635 bytes horde/themes/silver/graphics/tree/rev-line.png | Bin 0 -> 524 bytes horde/themes/silver/graphics/tree/rev-minus.png | Bin 0 -> 528 bytes .../silver/graphics/tree/rev-minusbottom.png | Bin 0 -> 528 bytes .../themes/silver/graphics/tree/rev-minusonly.png | Bin 0 -> 528 bytes horde/themes/silver/graphics/tree/rev-minustop.png | Bin 0 -> 528 bytes horde/themes/silver/graphics/tree/rev-nullonly.png | Bin 0 -> 528 bytes horde/themes/silver/graphics/tree/rev-plus.png | Bin 0 -> 528 bytes .../themes/silver/graphics/tree/rev-plusbottom.png | Bin 0 -> 528 bytes horde/themes/silver/graphics/tree/rev-plusonly.png | Bin 0 -> 528 bytes horde/themes/silver/graphics/tree/rev-plustop.png | Bin 0 -> 528 bytes horde/themes/silver/graphics/unlocked.png | Bin 0 -> 727 bytes horde/themes/silver/graphics/user.png | Bin 0 -> 722 bytes horde/themes/silver/graphics/website.png | Bin 0 -> 903 bytes horde/themes/silver/graphics/za.png | Bin 0 -> 302 bytes horde/themes/silver/info.php | 18 + horde/themes/silver/screen.css | 255 + horde/themes/silver/themed_graphics | 0 horde/themes/simplex/graphics/background.png | Bin 0 -> 98 bytes horde/themes/simplex/info.php | 2 + horde/themes/simplex/screen.css | 74 + horde/themes/sounds/doorbell.wav | Bin 0 -> 5168 bytes horde/themes/sounds/gnid3.wav | Bin 0 -> 13688 bytes horde/themes/sounds/jetsndb.wav | Bin 0 -> 31256 bytes horde/themes/sounds/reminder.wav | Bin 0 -> 23151 bytes horde/themes/sounds/theetone.wav | Bin 0 -> 24776 bytes horde/themes/tango-blue/graphics/about.png | Bin 0 -> 201 bytes horde/themes/tango-blue/graphics/add_group.png | Bin 0 -> 911 bytes horde/themes/tango-blue/graphics/add_perm.png | Bin 0 -> 764 bytes .../themes/tango-blue/graphics/administration.png | Bin 0 -> 911 bytes horde/themes/tango-blue/graphics/alerts/alarm.png | Bin 0 -> 422 bytes horde/themes/tango-blue/graphics/alerts/error.png | Bin 0 -> 653 bytes .../themes/tango-blue/graphics/alerts/message.png | Bin 0 -> 863 bytes .../themes/tango-blue/graphics/alerts/success.png | Bin 0 -> 636 bytes .../themes/tango-blue/graphics/alerts/warning.png | Bin 0 -> 603 bytes horde/themes/tango-blue/graphics/avatars/alien.jpg | Bin 0 -> 5268 bytes horde/themes/tango-blue/graphics/avatars/aly.jpg | Bin 0 -> 4133 bytes .../tango-blue/graphics/avatars/angryboy.gif | Bin 0 -> 1669 bytes horde/themes/tango-blue/graphics/avatars/ape.jpg | Bin 0 -> 4488 bytes horde/themes/tango-blue/graphics/avatars/au.jpg | Bin 0 -> 3229 bytes horde/themes/tango-blue/graphics/avatars/baby.gif | Bin 0 -> 1255 bytes .../tango-blue/graphics/avatars/barbarian.jpg | Bin 0 -> 4711 bytes horde/themes/tango-blue/graphics/avatars/bart.gif | Bin 0 -> 1138 bytes .../themes/tango-blue/graphics/avatars/batman.gif | Bin 0 -> 1100 bytes horde/themes/tango-blue/graphics/avatars/bert.jpg | Bin 0 -> 4034 bytes horde/themes/tango-blue/graphics/avatars/bert2.jpg | Bin 0 -> 4328 bytes .../tango-blue/graphics/avatars/bobafett.gif | Bin 0 -> 1152 bytes horde/themes/tango-blue/graphics/avatars/boo.jpg | Bin 0 -> 4580 bytes .../tango-blue/graphics/avatars/boyandmower.gif | Bin 0 -> 1666 bytes .../tango-blue/graphics/avatars/boyandpc.gif | Bin 0 -> 1257 bytes horde/themes/tango-blue/graphics/avatars/bret.jpg | Bin 0 -> 5127 bytes horde/themes/tango-blue/graphics/avatars/bunny.gif | Bin 0 -> 1139 bytes .../tango-blue/graphics/avatars/charlie_brown.gif | Bin 0 -> 1089 bytes horde/themes/tango-blue/graphics/avatars/clown.jpg | Bin 0 -> 9994 bytes horde/themes/tango-blue/graphics/avatars/cocky.jpg | Bin 0 -> 4017 bytes horde/themes/tango-blue/graphics/avatars/devil.gif | Bin 0 -> 1685 bytes .../themes/tango-blue/graphics/avatars/digimon.gif | Bin 0 -> 2048 bytes .../themes/tango-blue/graphics/avatars/dilbert.gif | Bin 0 -> 1029 bytes horde/themes/tango-blue/graphics/avatars/dino.gif | Bin 0 -> 1145 bytes horde/themes/tango-blue/graphics/avatars/dog.gif | Bin 0 -> 1094 bytes horde/themes/tango-blue/graphics/avatars/duck.gif | Bin 0 -> 1118 bytes .../tango-blue/graphics/avatars/einstein.jpg | Bin 0 -> 4661 bytes .../tango-blue/graphics/avatars/elmerfudd.gif | Bin 0 -> 1219 bytes horde/themes/tango-blue/graphics/avatars/elmo.jpg | Bin 0 -> 3169 bytes horde/themes/tango-blue/graphics/avatars/evil.jpg | Bin 0 -> 3716 bytes .../themes/tango-blue/graphics/avatars/female1.jpg | Bin 0 -> 4584 bytes .../themes/tango-blue/graphics/avatars/female2.jpg | Bin 0 -> 9325 bytes horde/themes/tango-blue/graphics/avatars/franc.jpg | Bin 0 -> 5564 bytes .../tango-blue/graphics/avatars/fredflinstone.gif | Bin 0 -> 1248 bytes .../tango-blue/graphics/avatars/garfield.gif | Bin 0 -> 1220 bytes .../themes/tango-blue/graphics/avatars/gopher.gif | Bin 0 -> 1252 bytes .../tango-blue/graphics/avatars/greenhead.gif | Bin 0 -> 2450 bytes .../themes/tango-blue/graphics/avatars/gremlin.jpg | Bin 0 -> 4508 bytes .../themes/tango-blue/graphics/avatars/grover.jpg | Bin 0 -> 3669 bytes horde/themes/tango-blue/graphics/avatars/homer.gif | Bin 0 -> 1112 bytes horde/themes/tango-blue/graphics/avatars/hump.jpg | Bin 0 -> 4769 bytes .../tango-blue/graphics/avatars/iceskatekid.gif | Bin 0 -> 1596 bytes horde/themes/tango-blue/graphics/avatars/jeri.jpg | Bin 0 -> 3884 bytes horde/themes/tango-blue/graphics/avatars/kid.gif | Bin 0 -> 1535 bytes horde/themes/tango-blue/graphics/avatars/kirk.jpg | Bin 0 -> 5360 bytes .../themes/tango-blue/graphics/avatars/kryton.jpg | Bin 0 -> 4190 bytes horde/themes/tango-blue/graphics/avatars/linux.gif | Bin 0 -> 1952 bytes horde/themes/tango-blue/graphics/avatars/lisa.gif | Bin 0 -> 1094 bytes .../tango-blue/graphics/avatars/lovebird.gif | Bin 0 -> 1208 bytes horde/themes/tango-blue/graphics/avatars/male1.jpg | Bin 0 -> 3771 bytes horde/themes/tango-blue/graphics/avatars/male2.jpg | Bin 0 -> 3902 bytes horde/themes/tango-blue/graphics/avatars/man.jpg | Bin 0 -> 3692 bytes horde/themes/tango-blue/graphics/avatars/marge.gif | Bin 0 -> 1135 bytes horde/themes/tango-blue/graphics/avatars/maul.gif | Bin 0 -> 1047 bytes horde/themes/tango-blue/graphics/avatars/melon.jpg | Bin 0 -> 4747 bytes horde/themes/tango-blue/graphics/avatars/mib.gif | Bin 0 -> 1070 bytes .../themes/tango-blue/graphics/avatars/monkey.jpg | Bin 0 -> 8399 bytes horde/themes/tango-blue/graphics/avatars/neo.jpg | Bin 0 -> 4054 bytes horde/themes/tango-blue/graphics/avatars/ninja.jpg | Bin 0 -> 1226 bytes .../tango-blue/graphics/avatars/paintingbird.gif | Bin 0 -> 1179 bytes .../themes/tango-blue/graphics/avatars/picard.jpg | Bin 0 -> 4047 bytes horde/themes/tango-blue/graphics/avatars/puff.jpg | Bin 0 -> 3990 bytes .../tango-blue/graphics/avatars/redcreature.gif | Bin 0 -> 1813 bytes horde/themes/tango-blue/graphics/avatars/rei.jpg | Bin 0 -> 4541 bytes horde/themes/tango-blue/graphics/avatars/rei2.jpg | Bin 0 -> 5065 bytes horde/themes/tango-blue/graphics/avatars/ryu.gif | Bin 0 -> 1592 bytes horde/themes/tango-blue/graphics/avatars/sexy.gif | Bin 0 -> 1137 bytes .../themes/tango-blue/graphics/avatars/smiley.gif | Bin 0 -> 1104 bytes .../themes/tango-blue/graphics/avatars/smurfs.gif | Bin 0 -> 1089 bytes horde/themes/tango-blue/graphics/avatars/sonic.gif | Bin 0 -> 1142 bytes .../themes/tango-blue/graphics/avatars/speedy.gif | Bin 0 -> 1252 bytes horde/themes/tango-blue/graphics/avatars/stan.jpg | Bin 0 -> 3942 bytes .../tango-blue/graphics/avatars/superman.gif | Bin 0 -> 1046 bytes .../tango-blue/graphics/avatars/sylvester.gif | Bin 0 -> 1396 bytes .../themes/tango-blue/graphics/avatars/thomas.gif | Bin 0 -> 1185 bytes .../themes/tango-blue/graphics/avatars/tigger.gif | Bin 0 -> 1228 bytes horde/themes/tango-blue/graphics/avatars/trin.jpg | Bin 0 -> 4394 bytes horde/themes/tango-blue/graphics/avatars/us.jpg | Bin 0 -> 4945 bytes .../themes/tango-blue/graphics/avatars/vampire.jpg | Bin 0 -> 4231 bytes .../tango-blue/graphics/avatars/vampire2.jpg | Bin 0 -> 3767 bytes horde/themes/tango-blue/graphics/avatars/wacko.gif | Bin 0 -> 1157 bytes .../themes/tango-blue/graphics/avatars/winnie.gif | Bin 0 -> 1066 bytes .../themes/tango-blue/graphics/avatars/wizard.jpg | Bin 0 -> 4924 bytes .../tango-blue/graphics/avatars/wolverine.jpg | Bin 0 -> 5039 bytes horde/themes/tango-blue/graphics/avatars/woman.jpg | Bin 0 -> 3831 bytes .../themes/tango-blue/graphics/avatars/woodie.jpg | Bin 0 -> 4416 bytes horde/themes/tango-blue/graphics/avatars/xena.gif | Bin 0 -> 1148 bytes horde/themes/tango-blue/graphics/az.png | Bin 0 -> 656 bytes horde/themes/tango-blue/graphics/blank.gif | Bin 0 -> 42 bytes horde/themes/tango-blue/graphics/block.png | Bin 0 -> 1136 bytes horde/themes/tango-blue/graphics/block/down.png | Bin 0 -> 672 bytes .../tango-blue/graphics/block/large_down.png | Bin 0 -> 1212 bytes .../tango-blue/graphics/block/large_left.png | Bin 0 -> 1215 bytes .../tango-blue/graphics/block/large_right.png | Bin 0 -> 1218 bytes .../themes/tango-blue/graphics/block/large_up.png | Bin 0 -> 1233 bytes horde/themes/tango-blue/graphics/block/left.png | Bin 0 -> 642 bytes .../graphics/block/moon/firstquarter.png | Bin 0 -> 1935 bytes .../tango-blue/graphics/block/moon/fullmoon.png | Bin 0 -> 1977 bytes .../tango-blue/graphics/block/moon/lastquarter.png | Bin 0 -> 1960 bytes .../tango-blue/graphics/block/moon/newmoon.png | Bin 0 -> 1783 bytes horde/themes/tango-blue/graphics/block/right.png | Bin 0 -> 663 bytes .../tango-blue/graphics/block/sunrise/sunrise.png | Bin 0 -> 350 bytes .../tango-blue/graphics/block/sunrise/sunset.png | Bin 0 -> 344 bytes horde/themes/tango-blue/graphics/block/up.png | Bin 0 -> 667 bytes .../graphics/block/weatherdotcom/23x23/0.png | Bin 0 -> 1201 bytes .../graphics/block/weatherdotcom/23x23/1.png | Bin 0 -> 1234 bytes .../graphics/block/weatherdotcom/23x23/10.png | Bin 0 -> 1212 bytes .../graphics/block/weatherdotcom/23x23/11.png | Bin 0 -> 1266 bytes .../graphics/block/weatherdotcom/23x23/12.png | Bin 0 -> 1281 bytes .../graphics/block/weatherdotcom/23x23/13.png | Bin 0 -> 934 bytes .../graphics/block/weatherdotcom/23x23/14.png | Bin 0 -> 1096 bytes .../graphics/block/weatherdotcom/23x23/15.png | Bin 0 -> 766 bytes .../graphics/block/weatherdotcom/23x23/16.png | Bin 0 -> 1226 bytes .../graphics/block/weatherdotcom/23x23/17.png | Bin 0 -> 1212 bytes .../graphics/block/weatherdotcom/23x23/18.png | Bin 0 -> 1262 bytes .../graphics/block/weatherdotcom/23x23/19.png | Bin 0 -> 1081 bytes .../graphics/block/weatherdotcom/23x23/2.png | Bin 0 -> 1239 bytes .../graphics/block/weatherdotcom/23x23/20.png | Bin 0 -> 899 bytes .../graphics/block/weatherdotcom/23x23/21.png | Bin 0 -> 1064 bytes .../graphics/block/weatherdotcom/23x23/22.png | Bin 0 -> 969 bytes .../graphics/block/weatherdotcom/23x23/23.png | Bin 0 -> 614 bytes .../graphics/block/weatherdotcom/23x23/24.png | Bin 0 -> 597 bytes .../graphics/block/weatherdotcom/23x23/25.png | Bin 0 -> 1052 bytes .../graphics/block/weatherdotcom/23x23/26.png | Bin 0 -> 1162 bytes .../graphics/block/weatherdotcom/23x23/27.png | Bin 0 -> 763 bytes .../graphics/block/weatherdotcom/23x23/28.png | Bin 0 -> 763 bytes .../graphics/block/weatherdotcom/23x23/29.png | Bin 0 -> 965 bytes .../graphics/block/weatherdotcom/23x23/3.png | Bin 0 -> 1216 bytes .../graphics/block/weatherdotcom/23x23/30.png | Bin 0 -> 763 bytes .../graphics/block/weatherdotcom/23x23/31.png | Bin 0 -> 1108 bytes .../graphics/block/weatherdotcom/23x23/32.png | Bin 0 -> 682 bytes .../graphics/block/weatherdotcom/23x23/33.png | Bin 0 -> 961 bytes .../graphics/block/weatherdotcom/23x23/34.png | Bin 0 -> 682 bytes .../graphics/block/weatherdotcom/23x23/35.png | Bin 0 -> 1206 bytes .../graphics/block/weatherdotcom/23x23/36.png | Bin 0 -> 1441 bytes .../graphics/block/weatherdotcom/23x23/37.png | Bin 0 -> 1146 bytes .../graphics/block/weatherdotcom/23x23/38.png | Bin 0 -> 1151 bytes .../graphics/block/weatherdotcom/23x23/39.png | Bin 0 -> 959 bytes .../graphics/block/weatherdotcom/23x23/4.png | Bin 0 -> 1210 bytes .../graphics/block/weatherdotcom/23x23/40.png | Bin 0 -> 1045 bytes .../graphics/block/weatherdotcom/23x23/41.png | Bin 0 -> 1228 bytes .../graphics/block/weatherdotcom/23x23/42.png | Bin 0 -> 1226 bytes .../graphics/block/weatherdotcom/23x23/43.png | Bin 0 -> 1228 bytes .../graphics/block/weatherdotcom/23x23/44.png | Bin 0 -> 763 bytes .../graphics/block/weatherdotcom/23x23/45.png | Bin 0 -> 1556 bytes .../graphics/block/weatherdotcom/23x23/46.png | Bin 0 -> 1522 bytes .../graphics/block/weatherdotcom/23x23/47.png | Bin 0 -> 1510 bytes .../graphics/block/weatherdotcom/23x23/5.png | Bin 0 -> 1276 bytes .../graphics/block/weatherdotcom/23x23/6.png | Bin 0 -> 1257 bytes .../graphics/block/weatherdotcom/23x23/7.png | Bin 0 -> 1338 bytes .../graphics/block/weatherdotcom/23x23/8.png | Bin 0 -> 1136 bytes .../graphics/block/weatherdotcom/23x23/9.png | Bin 0 -> 918 bytes .../graphics/block/weatherdotcom/23x23/na.png | Bin 0 -> 1152 bytes .../graphics/block/weatherdotcom/32x32/0.png | Bin 0 -> 1317 bytes .../graphics/block/weatherdotcom/32x32/1.png | Bin 0 -> 1328 bytes .../graphics/block/weatherdotcom/32x32/10.png | Bin 0 -> 1290 bytes .../graphics/block/weatherdotcom/32x32/11.png | Bin 0 -> 1276 bytes .../graphics/block/weatherdotcom/32x32/12.png | Bin 0 -> 1334 bytes .../graphics/block/weatherdotcom/32x32/13.png | Bin 0 -> 1098 bytes .../graphics/block/weatherdotcom/32x32/14.png | Bin 0 -> 1243 bytes .../graphics/block/weatherdotcom/32x32/15.png | Bin 0 -> 1023 bytes .../graphics/block/weatherdotcom/32x32/16.png | Bin 0 -> 1341 bytes .../graphics/block/weatherdotcom/32x32/17.png | Bin 0 -> 1318 bytes .../graphics/block/weatherdotcom/32x32/18.png | Bin 0 -> 1336 bytes .../graphics/block/weatherdotcom/32x32/19.png | Bin 0 -> 1346 bytes .../graphics/block/weatherdotcom/32x32/2.png | Bin 0 -> 1319 bytes .../graphics/block/weatherdotcom/32x32/20.png | Bin 0 -> 1163 bytes .../graphics/block/weatherdotcom/32x32/21.png | Bin 0 -> 1169 bytes .../graphics/block/weatherdotcom/32x32/22.png | Bin 0 -> 1158 bytes .../graphics/block/weatherdotcom/32x32/23.png | Bin 0 -> 903 bytes .../graphics/block/weatherdotcom/32x32/24.png | Bin 0 -> 898 bytes .../graphics/block/weatherdotcom/32x32/25.png | Bin 0 -> 1166 bytes .../graphics/block/weatherdotcom/32x32/26.png | Bin 0 -> 1315 bytes .../graphics/block/weatherdotcom/32x32/27.png | Bin 0 -> 1477 bytes .../graphics/block/weatherdotcom/32x32/28.png | Bin 0 -> 1606 bytes .../graphics/block/weatherdotcom/32x32/29.png | Bin 0 -> 1424 bytes .../graphics/block/weatherdotcom/32x32/3.png | Bin 0 -> 1323 bytes .../graphics/block/weatherdotcom/32x32/30.png | Bin 0 -> 1557 bytes .../graphics/block/weatherdotcom/32x32/31.png | Bin 0 -> 1457 bytes .../graphics/block/weatherdotcom/32x32/32.png | Bin 0 -> 1508 bytes .../graphics/block/weatherdotcom/32x32/33.png | Bin 0 -> 1448 bytes .../graphics/block/weatherdotcom/32x32/34.png | Bin 0 -> 1512 bytes .../graphics/block/weatherdotcom/32x32/35.png | Bin 0 -> 1317 bytes .../graphics/block/weatherdotcom/32x32/36.png | Bin 0 -> 1502 bytes .../graphics/block/weatherdotcom/32x32/37.png | Bin 0 -> 1234 bytes .../graphics/block/weatherdotcom/32x32/38.png | Bin 0 -> 1227 bytes .../graphics/block/weatherdotcom/32x32/39.png | Bin 0 -> 1331 bytes .../graphics/block/weatherdotcom/32x32/4.png | Bin 0 -> 1306 bytes .../graphics/block/weatherdotcom/32x32/40.png | Bin 0 -> 1327 bytes .../graphics/block/weatherdotcom/32x32/41.png | Bin 0 -> 1344 bytes .../graphics/block/weatherdotcom/32x32/42.png | Bin 0 -> 1343 bytes .../graphics/block/weatherdotcom/32x32/43.png | Bin 0 -> 1441 bytes .../graphics/block/weatherdotcom/32x32/44.png | Bin 0 -> 1567 bytes .../graphics/block/weatherdotcom/32x32/45.png | Bin 0 -> 1108 bytes .../graphics/block/weatherdotcom/32x32/46.png | Bin 0 -> 1134 bytes .../graphics/block/weatherdotcom/32x32/47.png | Bin 0 -> 1078 bytes .../graphics/block/weatherdotcom/32x32/5.png | Bin 0 -> 1348 bytes .../graphics/block/weatherdotcom/32x32/6.png | Bin 0 -> 1311 bytes .../graphics/block/weatherdotcom/32x32/7.png | Bin 0 -> 1406 bytes .../graphics/block/weatherdotcom/32x32/8.png | Bin 0 -> 1230 bytes .../graphics/block/weatherdotcom/32x32/9.png | Bin 0 -> 1172 bytes .../block/weatherdotcom/32x32/TWClogo_32px.png | Bin 0 -> 2373 bytes .../graphics/block/weatherdotcom/32x32/na.png | Bin 0 -> 1473 bytes horde/themes/tango-blue/graphics/calendar.png | Bin 0 -> 604 bytes horde/themes/tango-blue/graphics/close.png | Bin 0 -> 518 bytes .../tango-blue/graphics/color-picker-cursor.gif | Bin 0 -> 70 bytes .../tango-blue/graphics/color-picker-palette.png | Bin 0 -> 85584 bytes .../tango-blue/graphics/color-picker-resize.gif | Bin 0 -> 205 bytes horde/themes/tango-blue/graphics/colorpicker.png | Bin 0 -> 335 bytes horde/themes/tango-blue/graphics/colorscale.png | Bin 0 -> 1810 bytes horde/themes/tango-blue/graphics/config.png | Bin 0 -> 611 bytes horde/themes/tango-blue/graphics/data.png | Bin 0 -> 911 bytes horde/themes/tango-blue/graphics/datatree.png | Bin 0 -> 374 bytes horde/themes/tango-blue/graphics/delete-small.png | Bin 0 -> 667 bytes horde/themes/tango-blue/graphics/delete.png | Bin 0 -> 680 bytes horde/themes/tango-blue/graphics/devel.png | Bin 0 -> 765 bytes horde/themes/tango-blue/graphics/download.png | Bin 0 -> 866 bytes horde/themes/tango-blue/graphics/edit-small.png | Bin 0 -> 571 bytes horde/themes/tango-blue/graphics/edit.png | Bin 0 -> 498 bytes .../themes/tango-blue/graphics/emoticons/angel.png | Bin 0 -> 992 bytes .../tango-blue/graphics/emoticons/angelwink.png | Bin 0 -> 377 bytes .../themes/tango-blue/graphics/emoticons/angry.png | Bin 0 -> 551 bytes .../tango-blue/graphics/emoticons/annoyed.png | Bin 0 -> 353 bytes .../tango-blue/graphics/emoticons/asleep.png | Bin 0 -> 247 bytes .../tango-blue/graphics/emoticons/bigfrown.png | Bin 0 -> 429 bytes .../tango-blue/graphics/emoticons/biggrin.png | Bin 0 -> 896 bytes .../themes/tango-blue/graphics/emoticons/blush.png | Bin 0 -> 413 bytes .../themes/tango-blue/graphics/emoticons/clown.png | Bin 0 -> 717 bytes .../tango-blue/graphics/emoticons/confused.png | Bin 0 -> 312 bytes .../themes/tango-blue/graphics/emoticons/cool.png | Bin 0 -> 949 bytes .../tango-blue/graphics/emoticons/coolgrin.png | Bin 0 -> 512 bytes .../tango-blue/graphics/emoticons/cooltongue.png | Bin 0 -> 521 bytes .../themes/tango-blue/graphics/emoticons/dazed.png | Bin 0 -> 509 bytes .../themes/tango-blue/graphics/emoticons/devil.png | Bin 0 -> 855 bytes .../tango-blue/graphics/emoticons/deviltongue.png | Bin 0 -> 514 bytes .../tango-blue/graphics/emoticons/disappointed.png | Bin 0 -> 342 bytes .../tango-blue/graphics/emoticons/embarrassed.png | Bin 0 -> 917 bytes .../tango-blue/graphics/emoticons/enraged.png | Bin 0 -> 506 bytes .../themes/tango-blue/graphics/emoticons/frown.png | Bin 0 -> 296 bytes .../tango-blue/graphics/emoticons/frustrated.png | Bin 0 -> 321 bytes .../themes/tango-blue/graphics/emoticons/grin.png | Bin 0 -> 905 bytes .../tango-blue/graphics/emoticons/hangover.png | Bin 0 -> 388 bytes .../tango-blue/graphics/emoticons/hippie.png | Bin 0 -> 408 bytes .../tango-blue/graphics/emoticons/hippiegrin.png | Bin 0 -> 478 bytes .../tango-blue/graphics/emoticons/hippietongue.png | Bin 0 -> 478 bytes .../themes/tango-blue/graphics/emoticons/hurt.png | Bin 0 -> 408 bytes .../tango-blue/graphics/emoticons/indifferent.png | Bin 0 -> 894 bytes .../themes/tango-blue/graphics/emoticons/love.png | Bin 0 -> 466 bytes horde/themes/tango-blue/graphics/emoticons/mad.png | Bin 0 -> 355 bytes horde/themes/tango-blue/graphics/emoticons/mrt.png | Bin 0 -> 716 bytes .../themes/tango-blue/graphics/emoticons/punk.png | Bin 0 -> 461 bytes .../tango-blue/graphics/emoticons/punkmohawk.png | Bin 0 -> 722 bytes .../tango-blue/graphics/emoticons/punktongue.png | Bin 0 -> 526 bytes .../tango-blue/graphics/emoticons/raspberry.png | Bin 0 -> 434 bytes horde/themes/tango-blue/graphics/emoticons/sad.png | Bin 0 -> 918 bytes .../themes/tango-blue/graphics/emoticons/shout.png | Bin 0 -> 427 bytes .../themes/tango-blue/graphics/emoticons/smile.png | Bin 0 -> 919 bytes .../themes/tango-blue/graphics/emoticons/tired.png | Bin 0 -> 244 bytes .../tango-blue/graphics/emoticons/tongueout.png | Bin 0 -> 377 bytes .../tango-blue/graphics/emoticons/vampire.png | Bin 0 -> 377 bytes .../themes/tango-blue/graphics/emoticons/wink.png | Bin 0 -> 914 bytes .../tango-blue/graphics/emoticons/winkgrin.png | Bin 0 -> 427 bytes .../tango-blue/graphics/emoticons/winktongue.png | Bin 0 -> 425 bytes .../graphics/emoticons/winktongueout.png | Bin 0 -> 428 bytes .../tango-blue/graphics/emoticons/worried.png | Bin 0 -> 357 bytes horde/themes/tango-blue/graphics/external.png | Bin 0 -> 162 bytes horde/themes/tango-blue/graphics/favicon.ico | Bin 0 -> 1150 bytes horde/themes/tango-blue/graphics/feed.png | Bin 0 -> 612 bytes horde/themes/tango-blue/graphics/flags/ad.png | Bin 0 -> 643 bytes horde/themes/tango-blue/graphics/flags/ae.png | Bin 0 -> 408 bytes horde/themes/tango-blue/graphics/flags/af.png | Bin 0 -> 604 bytes horde/themes/tango-blue/graphics/flags/ag.png | Bin 0 -> 591 bytes horde/themes/tango-blue/graphics/flags/ai.png | Bin 0 -> 643 bytes horde/themes/tango-blue/graphics/flags/al.png | Bin 0 -> 600 bytes horde/themes/tango-blue/graphics/flags/am.png | Bin 0 -> 497 bytes horde/themes/tango-blue/graphics/flags/an.png | Bin 0 -> 488 bytes horde/themes/tango-blue/graphics/flags/ao.png | Bin 0 -> 428 bytes horde/themes/tango-blue/graphics/flags/ar.png | Bin 0 -> 506 bytes horde/themes/tango-blue/graphics/flags/as.png | Bin 0 -> 647 bytes horde/themes/tango-blue/graphics/flags/at.png | Bin 0 -> 403 bytes horde/themes/tango-blue/graphics/flags/au.png | Bin 0 -> 673 bytes horde/themes/tango-blue/graphics/flags/aw.png | Bin 0 -> 524 bytes horde/themes/tango-blue/graphics/flags/ax.png | Bin 0 -> 663 bytes horde/themes/tango-blue/graphics/flags/az.png | Bin 0 -> 589 bytes horde/themes/tango-blue/graphics/flags/ba.png | Bin 0 -> 593 bytes horde/themes/tango-blue/graphics/flags/bb.png | Bin 0 -> 585 bytes horde/themes/tango-blue/graphics/flags/bd.png | Bin 0 -> 504 bytes horde/themes/tango-blue/graphics/flags/be.png | Bin 0 -> 449 bytes horde/themes/tango-blue/graphics/flags/bf.png | Bin 0 -> 497 bytes horde/themes/tango-blue/graphics/flags/bg.png | Bin 0 -> 462 bytes horde/themes/tango-blue/graphics/flags/bh.png | Bin 0 -> 457 bytes horde/themes/tango-blue/graphics/flags/bi.png | Bin 0 -> 675 bytes horde/themes/tango-blue/graphics/flags/bj.png | Bin 0 -> 486 bytes horde/themes/tango-blue/graphics/flags/bm.png | Bin 0 -> 611 bytes horde/themes/tango-blue/graphics/flags/bn.png | Bin 0 -> 639 bytes horde/themes/tango-blue/graphics/flags/bo.png | Bin 0 -> 500 bytes horde/themes/tango-blue/graphics/flags/br.png | Bin 0 -> 593 bytes horde/themes/tango-blue/graphics/flags/bs.png | Bin 0 -> 526 bytes horde/themes/tango-blue/graphics/flags/bt.png | Bin 0 -> 631 bytes horde/themes/tango-blue/graphics/flags/bv.png | Bin 0 -> 512 bytes horde/themes/tango-blue/graphics/flags/bw.png | Bin 0 -> 443 bytes horde/themes/tango-blue/graphics/flags/by.png | Bin 0 -> 514 bytes horde/themes/tango-blue/graphics/flags/bz.png | Bin 0 -> 600 bytes horde/themes/tango-blue/graphics/flags/ca.png | Bin 0 -> 628 bytes horde/themes/tango-blue/graphics/flags/cc.png | Bin 0 -> 625 bytes horde/themes/tango-blue/graphics/flags/cd.png | Bin 0 -> 528 bytes horde/themes/tango-blue/graphics/flags/cf.png | Bin 0 -> 614 bytes horde/themes/tango-blue/graphics/flags/cg.png | Bin 0 -> 521 bytes horde/themes/tango-blue/graphics/flags/ch.png | Bin 0 -> 367 bytes horde/themes/tango-blue/graphics/flags/ci.png | Bin 0 -> 453 bytes horde/themes/tango-blue/graphics/flags/ck.png | Bin 0 -> 586 bytes horde/themes/tango-blue/graphics/flags/cl.png | Bin 0 -> 450 bytes horde/themes/tango-blue/graphics/flags/cm.png | Bin 0 -> 525 bytes horde/themes/tango-blue/graphics/flags/cn.png | Bin 0 -> 472 bytes horde/themes/tango-blue/graphics/flags/co.png | Bin 0 -> 483 bytes horde/themes/tango-blue/graphics/flags/cr.png | Bin 0 -> 477 bytes horde/themes/tango-blue/graphics/flags/cs.png | Bin 0 -> 439 bytes horde/themes/tango-blue/graphics/flags/cu.png | Bin 0 -> 563 bytes horde/themes/tango-blue/graphics/flags/cv.png | Bin 0 -> 529 bytes horde/themes/tango-blue/graphics/flags/cx.png | Bin 0 -> 608 bytes horde/themes/tango-blue/graphics/flags/cy.png | Bin 0 -> 428 bytes horde/themes/tango-blue/graphics/flags/cz.png | Bin 0 -> 476 bytes horde/themes/tango-blue/graphics/flags/de.png | Bin 0 -> 545 bytes horde/themes/tango-blue/graphics/flags/dj.png | Bin 0 -> 572 bytes horde/themes/tango-blue/graphics/flags/dk.png | Bin 0 -> 495 bytes horde/themes/tango-blue/graphics/flags/dm.png | Bin 0 -> 620 bytes horde/themes/tango-blue/graphics/flags/do.png | Bin 0 -> 508 bytes horde/themes/tango-blue/graphics/flags/dz.png | Bin 0 -> 582 bytes horde/themes/tango-blue/graphics/flags/ec.png | Bin 0 -> 500 bytes horde/themes/tango-blue/graphics/flags/ee.png | Bin 0 -> 429 bytes horde/themes/tango-blue/graphics/flags/eg.png | Bin 0 -> 465 bytes horde/themes/tango-blue/graphics/flags/eh.png | Bin 0 -> 508 bytes horde/themes/tango-blue/graphics/flags/er.png | Bin 0 -> 653 bytes horde/themes/tango-blue/graphics/flags/es.png | Bin 0 -> 469 bytes horde/themes/tango-blue/graphics/flags/et.png | Bin 0 -> 592 bytes horde/themes/tango-blue/graphics/flags/eu.png | Bin 0 -> 479 bytes horde/themes/tango-blue/graphics/flags/fam.png | Bin 0 -> 532 bytes horde/themes/tango-blue/graphics/flags/fi.png | Bin 0 -> 489 bytes horde/themes/tango-blue/graphics/flags/fj.png | Bin 0 -> 610 bytes horde/themes/tango-blue/graphics/flags/fk.png | Bin 0 -> 648 bytes horde/themes/tango-blue/graphics/flags/fm.png | Bin 0 -> 552 bytes horde/themes/tango-blue/graphics/flags/fo.png | Bin 0 -> 474 bytes horde/themes/tango-blue/graphics/flags/fr.png | Bin 0 -> 545 bytes horde/themes/tango-blue/graphics/flags/ga.png | Bin 0 -> 489 bytes horde/themes/tango-blue/graphics/flags/gb.png | Bin 0 -> 599 bytes horde/themes/tango-blue/graphics/flags/gd.png | Bin 0 -> 637 bytes horde/themes/tango-blue/graphics/flags/ge.png | Bin 0 -> 594 bytes horde/themes/tango-blue/graphics/flags/gf.png | Bin 0 -> 545 bytes horde/themes/tango-blue/graphics/flags/gh.png | Bin 0 -> 490 bytes horde/themes/tango-blue/graphics/flags/gi.png | Bin 0 -> 463 bytes horde/themes/tango-blue/graphics/flags/gl.png | Bin 0 -> 470 bytes horde/themes/tango-blue/graphics/flags/gm.png | Bin 0 -> 493 bytes horde/themes/tango-blue/graphics/flags/gn.png | Bin 0 -> 480 bytes horde/themes/tango-blue/graphics/flags/gp.png | Bin 0 -> 488 bytes horde/themes/tango-blue/graphics/flags/gq.png | Bin 0 -> 537 bytes horde/themes/tango-blue/graphics/flags/gr.png | Bin 0 -> 487 bytes horde/themes/tango-blue/graphics/flags/gs.png | Bin 0 -> 630 bytes horde/themes/tango-blue/graphics/flags/gt.png | Bin 0 -> 493 bytes horde/themes/tango-blue/graphics/flags/gu.png | Bin 0 -> 509 bytes horde/themes/tango-blue/graphics/flags/gw.png | Bin 0 -> 516 bytes horde/themes/tango-blue/graphics/flags/gy.png | Bin 0 -> 645 bytes horde/themes/tango-blue/graphics/flags/hk.png | Bin 0 -> 527 bytes horde/themes/tango-blue/graphics/flags/hm.png | Bin 0 -> 673 bytes horde/themes/tango-blue/graphics/flags/hn.png | Bin 0 -> 537 bytes horde/themes/tango-blue/graphics/flags/hr.png | Bin 0 -> 524 bytes horde/themes/tango-blue/graphics/flags/ht.png | Bin 0 -> 487 bytes horde/themes/tango-blue/graphics/flags/hu.png | Bin 0 -> 432 bytes horde/themes/tango-blue/graphics/flags/id.png | Bin 0 -> 430 bytes horde/themes/tango-blue/graphics/flags/ie.png | Bin 0 -> 481 bytes horde/themes/tango-blue/graphics/flags/il.png | Bin 0 -> 431 bytes horde/themes/tango-blue/graphics/flags/in.png | Bin 0 -> 503 bytes horde/themes/tango-blue/graphics/flags/io.png | Bin 0 -> 658 bytes horde/themes/tango-blue/graphics/flags/iq.png | Bin 0 -> 515 bytes horde/themes/tango-blue/graphics/flags/ir.png | Bin 0 -> 512 bytes horde/themes/tango-blue/graphics/flags/is.png | Bin 0 -> 532 bytes horde/themes/tango-blue/graphics/flags/it.png | Bin 0 -> 420 bytes horde/themes/tango-blue/graphics/flags/jm.png | Bin 0 -> 637 bytes horde/themes/tango-blue/graphics/flags/jo.png | Bin 0 -> 473 bytes horde/themes/tango-blue/graphics/flags/jp.png | Bin 0 -> 420 bytes horde/themes/tango-blue/graphics/flags/ke.png | Bin 0 -> 569 bytes horde/themes/tango-blue/graphics/flags/kg.png | Bin 0 -> 510 bytes horde/themes/tango-blue/graphics/flags/kh.png | Bin 0 -> 549 bytes horde/themes/tango-blue/graphics/flags/ki.png | Bin 0 -> 656 bytes horde/themes/tango-blue/graphics/flags/km.png | Bin 0 -> 577 bytes horde/themes/tango-blue/graphics/flags/kn.png | Bin 0 -> 604 bytes horde/themes/tango-blue/graphics/flags/kp.png | Bin 0 -> 561 bytes horde/themes/tango-blue/graphics/flags/kr.png | Bin 0 -> 592 bytes horde/themes/tango-blue/graphics/flags/kw.png | Bin 0 -> 486 bytes horde/themes/tango-blue/graphics/flags/ky.png | Bin 0 -> 643 bytes horde/themes/tango-blue/graphics/flags/kz.png | Bin 0 -> 616 bytes horde/themes/tango-blue/graphics/flags/la.png | Bin 0 -> 563 bytes horde/themes/tango-blue/graphics/flags/lb.png | Bin 0 -> 517 bytes horde/themes/tango-blue/graphics/flags/lc.png | Bin 0 -> 520 bytes horde/themes/tango-blue/graphics/flags/li.png | Bin 0 -> 537 bytes horde/themes/tango-blue/graphics/flags/lk.png | Bin 0 -> 627 bytes horde/themes/tango-blue/graphics/flags/lr.png | Bin 0 -> 466 bytes horde/themes/tango-blue/graphics/flags/ls.png | Bin 0 -> 628 bytes horde/themes/tango-blue/graphics/flags/lt.png | Bin 0 -> 508 bytes horde/themes/tango-blue/graphics/flags/lu.png | Bin 0 -> 481 bytes horde/themes/tango-blue/graphics/flags/lv.png | Bin 0 -> 465 bytes horde/themes/tango-blue/graphics/flags/ly.png | Bin 0 -> 419 bytes horde/themes/tango-blue/graphics/flags/ma.png | Bin 0 -> 432 bytes horde/themes/tango-blue/graphics/flags/mc.png | Bin 0 -> 380 bytes horde/themes/tango-blue/graphics/flags/md.png | Bin 0 -> 566 bytes horde/themes/tango-blue/graphics/flags/me.png | Bin 0 -> 448 bytes horde/themes/tango-blue/graphics/flags/mg.png | Bin 0 -> 453 bytes horde/themes/tango-blue/graphics/flags/mh.png | Bin 0 -> 628 bytes horde/themes/tango-blue/graphics/flags/mk.png | Bin 0 -> 664 bytes horde/themes/tango-blue/graphics/flags/ml.png | Bin 0 -> 474 bytes horde/themes/tango-blue/graphics/flags/mm.png | Bin 0 -> 483 bytes horde/themes/tango-blue/graphics/flags/mn.png | Bin 0 -> 492 bytes horde/themes/tango-blue/graphics/flags/mo.png | Bin 0 -> 588 bytes horde/themes/tango-blue/graphics/flags/mp.png | Bin 0 -> 597 bytes horde/themes/tango-blue/graphics/flags/mq.png | Bin 0 -> 655 bytes horde/themes/tango-blue/graphics/flags/mr.png | Bin 0 -> 569 bytes horde/themes/tango-blue/graphics/flags/ms.png | Bin 0 -> 614 bytes horde/themes/tango-blue/graphics/flags/mt.png | Bin 0 -> 420 bytes horde/themes/tango-blue/graphics/flags/mu.png | Bin 0 -> 496 bytes horde/themes/tango-blue/graphics/flags/mv.png | Bin 0 -> 542 bytes horde/themes/tango-blue/graphics/flags/mw.png | Bin 0 -> 529 bytes horde/themes/tango-blue/graphics/flags/mx.png | Bin 0 -> 574 bytes horde/themes/tango-blue/graphics/flags/my.png | Bin 0 -> 571 bytes horde/themes/tango-blue/graphics/flags/mz.png | Bin 0 -> 584 bytes horde/themes/tango-blue/graphics/flags/na.png | Bin 0 -> 647 bytes horde/themes/tango-blue/graphics/flags/nc.png | Bin 0 -> 591 bytes horde/themes/tango-blue/graphics/flags/ne.png | Bin 0 -> 537 bytes horde/themes/tango-blue/graphics/flags/nf.png | Bin 0 -> 602 bytes horde/themes/tango-blue/graphics/flags/ng.png | Bin 0 -> 482 bytes horde/themes/tango-blue/graphics/flags/ni.png | Bin 0 -> 508 bytes horde/themes/tango-blue/graphics/flags/nl.png | Bin 0 -> 453 bytes horde/themes/tango-blue/graphics/flags/no.png | Bin 0 -> 512 bytes horde/themes/tango-blue/graphics/flags/np.png | Bin 0 -> 443 bytes horde/themes/tango-blue/graphics/flags/nr.png | Bin 0 -> 527 bytes horde/themes/tango-blue/graphics/flags/nu.png | Bin 0 -> 572 bytes horde/themes/tango-blue/graphics/flags/nz.png | Bin 0 -> 639 bytes horde/themes/tango-blue/graphics/flags/om.png | Bin 0 -> 478 bytes horde/themes/tango-blue/graphics/flags/pa.png | Bin 0 -> 519 bytes horde/themes/tango-blue/graphics/flags/pe.png | Bin 0 -> 397 bytes horde/themes/tango-blue/graphics/flags/pf.png | Bin 0 -> 498 bytes horde/themes/tango-blue/graphics/flags/pg.png | Bin 0 -> 593 bytes horde/themes/tango-blue/graphics/flags/ph.png | Bin 0 -> 538 bytes horde/themes/tango-blue/graphics/flags/pk.png | Bin 0 -> 569 bytes horde/themes/tango-blue/graphics/flags/pl.png | Bin 0 -> 374 bytes horde/themes/tango-blue/graphics/flags/pm.png | Bin 0 -> 689 bytes horde/themes/tango-blue/graphics/flags/pn.png | Bin 0 -> 657 bytes horde/themes/tango-blue/graphics/flags/pr.png | Bin 0 -> 556 bytes horde/themes/tango-blue/graphics/flags/ps.png | Bin 0 -> 472 bytes horde/themes/tango-blue/graphics/flags/pt.png | Bin 0 -> 554 bytes horde/themes/tango-blue/graphics/flags/pw.png | Bin 0 -> 550 bytes horde/themes/tango-blue/graphics/flags/py.png | Bin 0 -> 473 bytes horde/themes/tango-blue/graphics/flags/qa.png | Bin 0 -> 450 bytes horde/themes/tango-blue/graphics/flags/re.png | Bin 0 -> 545 bytes horde/themes/tango-blue/graphics/flags/ro.png | Bin 0 -> 495 bytes horde/themes/tango-blue/graphics/flags/rs.png | Bin 0 -> 423 bytes horde/themes/tango-blue/graphics/flags/ru.png | Bin 0 -> 420 bytes horde/themes/tango-blue/graphics/flags/rw.png | Bin 0 -> 533 bytes horde/themes/tango-blue/graphics/flags/sa.png | Bin 0 -> 551 bytes horde/themes/tango-blue/graphics/flags/sb.png | Bin 0 -> 624 bytes horde/themes/tango-blue/graphics/flags/sc.png | Bin 0 -> 608 bytes .../themes/tango-blue/graphics/flags/scotland.png | Bin 0 -> 649 bytes horde/themes/tango-blue/graphics/flags/sd.png | Bin 0 -> 492 bytes horde/themes/tango-blue/graphics/flags/se.png | Bin 0 -> 542 bytes horde/themes/tango-blue/graphics/flags/sg.png | Bin 0 -> 468 bytes horde/themes/tango-blue/graphics/flags/sh.png | Bin 0 -> 645 bytes horde/themes/tango-blue/graphics/flags/si.png | Bin 0 -> 510 bytes horde/themes/tango-blue/graphics/flags/sj.png | Bin 0 -> 512 bytes horde/themes/tango-blue/graphics/flags/sk.png | Bin 0 -> 562 bytes horde/themes/tango-blue/graphics/flags/sl.png | Bin 0 -> 436 bytes horde/themes/tango-blue/graphics/flags/sm.png | Bin 0 -> 502 bytes horde/themes/tango-blue/graphics/flags/sn.png | Bin 0 -> 532 bytes horde/themes/tango-blue/graphics/flags/so.png | Bin 0 -> 527 bytes horde/themes/tango-blue/graphics/flags/sr.png | Bin 0 -> 513 bytes horde/themes/tango-blue/graphics/flags/st.png | Bin 0 -> 584 bytes horde/themes/tango-blue/graphics/flags/sv.png | Bin 0 -> 501 bytes horde/themes/tango-blue/graphics/flags/sy.png | Bin 0 -> 422 bytes horde/themes/tango-blue/graphics/flags/sz.png | Bin 0 -> 643 bytes horde/themes/tango-blue/graphics/flags/tc.png | Bin 0 -> 624 bytes horde/themes/tango-blue/graphics/flags/td.png | Bin 0 -> 570 bytes horde/themes/tango-blue/graphics/flags/tf.png | Bin 0 -> 527 bytes horde/themes/tango-blue/graphics/flags/tg.png | Bin 0 -> 562 bytes horde/themes/tango-blue/graphics/flags/th.png | Bin 0 -> 452 bytes horde/themes/tango-blue/graphics/flags/tj.png | Bin 0 -> 496 bytes horde/themes/tango-blue/graphics/flags/tk.png | Bin 0 -> 638 bytes horde/themes/tango-blue/graphics/flags/tl.png | Bin 0 -> 514 bytes horde/themes/tango-blue/graphics/flags/tm.png | Bin 0 -> 593 bytes horde/themes/tango-blue/graphics/flags/tn.png | Bin 0 -> 495 bytes horde/themes/tango-blue/graphics/flags/to.png | Bin 0 -> 426 bytes horde/themes/tango-blue/graphics/flags/tp.png | Bin 0 -> 737 bytes horde/themes/tango-blue/graphics/flags/tr.png | Bin 0 -> 492 bytes horde/themes/tango-blue/graphics/flags/tt.png | Bin 0 -> 617 bytes horde/themes/tango-blue/graphics/flags/tv.png | Bin 0 -> 536 bytes horde/themes/tango-blue/graphics/flags/tw.png | Bin 0 -> 465 bytes horde/themes/tango-blue/graphics/flags/tz.png | Bin 0 -> 642 bytes horde/themes/tango-blue/graphics/flags/ua.png | Bin 0 -> 446 bytes horde/themes/tango-blue/graphics/flags/ug.png | Bin 0 -> 531 bytes horde/themes/tango-blue/graphics/flags/uk.png | Bin 0 -> 599 bytes horde/themes/tango-blue/graphics/flags/um.png | Bin 0 -> 571 bytes horde/themes/tango-blue/graphics/flags/us.png | Bin 0 -> 609 bytes horde/themes/tango-blue/graphics/flags/uy.png | Bin 0 -> 532 bytes horde/themes/tango-blue/graphics/flags/uz.png | Bin 0 -> 515 bytes horde/themes/tango-blue/graphics/flags/va.png | Bin 0 -> 553 bytes horde/themes/tango-blue/graphics/flags/vc.png | Bin 0 -> 577 bytes horde/themes/tango-blue/graphics/flags/ve.png | Bin 0 -> 528 bytes horde/themes/tango-blue/graphics/flags/vg.png | Bin 0 -> 630 bytes horde/themes/tango-blue/graphics/flags/vi.png | Bin 0 -> 616 bytes horde/themes/tango-blue/graphics/flags/vn.png | Bin 0 -> 474 bytes horde/themes/tango-blue/graphics/flags/vu.png | Bin 0 -> 604 bytes horde/themes/tango-blue/graphics/flags/wales.png | Bin 0 -> 652 bytes horde/themes/tango-blue/graphics/flags/wf.png | Bin 0 -> 554 bytes horde/themes/tango-blue/graphics/flags/ws.png | Bin 0 -> 476 bytes horde/themes/tango-blue/graphics/flags/ye.png | Bin 0 -> 413 bytes horde/themes/tango-blue/graphics/flags/yt.png | Bin 0 -> 593 bytes horde/themes/tango-blue/graphics/flags/yu.png | Bin 0 -> 712 bytes horde/themes/tango-blue/graphics/flags/za.png | Bin 0 -> 642 bytes horde/themes/tango-blue/graphics/flags/zm.png | Bin 0 -> 500 bytes horde/themes/tango-blue/graphics/flags/zw.png | Bin 0 -> 574 bytes horde/themes/tango-blue/graphics/google.png | Bin 0 -> 1687 bytes horde/themes/tango-blue/graphics/group.png | Bin 0 -> 911 bytes horde/themes/tango-blue/graphics/help.png | Bin 0 -> 932 bytes horde/themes/tango-blue/graphics/help_index.png | Bin 0 -> 932 bytes horde/themes/tango-blue/graphics/hide_panel.png | Bin 0 -> 485 bytes horde/themes/tango-blue/graphics/horde-power1.png | Bin 0 -> 3046 bytes horde/themes/tango-blue/graphics/horde-power2.png | Bin 0 -> 2221 bytes horde/themes/tango-blue/graphics/horde-power3.png | Bin 0 -> 3365 bytes horde/themes/tango-blue/graphics/horde.png | Bin 0 -> 618 bytes horde/themes/tango-blue/graphics/image/crop.png | Bin 0 -> 171 bytes horde/themes/tango-blue/graphics/image/flip.png | Bin 0 -> 537 bytes .../themes/tango-blue/graphics/image/grayscale.png | Bin 0 -> 1144 bytes horde/themes/tango-blue/graphics/image/mirror.png | Bin 0 -> 531 bytes horde/themes/tango-blue/graphics/image/ratio.png | Bin 0 -> 309 bytes horde/themes/tango-blue/graphics/image/refresh.png | Bin 0 -> 912 bytes .../tango-blue/graphics/image/rotate-180.png | Bin 0 -> 376 bytes .../tango-blue/graphics/image/rotate-270.png | Bin 0 -> 693 bytes .../themes/tango-blue/graphics/image/rotate-90.png | Bin 0 -> 712 bytes horde/themes/tango-blue/graphics/info.png | Bin 0 -> 317 bytes horde/themes/tango-blue/graphics/info_icon.png | Bin 0 -> 863 bytes horde/themes/tango-blue/graphics/keyboard.png | Bin 0 -> 562 bytes horde/themes/tango-blue/graphics/layout.png | Bin 0 -> 314 bytes horde/themes/tango-blue/graphics/lhand.png | Bin 0 -> 640 bytes horde/themes/tango-blue/graphics/loading.gif | Bin 0 -> 1737 bytes horde/themes/tango-blue/graphics/locked.png | Bin 0 -> 430 bytes horde/themes/tango-blue/graphics/login.png | Bin 0 -> 546 bytes horde/themes/tango-blue/graphics/logout.png | Bin 0 -> 799 bytes horde/themes/tango-blue/graphics/map.png | Bin 0 -> 393 bytes .../themes/tango-blue/graphics/map/marker-blue.png | Bin 0 -> 992 bytes .../themes/tango-blue/graphics/map/marker-gold.png | Bin 0 -> 831 bytes .../tango-blue/graphics/map/marker-green.png | Bin 0 -> 967 bytes .../tango-blue/graphics/map/marker-shadow.png | Bin 0 -> 374 bytes horde/themes/tango-blue/graphics/map/marker.png | Bin 0 -> 606 bytes horde/themes/tango-blue/graphics/map_eu.png | Bin 0 -> 801 bytes horde/themes/tango-blue/graphics/mime/audio.png | Bin 0 -> 419 bytes horde/themes/tango-blue/graphics/mime/binary.png | Bin 0 -> 560 bytes .../themes/tango-blue/graphics/mime/compressed.png | Bin 0 -> 540 bytes horde/themes/tango-blue/graphics/mime/deb.png | Bin 0 -> 540 bytes .../themes/tango-blue/graphics/mime/encryption.png | Bin 0 -> 430 bytes horde/themes/tango-blue/graphics/mime/html.png | Bin 0 -> 709 bytes .../themes/tango-blue/graphics/mime/icalendar.png | Bin 0 -> 604 bytes horde/themes/tango-blue/graphics/mime/image.png | Bin 0 -> 558 bytes horde/themes/tango-blue/graphics/mime/mail.png | Bin 0 -> 550 bytes horde/themes/tango-blue/graphics/mime/msexcel.png | Bin 0 -> 240 bytes .../tango-blue/graphics/mime/mspowerpoint.png | Bin 0 -> 542 bytes horde/themes/tango-blue/graphics/mime/msword.png | Bin 0 -> 392 bytes horde/themes/tango-blue/graphics/mime/ooo_calc.png | Bin 0 -> 1518 bytes horde/themes/tango-blue/graphics/mime/ooo_draw.png | Bin 0 -> 267 bytes .../tango-blue/graphics/mime/ooo_impress.png | Bin 0 -> 1501 bytes horde/themes/tango-blue/graphics/mime/ooo_math.png | Bin 0 -> 841 bytes .../themes/tango-blue/graphics/mime/ooo_writer.png | Bin 0 -> 1627 bytes horde/themes/tango-blue/graphics/mime/pdf.png | Bin 0 -> 392 bytes horde/themes/tango-blue/graphics/mime/php.png | Bin 0 -> 828 bytes horde/themes/tango-blue/graphics/mime/rpm.png | Bin 0 -> 540 bytes .../themes/tango-blue/graphics/mime/script-js.png | Bin 0 -> 240 bytes horde/themes/tango-blue/graphics/mime/source-c.png | Bin 0 -> 209 bytes .../themes/tango-blue/graphics/mime/source-cpp.png | Bin 0 -> 217 bytes horde/themes/tango-blue/graphics/mime/source-h.png | Bin 0 -> 206 bytes .../tango-blue/graphics/mime/source-java.png | Bin 0 -> 372 bytes .../tango-blue/graphics/mime/source-python.png | Bin 0 -> 793 bytes horde/themes/tango-blue/graphics/mime/text.png | Bin 0 -> 333 bytes horde/themes/tango-blue/graphics/mime/vcard.png | Bin 0 -> 628 bytes horde/themes/tango-blue/graphics/mime/video.png | Bin 0 -> 592 bytes .../tango-blue/graphics/mime/wordperfect.png | Bin 0 -> 3831 bytes horde/themes/tango-blue/graphics/mime/xml.png | Bin 0 -> 259 bytes horde/themes/tango-blue/graphics/minus.png | Bin 0 -> 203 bytes horde/themes/tango-blue/graphics/mobile.png | Bin 0 -> 1131 bytes horde/themes/tango-blue/graphics/mobile/bottom.jpg | Bin 0 -> 15540 bytes .../themes/tango-blue/graphics/mobile/display.jpg | Bin 0 -> 1421 bytes horde/themes/tango-blue/graphics/mobile/left.jpg | Bin 0 -> 1560 bytes horde/themes/tango-blue/graphics/mobile/right.jpg | Bin 0 -> 1568 bytes horde/themes/tango-blue/graphics/mobile/top.jpg | Bin 0 -> 4213 bytes horde/themes/tango-blue/graphics/myaccount.png | Bin 0 -> 911 bytes .../themes/tango-blue/graphics/nav/bottom-grey.png | Bin 0 -> 315 bytes horde/themes/tango-blue/graphics/nav/bottom.png | Bin 0 -> 648 bytes horde/themes/tango-blue/graphics/nav/down-grey.png | Bin 0 -> 296 bytes horde/themes/tango-blue/graphics/nav/down.png | Bin 0 -> 672 bytes .../themes/tango-blue/graphics/nav/first-grey.png | Bin 0 -> 309 bytes horde/themes/tango-blue/graphics/nav/first.png | Bin 0 -> 647 bytes horde/themes/tango-blue/graphics/nav/last-grey.png | Bin 0 -> 323 bytes horde/themes/tango-blue/graphics/nav/last.png | Bin 0 -> 672 bytes horde/themes/tango-blue/graphics/nav/left-grey.png | Bin 0 -> 290 bytes horde/themes/tango-blue/graphics/nav/left.png | Bin 0 -> 640 bytes .../themes/tango-blue/graphics/nav/right-grey.png | Bin 0 -> 295 bytes horde/themes/tango-blue/graphics/nav/right.png | Bin 0 -> 663 bytes horde/themes/tango-blue/graphics/nav/top-grey.png | Bin 0 -> 299 bytes horde/themes/tango-blue/graphics/nav/top.png | Bin 0 -> 630 bytes horde/themes/tango-blue/graphics/nav/up-grey.png | Bin 0 -> 289 bytes horde/themes/tango-blue/graphics/nav/up.png | Bin 0 -> 666 bytes horde/themes/tango-blue/graphics/office.png | Bin 0 -> 769 bytes horde/themes/tango-blue/graphics/organizing.png | Bin 0 -> 722 bytes horde/themes/tango-blue/graphics/perms.png | Bin 0 -> 764 bytes horde/themes/tango-blue/graphics/phone.png | Bin 0 -> 473 bytes horde/themes/tango-blue/graphics/plus.png | Bin 0 -> 229 bytes horde/themes/tango-blue/graphics/prefs.png | Bin 0 -> 611 bytes horde/themes/tango-blue/graphics/print.png | Bin 0 -> 481 bytes horde/themes/tango-blue/graphics/problem.png | Bin 0 -> 717 bytes horde/themes/tango-blue/graphics/reload.png | Bin 0 -> 912 bytes horde/themes/tango-blue/graphics/required.png | Bin 0 -> 717 bytes horde/themes/tango-blue/graphics/rhand.png | Bin 0 -> 664 bytes horde/themes/tango-blue/graphics/save.png | Bin 0 -> 554 bytes horde/themes/tango-blue/graphics/search.png | Bin 0 -> 935 bytes horde/themes/tango-blue/graphics/shadow.gif | Bin 0 -> 3557 bytes horde/themes/tango-blue/graphics/shadow.png | Bin 0 -> 3403 bytes horde/themes/tango-blue/graphics/shell.png | Bin 0 -> 668 bytes horde/themes/tango-blue/graphics/show_panel.png | Bin 0 -> 404 bytes horde/themes/tango-blue/graphics/sql.png | Bin 0 -> 1034 bytes horde/themes/tango-blue/graphics/tab_bottom.gif | Bin 0 -> 37 bytes horde/themes/tango-blue/graphics/tree/blank.png | Bin 0 -> 178 bytes horde/themes/tango-blue/graphics/tree/folder.png | Bin 0 -> 498 bytes .../themes/tango-blue/graphics/tree/folderopen.png | Bin 0 -> 523 bytes horde/themes/tango-blue/graphics/tree/join.png | Bin 0 -> 197 bytes .../tango-blue/graphics/tree/joinbottom-down.png | Bin 0 -> 111 bytes .../themes/tango-blue/graphics/tree/joinbottom.png | Bin 0 -> 195 bytes horde/themes/tango-blue/graphics/tree/leaf.png | Bin 0 -> 333 bytes horde/themes/tango-blue/graphics/tree/line.png | Bin 0 -> 193 bytes horde/themes/tango-blue/graphics/tree/minus.png | Bin 0 -> 241 bytes .../tango-blue/graphics/tree/minusbottom.png | Bin 0 -> 236 bytes .../themes/tango-blue/graphics/tree/minusonly.png | Bin 0 -> 230 bytes horde/themes/tango-blue/graphics/tree/minustop.png | Bin 0 -> 238 bytes horde/themes/tango-blue/graphics/tree/nullonly.png | Bin 0 -> 228 bytes horde/themes/tango-blue/graphics/tree/plus.png | Bin 0 -> 247 bytes .../themes/tango-blue/graphics/tree/plusbottom.png | Bin 0 -> 244 bytes horde/themes/tango-blue/graphics/tree/plusonly.png | Bin 0 -> 242 bytes horde/themes/tango-blue/graphics/tree/plustop.png | Bin 0 -> 245 bytes horde/themes/tango-blue/graphics/tree/rev-join.png | Bin 0 -> 524 bytes .../graphics/tree/rev-joinbottom-down.png | Bin 0 -> 532 bytes .../tango-blue/graphics/tree/rev-joinbottom.png | Bin 0 -> 524 bytes horde/themes/tango-blue/graphics/tree/rev-leaf.png | Bin 0 -> 333 bytes horde/themes/tango-blue/graphics/tree/rev-line.png | Bin 0 -> 524 bytes .../themes/tango-blue/graphics/tree/rev-minus.png | Bin 0 -> 528 bytes .../tango-blue/graphics/tree/rev-minusbottom.png | Bin 0 -> 528 bytes .../tango-blue/graphics/tree/rev-minusonly.png | Bin 0 -> 528 bytes .../tango-blue/graphics/tree/rev-minustop.png | Bin 0 -> 528 bytes .../tango-blue/graphics/tree/rev-nullonly.png | Bin 0 -> 528 bytes horde/themes/tango-blue/graphics/tree/rev-plus.png | Bin 0 -> 528 bytes .../tango-blue/graphics/tree/rev-plusbottom.png | Bin 0 -> 528 bytes .../tango-blue/graphics/tree/rev-plusonly.png | Bin 0 -> 528 bytes .../tango-blue/graphics/tree/rev-plustop.png | Bin 0 -> 528 bytes horde/themes/tango-blue/graphics/unlocked.png | Bin 0 -> 796 bytes horde/themes/tango-blue/graphics/user.png | Bin 0 -> 628 bytes horde/themes/tango-blue/graphics/website.png | Bin 0 -> 864 bytes horde/themes/tango-blue/graphics/za.png | Bin 0 -> 685 bytes horde/themes/tango-blue/info.php | 24 + horde/themes/tango-blue/screen.css | 242 + horde/themes/tango-blue/themed_graphics | 0 horde/themes/webkit.css | 17 + horde/util/barcode.php | 64 + horde/util/icon_browser.php | 79 + 3195 files changed, 476603 insertions(+) create mode 100644 horde/COPYING create mode 100644 horde/README create mode 100644 horde/admin/alarms.php create mode 100644 horde/admin/cmdshell.php create mode 100644 horde/admin/datatree.php create mode 100644 horde/admin/groups.php create mode 100644 horde/admin/index.html create mode 100644 horde/admin/locale/en_US/help.xml create mode 100644 horde/admin/locale/eu_ES/help.xml create mode 100644 horde/admin/locale/fi_FI/help.xml create mode 100644 horde/admin/locale/hu_HU/help.xml create mode 100644 horde/admin/perms/addchild.php create mode 100644 horde/admin/perms/delete.php create mode 100644 horde/admin/perms/edit.php create mode 100644 horde/admin/perms/index.php create mode 100644 horde/admin/phpshell.php create mode 100644 horde/admin/sessions.php create mode 100644 horde/admin/setup/config.php create mode 100644 horde/admin/setup/diff.php create mode 100644 horde/admin/setup/index.php create mode 100644 horde/admin/setup/scripts.php create mode 100644 horde/admin/signup_confirm.php create mode 100644 horde/admin/sqlshell.php create mode 100644 horde/admin/user.php create mode 100644 horde/config/.htaccess create mode 100644 horde/config/conf.php.dist create mode 100644 horde/config/conf.xml create mode 100644 horde/config/hooks.php.dist create mode 100644 horde/config/mime_drivers.php.dist create mode 100644 horde/config/motd.php.dist create mode 100644 horde/config/prefs.php.dist create mode 100644 horde/config/registry.d/README create mode 100644 horde/config/registry.php.dist create mode 100644 horde/config/spelling.php.dist create mode 100644 horde/docs/CHANGES create mode 100644 horde/docs/CODING_STANDARDS create mode 100644 horde/docs/CODING_STANDARDS.H3 create mode 100644 horde/docs/CONTRIBUTING create mode 100644 horde/docs/CREDITS create mode 100644 horde/docs/HACKING create mode 100644 horde/docs/INSTALL create mode 100644 horde/docs/LICENSES create mode 100644 horde/docs/PERFORMANCE create mode 100644 horde/docs/RELEASE create mode 100644 horde/docs/RELEASE_NOTES create mode 100644 horde/docs/SECURITY create mode 100644 horde/docs/TODO create mode 100644 horde/docs/TRANSLATIONS create mode 100644 horde/docs/UPGRADING create mode 100755 horde/docs/lighttpd-horde.conf create mode 100644 horde/index.php create mode 100644 horde/js/Growler.js create mode 100644 horde/js/KeyNavList.js create mode 100644 horde/js/QuickFinder.js create mode 100644 horde/js/SpellChecker.js create mode 100644 horde/js/accesskeys.js create mode 100644 horde/js/autocomplete.js create mode 100644 horde/js/builder.js create mode 100644 horde/js/calendar.js create mode 100644 horde/js/colorpicker.js create mode 100644 horde/js/controls.js create mode 100644 horde/js/dhtmlHistory.js create mode 100644 horde/js/dragdrop.js create mode 100644 horde/js/dragdrop2.js create mode 100644 horde/js/effects.js create mode 100644 horde/js/form_assign.js create mode 100644 horde/js/form_helpers.js create mode 100644 horde/js/form_sections.js create mode 100644 horde/js/glow/1.5.1/core/core.debug.js create mode 100644 horde/js/glow/1.5.1/core/core.js create mode 100644 horde/js/glow/1.5.1/widgets/images/carousel/darkdots.png create mode 100644 horde/js/glow/1.5.1/widgets/images/carousel/darkdotsv.png create mode 100644 horde/js/glow/1.5.1/widgets/images/carousel/darkh.png create mode 100644 horde/js/glow/1.5.1/widgets/images/carousel/darkv.png create mode 100644 horde/js/glow/1.5.1/widgets/images/carousel/lightdots.png create mode 100644 horde/js/glow/1.5.1/widgets/images/carousel/lightdotsv.png create mode 100644 horde/js/glow/1.5.1/widgets/images/carousel/lighth.png create mode 100644 horde/js/glow/1.5.1/widgets/images/carousel/lightv.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/ab.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/al.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/ar.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/at.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/bg.gif create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/cbl.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/cbr.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/close.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/ctl.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/ctr.png create mode 100644 horde/js/glow/1.5.1/widgets/images/darkpanel/transbg.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/button-blockquote.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/button-bold.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/button-italics.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/button-strike.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/dark-button-blockquote.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/dark-button-bold.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/dark-button-italics.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/dark-button-strike.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/light-button-blockquote.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/light-button-bold.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/light-button-italics.png create mode 100644 horde/js/glow/1.5.1/widgets/images/editor/light-button-strike.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/ab.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/al.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/ar.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/at.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/bg.gif create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/cbl.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/cbr.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/close.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/ctl.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/ctr.png create mode 100644 horde/js/glow/1.5.1/widgets/images/lightpanel/transbg.png create mode 100644 horde/js/glow/1.5.1/widgets/images/slider/darkh.png create mode 100644 horde/js/glow/1.5.1/widgets/images/slider/darkv.png create mode 100644 horde/js/glow/1.5.1/widgets/images/slider/lighth.png create mode 100644 horde/js/glow/1.5.1/widgets/images/slider/lightv.png create mode 100644 horde/js/glow/1.5.1/widgets/images/t.gif create mode 100644 horde/js/glow/1.5.1/widgets/images/timetable/darkh.png create mode 100644 horde/js/glow/1.5.1/widgets/images/timetable/darkv.png create mode 100644 horde/js/glow/1.5.1/widgets/images/timetable/lighth.png create mode 100644 horde/js/glow/1.5.1/widgets/images/timetable/lightv.png create mode 100644 horde/js/glow/1.5.1/widgets/widgets.css create mode 100644 horde/js/glow/1.5.1/widgets/widgets.debug.css create mode 100644 horde/js/glow/1.5.1/widgets/widgets.debug.js create mode 100644 horde/js/glow/1.5.1/widgets/widgets.js create mode 100644 horde/js/glow/LICENCE.txt create mode 100644 horde/js/glow/map.debug.js create mode 100644 horde/js/glow/map.js create mode 100644 horde/js/horde.js create mode 100644 horde/js/hordemap/OpenLayers.js create mode 100644 horde/js/hordemap/ca-ES.js create mode 100644 horde/js/hordemap/cloudmade.js create mode 100644 horde/js/hordemap/cs-CZ.js create mode 100644 horde/js/hordemap/da-DK.js create mode 100644 horde/js/hordemap/de-DE.js create mode 100644 horde/js/hordemap/en-CA.js create mode 100644 horde/js/hordemap/es-ES.js create mode 100644 horde/js/hordemap/fr-FR.js create mode 100644 horde/js/hordemap/google.js create mode 100644 horde/js/hordemap/horde.js create mode 100644 horde/js/hordemap/img/blank.gif create mode 100644 horde/js/hordemap/img/cloud-popup-relative.png create mode 100644 horde/js/hordemap/img/drag-rectangle-off.png create mode 100644 horde/js/hordemap/img/drag-rectangle-on.png create mode 100644 horde/js/hordemap/img/east-mini.png create mode 100644 horde/js/hordemap/img/layer-switcher-maximize.png create mode 100644 horde/js/hordemap/img/layer-switcher-minimize.png create mode 100644 horde/js/hordemap/img/measuring-stick-off.png create mode 100644 horde/js/hordemap/img/measuring-stick-on.png create mode 100644 horde/js/hordemap/img/north-mini.png create mode 100644 horde/js/hordemap/img/panning-hand-off.png create mode 100644 horde/js/hordemap/img/panning-hand-on.png create mode 100644 horde/js/hordemap/img/slider.png create mode 100644 horde/js/hordemap/img/south-mini.png create mode 100644 horde/js/hordemap/img/west-mini.png create mode 100644 horde/js/hordemap/img/zoom-minus-mini.png create mode 100644 horde/js/hordemap/img/zoom-plus-mini.png create mode 100644 horde/js/hordemap/img/zoom-world-mini.png create mode 100644 horde/js/hordemap/img/zoombar.png create mode 100644 horde/js/hordemap/it-IT.js create mode 100644 horde/js/hordemap/map.js create mode 100644 horde/js/hordemap/nb-NO.js create mode 100644 horde/js/hordemap/nl-NL.js create mode 100644 horde/js/hordemap/pt-BR.js create mode 100644 horde/js/hordemap/public.js create mode 100644 horde/js/hordemap/sapo.js create mode 100644 horde/js/hordemap/sv-SE.js create mode 100644 horde/js/hordemap/theme/default/framedCloud.css create mode 100644 horde/js/hordemap/theme/default/google.css create mode 100644 horde/js/hordemap/theme/default/ie6-style.css create mode 100644 horde/js/hordemap/theme/default/img/add_point_off.png create mode 100644 horde/js/hordemap/theme/default/img/add_point_on.png create mode 100644 horde/js/hordemap/theme/default/img/blank.gif create mode 100644 horde/js/hordemap/theme/default/img/close.gif create mode 100644 horde/js/hordemap/theme/default/img/drag-rectangle-off.png create mode 100644 horde/js/hordemap/theme/default/img/drag-rectangle-on.png create mode 100644 horde/js/hordemap/theme/default/img/draw_line_off.png create mode 100644 horde/js/hordemap/theme/default/img/draw_line_on.png create mode 100644 horde/js/hordemap/theme/default/img/draw_point_off.png create mode 100644 horde/js/hordemap/theme/default/img/draw_point_on.png create mode 100644 horde/js/hordemap/theme/default/img/draw_polygon_off.png create mode 100644 horde/js/hordemap/theme/default/img/draw_polygon_on.png create mode 100644 horde/js/hordemap/theme/default/img/editing_tool_bar.png create mode 100644 horde/js/hordemap/theme/default/img/move_feature_off.png create mode 100644 horde/js/hordemap/theme/default/img/move_feature_on.png create mode 100644 horde/js/hordemap/theme/default/img/navigation_history.png create mode 100644 horde/js/hordemap/theme/default/img/overview_replacement.gif create mode 100644 horde/js/hordemap/theme/default/img/pan-panel-NOALPHA.png create mode 100644 horde/js/hordemap/theme/default/img/pan-panel.png create mode 100644 horde/js/hordemap/theme/default/img/pan_off.png create mode 100644 horde/js/hordemap/theme/default/img/pan_on.png create mode 100644 horde/js/hordemap/theme/default/img/panning-hand-off.png create mode 100644 horde/js/hordemap/theme/default/img/panning-hand-on.png create mode 100644 horde/js/hordemap/theme/default/img/remove_point_off.png create mode 100644 horde/js/hordemap/theme/default/img/remove_point_on.png create mode 100644 horde/js/hordemap/theme/default/img/ruler.png create mode 100644 horde/js/hordemap/theme/default/img/save_features_off.png create mode 100644 horde/js/hordemap/theme/default/img/save_features_on.png create mode 100644 horde/js/hordemap/theme/default/img/view_next_off.png create mode 100644 horde/js/hordemap/theme/default/img/view_next_on.png create mode 100644 horde/js/hordemap/theme/default/img/view_previous_off.png create mode 100644 horde/js/hordemap/theme/default/img/view_previous_on.png create mode 100644 horde/js/hordemap/theme/default/img/zoom-panel-NOALPHA.png create mode 100644 horde/js/hordemap/theme/default/img/zoom-panel.png create mode 100644 horde/js/hordemap/theme/default/style.css create mode 100644 horde/js/hordemap/ve.js create mode 100644 horde/js/hordemap/yahoo.js create mode 100644 horde/js/hordemap/zh-CN.js create mode 100644 horde/js/hordemap/zh-TW.js create mode 100644 horde/js/hordetree.js create mode 100644 horde/js/ieEscGuard.js create mode 100644 horde/js/image.js create mode 100644 horde/js/liquidmetal.js create mode 100644 horde/js/login.js create mode 100644 horde/js/popup.js create mode 100644 horde/js/prettyautocomplete.js create mode 100644 horde/js/prototype.js create mode 100644 horde/js/redbox.js create mode 100644 horde/js/scriptaculous.js create mode 100644 horde/js/select_autocompleter.js create mode 100644 horde/js/sidebar.js create mode 100644 horde/js/slider.js create mode 100644 horde/js/sorter.js create mode 100644 horde/js/stripe.js create mode 100644 horde/js/tables.js create mode 100644 horde/js/tooltips.js create mode 100644 horde/lib/.htaccess create mode 100644 horde/lib/Api.php create mode 100644 horde/lib/Application.php create mode 100644 horde/lib/Block/account.php create mode 100644 horde/lib/Block/cloud.php create mode 100644 horde/lib/Block/fb_stream.php create mode 100644 horde/lib/Block/feed.php create mode 100644 horde/lib/Block/feed/reader.php create mode 100644 horde/lib/Block/fortune.php create mode 100644 horde/lib/Block/google.php create mode 100644 horde/lib/Block/iframe.php create mode 100644 horde/lib/Block/metar.php create mode 100644 horde/lib/Block/moon.php create mode 100644 horde/lib/Block/sunrise.php create mode 100644 horde/lib/Block/time.php create mode 100644 horde/lib/Block/twitter.php create mode 100644 horde/lib/Block/twitter_timeline.php create mode 100644 horde/lib/Block/vatid.php create mode 100644 horde/lib/Block/weatherdotcom.php create mode 100644 horde/lib/Block/weatherdotcom_strings.php create mode 100644 horde/lib/LoginTasks/SystemTask/GarbageCollection.php create mode 100644 horde/lib/LoginTasks/Task/TosAgreement.php create mode 100644 horde/lib/Test.php create mode 100644 horde/lib/base.php create mode 100644 horde/lib/core.local.php create mode 100644 horde/lib/core.php create mode 100644 horde/lib/tests/webroot.phpt create mode 100644 horde/locale/.htaccess create mode 100644 horde/locale/ar_SY/LC_MESSAGES/horde.mo create mode 100644 horde/locale/bg_BG/LC_MESSAGES/horde.mo create mode 100644 horde/locale/bg_BG/help.xml create mode 100644 horde/locale/bs_BA/LC_MESSAGES/horde.mo create mode 100644 horde/locale/ca_ES/LC_MESSAGES/horde.mo create mode 100755 horde/locale/ca_ES/help.xml create mode 100644 horde/locale/cs_CZ/LC_MESSAGES/horde.mo create mode 100644 horde/locale/cs_CZ/help.xml create mode 100644 horde/locale/da_DK/LC_MESSAGES/horde.mo create mode 100644 horde/locale/da_DK/help.xml create mode 100644 horde/locale/de_DE/LC_MESSAGES/horde.mo create mode 100644 horde/locale/de_DE/help.xml create mode 100644 horde/locale/el_GR/LC_MESSAGES/horde.mo create mode 100644 horde/locale/el_GR/help.xml create mode 100644 horde/locale/en_US/help.xml create mode 100644 horde/locale/es_ES/LC_MESSAGES/horde.mo create mode 100644 horde/locale/es_ES/help.xml create mode 100644 horde/locale/et_EE/LC_MESSAGES/horde.mo create mode 100644 horde/locale/et_EE/help.xml create mode 100644 horde/locale/eu_ES/LC_MESSAGES/horde.mo create mode 100644 horde/locale/eu_ES/help.xml create mode 100644 horde/locale/fa_IR/LC_MESSAGES/horde.mo create mode 100644 horde/locale/fa_IR/help.xml create mode 100644 horde/locale/fi_FI/LC_MESSAGES/horde.mo create mode 100644 horde/locale/fi_FI/help.xml create mode 100644 horde/locale/fr_FR/LC_MESSAGES/horde.mo create mode 100644 horde/locale/fr_FR/help.xml create mode 100644 horde/locale/gl_ES/LC_MESSAGES/horde.mo create mode 100644 horde/locale/he_IL/LC_MESSAGES/horde.mo create mode 100644 horde/locale/hr_HR/LC_MESSAGES/horde.mo create mode 100644 horde/locale/hr_HR/help.xml create mode 100644 horde/locale/hu_HU/LC_MESSAGES/horde.mo create mode 100644 horde/locale/hu_HU/help.xml create mode 100644 horde/locale/id_ID/LC_MESSAGES/horde.mo create mode 100644 horde/locale/is_IS/LC_MESSAGES/horde.mo create mode 100644 horde/locale/it_IT/LC_MESSAGES/horde.mo create mode 100644 horde/locale/it_IT/help.xml create mode 100644 horde/locale/ja_JP/LC_MESSAGES/horde.mo create mode 100644 horde/locale/ja_JP/help.xml create mode 100644 horde/locale/km_KH/LC_MESSAGES/horde.mo create mode 100644 horde/locale/ko_KR/LC_MESSAGES/horde.mo create mode 100644 horde/locale/ko_KR/help.xml create mode 100644 horde/locale/lt_LT/LC_MESSAGES/horde.mo create mode 100644 horde/locale/lt_LT/help.xml create mode 100644 horde/locale/lv_LV/LC_MESSAGES/horde.mo create mode 100644 horde/locale/mk_MK/LC_MESSAGES/horde.mo create mode 100644 horde/locale/nb_NO/LC_MESSAGES/horde.mo create mode 100644 horde/locale/nb_NO/help.xml create mode 100644 horde/locale/nl_NL/LC_MESSAGES/horde.mo create mode 100644 horde/locale/nl_NL/help.xml create mode 100644 horde/locale/nn_NO/LC_MESSAGES/horde.mo create mode 100644 horde/locale/nn_NO/help.xml create mode 100644 horde/locale/pl_PL/LC_MESSAGES/horde.mo create mode 100644 horde/locale/pl_PL/help.xml create mode 100644 horde/locale/pt_BR/LC_MESSAGES/horde.mo create mode 100644 horde/locale/pt_BR/help.xml create mode 100644 horde/locale/pt_PT/LC_MESSAGES/horde.mo create mode 100644 horde/locale/pt_PT/help.xml create mode 100644 horde/locale/ro_RO/LC_MESSAGES/horde.mo create mode 100644 horde/locale/ru_RU/LC_MESSAGES/horde.mo create mode 100644 horde/locale/ru_RU/help.xml create mode 100644 horde/locale/sk_SK/LC_MESSAGES/horde.mo create mode 100644 horde/locale/sk_SK/help.xml create mode 100644 horde/locale/sl_SI/LC_MESSAGES/horde.mo create mode 100644 horde/locale/sl_SI/help.xml create mode 100644 horde/locale/sv_SE/LC_MESSAGES/horde.mo create mode 100644 horde/locale/sv_SE/help.xml create mode 100644 horde/locale/tr_TR/LC_MESSAGES/horde.mo create mode 100644 horde/locale/tr_TR/help.xml create mode 100644 horde/locale/uk_UA/LC_MESSAGES/horde.mo create mode 100644 horde/locale/uk_UA/help.xml create mode 100644 horde/locale/zh_CN/LC_MESSAGES/horde.mo create mode 100644 horde/locale/zh_CN/help.xml create mode 100644 horde/locale/zh_TW/LC_MESSAGES/horde.mo create mode 100644 horde/locale/zh_TW/help.xml create mode 100644 horde/login.php create mode 100644 horde/po/.htaccess create mode 100644 horde/po/README create mode 100644 horde/po/ar_SY.po create mode 100644 horde/po/bg_BG.po create mode 100644 horde/po/bs_BA.po create mode 100644 horde/po/ca_ES.po create mode 100644 horde/po/cs_CZ.po create mode 100644 horde/po/da_DK.po create mode 100644 horde/po/de_DE.po create mode 100644 horde/po/el_GR.po create mode 100644 horde/po/es_ES.po create mode 100644 horde/po/et_EE.po create mode 100644 horde/po/eu_ES.po create mode 100644 horde/po/fa_IR.po create mode 100644 horde/po/fi_FI.po create mode 100644 horde/po/fr_FR.po create mode 100644 horde/po/gl_ES.po create mode 100644 horde/po/he_IL.po create mode 100644 horde/po/horde.pot create mode 100644 horde/po/hr_HR.po create mode 100644 horde/po/hu_HU.po create mode 100644 horde/po/id_ID.po create mode 100644 horde/po/is_IS.po create mode 100644 horde/po/it_IT.po create mode 100644 horde/po/ja_JP.po create mode 100644 horde/po/km_KH.po create mode 100644 horde/po/ko_KR.po create mode 100644 horde/po/lt_LT.po create mode 100644 horde/po/lv_LV.po create mode 100644 horde/po/mk_MK.po create mode 100644 horde/po/nb_NO.po create mode 100644 horde/po/nl_NL.po create mode 100644 horde/po/nn_NO.po create mode 100644 horde/po/pl_PL.po create mode 100644 horde/po/pt_BR.po create mode 100644 horde/po/pt_PT.po create mode 100644 horde/po/ro_RO.po create mode 100644 horde/po/ru_RU.po create mode 100644 horde/po/sk_SK.po create mode 100644 horde/po/sl_SI.po create mode 100644 horde/po/sv_SE.po create mode 100644 horde/po/tr_TR.po create mode 100755 horde/po/translation.php create mode 100644 horde/po/uk_UA.po create mode 100644 horde/po/zh_CN.po create mode 100644 horde/po/zh_TW.po create mode 100644 horde/rampage.php create mode 100644 horde/rpc.php create mode 100644 horde/rpc/.htaccess create mode 100644 horde/rpc/index.php create mode 100644 horde/scripts/.htaccess create mode 100644 horde/scripts/SCRIPTS create mode 100755 horde/scripts/alarms.php create mode 100644 horde/scripts/cookie_login.php create mode 100644 horde/scripts/get_login.php create mode 100644 horde/scripts/horde.logrotate create mode 100644 horde/scripts/http_login_refer.php create mode 100755 horde/scripts/import_squirrelmail_file_prefs.php create mode 100644 horde/scripts/import_squirrelmail_prefs.php create mode 100755 horde/scripts/import_squirrelmail_sql_prefs.php create mode 100644 horde/scripts/ldap/horde.prefs.acl create mode 100644 horde/scripts/ldap/horde.schema create mode 100755 horde/scripts/set_perms.sh create mode 100644 horde/scripts/sql/README create mode 100644 horde/scripts/sql/README.OCI8 create mode 100644 horde/scripts/sql/create.mssql.sql create mode 100644 horde/scripts/sql/create.mysql.sql create mode 100644 horde/scripts/sql/create.oci8.sql create mode 100644 horde/scripts/sql/create.pgsql.sql create mode 100644 horde/scripts/sql/create.sql create mode 100644 horde/scripts/sql/create.sybase.sql create mode 100644 horde/scripts/sql/create.xml create mode 100644 horde/scripts/sql/horde_alarms.mssql.sql create mode 100644 horde/scripts/sql/horde_alarms.oci8.sql create mode 100644 horde/scripts/sql/horde_alarms.pgsql.sql create mode 100644 horde/scripts/sql/horde_alarms.sql create mode 100644 horde/scripts/sql/horde_cache.pgsql.sql create mode 100644 horde/scripts/sql/horde_cache.sql create mode 100644 horde/scripts/sql/horde_datatree.mssql.sql create mode 100644 horde/scripts/sql/horde_datatree.mysql.sql create mode 100644 horde/scripts/sql/horde_datatree.pgsql.sql create mode 100644 horde/scripts/sql/horde_datatree.sql create mode 100644 horde/scripts/sql/horde_groups.mysql.sql create mode 100644 horde/scripts/sql/horde_groups.oci8.sql create mode 100644 horde/scripts/sql/horde_groups.pgsql.sql create mode 100644 horde/scripts/sql/horde_groups.sql create mode 100644 horde/scripts/sql/horde_histories.mssql.sql create mode 100644 horde/scripts/sql/horde_histories.sql create mode 100644 horde/scripts/sql/horde_locks.sql create mode 100644 horde/scripts/sql/horde_log.mssql.sql create mode 100644 horde/scripts/sql/horde_log.sql create mode 100644 horde/scripts/sql/horde_muvfs.mssql.sql create mode 100644 horde/scripts/sql/horde_muvfs.sql create mode 100644 horde/scripts/sql/horde_perms.mysql.sql create mode 100644 horde/scripts/sql/horde_perms.oci8.sql create mode 100644 horde/scripts/sql/horde_perms.pgsql.sql create mode 100644 horde/scripts/sql/horde_perms.sql create mode 100644 horde/scripts/sql/horde_prefs.mssql.sql create mode 100644 horde/scripts/sql/horde_prefs.pgsql.sql create mode 100644 horde/scripts/sql/horde_prefs.sql create mode 100644 horde/scripts/sql/horde_sessionhandler.mssql.sql create mode 100644 horde/scripts/sql/horde_sessionhandler.mysql.sql create mode 100644 horde/scripts/sql/horde_sessionhandler.oci8.sql create mode 100644 horde/scripts/sql/horde_sessionhandler.pgsql.sql create mode 100644 horde/scripts/sql/horde_sessionhandler.sql create mode 100644 horde/scripts/sql/horde_signups.mysql.sql create mode 100644 horde/scripts/sql/horde_signups.sql create mode 100644 horde/scripts/sql/horde_syncml.sql create mode 100644 horde/scripts/sql/horde_tokens.sql create mode 100644 horde/scripts/sql/horde_users.sql create mode 100644 horde/scripts/sql/horde_vfs.mssql.sql create mode 100644 horde/scripts/sql/horde_vfs.oci8.sql create mode 100644 horde/scripts/sql/horde_vfs.pgsql.sql create mode 100644 horde/scripts/sql/horde_vfs.sql create mode 100644 horde/scripts/sql/script.initial_horde_user.sql create mode 100644 horde/scripts/temp-cleanup.cron create mode 100644 horde/scripts/upgrades/2.2_to_3.0.mysql.sql create mode 100644 horde/scripts/upgrades/2.2_to_3.0.oci8.sql create mode 100644 horde/scripts/upgrades/2.2_to_3.0.pgsql.sql create mode 100644 horde/scripts/upgrades/2005-09-22_horde_prefs_varchar2.oci8.sql create mode 100644 horde/scripts/upgrades/2006-06-29_horde_prefs_indexes.sql create mode 100644 horde/scripts/upgrades/2007-02-21_horde_alarms_primary.sql create mode 100644 horde/scripts/upgrades/2007-04-25_horde_alarms_drop_primary.sql create mode 100644 horde/scripts/upgrades/2007-05-24_horde_alarms_add_dismissed.sql create mode 100644 horde/scripts/upgrades/2008-04-04_horde_syncml_map_split_indexes.pgsql.sql create mode 100644 horde/scripts/upgrades/2008-04-04_horde_syncml_map_split_indexes.sql create mode 100755 horde/scripts/upgrades/2008-04-09_horde_syncml_map.php create mode 100644 horde/scripts/upgrades/2008-04-09_horde_syncml_map.sql create mode 100644 horde/scripts/upgrades/2008-04-23-horde_cache_expiry.sql create mode 100644 horde/scripts/upgrades/2008-05-15-horde_lock_schema.sql create mode 100644 horde/scripts/upgrades/2008-05-16_horde_lock_uuid.sql create mode 100755 horde/scripts/upgrades/2008-08-29_fix_mdb2_sequences.php create mode 100644 horde/scripts/upgrades/2009-02-13_horde_sessionhandler_lastmodified_index.sql create mode 100644 horde/scripts/upgrades/2009-04-13_horde_pgsql_upgrade.sql create mode 100644 horde/scripts/upgrades/2009-09-10_horde_signup_drop_email.sql create mode 100644 horde/scripts/upgrades/3.0_to_3.1.mysql.sql create mode 100644 horde/scripts/upgrades/3.0_to_3.1.oci8.sql create mode 100644 horde/scripts/upgrades/3.0_to_3.1.sql create mode 100644 horde/scripts/upgrades/3.1_to_3.2.mssql.sql create mode 100644 horde/scripts/upgrades/3.1_to_3.2.mysql.sql create mode 100644 horde/scripts/upgrades/3.1_to_3.2.oci8.sql create mode 100644 horde/scripts/upgrades/3.1_to_3.2.pgsql.sql create mode 100644 horde/scripts/upgrades/3.1_to_3.2.sql create mode 100644 horde/scripts/upgrades/3.1_to_3.2.sybase.sql create mode 100644 horde/scripts/upgrades/3.3_to_3.3.5.sql create mode 100755 horde/scripts/upgrades/convert_datatree_groups_to_sql.php create mode 100755 horde/scripts/upgrades/convert_datatree_perms_to_sql.php create mode 100755 horde/scripts/upgrades/migrate_user_categories.php create mode 100755 horde/scripts/upgrades/move_history_out_of_datatree.php create mode 100644 horde/services/cache.php create mode 100644 horde/services/cacheview.php create mode 100644 horde/services/changepassword.php create mode 100644 horde/services/confirm.php create mode 100644 horde/services/download/index.php create mode 100644 horde/services/editor/ckeditor/LICENSE.html create mode 100644 horde/services/editor/ckeditor/ckeditor.js create mode 100644 horde/services/editor/ckeditor/ckeditor_basic.js create mode 100644 horde/services/editor/ckeditor/config.js create mode 100644 horde/services/editor/ckeditor/contents.css create mode 100644 horde/services/editor/ckeditor/images/spacer.gif create mode 100644 horde/services/editor/ckeditor/lang/_languages.js create mode 100644 horde/services/editor/ckeditor/lang/_translationstatus.txt create mode 100644 horde/services/editor/ckeditor/lang/af.js create mode 100644 horde/services/editor/ckeditor/lang/ar.js create mode 100644 horde/services/editor/ckeditor/lang/bg.js create mode 100644 horde/services/editor/ckeditor/lang/bn.js create mode 100644 horde/services/editor/ckeditor/lang/bs.js create mode 100644 horde/services/editor/ckeditor/lang/ca.js create mode 100644 horde/services/editor/ckeditor/lang/cs.js create mode 100644 horde/services/editor/ckeditor/lang/da.js create mode 100644 horde/services/editor/ckeditor/lang/de.js create mode 100644 horde/services/editor/ckeditor/lang/el.js create mode 100644 horde/services/editor/ckeditor/lang/en-au.js create mode 100644 horde/services/editor/ckeditor/lang/en-ca.js create mode 100644 horde/services/editor/ckeditor/lang/en-uk.js create mode 100644 horde/services/editor/ckeditor/lang/en.js create mode 100644 horde/services/editor/ckeditor/lang/eo.js create mode 100644 horde/services/editor/ckeditor/lang/es.js create mode 100644 horde/services/editor/ckeditor/lang/et.js create mode 100644 horde/services/editor/ckeditor/lang/eu.js create mode 100644 horde/services/editor/ckeditor/lang/fa.js create mode 100644 horde/services/editor/ckeditor/lang/fi.js create mode 100644 horde/services/editor/ckeditor/lang/fo.js create mode 100644 horde/services/editor/ckeditor/lang/fr-ca.js create mode 100644 horde/services/editor/ckeditor/lang/fr.js create mode 100644 horde/services/editor/ckeditor/lang/gl.js create mode 100644 horde/services/editor/ckeditor/lang/gu.js create mode 100644 horde/services/editor/ckeditor/lang/he.js create mode 100644 horde/services/editor/ckeditor/lang/hi.js create mode 100644 horde/services/editor/ckeditor/lang/hr.js create mode 100644 horde/services/editor/ckeditor/lang/hu.js create mode 100644 horde/services/editor/ckeditor/lang/is.js create mode 100644 horde/services/editor/ckeditor/lang/it.js create mode 100644 horde/services/editor/ckeditor/lang/ja.js create mode 100644 horde/services/editor/ckeditor/lang/km.js create mode 100644 horde/services/editor/ckeditor/lang/ko.js create mode 100644 horde/services/editor/ckeditor/lang/lt.js create mode 100644 horde/services/editor/ckeditor/lang/lv.js create mode 100644 horde/services/editor/ckeditor/lang/mn.js create mode 100644 horde/services/editor/ckeditor/lang/ms.js create mode 100644 horde/services/editor/ckeditor/lang/nb.js create mode 100644 horde/services/editor/ckeditor/lang/nl.js create mode 100644 horde/services/editor/ckeditor/lang/no.js create mode 100644 horde/services/editor/ckeditor/lang/pl.js create mode 100644 horde/services/editor/ckeditor/lang/pt-br.js create mode 100644 horde/services/editor/ckeditor/lang/pt.js create mode 100644 horde/services/editor/ckeditor/lang/ro.js create mode 100644 horde/services/editor/ckeditor/lang/ru.js create mode 100644 horde/services/editor/ckeditor/lang/sk.js create mode 100644 horde/services/editor/ckeditor/lang/sl.js create mode 100644 horde/services/editor/ckeditor/lang/sr-latn.js create mode 100644 horde/services/editor/ckeditor/lang/sr.js create mode 100644 horde/services/editor/ckeditor/lang/sv.js create mode 100644 horde/services/editor/ckeditor/lang/th.js create mode 100644 horde/services/editor/ckeditor/lang/tr.js create mode 100644 horde/services/editor/ckeditor/lang/uk.js create mode 100644 horde/services/editor/ckeditor/lang/vi.js create mode 100644 horde/services/editor/ckeditor/lang/zh-cn.js create mode 100644 horde/services/editor/ckeditor/lang/zh.js create mode 100644 horde/services/editor/ckeditor/plugins/about/dialogs/about.js create mode 100644 horde/services/editor/ckeditor/plugins/about/dialogs/logo_ckeditor.png create mode 100644 horde/services/editor/ckeditor/plugins/about/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/basicstyles/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/blockquote/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/button/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/clipboard/dialogs/paste.js create mode 100644 horde/services/editor/ckeditor/plugins/clipboard/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/colorbutton/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/colordialog/dialogs/colordialog.js create mode 100644 horde/services/editor/ckeditor/plugins/colordialog/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/contextmenu/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/dialog/dialogDefinition.js create mode 100644 horde/services/editor/ckeditor/plugins/dialog/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/dialogui/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/domiterator/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/editingblock/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/elementspath/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/enterkey/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/entities/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/fakeobjects/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/filebrowser/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/find/dialogs/find.js create mode 100644 horde/services/editor/ckeditor/plugins/find/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/flash/dialogs/flash.js create mode 100644 horde/services/editor/ckeditor/plugins/flash/images/placeholder.png create mode 100644 horde/services/editor/ckeditor/plugins/flash/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/floatpanel/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/font/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/format/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/forms/dialogs/button.js create mode 100644 horde/services/editor/ckeditor/plugins/forms/dialogs/checkbox.js create mode 100644 horde/services/editor/ckeditor/plugins/forms/dialogs/form.js create mode 100644 horde/services/editor/ckeditor/plugins/forms/dialogs/hiddenfield.js create mode 100644 horde/services/editor/ckeditor/plugins/forms/dialogs/radio.js create mode 100644 horde/services/editor/ckeditor/plugins/forms/dialogs/select.js create mode 100644 horde/services/editor/ckeditor/plugins/forms/dialogs/textarea.js create mode 100644 horde/services/editor/ckeditor/plugins/forms/dialogs/textfield.js create mode 100644 horde/services/editor/ckeditor/plugins/forms/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/horizontalrule/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/htmldataprocessor/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/htmlwriter/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/iframedialog/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/image/dialogs/image.js create mode 100644 horde/services/editor/ckeditor/plugins/image/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/indent/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/justify/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/keystrokes/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/link/dialogs/anchor.js create mode 100644 horde/services/editor/ckeditor/plugins/link/dialogs/link.js create mode 100644 horde/services/editor/ckeditor/plugins/link/images/anchor.gif create mode 100644 horde/services/editor/ckeditor/plugins/link/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/list/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/listblock/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/maximize/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/menu/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/menubutton/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/newpage/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/pagebreak/images/pagebreak.gif create mode 100644 horde/services/editor/ckeditor/plugins/pagebreak/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/panel/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/panelbutton/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/pastefromword/dialogs/pastefromword.js create mode 100644 horde/services/editor/ckeditor/plugins/pastefromword/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/pastetext/dialogs/pastetext.js create mode 100644 horde/services/editor/ckeditor/plugins/pastetext/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/popup/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/preview/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/print/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/removeformat/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/resize/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/richcombo/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/save/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/scayt/dialogs/options.js create mode 100644 horde/services/editor/ckeditor/plugins/scayt/dialogs/toolbar.css create mode 100644 horde/services/editor/ckeditor/plugins/scayt/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/selection/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_address.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_blockquote.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_div.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_h1.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_h2.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_h3.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_h4.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_h5.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_h6.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_p.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/images/block_pre.png create mode 100644 horde/services/editor/ckeditor/plugins/showblocks/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/smiley/dialogs/smiley.js create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/angel_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/angry_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/broken_heart.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/confused_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/cry_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/devil_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/embaressed_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/envelope.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/heart.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/kiss.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/lightbulb.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/omg_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/regular_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/sad_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/shades_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/teeth_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/thumbs_down.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/thumbs_up.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/tounge_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/images/wink_smile.gif create mode 100644 horde/services/editor/ckeditor/plugins/smiley/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/sourcearea/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/specialchar/dialogs/specialchar.js create mode 100644 horde/services/editor/ckeditor/plugins/specialchar/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/styles/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/stylescombo/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/stylescombo/styles/default.js create mode 100644 horde/services/editor/ckeditor/plugins/tab/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/table/dialogs/table.js create mode 100644 horde/services/editor/ckeditor/plugins/table/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/tabletools/dialogs/tableCell.js create mode 100644 horde/services/editor/ckeditor/plugins/tabletools/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/templates/dialogs/templates.js create mode 100644 horde/services/editor/ckeditor/plugins/templates/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/templates/templates/default.js create mode 100644 horde/services/editor/ckeditor/plugins/templates/templates/images/template1.gif create mode 100644 horde/services/editor/ckeditor/plugins/templates/templates/images/template2.gif create mode 100644 horde/services/editor/ckeditor/plugins/templates/templates/images/template3.gif create mode 100644 horde/services/editor/ckeditor/plugins/toolbar/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/dialogs/uicolor.js create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/lang/en.js create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/uicolor.gif create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/yui/assets/hue_bg.png create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/yui/assets/picker_mask.png create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/yui/assets/yui.css create mode 100644 horde/services/editor/ckeditor/plugins/uicolor/yui/yui.js create mode 100644 horde/services/editor/ckeditor/plugins/undo/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/wsc/dialogs/ciframe.html create mode 100644 horde/services/editor/ckeditor/plugins/wsc/dialogs/tmpFrameset.html create mode 100644 horde/services/editor/ckeditor/plugins/wsc/dialogs/wsc.css create mode 100644 horde/services/editor/ckeditor/plugins/wsc/dialogs/wsc.js create mode 100644 horde/services/editor/ckeditor/plugins/wsc/plugin.js create mode 100644 horde/services/editor/ckeditor/plugins/wysiwygarea/plugin.js create mode 100644 horde/services/editor/ckeditor/skins/kama/dialog.css create mode 100644 horde/services/editor/ckeditor/skins/kama/editor.css create mode 100644 horde/services/editor/ckeditor/skins/kama/icons.png create mode 100644 horde/services/editor/ckeditor/skins/kama/images/dialog_sides.gif create mode 100644 horde/services/editor/ckeditor/skins/kama/images/dialog_sides.png create mode 100644 horde/services/editor/ckeditor/skins/kama/images/dialog_sides_rtl.png create mode 100644 horde/services/editor/ckeditor/skins/kama/images/mini.gif create mode 100644 horde/services/editor/ckeditor/skins/kama/images/noimage.png create mode 100644 horde/services/editor/ckeditor/skins/kama/images/sprites.png create mode 100644 horde/services/editor/ckeditor/skins/kama/images/sprites_ie6.png create mode 100644 horde/services/editor/ckeditor/skins/kama/images/toolbar_start.gif create mode 100644 horde/services/editor/ckeditor/skins/kama/skin.js create mode 100644 horde/services/editor/ckeditor/skins/kama/templates.css create mode 100644 horde/services/editor/ckeditor/skins/office2003/dialog.css create mode 100644 horde/services/editor/ckeditor/skins/office2003/editor.css create mode 100644 horde/services/editor/ckeditor/skins/office2003/icons.png create mode 100644 horde/services/editor/ckeditor/skins/office2003/images/dialog_sides.gif create mode 100644 horde/services/editor/ckeditor/skins/office2003/images/dialog_sides.png create mode 100644 horde/services/editor/ckeditor/skins/office2003/images/dialog_sides_rtl.png create mode 100644 horde/services/editor/ckeditor/skins/office2003/images/mini.gif create mode 100644 horde/services/editor/ckeditor/skins/office2003/images/noimage.png create mode 100644 horde/services/editor/ckeditor/skins/office2003/images/sprites.png create mode 100644 horde/services/editor/ckeditor/skins/office2003/images/sprites_ie6.png create mode 100644 horde/services/editor/ckeditor/skins/office2003/skin.js create mode 100644 horde/services/editor/ckeditor/skins/office2003/templates.css create mode 100644 horde/services/editor/ckeditor/skins/v2/dialog.css create mode 100644 horde/services/editor/ckeditor/skins/v2/editor.css create mode 100644 horde/services/editor/ckeditor/skins/v2/icons.png create mode 100644 horde/services/editor/ckeditor/skins/v2/images/dialog_sides.gif create mode 100644 horde/services/editor/ckeditor/skins/v2/images/dialog_sides.png create mode 100644 horde/services/editor/ckeditor/skins/v2/images/dialog_sides_rtl.png create mode 100644 horde/services/editor/ckeditor/skins/v2/images/mini.gif create mode 100644 horde/services/editor/ckeditor/skins/v2/images/noimage.png create mode 100644 horde/services/editor/ckeditor/skins/v2/images/sprites.png create mode 100644 horde/services/editor/ckeditor/skins/v2/images/sprites_ie6.png create mode 100644 horde/services/editor/ckeditor/skins/v2/images/toolbar_start.gif create mode 100644 horde/services/editor/ckeditor/skins/v2/skin.js create mode 100644 horde/services/editor/ckeditor/skins/v2/templates.css create mode 100644 horde/services/editor/ckeditor/themes/default/theme.js create mode 100644 horde/services/editor/fckeditor/editor/css/behaviors/disablehandles.htc create mode 100644 horde/services/editor/fckeditor/editor/css/behaviors/showtableborders.htc create mode 100644 horde/services/editor/fckeditor/editor/css/fck_editorarea.css create mode 100644 horde/services/editor/fckeditor/editor/css/fck_internal.css create mode 100644 horde/services/editor/fckeditor/editor/css/fck_showtableborders_gecko.css create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_address.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_blockquote.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_div.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_h1.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_h2.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_h3.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_h4.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_h5.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_h6.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_p.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/block_pre.png create mode 100644 horde/services/editor/fckeditor/editor/css/images/fck_anchor.gif create mode 100644 horde/services/editor/fckeditor/editor/css/images/fck_flashlogo.gif create mode 100644 horde/services/editor/fckeditor/editor/css/images/fck_hiddenfield.gif create mode 100644 horde/services/editor/fckeditor/editor/css/images/fck_pagebreak.gif create mode 100644 horde/services/editor/fckeditor/editor/css/images/fck_plugin.gif create mode 100644 horde/services/editor/fckeditor/editor/dialog/common/fck_dialog_common.css create mode 100644 horde/services/editor/fckeditor/editor/dialog/common/fck_dialog_common.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/common/images/locked.gif create mode 100644 horde/services/editor/fckeditor/editor/dialog/common/images/reset.gif create mode 100644 horde/services/editor/fckeditor/editor/dialog/common/images/unlocked.gif create mode 100644 horde/services/editor/fckeditor/editor/dialog/common/src/fck_dialog_common.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_about.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_about/logo_fredck.gif create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_anchor.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_button.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_checkbox.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_colorselector.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_div.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_docprops.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_flash.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_flash/fck_flash.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_flash/src/fck_flash.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_form.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_hiddenfield.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_image.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_image/fck_image.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_image/fck_image_preview.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_image/src/fck_image.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_link.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_link/fck_link.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_link/src/fck_link.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_listprop.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_paste.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_radiobutton.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_replace.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_select.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_select/fck_select.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_select/src/fck_select.js create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_smiley.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_source.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_specialchar.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_table.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_tablecell.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_template.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_template/images/template1.gif create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_template/images/template2.gif create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_template/images/template3.gif create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_textarea.html create mode 100644 horde/services/editor/fckeditor/editor/dialog/fck_textfield.html create mode 100644 horde/services/editor/fckeditor/editor/fckdebug.html create mode 100644 horde/services/editor/fckeditor/editor/fckdialog.html create mode 100644 horde/services/editor/fckeditor/editor/fckeditor.html create mode 100644 horde/services/editor/fckeditor/editor/images/anchor.gif create mode 100644 horde/services/editor/fckeditor/editor/images/arrow_ltr.gif create mode 100644 horde/services/editor/fckeditor/editor/images/arrow_rtl.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/angel_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/angry_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/broken_heart.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/cake.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/confused_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/cry_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/devil_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/embaressed_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/envelope.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/heart.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/kiss.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/lightbulb.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/omg_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/regular_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/sad_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/shades_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/teeth_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/thumbs_down.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/thumbs_up.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/tounge_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/smiley/msn/wink_smile.gif create mode 100644 horde/services/editor/fckeditor/editor/images/spacer.gif create mode 100644 horde/services/editor/fckeditor/editor/js/fckadobeair.js create mode 100644 horde/services/editor/fckeditor/editor/js/fckeditorcode_gecko.js create mode 100644 horde/services/editor/fckeditor/editor/js/fckeditorcode_ie.js create mode 100644 horde/services/editor/fckeditor/editor/js/src/fckadobeair.js create mode 100644 horde/services/editor/fckeditor/editor/js/src/fckeditorcode_gecko.js create mode 100644 horde/services/editor/fckeditor/editor/js/src/fckeditorcode_ie.js create mode 100644 horde/services/editor/fckeditor/editor/lang/af.js create mode 100644 horde/services/editor/fckeditor/editor/lang/ar.js create mode 100644 horde/services/editor/fckeditor/editor/lang/bg.js create mode 100644 horde/services/editor/fckeditor/editor/lang/bn.js create mode 100644 horde/services/editor/fckeditor/editor/lang/bs.js create mode 100644 horde/services/editor/fckeditor/editor/lang/ca.js create mode 100644 horde/services/editor/fckeditor/editor/lang/cs.js create mode 100644 horde/services/editor/fckeditor/editor/lang/da.js create mode 100644 horde/services/editor/fckeditor/editor/lang/de.js create mode 100644 horde/services/editor/fckeditor/editor/lang/el.js create mode 100644 horde/services/editor/fckeditor/editor/lang/en-au.js create mode 100644 horde/services/editor/fckeditor/editor/lang/en-ca.js create mode 100644 horde/services/editor/fckeditor/editor/lang/en-uk.js create mode 100644 horde/services/editor/fckeditor/editor/lang/en.js create mode 100644 horde/services/editor/fckeditor/editor/lang/eo.js create mode 100644 horde/services/editor/fckeditor/editor/lang/es.js create mode 100644 horde/services/editor/fckeditor/editor/lang/et.js create mode 100644 horde/services/editor/fckeditor/editor/lang/eu.js create mode 100644 horde/services/editor/fckeditor/editor/lang/fa.js create mode 100644 horde/services/editor/fckeditor/editor/lang/fi.js create mode 100644 horde/services/editor/fckeditor/editor/lang/fo.js create mode 100644 horde/services/editor/fckeditor/editor/lang/fr-ca.js create mode 100644 horde/services/editor/fckeditor/editor/lang/fr.js create mode 100644 horde/services/editor/fckeditor/editor/lang/gl.js create mode 100644 horde/services/editor/fckeditor/editor/lang/gu.js create mode 100644 horde/services/editor/fckeditor/editor/lang/he.js create mode 100644 horde/services/editor/fckeditor/editor/lang/hi.js create mode 100644 horde/services/editor/fckeditor/editor/lang/hr.js create mode 100644 horde/services/editor/fckeditor/editor/lang/hu.js create mode 100644 horde/services/editor/fckeditor/editor/lang/is.js create mode 100644 horde/services/editor/fckeditor/editor/lang/it.js create mode 100644 horde/services/editor/fckeditor/editor/lang/ja.js create mode 100644 horde/services/editor/fckeditor/editor/lang/km.js create mode 100644 horde/services/editor/fckeditor/editor/lang/ko.js create mode 100644 horde/services/editor/fckeditor/editor/lang/lt.js create mode 100644 horde/services/editor/fckeditor/editor/lang/lv.js create mode 100644 horde/services/editor/fckeditor/editor/lang/mn.js create mode 100644 horde/services/editor/fckeditor/editor/lang/ms.js create mode 100644 horde/services/editor/fckeditor/editor/lang/nb.js create mode 100644 horde/services/editor/fckeditor/editor/lang/nl.js create mode 100644 horde/services/editor/fckeditor/editor/lang/no.js create mode 100644 horde/services/editor/fckeditor/editor/lang/pl.js create mode 100644 horde/services/editor/fckeditor/editor/lang/pt-br.js create mode 100644 horde/services/editor/fckeditor/editor/lang/pt.js create mode 100644 horde/services/editor/fckeditor/editor/lang/ro.js create mode 100644 horde/services/editor/fckeditor/editor/lang/ru.js create mode 100644 horde/services/editor/fckeditor/editor/lang/sk.js create mode 100644 horde/services/editor/fckeditor/editor/lang/sl.js create mode 100644 horde/services/editor/fckeditor/editor/lang/sr-latn.js create mode 100644 horde/services/editor/fckeditor/editor/lang/sr.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/af.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/ar.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/bg.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/bn.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/bs.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/ca.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/cs.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/da.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/de.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/el.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/en-au.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/en-ca.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/en-uk.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/en.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/eo.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/es.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/et.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/eu.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/fa.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/fi.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/fo.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/fr-ca.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/fr.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/gl.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/gu.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/he.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/hi.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/hr.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/hu.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/is.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/it.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/ja.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/km.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/ko.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/lt.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/lv.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/mn.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/ms.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/nb.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/nl.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/no.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/pl.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/pt-br.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/pt.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/ro.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/ru.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/sk.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/sl.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/sr-latn.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/sr.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/sv.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/th.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/tr.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/uk.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/vi.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/zh-cn.js create mode 100644 horde/services/editor/fckeditor/editor/lang/src/zh.js create mode 100644 horde/services/editor/fckeditor/editor/lang/sv.js create mode 100644 horde/services/editor/fckeditor/editor/lang/th.js create mode 100644 horde/services/editor/fckeditor/editor/lang/tr.js create mode 100644 horde/services/editor/fckeditor/editor/lang/uk.js create mode 100644 horde/services/editor/fckeditor/editor/lang/vi.js create mode 100644 horde/services/editor/fckeditor/editor/lang/zh-cn.js create mode 100644 horde/services/editor/fckeditor/editor/lang/zh.js create mode 100644 horde/services/editor/fckeditor/editor/skins/default/fck_dialog.css create mode 100644 horde/services/editor/fckeditor/editor/skins/default/fck_dialog_ie6.js create mode 100644 horde/services/editor/fckeditor/editor/skins/default/fck_editor.css create mode 100644 horde/services/editor/fckeditor/editor/skins/default/fck_strip.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/dialog.sides.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/dialog.sides.png create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/dialog.sides.rtl.png create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/sprites.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/sprites.png create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/toolbar.arrowright.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/toolbar.collapse.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/toolbar.end.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/toolbar.expand.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/toolbar.separator.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/images/toolbar.start.gif create mode 100644 horde/services/editor/fckeditor/editor/skins/default/src/fck_dialog_ie6.js create mode 100644 horde/services/editor/fckeditor/fckconfig.js create mode 100644 horde/services/editor/fckeditor/fckeditor.js create mode 100644 horde/services/editor/fckeditor/fckstyles.xml create mode 100644 horde/services/editor/fckeditor/fcktemplates.xml create mode 100644 horde/services/editor/fckeditor/license.txt create mode 100644 horde/services/editor/fckeditor/src/fckconfig.js create mode 100644 horde/services/editor/fckeditor/src/fckeditor.js create mode 100644 horde/services/facebook.php create mode 100644 horde/services/go.php create mode 100644 horde/services/help/index.php create mode 100644 horde/services/images/pixel.php create mode 100644 horde/services/images/view.php create mode 100644 horde/services/imple.php create mode 100644 horde/services/javascript.php create mode 100644 horde/services/keyboard.php create mode 100644 horde/services/language.php create mode 100644 horde/services/logintasks.php create mode 100644 horde/services/obrowser/index.php create mode 100644 horde/services/portal/cloud_search.php create mode 100644 horde/services/portal/edit.php create mode 100644 horde/services/portal/index.php create mode 100644 horde/services/portal/mobile.php create mode 100644 horde/services/portal/rpcsum.php create mode 100644 horde/services/portal/sidebar.php create mode 100644 horde/services/portal/syncml.php create mode 100644 horde/services/prefs.php create mode 100644 horde/services/prefs/index.php create mode 100644 horde/services/problem.php create mode 100644 horde/services/resetpassword.php create mode 100644 horde/services/shares/edit.php create mode 100644 horde/services/snooze.php create mode 100644 horde/services/twitter.php create mode 100644 horde/services/twitterapi.php create mode 100644 horde/signup.php create mode 100644 horde/static/README create mode 100644 horde/templates/.htaccess create mode 100644 horde/templates/admin/groups/addchild.inc create mode 100644 horde/templates/admin/groups/delete.inc create mode 100644 horde/templates/admin/groups/edit.inc create mode 100644 horde/templates/admin/menu.inc create mode 100644 horde/templates/admin/setup/config.html create mode 100644 horde/templates/admin/setup/diff.html create mode 100644 horde/templates/admin/setup/index.html create mode 100644 horde/templates/admin/user/add.inc create mode 100644 horde/templates/admin/user/approve.inc create mode 100644 horde/templates/admin/user/clear.inc create mode 100644 horde/templates/admin/user/list.inc create mode 100644 horde/templates/admin/user/noadd.inc create mode 100644 horde/templates/admin/user/nolist.inc create mode 100644 horde/templates/admin/user/remove.inc create mode 100644 horde/templates/admin/user/removequeued.inc create mode 100644 horde/templates/admin/user/update.inc create mode 100644 horde/templates/block/cloud.inc create mode 100644 horde/templates/common-footer.inc create mode 100644 horde/templates/common-header.inc create mode 100644 horde/templates/contents/open_view_win.js create mode 100644 horde/templates/data/csvinfo.inc create mode 100644 horde/templates/data/csvmap.inc create mode 100644 horde/templates/data/date.inc create mode 100644 horde/templates/data/datemap.inc create mode 100644 horde/templates/data/datetime.inc create mode 100644 horde/templates/data/time.inc create mode 100644 horde/templates/data/tsvinfo.inc create mode 100644 horde/templates/help/index.inc create mode 100644 horde/templates/help/menu.inc create mode 100644 horde/templates/help/sidebar.inc create mode 100644 horde/templates/index/frames_index.inc create mode 100644 horde/templates/javascript/open_calendar.js create mode 100644 horde/templates/javascript/open_html_helper.js create mode 100644 horde/templates/login/login.inc create mode 100644 horde/templates/login/mobile.inc create mode 100644 horde/templates/logintasks/logintasks.html create mode 100644 horde/templates/menu/menu.inc create mode 100644 horde/templates/portal/add.inc create mode 100644 horde/templates/portal/block.inc create mode 100644 horde/templates/portal/edit.inc create mode 100644 horde/templates/portal/layout.inc create mode 100644 horde/templates/portal/sidebar.inc create mode 100644 horde/templates/prefs/alarm.inc create mode 100644 horde/templates/prefs/app.inc create mode 100644 horde/templates/prefs/begin.inc create mode 100644 horde/templates/prefs/categorymanagement.inc create mode 100644 horde/templates/prefs/checkbox.inc create mode 100644 horde/templates/prefs/credentialsui.inc create mode 100644 horde/templates/prefs/deleteidentity.inc create mode 100644 horde/templates/prefs/end.inc create mode 100644 horde/templates/prefs/enum.inc create mode 100644 horde/templates/prefs/identityselect.inc create mode 100644 horde/templates/prefs/link.inc create mode 100644 horde/templates/prefs/multienum.inc create mode 100644 horde/templates/prefs/number.inc create mode 100644 horde/templates/prefs/overview.inc create mode 100644 horde/templates/prefs/password.inc create mode 100644 horde/templates/prefs/select.inc create mode 100644 horde/templates/prefs/text.inc create mode 100644 horde/templates/prefs/textarea.inc create mode 100644 horde/templates/problem/problem.inc create mode 100644 horde/templates/rpcsum/rpcsum.inc create mode 100644 horde/templates/shares/edit.inc create mode 100644 horde/templates/syncml/syncml.inc create mode 100644 horde/templates/test/extensions.inc create mode 100644 horde/templates/test/footer.inc create mode 100644 horde/templates/test/header.inc create mode 100644 horde/templates/test/php_version.inc create mode 100644 horde/templates/test/version.inc create mode 100644 horde/test.php create mode 100644 horde/themes/NeXTgrey/info.php create mode 100644 horde/themes/NeXTgrey/screen.css create mode 100644 horde/themes/azur/info.php create mode 100644 horde/themes/azur/screen.css create mode 100644 horde/themes/barbie/info.php create mode 100644 horde/themes/barbie/screen.css create mode 100644 horde/themes/bluemoon/info.php create mode 100644 horde/themes/bluemoon/screen.css create mode 100644 horde/themes/bluewhite/info.php create mode 100644 horde/themes/bluewhite/rtl.css create mode 100644 horde/themes/bluewhite/screen.css create mode 100644 horde/themes/brown/graphics/button.gif create mode 100644 horde/themes/brown/info.php create mode 100644 horde/themes/brown/screen.css create mode 100644 horde/themes/burntorange/info.php create mode 100644 horde/themes/burntorange/screen.css create mode 100644 horde/themes/camouflage/graphics/menu.png create mode 100644 horde/themes/camouflage/info.php create mode 100644 horde/themes/camouflage/screen.css create mode 100644 horde/themes/cornflower/graphics/active_tab_left.gif create mode 100644 horde/themes/cornflower/graphics/active_tab_right.gif create mode 100644 horde/themes/cornflower/graphics/tab_bottom.gif create mode 100644 horde/themes/cornflower/graphics/tab_left.gif create mode 100644 horde/themes/cornflower/graphics/tab_right.gif create mode 100644 horde/themes/cornflower/info.php create mode 100644 horde/themes/cornflower/screen.css create mode 100644 horde/themes/embed.css create mode 100644 horde/themes/facebook.css create mode 100644 horde/themes/fadetogreen/graphics/control.png create mode 100644 horde/themes/fadetogreen/graphics/header.png create mode 100644 horde/themes/fadetogreen/graphics/headerbox.png create mode 100644 horde/themes/fadetogreen/graphics/menucurrent.png create mode 100644 horde/themes/fadetogreen/graphics/menuhover.png create mode 100644 horde/themes/fadetogreen/graphics/message.png create mode 100644 horde/themes/fadetogreen/graphics/notice.png create mode 100644 horde/themes/fadetogreen/graphics/sidebar.png create mode 100644 horde/themes/fadetogreen/graphics/sidebarhover.png create mode 100644 horde/themes/fadetogreen/info.php create mode 100644 horde/themes/fadetogreen/screen.css create mode 100644 horde/themes/gennevilliers/info.php create mode 100644 horde/themes/gennevilliers/screen.css create mode 100644 horde/themes/graphics/about.png create mode 100644 horde/themes/graphics/add_group.png create mode 100644 horde/themes/graphics/add_perm.png create mode 100644 horde/themes/graphics/administration.png create mode 100644 horde/themes/graphics/alerts/alarm.png create mode 100644 horde/themes/graphics/alerts/error.png create mode 100644 horde/themes/graphics/alerts/message.png create mode 100644 horde/themes/graphics/alerts/success.png create mode 100644 horde/themes/graphics/alerts/warning.png create mode 100644 horde/themes/graphics/avatars/alien.jpg create mode 100644 horde/themes/graphics/avatars/aly.jpg create mode 100644 horde/themes/graphics/avatars/angryboy.gif create mode 100644 horde/themes/graphics/avatars/ape.jpg create mode 100644 horde/themes/graphics/avatars/au.jpg create mode 100644 horde/themes/graphics/avatars/baby.gif create mode 100644 horde/themes/graphics/avatars/barbarian.jpg create mode 100644 horde/themes/graphics/avatars/bart.gif create mode 100644 horde/themes/graphics/avatars/batman.gif create mode 100644 horde/themes/graphics/avatars/bert.jpg create mode 100644 horde/themes/graphics/avatars/bert2.jpg create mode 100644 horde/themes/graphics/avatars/bobafett.gif create mode 100644 horde/themes/graphics/avatars/boo.jpg create mode 100644 horde/themes/graphics/avatars/boyandmower.gif create mode 100644 horde/themes/graphics/avatars/boyandpc.gif create mode 100644 horde/themes/graphics/avatars/bret.jpg create mode 100644 horde/themes/graphics/avatars/bunny.gif create mode 100644 horde/themes/graphics/avatars/charlie_brown.gif create mode 100644 horde/themes/graphics/avatars/clown.jpg create mode 100644 horde/themes/graphics/avatars/cocky.jpg create mode 100644 horde/themes/graphics/avatars/devil.gif create mode 100644 horde/themes/graphics/avatars/digimon.gif create mode 100644 horde/themes/graphics/avatars/dilbert.gif create mode 100644 horde/themes/graphics/avatars/dino.gif create mode 100644 horde/themes/graphics/avatars/dog.gif create mode 100644 horde/themes/graphics/avatars/duck.gif create mode 100644 horde/themes/graphics/avatars/einstein.jpg create mode 100644 horde/themes/graphics/avatars/elmerfudd.gif create mode 100644 horde/themes/graphics/avatars/elmo.jpg create mode 100644 horde/themes/graphics/avatars/evil.jpg create mode 100644 horde/themes/graphics/avatars/female1.jpg create mode 100644 horde/themes/graphics/avatars/female2.jpg create mode 100644 horde/themes/graphics/avatars/franc.jpg create mode 100644 horde/themes/graphics/avatars/fredflinstone.gif create mode 100644 horde/themes/graphics/avatars/garfield.gif create mode 100644 horde/themes/graphics/avatars/gopher.gif create mode 100644 horde/themes/graphics/avatars/greenhead.gif create mode 100644 horde/themes/graphics/avatars/gremlin.jpg create mode 100644 horde/themes/graphics/avatars/grover.jpg create mode 100644 horde/themes/graphics/avatars/homer.gif create mode 100644 horde/themes/graphics/avatars/hump.jpg create mode 100644 horde/themes/graphics/avatars/iceskatekid.gif create mode 100644 horde/themes/graphics/avatars/jeri.jpg create mode 100644 horde/themes/graphics/avatars/kid.gif create mode 100644 horde/themes/graphics/avatars/kirk.jpg create mode 100644 horde/themes/graphics/avatars/kryton.jpg create mode 100644 horde/themes/graphics/avatars/linux.gif create mode 100644 horde/themes/graphics/avatars/lisa.gif create mode 100644 horde/themes/graphics/avatars/lovebird.gif create mode 100644 horde/themes/graphics/avatars/male1.jpg create mode 100644 horde/themes/graphics/avatars/male2.jpg create mode 100644 horde/themes/graphics/avatars/man.jpg create mode 100644 horde/themes/graphics/avatars/marge.gif create mode 100644 horde/themes/graphics/avatars/maul.gif create mode 100644 horde/themes/graphics/avatars/melon.jpg create mode 100644 horde/themes/graphics/avatars/mib.gif create mode 100644 horde/themes/graphics/avatars/monkey.jpg create mode 100644 horde/themes/graphics/avatars/neo.jpg create mode 100644 horde/themes/graphics/avatars/ninja.jpg create mode 100644 horde/themes/graphics/avatars/paintingbird.gif create mode 100644 horde/themes/graphics/avatars/picard.jpg create mode 100644 horde/themes/graphics/avatars/puff.jpg create mode 100644 horde/themes/graphics/avatars/redcreature.gif create mode 100644 horde/themes/graphics/avatars/rei.jpg create mode 100644 horde/themes/graphics/avatars/rei2.jpg create mode 100644 horde/themes/graphics/avatars/ryu.gif create mode 100644 horde/themes/graphics/avatars/sexy.gif create mode 100644 horde/themes/graphics/avatars/smiley.gif create mode 100644 horde/themes/graphics/avatars/smurfs.gif create mode 100644 horde/themes/graphics/avatars/sonic.gif create mode 100644 horde/themes/graphics/avatars/speedy.gif create mode 100644 horde/themes/graphics/avatars/stan.jpg create mode 100644 horde/themes/graphics/avatars/superman.gif create mode 100644 horde/themes/graphics/avatars/sylvester.gif create mode 100644 horde/themes/graphics/avatars/thomas.gif create mode 100644 horde/themes/graphics/avatars/tigger.gif create mode 100644 horde/themes/graphics/avatars/trin.jpg create mode 100644 horde/themes/graphics/avatars/us.jpg create mode 100644 horde/themes/graphics/avatars/vampire.jpg create mode 100644 horde/themes/graphics/avatars/vampire2.jpg create mode 100644 horde/themes/graphics/avatars/wacko.gif create mode 100644 horde/themes/graphics/avatars/winnie.gif create mode 100644 horde/themes/graphics/avatars/wizard.jpg create mode 100644 horde/themes/graphics/avatars/wolverine.jpg create mode 100644 horde/themes/graphics/avatars/woman.jpg create mode 100644 horde/themes/graphics/avatars/woodie.jpg create mode 100644 horde/themes/graphics/avatars/xena.gif create mode 100644 horde/themes/graphics/az.png create mode 100644 horde/themes/graphics/blank.gif create mode 100644 horde/themes/graphics/block.png create mode 100644 horde/themes/graphics/block/down.png create mode 100644 horde/themes/graphics/block/large_down.png create mode 100644 horde/themes/graphics/block/large_left.png create mode 100644 horde/themes/graphics/block/large_right.png create mode 100644 horde/themes/graphics/block/large_up.png create mode 100644 horde/themes/graphics/block/left.png create mode 100644 horde/themes/graphics/block/moon/firstquarter.png create mode 100644 horde/themes/graphics/block/moon/fullmoon.png create mode 100644 horde/themes/graphics/block/moon/lastquarter.png create mode 100644 horde/themes/graphics/block/moon/newmoon.png create mode 100644 horde/themes/graphics/block/right.png create mode 100644 horde/themes/graphics/block/sunrise/sunrise.png create mode 100644 horde/themes/graphics/block/sunrise/sunset.png create mode 100644 horde/themes/graphics/block/up.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/0.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/1.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/10.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/11.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/12.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/13.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/14.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/15.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/16.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/17.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/18.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/19.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/2.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/20.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/21.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/22.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/23.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/24.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/25.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/26.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/27.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/28.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/29.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/3.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/30.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/31.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/32.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/33.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/34.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/35.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/36.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/37.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/38.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/39.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/4.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/40.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/41.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/42.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/43.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/44.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/45.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/46.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/47.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/5.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/6.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/7.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/8.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/9.png create mode 100644 horde/themes/graphics/block/weatherdotcom/23x23/na.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/0.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/1.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/10.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/11.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/12.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/13.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/14.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/15.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/16.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/17.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/18.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/19.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/2.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/20.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/21.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/22.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/23.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/24.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/25.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/26.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/27.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/28.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/29.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/3.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/30.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/31.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/32.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/33.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/34.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/35.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/36.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/37.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/38.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/39.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/4.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/40.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/41.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/42.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/43.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/44.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/45.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/46.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/47.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/5.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/6.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/7.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/8.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/9.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/TWClogo_32px.png create mode 100644 horde/themes/graphics/block/weatherdotcom/32x32/na.png create mode 100644 horde/themes/graphics/calendar.png create mode 100644 horde/themes/graphics/close.png create mode 100644 horde/themes/graphics/color-picker-cursor.gif create mode 100644 horde/themes/graphics/color-picker-palette.png create mode 100644 horde/themes/graphics/color-picker-resize.gif create mode 100644 horde/themes/graphics/colorpicker.png create mode 100644 horde/themes/graphics/colorscale.png create mode 100644 horde/themes/graphics/config.png create mode 100644 horde/themes/graphics/data.png create mode 100644 horde/themes/graphics/datatree.png create mode 100644 horde/themes/graphics/delete-small.png create mode 100644 horde/themes/graphics/delete.png create mode 100644 horde/themes/graphics/devel.png create mode 100644 horde/themes/graphics/download.png create mode 100644 horde/themes/graphics/edit-small.png create mode 100644 horde/themes/graphics/edit.png create mode 100644 horde/themes/graphics/emoticons/angel.png create mode 100644 horde/themes/graphics/emoticons/angelwink.png create mode 100644 horde/themes/graphics/emoticons/angry.png create mode 100644 horde/themes/graphics/emoticons/annoyed.png create mode 100644 horde/themes/graphics/emoticons/asleep.png create mode 100644 horde/themes/graphics/emoticons/bigfrown.png create mode 100644 horde/themes/graphics/emoticons/biggrin.png create mode 100644 horde/themes/graphics/emoticons/blush.png create mode 100644 horde/themes/graphics/emoticons/clown.png create mode 100644 horde/themes/graphics/emoticons/confused.png create mode 100644 horde/themes/graphics/emoticons/cool.png create mode 100644 horde/themes/graphics/emoticons/coolgrin.png create mode 100644 horde/themes/graphics/emoticons/cooltongue.png create mode 100644 horde/themes/graphics/emoticons/dazed.png create mode 100644 horde/themes/graphics/emoticons/devil.png create mode 100644 horde/themes/graphics/emoticons/deviltongue.png create mode 100644 horde/themes/graphics/emoticons/disappointed.png create mode 100644 horde/themes/graphics/emoticons/embarrassed.png create mode 100644 horde/themes/graphics/emoticons/enraged.png create mode 100644 horde/themes/graphics/emoticons/frown.png create mode 100644 horde/themes/graphics/emoticons/frustrated.png create mode 100644 horde/themes/graphics/emoticons/grin.png create mode 100644 horde/themes/graphics/emoticons/hangover.png create mode 100644 horde/themes/graphics/emoticons/hippie.png create mode 100644 horde/themes/graphics/emoticons/hippiegrin.png create mode 100644 horde/themes/graphics/emoticons/hippietongue.png create mode 100644 horde/themes/graphics/emoticons/hurt.png create mode 100644 horde/themes/graphics/emoticons/indifferent.png create mode 100644 horde/themes/graphics/emoticons/love.png create mode 100644 horde/themes/graphics/emoticons/mad.png create mode 100644 horde/themes/graphics/emoticons/mrt.png create mode 100644 horde/themes/graphics/emoticons/punk.png create mode 100644 horde/themes/graphics/emoticons/punkmohawk.png create mode 100644 horde/themes/graphics/emoticons/punktongue.png create mode 100644 horde/themes/graphics/emoticons/raspberry.png create mode 100644 horde/themes/graphics/emoticons/sad.png create mode 100644 horde/themes/graphics/emoticons/shout.png create mode 100644 horde/themes/graphics/emoticons/smile.png create mode 100644 horde/themes/graphics/emoticons/tired.png create mode 100644 horde/themes/graphics/emoticons/tongueout.png create mode 100644 horde/themes/graphics/emoticons/vampire.png create mode 100644 horde/themes/graphics/emoticons/wink.png create mode 100644 horde/themes/graphics/emoticons/winkgrin.png create mode 100644 horde/themes/graphics/emoticons/winktongue.png create mode 100644 horde/themes/graphics/emoticons/winktongueout.png create mode 100644 horde/themes/graphics/emoticons/worried.png create mode 100644 horde/themes/graphics/external.png create mode 100644 horde/themes/graphics/favicon.ico create mode 100644 horde/themes/graphics/feed.png create mode 100644 horde/themes/graphics/flags/ad.png create mode 100644 horde/themes/graphics/flags/ae.png create mode 100644 horde/themes/graphics/flags/af.png create mode 100644 horde/themes/graphics/flags/ag.png create mode 100644 horde/themes/graphics/flags/ai.png create mode 100644 horde/themes/graphics/flags/al.png create mode 100644 horde/themes/graphics/flags/am.png create mode 100644 horde/themes/graphics/flags/an.png create mode 100644 horde/themes/graphics/flags/ao.png create mode 100644 horde/themes/graphics/flags/ar.png create mode 100644 horde/themes/graphics/flags/as.png create mode 100644 horde/themes/graphics/flags/at.png create mode 100644 horde/themes/graphics/flags/au.png create mode 100644 horde/themes/graphics/flags/aw.png create mode 100644 horde/themes/graphics/flags/ax.png create mode 100644 horde/themes/graphics/flags/az.png create mode 100644 horde/themes/graphics/flags/ba.png create mode 100644 horde/themes/graphics/flags/bb.png create mode 100644 horde/themes/graphics/flags/bd.png create mode 100644 horde/themes/graphics/flags/be.png create mode 100644 horde/themes/graphics/flags/bf.png create mode 100644 horde/themes/graphics/flags/bg.png create mode 100644 horde/themes/graphics/flags/bh.png create mode 100644 horde/themes/graphics/flags/bi.png create mode 100644 horde/themes/graphics/flags/bj.png create mode 100644 horde/themes/graphics/flags/bm.png create mode 100644 horde/themes/graphics/flags/bn.png create mode 100644 horde/themes/graphics/flags/bo.png create mode 100644 horde/themes/graphics/flags/br.png create mode 100644 horde/themes/graphics/flags/bs.png create mode 100644 horde/themes/graphics/flags/bt.png create mode 100644 horde/themes/graphics/flags/bv.png create mode 100644 horde/themes/graphics/flags/bw.png create mode 100644 horde/themes/graphics/flags/by.png create mode 100644 horde/themes/graphics/flags/bz.png create mode 100644 horde/themes/graphics/flags/ca.png create mode 100644 horde/themes/graphics/flags/cc.png create mode 100644 horde/themes/graphics/flags/cd.png create mode 100644 horde/themes/graphics/flags/cf.png create mode 100644 horde/themes/graphics/flags/cg.png create mode 100644 horde/themes/graphics/flags/ch.png create mode 100644 horde/themes/graphics/flags/ci.png create mode 100644 horde/themes/graphics/flags/ck.png create mode 100644 horde/themes/graphics/flags/cl.png create mode 100644 horde/themes/graphics/flags/cm.png create mode 100644 horde/themes/graphics/flags/cn.png create mode 100644 horde/themes/graphics/flags/co.png create mode 100644 horde/themes/graphics/flags/cr.png create mode 100644 horde/themes/graphics/flags/cs.png create mode 100644 horde/themes/graphics/flags/cu.png create mode 100644 horde/themes/graphics/flags/cv.png create mode 100644 horde/themes/graphics/flags/cx.png create mode 100644 horde/themes/graphics/flags/cy.png create mode 100644 horde/themes/graphics/flags/cz.png create mode 100644 horde/themes/graphics/flags/de.png create mode 100644 horde/themes/graphics/flags/dj.png create mode 100644 horde/themes/graphics/flags/dk.png create mode 100644 horde/themes/graphics/flags/dm.png create mode 100644 horde/themes/graphics/flags/do.png create mode 100644 horde/themes/graphics/flags/dz.png create mode 100644 horde/themes/graphics/flags/ec.png create mode 100644 horde/themes/graphics/flags/ee.png create mode 100644 horde/themes/graphics/flags/eg.png create mode 100644 horde/themes/graphics/flags/eh.png create mode 100644 horde/themes/graphics/flags/er.png create mode 100644 horde/themes/graphics/flags/es.png create mode 100644 horde/themes/graphics/flags/et.png create mode 100644 horde/themes/graphics/flags/eu.png create mode 100644 horde/themes/graphics/flags/fam.png create mode 100644 horde/themes/graphics/flags/fi.png create mode 100644 horde/themes/graphics/flags/fj.png create mode 100644 horde/themes/graphics/flags/fk.png create mode 100644 horde/themes/graphics/flags/fm.png create mode 100644 horde/themes/graphics/flags/fo.png create mode 100644 horde/themes/graphics/flags/fr.png create mode 100644 horde/themes/graphics/flags/ga.png create mode 100644 horde/themes/graphics/flags/gb.png create mode 100644 horde/themes/graphics/flags/gd.png create mode 100644 horde/themes/graphics/flags/ge.png create mode 100755 horde/themes/graphics/flags/gf.png create mode 100644 horde/themes/graphics/flags/gh.png create mode 100644 horde/themes/graphics/flags/gi.png create mode 100644 horde/themes/graphics/flags/gl.png create mode 100644 horde/themes/graphics/flags/gm.png create mode 100644 horde/themes/graphics/flags/gn.png create mode 100644 horde/themes/graphics/flags/gp.png create mode 100644 horde/themes/graphics/flags/gq.png create mode 100644 horde/themes/graphics/flags/gr.png create mode 100644 horde/themes/graphics/flags/gs.png create mode 100644 horde/themes/graphics/flags/gt.png create mode 100644 horde/themes/graphics/flags/gu.png create mode 100644 horde/themes/graphics/flags/gw.png create mode 100644 horde/themes/graphics/flags/gy.png create mode 100644 horde/themes/graphics/flags/hk.png create mode 100755 horde/themes/graphics/flags/hm.png create mode 100644 horde/themes/graphics/flags/hn.png create mode 100644 horde/themes/graphics/flags/hr.png create mode 100644 horde/themes/graphics/flags/ht.png create mode 100644 horde/themes/graphics/flags/hu.png create mode 100644 horde/themes/graphics/flags/id.png create mode 100644 horde/themes/graphics/flags/ie.png create mode 100644 horde/themes/graphics/flags/il.png create mode 100644 horde/themes/graphics/flags/in.png create mode 100644 horde/themes/graphics/flags/io.png create mode 100644 horde/themes/graphics/flags/iq.png create mode 100644 horde/themes/graphics/flags/ir.png create mode 100644 horde/themes/graphics/flags/is.png create mode 100644 horde/themes/graphics/flags/it.png create mode 100644 horde/themes/graphics/flags/jm.png create mode 100644 horde/themes/graphics/flags/jo.png create mode 100644 horde/themes/graphics/flags/jp.png create mode 100644 horde/themes/graphics/flags/ke.png create mode 100644 horde/themes/graphics/flags/kg.png create mode 100644 horde/themes/graphics/flags/kh.png create mode 100644 horde/themes/graphics/flags/ki.png create mode 100644 horde/themes/graphics/flags/km.png create mode 100644 horde/themes/graphics/flags/kn.png create mode 100644 horde/themes/graphics/flags/kp.png create mode 100644 horde/themes/graphics/flags/kr.png create mode 100644 horde/themes/graphics/flags/kw.png create mode 100644 horde/themes/graphics/flags/ky.png create mode 100644 horde/themes/graphics/flags/kz.png create mode 100644 horde/themes/graphics/flags/la.png create mode 100644 horde/themes/graphics/flags/lb.png create mode 100644 horde/themes/graphics/flags/lc.png create mode 100644 horde/themes/graphics/flags/li.png create mode 100644 horde/themes/graphics/flags/lk.png create mode 100644 horde/themes/graphics/flags/lr.png create mode 100644 horde/themes/graphics/flags/ls.png create mode 100644 horde/themes/graphics/flags/lt.png create mode 100644 horde/themes/graphics/flags/lu.png create mode 100644 horde/themes/graphics/flags/lv.png create mode 100644 horde/themes/graphics/flags/ly.png create mode 100644 horde/themes/graphics/flags/ma.png create mode 100644 horde/themes/graphics/flags/mc.png create mode 100644 horde/themes/graphics/flags/md.png create mode 100644 horde/themes/graphics/flags/me.png create mode 100644 horde/themes/graphics/flags/mg.png create mode 100644 horde/themes/graphics/flags/mh.png create mode 100644 horde/themes/graphics/flags/mk.png create mode 100644 horde/themes/graphics/flags/ml.png create mode 100644 horde/themes/graphics/flags/mm.png create mode 100644 horde/themes/graphics/flags/mn.png create mode 100644 horde/themes/graphics/flags/mo.png create mode 100644 horde/themes/graphics/flags/mp.png create mode 100644 horde/themes/graphics/flags/mq.png create mode 100644 horde/themes/graphics/flags/mr.png create mode 100644 horde/themes/graphics/flags/ms.png create mode 100644 horde/themes/graphics/flags/mt.png create mode 100644 horde/themes/graphics/flags/mu.png create mode 100644 horde/themes/graphics/flags/mv.png create mode 100644 horde/themes/graphics/flags/mw.png create mode 100644 horde/themes/graphics/flags/mx.png create mode 100644 horde/themes/graphics/flags/my.png create mode 100644 horde/themes/graphics/flags/mz.png create mode 100644 horde/themes/graphics/flags/na.png create mode 100644 horde/themes/graphics/flags/nc.png create mode 100644 horde/themes/graphics/flags/ne.png create mode 100644 horde/themes/graphics/flags/nf.png create mode 100644 horde/themes/graphics/flags/ng.png create mode 100644 horde/themes/graphics/flags/ni.png create mode 100644 horde/themes/graphics/flags/nl.png create mode 100644 horde/themes/graphics/flags/no.png create mode 100644 horde/themes/graphics/flags/np.png create mode 100644 horde/themes/graphics/flags/nr.png create mode 100644 horde/themes/graphics/flags/nu.png create mode 100644 horde/themes/graphics/flags/nz.png create mode 100644 horde/themes/graphics/flags/om.png create mode 100644 horde/themes/graphics/flags/pa.png create mode 100644 horde/themes/graphics/flags/pe.png create mode 100644 horde/themes/graphics/flags/pf.png create mode 100644 horde/themes/graphics/flags/pg.png create mode 100644 horde/themes/graphics/flags/ph.png create mode 100644 horde/themes/graphics/flags/pk.png create mode 100644 horde/themes/graphics/flags/pl.png create mode 100644 horde/themes/graphics/flags/pm.png create mode 100644 horde/themes/graphics/flags/pn.png create mode 100644 horde/themes/graphics/flags/pr.png create mode 100644 horde/themes/graphics/flags/ps.png create mode 100644 horde/themes/graphics/flags/pt.png create mode 100644 horde/themes/graphics/flags/pw.png create mode 100644 horde/themes/graphics/flags/py.png create mode 100644 horde/themes/graphics/flags/qa.png create mode 100755 horde/themes/graphics/flags/re.png create mode 100644 horde/themes/graphics/flags/ro.png create mode 100644 horde/themes/graphics/flags/rs.png create mode 100644 horde/themes/graphics/flags/ru.png create mode 100644 horde/themes/graphics/flags/rw.png create mode 100644 horde/themes/graphics/flags/sa.png create mode 100644 horde/themes/graphics/flags/sb.png create mode 100644 horde/themes/graphics/flags/sc.png create mode 100644 horde/themes/graphics/flags/scotland.png create mode 100644 horde/themes/graphics/flags/sd.png create mode 100644 horde/themes/graphics/flags/se.png create mode 100644 horde/themes/graphics/flags/sg.png create mode 100644 horde/themes/graphics/flags/sh.png create mode 100644 horde/themes/graphics/flags/si.png create mode 100755 horde/themes/graphics/flags/sj.png create mode 100644 horde/themes/graphics/flags/sk.png create mode 100644 horde/themes/graphics/flags/sl.png create mode 100644 horde/themes/graphics/flags/sm.png create mode 100644 horde/themes/graphics/flags/sn.png create mode 100644 horde/themes/graphics/flags/so.png create mode 100644 horde/themes/graphics/flags/sr.png create mode 100644 horde/themes/graphics/flags/st.png create mode 100644 horde/themes/graphics/flags/sv.png create mode 100644 horde/themes/graphics/flags/sy.png create mode 100644 horde/themes/graphics/flags/sz.png create mode 100644 horde/themes/graphics/flags/tc.png create mode 100644 horde/themes/graphics/flags/td.png create mode 100644 horde/themes/graphics/flags/tf.png create mode 100644 horde/themes/graphics/flags/tg.png create mode 100644 horde/themes/graphics/flags/th.png create mode 100644 horde/themes/graphics/flags/tj.png create mode 100644 horde/themes/graphics/flags/tk.png create mode 100644 horde/themes/graphics/flags/tl.png create mode 100644 horde/themes/graphics/flags/tm.png create mode 100644 horde/themes/graphics/flags/tn.png create mode 100644 horde/themes/graphics/flags/to.png create mode 100644 horde/themes/graphics/flags/tp.png create mode 100644 horde/themes/graphics/flags/tr.png create mode 100644 horde/themes/graphics/flags/tt.png create mode 100644 horde/themes/graphics/flags/tv.png create mode 100644 horde/themes/graphics/flags/tw.png create mode 100644 horde/themes/graphics/flags/tz.png create mode 100644 horde/themes/graphics/flags/ua.png create mode 100644 horde/themes/graphics/flags/ug.png create mode 100644 horde/themes/graphics/flags/uk.png create mode 100644 horde/themes/graphics/flags/um.png create mode 100644 horde/themes/graphics/flags/us.png create mode 100644 horde/themes/graphics/flags/uy.png create mode 100644 horde/themes/graphics/flags/uz.png create mode 100644 horde/themes/graphics/flags/va.png create mode 100644 horde/themes/graphics/flags/vc.png create mode 100644 horde/themes/graphics/flags/ve.png create mode 100644 horde/themes/graphics/flags/vg.png create mode 100644 horde/themes/graphics/flags/vi.png create mode 100644 horde/themes/graphics/flags/vn.png create mode 100644 horde/themes/graphics/flags/vu.png create mode 100644 horde/themes/graphics/flags/wales.png create mode 100644 horde/themes/graphics/flags/wf.png create mode 100644 horde/themes/graphics/flags/ws.png create mode 100644 horde/themes/graphics/flags/ye.png create mode 100644 horde/themes/graphics/flags/yt.png create mode 100644 horde/themes/graphics/flags/yu.png create mode 100644 horde/themes/graphics/flags/za.png create mode 100644 horde/themes/graphics/flags/zm.png create mode 100644 horde/themes/graphics/flags/zw.png create mode 100644 horde/themes/graphics/google.png create mode 100644 horde/themes/graphics/group.png create mode 100644 horde/themes/graphics/help.png create mode 100644 horde/themes/graphics/help_index.png create mode 100644 horde/themes/graphics/hide_panel.png create mode 100644 horde/themes/graphics/horde-power1.png create mode 100644 horde/themes/graphics/horde-power2.png create mode 100644 horde/themes/graphics/horde-power3.png create mode 100644 horde/themes/graphics/horde.png create mode 100644 horde/themes/graphics/image/crop.png create mode 100644 horde/themes/graphics/image/flip.png create mode 100644 horde/themes/graphics/image/grayscale.png create mode 100644 horde/themes/graphics/image/mirror.png create mode 100644 horde/themes/graphics/image/ratio.png create mode 100644 horde/themes/graphics/image/refresh.png create mode 100644 horde/themes/graphics/image/rotate-180.png create mode 100644 horde/themes/graphics/image/rotate-270.png create mode 100644 horde/themes/graphics/image/rotate-90.png create mode 100644 horde/themes/graphics/info.png create mode 100644 horde/themes/graphics/info_icon.png create mode 100644 horde/themes/graphics/keyboard.png create mode 100644 horde/themes/graphics/layout.png create mode 100644 horde/themes/graphics/lhand.png create mode 100644 horde/themes/graphics/loading.gif create mode 100644 horde/themes/graphics/locked.png create mode 100644 horde/themes/graphics/login.png create mode 100644 horde/themes/graphics/logout.png create mode 100644 horde/themes/graphics/map.png create mode 100644 horde/themes/graphics/map/marker-blue.png create mode 100644 horde/themes/graphics/map/marker-gold.png create mode 100644 horde/themes/graphics/map/marker-green.png create mode 100644 horde/themes/graphics/map/marker-shadow.png create mode 100644 horde/themes/graphics/map/marker.png create mode 100644 horde/themes/graphics/map_eu.png create mode 100644 horde/themes/graphics/mime/audio.png create mode 100644 horde/themes/graphics/mime/binary.png create mode 100644 horde/themes/graphics/mime/compressed.png create mode 100644 horde/themes/graphics/mime/deb.png create mode 100644 horde/themes/graphics/mime/encryption.png create mode 100644 horde/themes/graphics/mime/html.png create mode 100644 horde/themes/graphics/mime/icalendar.png create mode 100644 horde/themes/graphics/mime/image.png create mode 100644 horde/themes/graphics/mime/mail.png create mode 100644 horde/themes/graphics/mime/msexcel.png create mode 100644 horde/themes/graphics/mime/mspowerpoint.png create mode 100644 horde/themes/graphics/mime/msword.png create mode 100644 horde/themes/graphics/mime/ooo_calc.png create mode 100644 horde/themes/graphics/mime/ooo_draw.png create mode 100644 horde/themes/graphics/mime/ooo_impress.png create mode 100644 horde/themes/graphics/mime/ooo_math.png create mode 100644 horde/themes/graphics/mime/ooo_writer.png create mode 100644 horde/themes/graphics/mime/pdf.png create mode 100644 horde/themes/graphics/mime/php.png create mode 100644 horde/themes/graphics/mime/rpm.png create mode 100644 horde/themes/graphics/mime/script-js.png create mode 100644 horde/themes/graphics/mime/source-c.png create mode 100644 horde/themes/graphics/mime/source-cpp.png create mode 100644 horde/themes/graphics/mime/source-h.png create mode 100644 horde/themes/graphics/mime/source-java.png create mode 100644 horde/themes/graphics/mime/source-python.png create mode 100644 horde/themes/graphics/mime/text.png create mode 100644 horde/themes/graphics/mime/vcard.png create mode 100644 horde/themes/graphics/mime/video.png create mode 100644 horde/themes/graphics/mime/wordperfect.png create mode 100644 horde/themes/graphics/mime/xml.png create mode 100644 horde/themes/graphics/minus.png create mode 100644 horde/themes/graphics/mobile.png create mode 100644 horde/themes/graphics/mobile/bottom.jpg create mode 100644 horde/themes/graphics/mobile/display.jpg create mode 100644 horde/themes/graphics/mobile/left.jpg create mode 100644 horde/themes/graphics/mobile/right.jpg create mode 100644 horde/themes/graphics/mobile/top.jpg create mode 100644 horde/themes/graphics/myaccount.png create mode 100644 horde/themes/graphics/nav/bottom-grey.png create mode 100644 horde/themes/graphics/nav/bottom.png create mode 100644 horde/themes/graphics/nav/down-grey.png create mode 100644 horde/themes/graphics/nav/down.png create mode 100644 horde/themes/graphics/nav/first-grey.png create mode 100644 horde/themes/graphics/nav/first.png create mode 100644 horde/themes/graphics/nav/last-grey.png create mode 100644 horde/themes/graphics/nav/last.png create mode 100644 horde/themes/graphics/nav/left-grey.png create mode 100644 horde/themes/graphics/nav/left.png create mode 100644 horde/themes/graphics/nav/right-grey.png create mode 100644 horde/themes/graphics/nav/right.png create mode 100644 horde/themes/graphics/nav/top-grey.png create mode 100644 horde/themes/graphics/nav/top.png create mode 100644 horde/themes/graphics/nav/up-grey.png create mode 100644 horde/themes/graphics/nav/up.png create mode 100644 horde/themes/graphics/office.png create mode 100644 horde/themes/graphics/organizing.png create mode 100644 horde/themes/graphics/perms.png create mode 100644 horde/themes/graphics/phone.png create mode 100644 horde/themes/graphics/plus.png create mode 100644 horde/themes/graphics/prefs.png create mode 100644 horde/themes/graphics/print.png create mode 100644 horde/themes/graphics/problem.png create mode 100644 horde/themes/graphics/redbox_spinner.gif create mode 100644 horde/themes/graphics/reload.png create mode 100644 horde/themes/graphics/required.png create mode 100644 horde/themes/graphics/rhand.png create mode 100644 horde/themes/graphics/save.png create mode 100644 horde/themes/graphics/search.png create mode 100644 horde/themes/graphics/shadow.gif create mode 100644 horde/themes/graphics/shadow.png create mode 100644 horde/themes/graphics/shell.png create mode 100644 horde/themes/graphics/show_panel.png create mode 100644 horde/themes/graphics/sql.png create mode 100644 horde/themes/graphics/tab_bottom.gif create mode 100644 horde/themes/graphics/tree/blank.png create mode 100644 horde/themes/graphics/tree/folder.png create mode 100644 horde/themes/graphics/tree/folderopen.png create mode 100644 horde/themes/graphics/tree/join.png create mode 100644 horde/themes/graphics/tree/joinbottom-down.png create mode 100644 horde/themes/graphics/tree/joinbottom.png create mode 100644 horde/themes/graphics/tree/leaf.png create mode 100644 horde/themes/graphics/tree/line.png create mode 100644 horde/themes/graphics/tree/minus.png create mode 100644 horde/themes/graphics/tree/minusbottom.png create mode 100644 horde/themes/graphics/tree/minusonly.png create mode 100644 horde/themes/graphics/tree/minustop.png create mode 100644 horde/themes/graphics/tree/nullonly.png create mode 100644 horde/themes/graphics/tree/plus.png create mode 100644 horde/themes/graphics/tree/plusbottom.png create mode 100644 horde/themes/graphics/tree/plusonly.png create mode 100644 horde/themes/graphics/tree/plustop.png create mode 100644 horde/themes/graphics/tree/rev-join.png create mode 100644 horde/themes/graphics/tree/rev-joinbottom-down.png create mode 100644 horde/themes/graphics/tree/rev-joinbottom.png create mode 100644 horde/themes/graphics/tree/rev-leaf.png create mode 100644 horde/themes/graphics/tree/rev-line.png create mode 100644 horde/themes/graphics/tree/rev-minus.png create mode 100644 horde/themes/graphics/tree/rev-minusbottom.png create mode 100644 horde/themes/graphics/tree/rev-minusonly.png create mode 100644 horde/themes/graphics/tree/rev-minustop.png create mode 100644 horde/themes/graphics/tree/rev-nullonly.png create mode 100644 horde/themes/graphics/tree/rev-plus.png create mode 100644 horde/themes/graphics/tree/rev-plusbottom.png create mode 100644 horde/themes/graphics/tree/rev-plusonly.png create mode 100644 horde/themes/graphics/tree/rev-plustop.png create mode 100644 horde/themes/graphics/unlocked.png create mode 100644 horde/themes/graphics/user.png create mode 100644 horde/themes/graphics/website.png create mode 100644 horde/themes/graphics/za.png create mode 100644 horde/themes/green/info.php create mode 100644 horde/themes/green/screen.css create mode 100644 horde/themes/grey/info.php create mode 100644 horde/themes/grey/screen.css create mode 100644 horde/themes/hi-contrast/info.php create mode 100644 horde/themes/hi-contrast/screen.css create mode 100644 horde/themes/hordeweb/graphics/horde-halfgear-ie.png create mode 100644 horde/themes/hordeweb/graphics/horde-halfgear.png create mode 100644 horde/themes/hordeweb/ie6_or_less.css create mode 100644 horde/themes/hordeweb/info.php create mode 100644 horde/themes/hordeweb/screen.css create mode 100644 horde/themes/ideas/graphics/background.png create mode 100644 horde/themes/ideas/graphics/left_menu_bottom.png create mode 100644 horde/themes/ideas/graphics/left_menu_top.png create mode 100644 horde/themes/ideas/graphics/menu_top.png create mode 100644 horde/themes/ideas/info.php create mode 100644 horde/themes/ideas/screen.css create mode 100644 horde/themes/ie5mac.css create mode 100644 horde/themes/ie6_or_less.css create mode 100644 horde/themes/kolab/graphics/bg.png create mode 100644 horde/themes/kolab/graphics/kolab.png create mode 100644 horde/themes/kolab/graphics/kolablogo.png create mode 100644 horde/themes/kolab/info.php create mode 100644 horde/themes/kolab/screen.css create mode 100644 horde/themes/lavander/info.php create mode 100644 horde/themes/lavander/screen.css create mode 100644 horde/themes/lightblue/graphics/menu.png create mode 100644 horde/themes/lightblue/info.php create mode 100644 horde/themes/lightblue/screen.css create mode 100644 horde/themes/luc/graphics/currentTab_left.gif create mode 100644 horde/themes/luc/graphics/currentTab_right.gif create mode 100644 horde/themes/luc/graphics/tab_bottom.gif create mode 100644 horde/themes/luc/graphics/tab_left.gif create mode 100644 horde/themes/luc/graphics/tab_right.gif create mode 100644 horde/themes/luc/info.php create mode 100644 horde/themes/luc/screen.css create mode 100644 horde/themes/lucblue/info.php create mode 100644 horde/themes/lucblue/screen.css create mode 100644 horde/themes/mobile/screen.css create mode 100644 horde/themes/mozilla/graphics/header.png create mode 100644 horde/themes/mozilla/graphics/menu-active.png create mode 100644 horde/themes/mozilla/graphics/menu.png create mode 100644 horde/themes/mozilla/info.php create mode 100644 horde/themes/mozilla/screen.css create mode 100644 horde/themes/opera.css create mode 100644 horde/themes/postnuke/info.php create mode 100644 horde/themes/postnuke/screen.css create mode 100644 horde/themes/purple/info.php create mode 100644 horde/themes/purple/screen.css create mode 100644 horde/themes/rtl.css create mode 100644 horde/themes/screen.css create mode 100644 horde/themes/silver/graphics/about.png create mode 100644 horde/themes/silver/graphics/add_group.png create mode 100644 horde/themes/silver/graphics/add_perm.png create mode 100644 horde/themes/silver/graphics/administration.png create mode 100644 horde/themes/silver/graphics/alerts/alarm.png create mode 100644 horde/themes/silver/graphics/alerts/error.png create mode 100644 horde/themes/silver/graphics/alerts/message.png create mode 100644 horde/themes/silver/graphics/alerts/success.png create mode 100644 horde/themes/silver/graphics/alerts/warning.png create mode 100644 horde/themes/silver/graphics/avatars/alien.jpg create mode 100644 horde/themes/silver/graphics/avatars/aly.jpg create mode 100644 horde/themes/silver/graphics/avatars/angryboy.gif create mode 100644 horde/themes/silver/graphics/avatars/ape.jpg create mode 100644 horde/themes/silver/graphics/avatars/au.jpg create mode 100644 horde/themes/silver/graphics/avatars/baby.gif create mode 100644 horde/themes/silver/graphics/avatars/barbarian.jpg create mode 100644 horde/themes/silver/graphics/avatars/bart.gif create mode 100644 horde/themes/silver/graphics/avatars/batman.gif create mode 100644 horde/themes/silver/graphics/avatars/bert.jpg create mode 100644 horde/themes/silver/graphics/avatars/bert2.jpg create mode 100644 horde/themes/silver/graphics/avatars/bobafett.gif create mode 100644 horde/themes/silver/graphics/avatars/boo.jpg create mode 100644 horde/themes/silver/graphics/avatars/boyandmower.gif create mode 100644 horde/themes/silver/graphics/avatars/boyandpc.gif create mode 100644 horde/themes/silver/graphics/avatars/bret.jpg create mode 100644 horde/themes/silver/graphics/avatars/bunny.gif create mode 100644 horde/themes/silver/graphics/avatars/charlie_brown.gif create mode 100644 horde/themes/silver/graphics/avatars/clown.jpg create mode 100644 horde/themes/silver/graphics/avatars/cocky.jpg create mode 100644 horde/themes/silver/graphics/avatars/devil.gif create mode 100644 horde/themes/silver/graphics/avatars/digimon.gif create mode 100644 horde/themes/silver/graphics/avatars/dilbert.gif create mode 100644 horde/themes/silver/graphics/avatars/dino.gif create mode 100644 horde/themes/silver/graphics/avatars/dog.gif create mode 100644 horde/themes/silver/graphics/avatars/duck.gif create mode 100644 horde/themes/silver/graphics/avatars/einstein.jpg create mode 100644 horde/themes/silver/graphics/avatars/elmerfudd.gif create mode 100644 horde/themes/silver/graphics/avatars/elmo.jpg create mode 100644 horde/themes/silver/graphics/avatars/evil.jpg create mode 100644 horde/themes/silver/graphics/avatars/female1.jpg create mode 100644 horde/themes/silver/graphics/avatars/female2.jpg create mode 100644 horde/themes/silver/graphics/avatars/franc.jpg create mode 100644 horde/themes/silver/graphics/avatars/fredflinstone.gif create mode 100644 horde/themes/silver/graphics/avatars/garfield.gif create mode 100644 horde/themes/silver/graphics/avatars/gopher.gif create mode 100644 horde/themes/silver/graphics/avatars/greenhead.gif create mode 100644 horde/themes/silver/graphics/avatars/gremlin.jpg create mode 100644 horde/themes/silver/graphics/avatars/grover.jpg create mode 100644 horde/themes/silver/graphics/avatars/homer.gif create mode 100644 horde/themes/silver/graphics/avatars/hump.jpg create mode 100644 horde/themes/silver/graphics/avatars/iceskatekid.gif create mode 100644 horde/themes/silver/graphics/avatars/jeri.jpg create mode 100644 horde/themes/silver/graphics/avatars/kid.gif create mode 100644 horde/themes/silver/graphics/avatars/kirk.jpg create mode 100644 horde/themes/silver/graphics/avatars/kryton.jpg create mode 100644 horde/themes/silver/graphics/avatars/linux.gif create mode 100644 horde/themes/silver/graphics/avatars/lisa.gif create mode 100644 horde/themes/silver/graphics/avatars/lovebird.gif create mode 100644 horde/themes/silver/graphics/avatars/male1.jpg create mode 100644 horde/themes/silver/graphics/avatars/male2.jpg create mode 100644 horde/themes/silver/graphics/avatars/man.jpg create mode 100644 horde/themes/silver/graphics/avatars/marge.gif create mode 100644 horde/themes/silver/graphics/avatars/maul.gif create mode 100644 horde/themes/silver/graphics/avatars/melon.jpg create mode 100644 horde/themes/silver/graphics/avatars/mib.gif create mode 100644 horde/themes/silver/graphics/avatars/monkey.jpg create mode 100644 horde/themes/silver/graphics/avatars/neo.jpg create mode 100644 horde/themes/silver/graphics/avatars/ninja.jpg create mode 100644 horde/themes/silver/graphics/avatars/paintingbird.gif create mode 100644 horde/themes/silver/graphics/avatars/picard.jpg create mode 100644 horde/themes/silver/graphics/avatars/puff.jpg create mode 100644 horde/themes/silver/graphics/avatars/redcreature.gif create mode 100644 horde/themes/silver/graphics/avatars/rei.jpg create mode 100644 horde/themes/silver/graphics/avatars/rei2.jpg create mode 100644 horde/themes/silver/graphics/avatars/ryu.gif create mode 100644 horde/themes/silver/graphics/avatars/sexy.gif create mode 100644 horde/themes/silver/graphics/avatars/smiley.gif create mode 100644 horde/themes/silver/graphics/avatars/smurfs.gif create mode 100644 horde/themes/silver/graphics/avatars/sonic.gif create mode 100644 horde/themes/silver/graphics/avatars/speedy.gif create mode 100644 horde/themes/silver/graphics/avatars/stan.jpg create mode 100644 horde/themes/silver/graphics/avatars/superman.gif create mode 100644 horde/themes/silver/graphics/avatars/sylvester.gif create mode 100644 horde/themes/silver/graphics/avatars/thomas.gif create mode 100644 horde/themes/silver/graphics/avatars/tigger.gif create mode 100644 horde/themes/silver/graphics/avatars/trin.jpg create mode 100644 horde/themes/silver/graphics/avatars/us.jpg create mode 100644 horde/themes/silver/graphics/avatars/vampire.jpg create mode 100644 horde/themes/silver/graphics/avatars/vampire2.jpg create mode 100644 horde/themes/silver/graphics/avatars/wacko.gif create mode 100644 horde/themes/silver/graphics/avatars/winnie.gif create mode 100644 horde/themes/silver/graphics/avatars/wizard.jpg create mode 100644 horde/themes/silver/graphics/avatars/wolverine.jpg create mode 100644 horde/themes/silver/graphics/avatars/woman.jpg create mode 100644 horde/themes/silver/graphics/avatars/woodie.jpg create mode 100644 horde/themes/silver/graphics/avatars/xena.gif create mode 100644 horde/themes/silver/graphics/az.png create mode 100644 horde/themes/silver/graphics/blank.gif create mode 100644 horde/themes/silver/graphics/block.png create mode 100644 horde/themes/silver/graphics/block/down.png create mode 100644 horde/themes/silver/graphics/block/large_down.png create mode 100644 horde/themes/silver/graphics/block/large_left.png create mode 100644 horde/themes/silver/graphics/block/large_right.png create mode 100644 horde/themes/silver/graphics/block/large_up.png create mode 100644 horde/themes/silver/graphics/block/left.png create mode 100644 horde/themes/silver/graphics/block/moon/firstquarter.png create mode 100644 horde/themes/silver/graphics/block/moon/fullmoon.png create mode 100644 horde/themes/silver/graphics/block/moon/lastquarter.png create mode 100644 horde/themes/silver/graphics/block/moon/newmoon.png create mode 100644 horde/themes/silver/graphics/block/right.png create mode 100644 horde/themes/silver/graphics/block/sunrise/sunrise.png create mode 100644 horde/themes/silver/graphics/block/sunrise/sunset.png create mode 100644 horde/themes/silver/graphics/block/up.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/0.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/1.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/10.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/11.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/12.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/13.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/14.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/15.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/16.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/17.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/18.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/19.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/2.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/20.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/21.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/22.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/23.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/24.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/25.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/26.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/27.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/28.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/29.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/3.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/30.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/31.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/32.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/33.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/34.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/35.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/36.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/37.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/38.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/39.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/4.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/40.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/41.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/42.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/43.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/44.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/45.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/46.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/47.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/5.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/6.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/7.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/8.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/9.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/23x23/na.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/0.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/1.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/10.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/11.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/12.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/13.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/14.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/15.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/16.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/17.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/18.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/19.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/2.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/20.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/21.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/22.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/23.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/24.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/25.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/26.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/27.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/28.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/29.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/3.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/30.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/31.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/32.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/33.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/34.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/35.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/36.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/37.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/38.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/39.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/4.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/40.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/41.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/42.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/43.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/44.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/45.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/46.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/47.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/5.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/6.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/7.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/8.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/9.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/TWClogo_32px.png create mode 100644 horde/themes/silver/graphics/block/weatherdotcom/32x32/na.png create mode 100644 horde/themes/silver/graphics/calendar.png create mode 100644 horde/themes/silver/graphics/close.png create mode 100644 horde/themes/silver/graphics/color-picker-cursor.gif create mode 100644 horde/themes/silver/graphics/color-picker-palette.png create mode 100644 horde/themes/silver/graphics/color-picker-resize.gif create mode 100644 horde/themes/silver/graphics/colorpicker.png create mode 100644 horde/themes/silver/graphics/colorscale.png create mode 100644 horde/themes/silver/graphics/config.png create mode 100644 horde/themes/silver/graphics/currentTab_left.png create mode 100644 horde/themes/silver/graphics/currentTab_right.png create mode 100644 horde/themes/silver/graphics/data.png create mode 100644 horde/themes/silver/graphics/datatree.png create mode 100644 horde/themes/silver/graphics/delete-small.png create mode 100644 horde/themes/silver/graphics/delete.png create mode 100644 horde/themes/silver/graphics/devel.png create mode 100644 horde/themes/silver/graphics/download.png create mode 100644 horde/themes/silver/graphics/edit-small.png create mode 100644 horde/themes/silver/graphics/edit.png create mode 100644 horde/themes/silver/graphics/emoticons/angel.png create mode 100644 horde/themes/silver/graphics/emoticons/angelwink.png create mode 100644 horde/themes/silver/graphics/emoticons/angry.png create mode 100644 horde/themes/silver/graphics/emoticons/annoyed.png create mode 100644 horde/themes/silver/graphics/emoticons/asleep.png create mode 100644 horde/themes/silver/graphics/emoticons/bigfrown.png create mode 100644 horde/themes/silver/graphics/emoticons/biggrin.png create mode 100644 horde/themes/silver/graphics/emoticons/blush.png create mode 100644 horde/themes/silver/graphics/emoticons/clown.png create mode 100644 horde/themes/silver/graphics/emoticons/confused.png create mode 100644 horde/themes/silver/graphics/emoticons/cool.png create mode 100644 horde/themes/silver/graphics/emoticons/coolgrin.png create mode 100644 horde/themes/silver/graphics/emoticons/cooltongue.png create mode 100644 horde/themes/silver/graphics/emoticons/dazed.png create mode 100644 horde/themes/silver/graphics/emoticons/devil.png create mode 100644 horde/themes/silver/graphics/emoticons/deviltongue.png create mode 100644 horde/themes/silver/graphics/emoticons/disappointed.png create mode 100644 horde/themes/silver/graphics/emoticons/embarrassed.png create mode 100644 horde/themes/silver/graphics/emoticons/enraged.png create mode 100644 horde/themes/silver/graphics/emoticons/frown.png create mode 100644 horde/themes/silver/graphics/emoticons/frustrated.png create mode 100644 horde/themes/silver/graphics/emoticons/grin.png create mode 100644 horde/themes/silver/graphics/emoticons/hangover.png create mode 100644 horde/themes/silver/graphics/emoticons/hippie.png create mode 100644 horde/themes/silver/graphics/emoticons/hippiegrin.png create mode 100644 horde/themes/silver/graphics/emoticons/hippietongue.png create mode 100644 horde/themes/silver/graphics/emoticons/hurt.png create mode 100644 horde/themes/silver/graphics/emoticons/indifferent.png create mode 100644 horde/themes/silver/graphics/emoticons/love.png create mode 100644 horde/themes/silver/graphics/emoticons/mad.png create mode 100644 horde/themes/silver/graphics/emoticons/mrt.png create mode 100644 horde/themes/silver/graphics/emoticons/punk.png create mode 100644 horde/themes/silver/graphics/emoticons/punkmohawk.png create mode 100644 horde/themes/silver/graphics/emoticons/punktongue.png create mode 100644 horde/themes/silver/graphics/emoticons/raspberry.png create mode 100644 horde/themes/silver/graphics/emoticons/sad.png create mode 100644 horde/themes/silver/graphics/emoticons/shout.png create mode 100644 horde/themes/silver/graphics/emoticons/smile.png create mode 100644 horde/themes/silver/graphics/emoticons/tired.png create mode 100644 horde/themes/silver/graphics/emoticons/tongueout.png create mode 100644 horde/themes/silver/graphics/emoticons/vampire.png create mode 100644 horde/themes/silver/graphics/emoticons/wink.png create mode 100644 horde/themes/silver/graphics/emoticons/winkgrin.png create mode 100644 horde/themes/silver/graphics/emoticons/winktongue.png create mode 100644 horde/themes/silver/graphics/emoticons/winktongueout.png create mode 100644 horde/themes/silver/graphics/emoticons/worried.png create mode 100644 horde/themes/silver/graphics/external.png create mode 100644 horde/themes/silver/graphics/favicon.ico create mode 100644 horde/themes/silver/graphics/feed.png create mode 100644 horde/themes/silver/graphics/flags/ad.png create mode 100644 horde/themes/silver/graphics/flags/ae.png create mode 100644 horde/themes/silver/graphics/flags/af.png create mode 100644 horde/themes/silver/graphics/flags/ag.png create mode 100644 horde/themes/silver/graphics/flags/ai.png create mode 100644 horde/themes/silver/graphics/flags/al.png create mode 100644 horde/themes/silver/graphics/flags/am.png create mode 100644 horde/themes/silver/graphics/flags/an.png create mode 100644 horde/themes/silver/graphics/flags/ao.png create mode 100644 horde/themes/silver/graphics/flags/ar.png create mode 100644 horde/themes/silver/graphics/flags/as.png create mode 100644 horde/themes/silver/graphics/flags/at.png create mode 100644 horde/themes/silver/graphics/flags/au.png create mode 100644 horde/themes/silver/graphics/flags/aw.png create mode 100644 horde/themes/silver/graphics/flags/ax.png create mode 100644 horde/themes/silver/graphics/flags/az.png create mode 100644 horde/themes/silver/graphics/flags/ba.png create mode 100644 horde/themes/silver/graphics/flags/bb.png create mode 100644 horde/themes/silver/graphics/flags/bd.png create mode 100644 horde/themes/silver/graphics/flags/be.png create mode 100644 horde/themes/silver/graphics/flags/bf.png create mode 100644 horde/themes/silver/graphics/flags/bg.png create mode 100644 horde/themes/silver/graphics/flags/bh.png create mode 100644 horde/themes/silver/graphics/flags/bi.png create mode 100644 horde/themes/silver/graphics/flags/bj.png create mode 100644 horde/themes/silver/graphics/flags/bm.png create mode 100644 horde/themes/silver/graphics/flags/bn.png create mode 100644 horde/themes/silver/graphics/flags/bo.png create mode 100644 horde/themes/silver/graphics/flags/br.png create mode 100644 horde/themes/silver/graphics/flags/bs.png create mode 100644 horde/themes/silver/graphics/flags/bt.png create mode 100644 horde/themes/silver/graphics/flags/bv.png create mode 100644 horde/themes/silver/graphics/flags/bw.png create mode 100644 horde/themes/silver/graphics/flags/by.png create mode 100644 horde/themes/silver/graphics/flags/bz.png create mode 100644 horde/themes/silver/graphics/flags/ca.png create mode 100644 horde/themes/silver/graphics/flags/cc.png create mode 100644 horde/themes/silver/graphics/flags/cd.png create mode 100644 horde/themes/silver/graphics/flags/cf.png create mode 100644 horde/themes/silver/graphics/flags/cg.png create mode 100644 horde/themes/silver/graphics/flags/ch.png create mode 100644 horde/themes/silver/graphics/flags/ci.png create mode 100644 horde/themes/silver/graphics/flags/ck.png create mode 100644 horde/themes/silver/graphics/flags/cl.png create mode 100644 horde/themes/silver/graphics/flags/cm.png create mode 100644 horde/themes/silver/graphics/flags/cn.png create mode 100644 horde/themes/silver/graphics/flags/co.png create mode 100644 horde/themes/silver/graphics/flags/cr.png create mode 100644 horde/themes/silver/graphics/flags/cs.png create mode 100644 horde/themes/silver/graphics/flags/cu.png create mode 100644 horde/themes/silver/graphics/flags/cv.png create mode 100644 horde/themes/silver/graphics/flags/cx.png create mode 100644 horde/themes/silver/graphics/flags/cy.png create mode 100644 horde/themes/silver/graphics/flags/cz.png create mode 100644 horde/themes/silver/graphics/flags/de.png create mode 100644 horde/themes/silver/graphics/flags/dj.png create mode 100644 horde/themes/silver/graphics/flags/dk.png create mode 100644 horde/themes/silver/graphics/flags/dm.png create mode 100644 horde/themes/silver/graphics/flags/do.png create mode 100644 horde/themes/silver/graphics/flags/dz.png create mode 100644 horde/themes/silver/graphics/flags/ec.png create mode 100644 horde/themes/silver/graphics/flags/ee.png create mode 100644 horde/themes/silver/graphics/flags/eg.png create mode 100644 horde/themes/silver/graphics/flags/eh.png create mode 100644 horde/themes/silver/graphics/flags/er.png create mode 100644 horde/themes/silver/graphics/flags/es.png create mode 100644 horde/themes/silver/graphics/flags/et.png create mode 100644 horde/themes/silver/graphics/flags/eu.png create mode 100644 horde/themes/silver/graphics/flags/fam.png create mode 100644 horde/themes/silver/graphics/flags/fi.png create mode 100644 horde/themes/silver/graphics/flags/fj.png create mode 100644 horde/themes/silver/graphics/flags/fk.png create mode 100644 horde/themes/silver/graphics/flags/fm.png create mode 100644 horde/themes/silver/graphics/flags/fo.png create mode 100644 horde/themes/silver/graphics/flags/fr.png create mode 100644 horde/themes/silver/graphics/flags/ga.png create mode 100644 horde/themes/silver/graphics/flags/gb.png create mode 100644 horde/themes/silver/graphics/flags/gd.png create mode 100644 horde/themes/silver/graphics/flags/ge.png create mode 100755 horde/themes/silver/graphics/flags/gf.png create mode 100644 horde/themes/silver/graphics/flags/gh.png create mode 100644 horde/themes/silver/graphics/flags/gi.png create mode 100644 horde/themes/silver/graphics/flags/gl.png create mode 100644 horde/themes/silver/graphics/flags/gm.png create mode 100644 horde/themes/silver/graphics/flags/gn.png create mode 100644 horde/themes/silver/graphics/flags/gp.png create mode 100644 horde/themes/silver/graphics/flags/gq.png create mode 100644 horde/themes/silver/graphics/flags/gr.png create mode 100644 horde/themes/silver/graphics/flags/gs.png create mode 100644 horde/themes/silver/graphics/flags/gt.png create mode 100644 horde/themes/silver/graphics/flags/gu.png create mode 100644 horde/themes/silver/graphics/flags/gw.png create mode 100644 horde/themes/silver/graphics/flags/gy.png create mode 100644 horde/themes/silver/graphics/flags/hk.png create mode 100755 horde/themes/silver/graphics/flags/hm.png create mode 100644 horde/themes/silver/graphics/flags/hn.png create mode 100644 horde/themes/silver/graphics/flags/hr.png create mode 100644 horde/themes/silver/graphics/flags/ht.png create mode 100644 horde/themes/silver/graphics/flags/hu.png create mode 100644 horde/themes/silver/graphics/flags/id.png create mode 100644 horde/themes/silver/graphics/flags/ie.png create mode 100644 horde/themes/silver/graphics/flags/il.png create mode 100644 horde/themes/silver/graphics/flags/in.png create mode 100644 horde/themes/silver/graphics/flags/io.png create mode 100644 horde/themes/silver/graphics/flags/iq.png create mode 100644 horde/themes/silver/graphics/flags/ir.png create mode 100644 horde/themes/silver/graphics/flags/is.png create mode 100644 horde/themes/silver/graphics/flags/it.png create mode 100644 horde/themes/silver/graphics/flags/jm.png create mode 100644 horde/themes/silver/graphics/flags/jo.png create mode 100644 horde/themes/silver/graphics/flags/jp.png create mode 100644 horde/themes/silver/graphics/flags/ke.png create mode 100644 horde/themes/silver/graphics/flags/kg.png create mode 100644 horde/themes/silver/graphics/flags/kh.png create mode 100644 horde/themes/silver/graphics/flags/ki.png create mode 100644 horde/themes/silver/graphics/flags/km.png create mode 100644 horde/themes/silver/graphics/flags/kn.png create mode 100644 horde/themes/silver/graphics/flags/kp.png create mode 100644 horde/themes/silver/graphics/flags/kr.png create mode 100644 horde/themes/silver/graphics/flags/kw.png create mode 100644 horde/themes/silver/graphics/flags/ky.png create mode 100644 horde/themes/silver/graphics/flags/kz.png create mode 100644 horde/themes/silver/graphics/flags/la.png create mode 100644 horde/themes/silver/graphics/flags/lb.png create mode 100644 horde/themes/silver/graphics/flags/lc.png create mode 100644 horde/themes/silver/graphics/flags/li.png create mode 100644 horde/themes/silver/graphics/flags/lk.png create mode 100644 horde/themes/silver/graphics/flags/lr.png create mode 100644 horde/themes/silver/graphics/flags/ls.png create mode 100644 horde/themes/silver/graphics/flags/lt.png create mode 100644 horde/themes/silver/graphics/flags/lu.png create mode 100644 horde/themes/silver/graphics/flags/lv.png create mode 100644 horde/themes/silver/graphics/flags/ly.png create mode 100644 horde/themes/silver/graphics/flags/ma.png create mode 100644 horde/themes/silver/graphics/flags/mc.png create mode 100644 horde/themes/silver/graphics/flags/md.png create mode 100644 horde/themes/silver/graphics/flags/me.png create mode 100644 horde/themes/silver/graphics/flags/mg.png create mode 100644 horde/themes/silver/graphics/flags/mh.png create mode 100644 horde/themes/silver/graphics/flags/mk.png create mode 100644 horde/themes/silver/graphics/flags/ml.png create mode 100644 horde/themes/silver/graphics/flags/mm.png create mode 100644 horde/themes/silver/graphics/flags/mn.png create mode 100644 horde/themes/silver/graphics/flags/mo.png create mode 100644 horde/themes/silver/graphics/flags/mp.png create mode 100644 horde/themes/silver/graphics/flags/mq.png create mode 100644 horde/themes/silver/graphics/flags/mr.png create mode 100644 horde/themes/silver/graphics/flags/ms.png create mode 100644 horde/themes/silver/graphics/flags/mt.png create mode 100644 horde/themes/silver/graphics/flags/mu.png create mode 100644 horde/themes/silver/graphics/flags/mv.png create mode 100644 horde/themes/silver/graphics/flags/mw.png create mode 100644 horde/themes/silver/graphics/flags/mx.png create mode 100644 horde/themes/silver/graphics/flags/my.png create mode 100644 horde/themes/silver/graphics/flags/mz.png create mode 100644 horde/themes/silver/graphics/flags/na.png create mode 100644 horde/themes/silver/graphics/flags/nc.png create mode 100644 horde/themes/silver/graphics/flags/ne.png create mode 100644 horde/themes/silver/graphics/flags/nf.png create mode 100644 horde/themes/silver/graphics/flags/ng.png create mode 100644 horde/themes/silver/graphics/flags/ni.png create mode 100644 horde/themes/silver/graphics/flags/nl.png create mode 100644 horde/themes/silver/graphics/flags/no.png create mode 100644 horde/themes/silver/graphics/flags/np.png create mode 100644 horde/themes/silver/graphics/flags/nr.png create mode 100644 horde/themes/silver/graphics/flags/nu.png create mode 100644 horde/themes/silver/graphics/flags/nz.png create mode 100644 horde/themes/silver/graphics/flags/om.png create mode 100644 horde/themes/silver/graphics/flags/pa.png create mode 100644 horde/themes/silver/graphics/flags/pe.png create mode 100644 horde/themes/silver/graphics/flags/pf.png create mode 100644 horde/themes/silver/graphics/flags/pg.png create mode 100644 horde/themes/silver/graphics/flags/ph.png create mode 100644 horde/themes/silver/graphics/flags/pk.png create mode 100644 horde/themes/silver/graphics/flags/pl.png create mode 100644 horde/themes/silver/graphics/flags/pm.png create mode 100644 horde/themes/silver/graphics/flags/pn.png create mode 100644 horde/themes/silver/graphics/flags/pr.png create mode 100644 horde/themes/silver/graphics/flags/ps.png create mode 100644 horde/themes/silver/graphics/flags/pt.png create mode 100644 horde/themes/silver/graphics/flags/pw.png create mode 100644 horde/themes/silver/graphics/flags/py.png create mode 100644 horde/themes/silver/graphics/flags/qa.png create mode 100755 horde/themes/silver/graphics/flags/re.png create mode 100644 horde/themes/silver/graphics/flags/ro.png create mode 100644 horde/themes/silver/graphics/flags/rs.png create mode 100644 horde/themes/silver/graphics/flags/ru.png create mode 100644 horde/themes/silver/graphics/flags/rw.png create mode 100644 horde/themes/silver/graphics/flags/sa.png create mode 100644 horde/themes/silver/graphics/flags/sb.png create mode 100644 horde/themes/silver/graphics/flags/sc.png create mode 100644 horde/themes/silver/graphics/flags/scotland.png create mode 100644 horde/themes/silver/graphics/flags/sd.png create mode 100644 horde/themes/silver/graphics/flags/se.png create mode 100644 horde/themes/silver/graphics/flags/sg.png create mode 100644 horde/themes/silver/graphics/flags/sh.png create mode 100644 horde/themes/silver/graphics/flags/si.png create mode 100755 horde/themes/silver/graphics/flags/sj.png create mode 100644 horde/themes/silver/graphics/flags/sk.png create mode 100644 horde/themes/silver/graphics/flags/sl.png create mode 100644 horde/themes/silver/graphics/flags/sm.png create mode 100644 horde/themes/silver/graphics/flags/sn.png create mode 100644 horde/themes/silver/graphics/flags/so.png create mode 100644 horde/themes/silver/graphics/flags/sr.png create mode 100644 horde/themes/silver/graphics/flags/st.png create mode 100644 horde/themes/silver/graphics/flags/sv.png create mode 100644 horde/themes/silver/graphics/flags/sy.png create mode 100644 horde/themes/silver/graphics/flags/sz.png create mode 100644 horde/themes/silver/graphics/flags/tc.png create mode 100644 horde/themes/silver/graphics/flags/td.png create mode 100644 horde/themes/silver/graphics/flags/tf.png create mode 100644 horde/themes/silver/graphics/flags/tg.png create mode 100644 horde/themes/silver/graphics/flags/th.png create mode 100644 horde/themes/silver/graphics/flags/tj.png create mode 100644 horde/themes/silver/graphics/flags/tk.png create mode 100644 horde/themes/silver/graphics/flags/tl.png create mode 100644 horde/themes/silver/graphics/flags/tm.png create mode 100644 horde/themes/silver/graphics/flags/tn.png create mode 100644 horde/themes/silver/graphics/flags/to.png create mode 100644 horde/themes/silver/graphics/flags/tp.png create mode 100644 horde/themes/silver/graphics/flags/tr.png create mode 100644 horde/themes/silver/graphics/flags/tt.png create mode 100644 horde/themes/silver/graphics/flags/tv.png create mode 100644 horde/themes/silver/graphics/flags/tw.png create mode 100644 horde/themes/silver/graphics/flags/tz.png create mode 100644 horde/themes/silver/graphics/flags/ua.png create mode 100644 horde/themes/silver/graphics/flags/ug.png create mode 100644 horde/themes/silver/graphics/flags/uk.png create mode 100644 horde/themes/silver/graphics/flags/um.png create mode 100644 horde/themes/silver/graphics/flags/us.png create mode 100644 horde/themes/silver/graphics/flags/uy.png create mode 100644 horde/themes/silver/graphics/flags/uz.png create mode 100644 horde/themes/silver/graphics/flags/va.png create mode 100644 horde/themes/silver/graphics/flags/vc.png create mode 100644 horde/themes/silver/graphics/flags/ve.png create mode 100644 horde/themes/silver/graphics/flags/vg.png create mode 100644 horde/themes/silver/graphics/flags/vi.png create mode 100644 horde/themes/silver/graphics/flags/vn.png create mode 100644 horde/themes/silver/graphics/flags/vu.png create mode 100644 horde/themes/silver/graphics/flags/wales.png create mode 100644 horde/themes/silver/graphics/flags/wf.png create mode 100644 horde/themes/silver/graphics/flags/ws.png create mode 100644 horde/themes/silver/graphics/flags/ye.png create mode 100644 horde/themes/silver/graphics/flags/yt.png create mode 100644 horde/themes/silver/graphics/flags/yu.png create mode 100644 horde/themes/silver/graphics/flags/za.png create mode 100644 horde/themes/silver/graphics/flags/zm.png create mode 100644 horde/themes/silver/graphics/flags/zw.png create mode 100644 horde/themes/silver/graphics/google.png create mode 100644 horde/themes/silver/graphics/group.png create mode 100644 horde/themes/silver/graphics/help.png create mode 100644 horde/themes/silver/graphics/help_index.png create mode 100644 horde/themes/silver/graphics/hide_panel.png create mode 100644 horde/themes/silver/graphics/horde-power1.png create mode 100644 horde/themes/silver/graphics/horde-power2.png create mode 100644 horde/themes/silver/graphics/horde-power3.png create mode 100644 horde/themes/silver/graphics/horde.png create mode 100644 horde/themes/silver/graphics/image/crop.png create mode 100644 horde/themes/silver/graphics/image/flip.png create mode 100644 horde/themes/silver/graphics/image/grayscale.png create mode 100644 horde/themes/silver/graphics/image/mirror.png create mode 100644 horde/themes/silver/graphics/image/ratio.png create mode 100644 horde/themes/silver/graphics/image/refresh.png create mode 100644 horde/themes/silver/graphics/image/rotate-180.png create mode 100644 horde/themes/silver/graphics/image/rotate-270.png create mode 100644 horde/themes/silver/graphics/image/rotate-90.png create mode 100644 horde/themes/silver/graphics/info.png create mode 100644 horde/themes/silver/graphics/info_icon.png create mode 100644 horde/themes/silver/graphics/keyboard.png create mode 100644 horde/themes/silver/graphics/layout.png create mode 100644 horde/themes/silver/graphics/lhand.png create mode 100644 horde/themes/silver/graphics/loading.gif create mode 100644 horde/themes/silver/graphics/locked.png create mode 100644 horde/themes/silver/graphics/login.png create mode 100644 horde/themes/silver/graphics/logout.png create mode 100644 horde/themes/silver/graphics/map.png create mode 100644 horde/themes/silver/graphics/map/marker-blue.png create mode 100644 horde/themes/silver/graphics/map/marker-gold.png create mode 100644 horde/themes/silver/graphics/map/marker-green.png create mode 100644 horde/themes/silver/graphics/map/marker-shadow.png create mode 100644 horde/themes/silver/graphics/map/marker.png create mode 100644 horde/themes/silver/graphics/map_eu.png create mode 100644 horde/themes/silver/graphics/menu-active.png create mode 100644 horde/themes/silver/graphics/menu.png create mode 100644 horde/themes/silver/graphics/mime/audio.png create mode 100644 horde/themes/silver/graphics/mime/binary.png create mode 100644 horde/themes/silver/graphics/mime/compressed.png create mode 100644 horde/themes/silver/graphics/mime/deb.png create mode 100644 horde/themes/silver/graphics/mime/encryption.png create mode 100644 horde/themes/silver/graphics/mime/html.png create mode 100644 horde/themes/silver/graphics/mime/icalendar.png create mode 100644 horde/themes/silver/graphics/mime/image.png create mode 100644 horde/themes/silver/graphics/mime/mail.png create mode 100644 horde/themes/silver/graphics/mime/msexcel.png create mode 100644 horde/themes/silver/graphics/mime/mspowerpoint.png create mode 100644 horde/themes/silver/graphics/mime/msword.png create mode 100644 horde/themes/silver/graphics/mime/ooo_calc.png create mode 100644 horde/themes/silver/graphics/mime/ooo_draw.png create mode 100644 horde/themes/silver/graphics/mime/ooo_impress.png create mode 100644 horde/themes/silver/graphics/mime/ooo_math.png create mode 100644 horde/themes/silver/graphics/mime/ooo_writer.png create mode 100644 horde/themes/silver/graphics/mime/pdf.png create mode 100644 horde/themes/silver/graphics/mime/php.png create mode 100644 horde/themes/silver/graphics/mime/rpm.png create mode 100644 horde/themes/silver/graphics/mime/script-js.png create mode 100644 horde/themes/silver/graphics/mime/source-c.png create mode 100644 horde/themes/silver/graphics/mime/source-cpp.png create mode 100644 horde/themes/silver/graphics/mime/source-h.png create mode 100644 horde/themes/silver/graphics/mime/source-java.png create mode 100644 horde/themes/silver/graphics/mime/source-python.png create mode 100644 horde/themes/silver/graphics/mime/text.png create mode 100644 horde/themes/silver/graphics/mime/vcard.png create mode 100644 horde/themes/silver/graphics/mime/video.png create mode 100644 horde/themes/silver/graphics/mime/wordperfect.png create mode 100644 horde/themes/silver/graphics/mime/xml.png create mode 100644 horde/themes/silver/graphics/minus.png create mode 100644 horde/themes/silver/graphics/mobile.png create mode 100644 horde/themes/silver/graphics/mobile/bottom.jpg create mode 100644 horde/themes/silver/graphics/mobile/display.jpg create mode 100644 horde/themes/silver/graphics/mobile/left.jpg create mode 100644 horde/themes/silver/graphics/mobile/right.jpg create mode 100644 horde/themes/silver/graphics/mobile/top.jpg create mode 100644 horde/themes/silver/graphics/myaccount.png create mode 100644 horde/themes/silver/graphics/nav/bottom-grey.png create mode 100644 horde/themes/silver/graphics/nav/bottom.png create mode 100644 horde/themes/silver/graphics/nav/down-grey.png create mode 100644 horde/themes/silver/graphics/nav/down.png create mode 100644 horde/themes/silver/graphics/nav/first-grey.png create mode 100644 horde/themes/silver/graphics/nav/first.png create mode 100644 horde/themes/silver/graphics/nav/last-grey.png create mode 100644 horde/themes/silver/graphics/nav/last.png create mode 100644 horde/themes/silver/graphics/nav/left-grey.png create mode 100644 horde/themes/silver/graphics/nav/left.png create mode 100644 horde/themes/silver/graphics/nav/right-grey.png create mode 100644 horde/themes/silver/graphics/nav/right.png create mode 100644 horde/themes/silver/graphics/nav/top-grey.png create mode 100644 horde/themes/silver/graphics/nav/top.png create mode 100644 horde/themes/silver/graphics/nav/up-grey.png create mode 100644 horde/themes/silver/graphics/nav/up.png create mode 100644 horde/themes/silver/graphics/office.png create mode 100644 horde/themes/silver/graphics/organizing.png create mode 100644 horde/themes/silver/graphics/perms.png create mode 100644 horde/themes/silver/graphics/phone.png create mode 100644 horde/themes/silver/graphics/plus.png create mode 100644 horde/themes/silver/graphics/prefs.png create mode 100644 horde/themes/silver/graphics/print.png create mode 100644 horde/themes/silver/graphics/problem.png create mode 100644 horde/themes/silver/graphics/redbox_spinner.gif create mode 100644 horde/themes/silver/graphics/reload.png create mode 100644 horde/themes/silver/graphics/required.png create mode 100644 horde/themes/silver/graphics/rhand.png create mode 100644 horde/themes/silver/graphics/save.png create mode 100644 horde/themes/silver/graphics/search.png create mode 100644 horde/themes/silver/graphics/shadow.gif create mode 100644 horde/themes/silver/graphics/shadow.png create mode 100644 horde/themes/silver/graphics/shell.png create mode 100644 horde/themes/silver/graphics/show_panel.png create mode 100644 horde/themes/silver/graphics/sql.png create mode 100644 horde/themes/silver/graphics/tab_left.png create mode 100644 horde/themes/silver/graphics/tab_right.png create mode 100644 horde/themes/silver/graphics/tree/blank.png create mode 100644 horde/themes/silver/graphics/tree/folder.png create mode 100644 horde/themes/silver/graphics/tree/folderopen.png create mode 100644 horde/themes/silver/graphics/tree/join.png create mode 100644 horde/themes/silver/graphics/tree/joinbottom-down.png create mode 100644 horde/themes/silver/graphics/tree/joinbottom.png create mode 100644 horde/themes/silver/graphics/tree/leaf.png create mode 100644 horde/themes/silver/graphics/tree/line.png create mode 100644 horde/themes/silver/graphics/tree/minus.png create mode 100644 horde/themes/silver/graphics/tree/minusbottom.png create mode 100644 horde/themes/silver/graphics/tree/minusonly.png create mode 100644 horde/themes/silver/graphics/tree/minustop.png create mode 100644 horde/themes/silver/graphics/tree/nullonly.png create mode 100644 horde/themes/silver/graphics/tree/plus.png create mode 100644 horde/themes/silver/graphics/tree/plusbottom.png create mode 100644 horde/themes/silver/graphics/tree/plusonly.png create mode 100644 horde/themes/silver/graphics/tree/plustop.png create mode 100644 horde/themes/silver/graphics/tree/rev-join.png create mode 100644 horde/themes/silver/graphics/tree/rev-joinbottom-down.png create mode 100644 horde/themes/silver/graphics/tree/rev-joinbottom.png create mode 100644 horde/themes/silver/graphics/tree/rev-leaf.png create mode 100644 horde/themes/silver/graphics/tree/rev-line.png create mode 100644 horde/themes/silver/graphics/tree/rev-minus.png create mode 100644 horde/themes/silver/graphics/tree/rev-minusbottom.png create mode 100644 horde/themes/silver/graphics/tree/rev-minusonly.png create mode 100644 horde/themes/silver/graphics/tree/rev-minustop.png create mode 100644 horde/themes/silver/graphics/tree/rev-nullonly.png create mode 100644 horde/themes/silver/graphics/tree/rev-plus.png create mode 100644 horde/themes/silver/graphics/tree/rev-plusbottom.png create mode 100644 horde/themes/silver/graphics/tree/rev-plusonly.png create mode 100644 horde/themes/silver/graphics/tree/rev-plustop.png create mode 100644 horde/themes/silver/graphics/unlocked.png create mode 100644 horde/themes/silver/graphics/user.png create mode 100644 horde/themes/silver/graphics/website.png create mode 100644 horde/themes/silver/graphics/za.png create mode 100644 horde/themes/silver/info.php create mode 100644 horde/themes/silver/screen.css create mode 100644 horde/themes/silver/themed_graphics create mode 100644 horde/themes/simplex/graphics/background.png create mode 100644 horde/themes/simplex/info.php create mode 100644 horde/themes/simplex/screen.css create mode 100644 horde/themes/sounds/doorbell.wav create mode 100644 horde/themes/sounds/gnid3.wav create mode 100644 horde/themes/sounds/jetsndb.wav create mode 100644 horde/themes/sounds/reminder.wav create mode 100644 horde/themes/sounds/theetone.wav create mode 100644 horde/themes/tango-blue/graphics/about.png create mode 100644 horde/themes/tango-blue/graphics/add_group.png create mode 100644 horde/themes/tango-blue/graphics/add_perm.png create mode 100644 horde/themes/tango-blue/graphics/administration.png create mode 100644 horde/themes/tango-blue/graphics/alerts/alarm.png create mode 100644 horde/themes/tango-blue/graphics/alerts/error.png create mode 100644 horde/themes/tango-blue/graphics/alerts/message.png create mode 100644 horde/themes/tango-blue/graphics/alerts/success.png create mode 100644 horde/themes/tango-blue/graphics/alerts/warning.png create mode 100644 horde/themes/tango-blue/graphics/avatars/alien.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/aly.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/angryboy.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/ape.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/au.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/baby.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/barbarian.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/bart.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/batman.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/bert.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/bert2.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/bobafett.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/boo.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/boyandmower.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/boyandpc.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/bret.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/bunny.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/charlie_brown.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/clown.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/cocky.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/devil.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/digimon.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/dilbert.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/dino.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/dog.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/duck.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/einstein.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/elmerfudd.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/elmo.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/evil.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/female1.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/female2.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/franc.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/fredflinstone.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/garfield.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/gopher.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/greenhead.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/gremlin.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/grover.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/homer.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/hump.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/iceskatekid.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/jeri.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/kid.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/kirk.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/kryton.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/linux.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/lisa.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/lovebird.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/male1.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/male2.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/man.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/marge.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/maul.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/melon.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/mib.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/monkey.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/neo.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/ninja.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/paintingbird.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/picard.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/puff.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/redcreature.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/rei.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/rei2.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/ryu.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/sexy.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/smiley.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/smurfs.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/sonic.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/speedy.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/stan.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/superman.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/sylvester.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/thomas.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/tigger.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/trin.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/us.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/vampire.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/vampire2.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/wacko.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/winnie.gif create mode 100644 horde/themes/tango-blue/graphics/avatars/wizard.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/wolverine.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/woman.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/woodie.jpg create mode 100644 horde/themes/tango-blue/graphics/avatars/xena.gif create mode 100644 horde/themes/tango-blue/graphics/az.png create mode 100644 horde/themes/tango-blue/graphics/blank.gif create mode 100644 horde/themes/tango-blue/graphics/block.png create mode 100644 horde/themes/tango-blue/graphics/block/down.png create mode 100644 horde/themes/tango-blue/graphics/block/large_down.png create mode 100644 horde/themes/tango-blue/graphics/block/large_left.png create mode 100644 horde/themes/tango-blue/graphics/block/large_right.png create mode 100644 horde/themes/tango-blue/graphics/block/large_up.png create mode 100644 horde/themes/tango-blue/graphics/block/left.png create mode 100644 horde/themes/tango-blue/graphics/block/moon/firstquarter.png create mode 100644 horde/themes/tango-blue/graphics/block/moon/fullmoon.png create mode 100644 horde/themes/tango-blue/graphics/block/moon/lastquarter.png create mode 100644 horde/themes/tango-blue/graphics/block/moon/newmoon.png create mode 100644 horde/themes/tango-blue/graphics/block/right.png create mode 100644 horde/themes/tango-blue/graphics/block/sunrise/sunrise.png create mode 100644 horde/themes/tango-blue/graphics/block/sunrise/sunset.png create mode 100644 horde/themes/tango-blue/graphics/block/up.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/0.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/1.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/10.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/11.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/12.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/13.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/14.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/15.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/16.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/17.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/18.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/19.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/2.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/20.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/21.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/22.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/23.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/24.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/25.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/26.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/27.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/28.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/29.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/3.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/30.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/31.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/32.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/33.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/34.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/35.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/36.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/37.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/38.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/39.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/4.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/40.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/41.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/42.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/43.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/44.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/45.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/46.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/47.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/5.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/6.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/7.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/8.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/9.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/23x23/na.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/0.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/1.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/10.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/11.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/12.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/13.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/14.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/15.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/16.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/17.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/18.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/19.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/2.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/20.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/21.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/22.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/23.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/24.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/25.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/26.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/27.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/28.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/29.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/3.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/30.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/31.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/32.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/33.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/34.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/35.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/36.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/37.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/38.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/39.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/4.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/40.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/41.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/42.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/43.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/44.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/45.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/46.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/47.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/5.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/6.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/7.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/8.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/9.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/TWClogo_32px.png create mode 100644 horde/themes/tango-blue/graphics/block/weatherdotcom/32x32/na.png create mode 100644 horde/themes/tango-blue/graphics/calendar.png create mode 100644 horde/themes/tango-blue/graphics/close.png create mode 100644 horde/themes/tango-blue/graphics/color-picker-cursor.gif create mode 100644 horde/themes/tango-blue/graphics/color-picker-palette.png create mode 100644 horde/themes/tango-blue/graphics/color-picker-resize.gif create mode 100644 horde/themes/tango-blue/graphics/colorpicker.png create mode 100644 horde/themes/tango-blue/graphics/colorscale.png create mode 100644 horde/themes/tango-blue/graphics/config.png create mode 100644 horde/themes/tango-blue/graphics/data.png create mode 100644 horde/themes/tango-blue/graphics/datatree.png create mode 100644 horde/themes/tango-blue/graphics/delete-small.png create mode 100644 horde/themes/tango-blue/graphics/delete.png create mode 100644 horde/themes/tango-blue/graphics/devel.png create mode 100644 horde/themes/tango-blue/graphics/download.png create mode 100644 horde/themes/tango-blue/graphics/edit-small.png create mode 100644 horde/themes/tango-blue/graphics/edit.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/angel.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/angelwink.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/angry.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/annoyed.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/asleep.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/bigfrown.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/biggrin.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/blush.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/clown.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/confused.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/cool.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/coolgrin.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/cooltongue.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/dazed.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/devil.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/deviltongue.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/disappointed.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/embarrassed.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/enraged.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/frown.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/frustrated.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/grin.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/hangover.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/hippie.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/hippiegrin.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/hippietongue.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/hurt.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/indifferent.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/love.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/mad.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/mrt.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/punk.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/punkmohawk.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/punktongue.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/raspberry.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/sad.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/shout.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/smile.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/tired.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/tongueout.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/vampire.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/wink.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/winkgrin.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/winktongue.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/winktongueout.png create mode 100644 horde/themes/tango-blue/graphics/emoticons/worried.png create mode 100644 horde/themes/tango-blue/graphics/external.png create mode 100644 horde/themes/tango-blue/graphics/favicon.ico create mode 100755 horde/themes/tango-blue/graphics/feed.png create mode 100644 horde/themes/tango-blue/graphics/flags/ad.png create mode 100644 horde/themes/tango-blue/graphics/flags/ae.png create mode 100644 horde/themes/tango-blue/graphics/flags/af.png create mode 100644 horde/themes/tango-blue/graphics/flags/ag.png create mode 100644 horde/themes/tango-blue/graphics/flags/ai.png create mode 100644 horde/themes/tango-blue/graphics/flags/al.png create mode 100644 horde/themes/tango-blue/graphics/flags/am.png create mode 100644 horde/themes/tango-blue/graphics/flags/an.png create mode 100644 horde/themes/tango-blue/graphics/flags/ao.png create mode 100644 horde/themes/tango-blue/graphics/flags/ar.png create mode 100644 horde/themes/tango-blue/graphics/flags/as.png create mode 100644 horde/themes/tango-blue/graphics/flags/at.png create mode 100644 horde/themes/tango-blue/graphics/flags/au.png create mode 100644 horde/themes/tango-blue/graphics/flags/aw.png create mode 100644 horde/themes/tango-blue/graphics/flags/ax.png create mode 100644 horde/themes/tango-blue/graphics/flags/az.png create mode 100644 horde/themes/tango-blue/graphics/flags/ba.png create mode 100644 horde/themes/tango-blue/graphics/flags/bb.png create mode 100644 horde/themes/tango-blue/graphics/flags/bd.png create mode 100644 horde/themes/tango-blue/graphics/flags/be.png create mode 100644 horde/themes/tango-blue/graphics/flags/bf.png create mode 100644 horde/themes/tango-blue/graphics/flags/bg.png create mode 100644 horde/themes/tango-blue/graphics/flags/bh.png create mode 100644 horde/themes/tango-blue/graphics/flags/bi.png create mode 100644 horde/themes/tango-blue/graphics/flags/bj.png create mode 100644 horde/themes/tango-blue/graphics/flags/bm.png create mode 100644 horde/themes/tango-blue/graphics/flags/bn.png create mode 100644 horde/themes/tango-blue/graphics/flags/bo.png create mode 100644 horde/themes/tango-blue/graphics/flags/br.png create mode 100644 horde/themes/tango-blue/graphics/flags/bs.png create mode 100644 horde/themes/tango-blue/graphics/flags/bt.png create mode 100644 horde/themes/tango-blue/graphics/flags/bv.png create mode 100644 horde/themes/tango-blue/graphics/flags/bw.png create mode 100644 horde/themes/tango-blue/graphics/flags/by.png create mode 100644 horde/themes/tango-blue/graphics/flags/bz.png create mode 100644 horde/themes/tango-blue/graphics/flags/ca.png create mode 100644 horde/themes/tango-blue/graphics/flags/cc.png create mode 100644 horde/themes/tango-blue/graphics/flags/cd.png create mode 100644 horde/themes/tango-blue/graphics/flags/cf.png create mode 100644 horde/themes/tango-blue/graphics/flags/cg.png create mode 100644 horde/themes/tango-blue/graphics/flags/ch.png create mode 100644 horde/themes/tango-blue/graphics/flags/ci.png create mode 100644 horde/themes/tango-blue/graphics/flags/ck.png create mode 100644 horde/themes/tango-blue/graphics/flags/cl.png create mode 100644 horde/themes/tango-blue/graphics/flags/cm.png create mode 100644 horde/themes/tango-blue/graphics/flags/cn.png create mode 100644 horde/themes/tango-blue/graphics/flags/co.png create mode 100644 horde/themes/tango-blue/graphics/flags/cr.png create mode 100644 horde/themes/tango-blue/graphics/flags/cs.png create mode 100644 horde/themes/tango-blue/graphics/flags/cu.png create mode 100644 horde/themes/tango-blue/graphics/flags/cv.png create mode 100644 horde/themes/tango-blue/graphics/flags/cx.png create mode 100644 horde/themes/tango-blue/graphics/flags/cy.png create mode 100644 horde/themes/tango-blue/graphics/flags/cz.png create mode 100644 horde/themes/tango-blue/graphics/flags/de.png create mode 100644 horde/themes/tango-blue/graphics/flags/dj.png create mode 100644 horde/themes/tango-blue/graphics/flags/dk.png create mode 100644 horde/themes/tango-blue/graphics/flags/dm.png create mode 100644 horde/themes/tango-blue/graphics/flags/do.png create mode 100644 horde/themes/tango-blue/graphics/flags/dz.png create mode 100644 horde/themes/tango-blue/graphics/flags/ec.png create mode 100644 horde/themes/tango-blue/graphics/flags/ee.png create mode 100644 horde/themes/tango-blue/graphics/flags/eg.png create mode 100644 horde/themes/tango-blue/graphics/flags/eh.png create mode 100644 horde/themes/tango-blue/graphics/flags/er.png create mode 100644 horde/themes/tango-blue/graphics/flags/es.png create mode 100644 horde/themes/tango-blue/graphics/flags/et.png create mode 100644 horde/themes/tango-blue/graphics/flags/eu.png create mode 100644 horde/themes/tango-blue/graphics/flags/fam.png create mode 100644 horde/themes/tango-blue/graphics/flags/fi.png create mode 100644 horde/themes/tango-blue/graphics/flags/fj.png create mode 100644 horde/themes/tango-blue/graphics/flags/fk.png create mode 100644 horde/themes/tango-blue/graphics/flags/fm.png create mode 100644 horde/themes/tango-blue/graphics/flags/fo.png create mode 100644 horde/themes/tango-blue/graphics/flags/fr.png create mode 100644 horde/themes/tango-blue/graphics/flags/ga.png create mode 100644 horde/themes/tango-blue/graphics/flags/gb.png create mode 100644 horde/themes/tango-blue/graphics/flags/gd.png create mode 100644 horde/themes/tango-blue/graphics/flags/ge.png create mode 100755 horde/themes/tango-blue/graphics/flags/gf.png create mode 100644 horde/themes/tango-blue/graphics/flags/gh.png create mode 100644 horde/themes/tango-blue/graphics/flags/gi.png create mode 100644 horde/themes/tango-blue/graphics/flags/gl.png create mode 100644 horde/themes/tango-blue/graphics/flags/gm.png create mode 100644 horde/themes/tango-blue/graphics/flags/gn.png create mode 100644 horde/themes/tango-blue/graphics/flags/gp.png create mode 100644 horde/themes/tango-blue/graphics/flags/gq.png create mode 100644 horde/themes/tango-blue/graphics/flags/gr.png create mode 100644 horde/themes/tango-blue/graphics/flags/gs.png create mode 100644 horde/themes/tango-blue/graphics/flags/gt.png create mode 100644 horde/themes/tango-blue/graphics/flags/gu.png create mode 100644 horde/themes/tango-blue/graphics/flags/gw.png create mode 100644 horde/themes/tango-blue/graphics/flags/gy.png create mode 100644 horde/themes/tango-blue/graphics/flags/hk.png create mode 100755 horde/themes/tango-blue/graphics/flags/hm.png create mode 100644 horde/themes/tango-blue/graphics/flags/hn.png create mode 100644 horde/themes/tango-blue/graphics/flags/hr.png create mode 100644 horde/themes/tango-blue/graphics/flags/ht.png create mode 100644 horde/themes/tango-blue/graphics/flags/hu.png create mode 100644 horde/themes/tango-blue/graphics/flags/id.png create mode 100644 horde/themes/tango-blue/graphics/flags/ie.png create mode 100644 horde/themes/tango-blue/graphics/flags/il.png create mode 100644 horde/themes/tango-blue/graphics/flags/in.png create mode 100644 horde/themes/tango-blue/graphics/flags/io.png create mode 100644 horde/themes/tango-blue/graphics/flags/iq.png create mode 100644 horde/themes/tango-blue/graphics/flags/ir.png create mode 100644 horde/themes/tango-blue/graphics/flags/is.png create mode 100644 horde/themes/tango-blue/graphics/flags/it.png create mode 100644 horde/themes/tango-blue/graphics/flags/jm.png create mode 100644 horde/themes/tango-blue/graphics/flags/jo.png create mode 100644 horde/themes/tango-blue/graphics/flags/jp.png create mode 100644 horde/themes/tango-blue/graphics/flags/ke.png create mode 100644 horde/themes/tango-blue/graphics/flags/kg.png create mode 100644 horde/themes/tango-blue/graphics/flags/kh.png create mode 100644 horde/themes/tango-blue/graphics/flags/ki.png create mode 100644 horde/themes/tango-blue/graphics/flags/km.png create mode 100644 horde/themes/tango-blue/graphics/flags/kn.png create mode 100644 horde/themes/tango-blue/graphics/flags/kp.png create mode 100644 horde/themes/tango-blue/graphics/flags/kr.png create mode 100644 horde/themes/tango-blue/graphics/flags/kw.png create mode 100644 horde/themes/tango-blue/graphics/flags/ky.png create mode 100644 horde/themes/tango-blue/graphics/flags/kz.png create mode 100644 horde/themes/tango-blue/graphics/flags/la.png create mode 100644 horde/themes/tango-blue/graphics/flags/lb.png create mode 100644 horde/themes/tango-blue/graphics/flags/lc.png create mode 100644 horde/themes/tango-blue/graphics/flags/li.png create mode 100644 horde/themes/tango-blue/graphics/flags/lk.png create mode 100644 horde/themes/tango-blue/graphics/flags/lr.png create mode 100644 horde/themes/tango-blue/graphics/flags/ls.png create mode 100644 horde/themes/tango-blue/graphics/flags/lt.png create mode 100644 horde/themes/tango-blue/graphics/flags/lu.png create mode 100644 horde/themes/tango-blue/graphics/flags/lv.png create mode 100644 horde/themes/tango-blue/graphics/flags/ly.png create mode 100644 horde/themes/tango-blue/graphics/flags/ma.png create mode 100644 horde/themes/tango-blue/graphics/flags/mc.png create mode 100644 horde/themes/tango-blue/graphics/flags/md.png create mode 100644 horde/themes/tango-blue/graphics/flags/me.png create mode 100644 horde/themes/tango-blue/graphics/flags/mg.png create mode 100644 horde/themes/tango-blue/graphics/flags/mh.png create mode 100644 horde/themes/tango-blue/graphics/flags/mk.png create mode 100644 horde/themes/tango-blue/graphics/flags/ml.png create mode 100644 horde/themes/tango-blue/graphics/flags/mm.png create mode 100644 horde/themes/tango-blue/graphics/flags/mn.png create mode 100644 horde/themes/tango-blue/graphics/flags/mo.png create mode 100644 horde/themes/tango-blue/graphics/flags/mp.png create mode 100644 horde/themes/tango-blue/graphics/flags/mq.png create mode 100644 horde/themes/tango-blue/graphics/flags/mr.png create mode 100644 horde/themes/tango-blue/graphics/flags/ms.png create mode 100644 horde/themes/tango-blue/graphics/flags/mt.png create mode 100644 horde/themes/tango-blue/graphics/flags/mu.png create mode 100644 horde/themes/tango-blue/graphics/flags/mv.png create mode 100644 horde/themes/tango-blue/graphics/flags/mw.png create mode 100644 horde/themes/tango-blue/graphics/flags/mx.png create mode 100644 horde/themes/tango-blue/graphics/flags/my.png create mode 100644 horde/themes/tango-blue/graphics/flags/mz.png create mode 100644 horde/themes/tango-blue/graphics/flags/na.png create mode 100644 horde/themes/tango-blue/graphics/flags/nc.png create mode 100644 horde/themes/tango-blue/graphics/flags/ne.png create mode 100644 horde/themes/tango-blue/graphics/flags/nf.png create mode 100644 horde/themes/tango-blue/graphics/flags/ng.png create mode 100644 horde/themes/tango-blue/graphics/flags/ni.png create mode 100644 horde/themes/tango-blue/graphics/flags/nl.png create mode 100644 horde/themes/tango-blue/graphics/flags/no.png create mode 100644 horde/themes/tango-blue/graphics/flags/np.png create mode 100644 horde/themes/tango-blue/graphics/flags/nr.png create mode 100644 horde/themes/tango-blue/graphics/flags/nu.png create mode 100644 horde/themes/tango-blue/graphics/flags/nz.png create mode 100644 horde/themes/tango-blue/graphics/flags/om.png create mode 100644 horde/themes/tango-blue/graphics/flags/pa.png create mode 100644 horde/themes/tango-blue/graphics/flags/pe.png create mode 100644 horde/themes/tango-blue/graphics/flags/pf.png create mode 100644 horde/themes/tango-blue/graphics/flags/pg.png create mode 100644 horde/themes/tango-blue/graphics/flags/ph.png create mode 100644 horde/themes/tango-blue/graphics/flags/pk.png create mode 100644 horde/themes/tango-blue/graphics/flags/pl.png create mode 100644 horde/themes/tango-blue/graphics/flags/pm.png create mode 100644 horde/themes/tango-blue/graphics/flags/pn.png create mode 100644 horde/themes/tango-blue/graphics/flags/pr.png create mode 100644 horde/themes/tango-blue/graphics/flags/ps.png create mode 100644 horde/themes/tango-blue/graphics/flags/pt.png create mode 100644 horde/themes/tango-blue/graphics/flags/pw.png create mode 100644 horde/themes/tango-blue/graphics/flags/py.png create mode 100644 horde/themes/tango-blue/graphics/flags/qa.png create mode 100755 horde/themes/tango-blue/graphics/flags/re.png create mode 100644 horde/themes/tango-blue/graphics/flags/ro.png create mode 100644 horde/themes/tango-blue/graphics/flags/rs.png create mode 100644 horde/themes/tango-blue/graphics/flags/ru.png create mode 100644 horde/themes/tango-blue/graphics/flags/rw.png create mode 100644 horde/themes/tango-blue/graphics/flags/sa.png create mode 100644 horde/themes/tango-blue/graphics/flags/sb.png create mode 100644 horde/themes/tango-blue/graphics/flags/sc.png create mode 100644 horde/themes/tango-blue/graphics/flags/scotland.png create mode 100644 horde/themes/tango-blue/graphics/flags/sd.png create mode 100644 horde/themes/tango-blue/graphics/flags/se.png create mode 100644 horde/themes/tango-blue/graphics/flags/sg.png create mode 100644 horde/themes/tango-blue/graphics/flags/sh.png create mode 100644 horde/themes/tango-blue/graphics/flags/si.png create mode 100755 horde/themes/tango-blue/graphics/flags/sj.png create mode 100644 horde/themes/tango-blue/graphics/flags/sk.png create mode 100644 horde/themes/tango-blue/graphics/flags/sl.png create mode 100644 horde/themes/tango-blue/graphics/flags/sm.png create mode 100644 horde/themes/tango-blue/graphics/flags/sn.png create mode 100644 horde/themes/tango-blue/graphics/flags/so.png create mode 100644 horde/themes/tango-blue/graphics/flags/sr.png create mode 100644 horde/themes/tango-blue/graphics/flags/st.png create mode 100644 horde/themes/tango-blue/graphics/flags/sv.png create mode 100644 horde/themes/tango-blue/graphics/flags/sy.png create mode 100644 horde/themes/tango-blue/graphics/flags/sz.png create mode 100644 horde/themes/tango-blue/graphics/flags/tc.png create mode 100644 horde/themes/tango-blue/graphics/flags/td.png create mode 100644 horde/themes/tango-blue/graphics/flags/tf.png create mode 100644 horde/themes/tango-blue/graphics/flags/tg.png create mode 100644 horde/themes/tango-blue/graphics/flags/th.png create mode 100644 horde/themes/tango-blue/graphics/flags/tj.png create mode 100644 horde/themes/tango-blue/graphics/flags/tk.png create mode 100644 horde/themes/tango-blue/graphics/flags/tl.png create mode 100644 horde/themes/tango-blue/graphics/flags/tm.png create mode 100644 horde/themes/tango-blue/graphics/flags/tn.png create mode 100644 horde/themes/tango-blue/graphics/flags/to.png create mode 100644 horde/themes/tango-blue/graphics/flags/tp.png create mode 100644 horde/themes/tango-blue/graphics/flags/tr.png create mode 100644 horde/themes/tango-blue/graphics/flags/tt.png create mode 100644 horde/themes/tango-blue/graphics/flags/tv.png create mode 100644 horde/themes/tango-blue/graphics/flags/tw.png create mode 100644 horde/themes/tango-blue/graphics/flags/tz.png create mode 100644 horde/themes/tango-blue/graphics/flags/ua.png create mode 100644 horde/themes/tango-blue/graphics/flags/ug.png create mode 100644 horde/themes/tango-blue/graphics/flags/uk.png create mode 100644 horde/themes/tango-blue/graphics/flags/um.png create mode 100644 horde/themes/tango-blue/graphics/flags/us.png create mode 100644 horde/themes/tango-blue/graphics/flags/uy.png create mode 100644 horde/themes/tango-blue/graphics/flags/uz.png create mode 100644 horde/themes/tango-blue/graphics/flags/va.png create mode 100644 horde/themes/tango-blue/graphics/flags/vc.png create mode 100644 horde/themes/tango-blue/graphics/flags/ve.png create mode 100644 horde/themes/tango-blue/graphics/flags/vg.png create mode 100644 horde/themes/tango-blue/graphics/flags/vi.png create mode 100644 horde/themes/tango-blue/graphics/flags/vn.png create mode 100644 horde/themes/tango-blue/graphics/flags/vu.png create mode 100644 horde/themes/tango-blue/graphics/flags/wales.png create mode 100644 horde/themes/tango-blue/graphics/flags/wf.png create mode 100644 horde/themes/tango-blue/graphics/flags/ws.png create mode 100644 horde/themes/tango-blue/graphics/flags/ye.png create mode 100644 horde/themes/tango-blue/graphics/flags/yt.png create mode 100644 horde/themes/tango-blue/graphics/flags/yu.png create mode 100644 horde/themes/tango-blue/graphics/flags/za.png create mode 100644 horde/themes/tango-blue/graphics/flags/zm.png create mode 100644 horde/themes/tango-blue/graphics/flags/zw.png create mode 100644 horde/themes/tango-blue/graphics/google.png create mode 100644 horde/themes/tango-blue/graphics/group.png create mode 100644 horde/themes/tango-blue/graphics/help.png create mode 100644 horde/themes/tango-blue/graphics/help_index.png create mode 100644 horde/themes/tango-blue/graphics/hide_panel.png create mode 100644 horde/themes/tango-blue/graphics/horde-power1.png create mode 100644 horde/themes/tango-blue/graphics/horde-power2.png create mode 100644 horde/themes/tango-blue/graphics/horde-power3.png create mode 100644 horde/themes/tango-blue/graphics/horde.png create mode 100644 horde/themes/tango-blue/graphics/image/crop.png create mode 100644 horde/themes/tango-blue/graphics/image/flip.png create mode 100644 horde/themes/tango-blue/graphics/image/grayscale.png create mode 100644 horde/themes/tango-blue/graphics/image/mirror.png create mode 100644 horde/themes/tango-blue/graphics/image/ratio.png create mode 100644 horde/themes/tango-blue/graphics/image/refresh.png create mode 100644 horde/themes/tango-blue/graphics/image/rotate-180.png create mode 100644 horde/themes/tango-blue/graphics/image/rotate-270.png create mode 100644 horde/themes/tango-blue/graphics/image/rotate-90.png create mode 100644 horde/themes/tango-blue/graphics/info.png create mode 100644 horde/themes/tango-blue/graphics/info_icon.png create mode 100644 horde/themes/tango-blue/graphics/keyboard.png create mode 100644 horde/themes/tango-blue/graphics/layout.png create mode 100644 horde/themes/tango-blue/graphics/lhand.png create mode 100755 horde/themes/tango-blue/graphics/loading.gif create mode 100644 horde/themes/tango-blue/graphics/locked.png create mode 100644 horde/themes/tango-blue/graphics/login.png create mode 100644 horde/themes/tango-blue/graphics/logout.png create mode 100644 horde/themes/tango-blue/graphics/map.png create mode 100644 horde/themes/tango-blue/graphics/map/marker-blue.png create mode 100644 horde/themes/tango-blue/graphics/map/marker-gold.png create mode 100644 horde/themes/tango-blue/graphics/map/marker-green.png create mode 100644 horde/themes/tango-blue/graphics/map/marker-shadow.png create mode 100644 horde/themes/tango-blue/graphics/map/marker.png create mode 100644 horde/themes/tango-blue/graphics/map_eu.png create mode 100644 horde/themes/tango-blue/graphics/mime/audio.png create mode 100644 horde/themes/tango-blue/graphics/mime/binary.png create mode 100644 horde/themes/tango-blue/graphics/mime/compressed.png create mode 100644 horde/themes/tango-blue/graphics/mime/deb.png create mode 100644 horde/themes/tango-blue/graphics/mime/encryption.png create mode 100644 horde/themes/tango-blue/graphics/mime/html.png create mode 100644 horde/themes/tango-blue/graphics/mime/icalendar.png create mode 100644 horde/themes/tango-blue/graphics/mime/image.png create mode 100644 horde/themes/tango-blue/graphics/mime/mail.png create mode 100644 horde/themes/tango-blue/graphics/mime/msexcel.png create mode 100644 horde/themes/tango-blue/graphics/mime/mspowerpoint.png create mode 100644 horde/themes/tango-blue/graphics/mime/msword.png create mode 100644 horde/themes/tango-blue/graphics/mime/ooo_calc.png create mode 100644 horde/themes/tango-blue/graphics/mime/ooo_draw.png create mode 100644 horde/themes/tango-blue/graphics/mime/ooo_impress.png create mode 100644 horde/themes/tango-blue/graphics/mime/ooo_math.png create mode 100644 horde/themes/tango-blue/graphics/mime/ooo_writer.png create mode 100644 horde/themes/tango-blue/graphics/mime/pdf.png create mode 100644 horde/themes/tango-blue/graphics/mime/php.png create mode 100644 horde/themes/tango-blue/graphics/mime/rpm.png create mode 100644 horde/themes/tango-blue/graphics/mime/script-js.png create mode 100644 horde/themes/tango-blue/graphics/mime/source-c.png create mode 100644 horde/themes/tango-blue/graphics/mime/source-cpp.png create mode 100644 horde/themes/tango-blue/graphics/mime/source-h.png create mode 100644 horde/themes/tango-blue/graphics/mime/source-java.png create mode 100644 horde/themes/tango-blue/graphics/mime/source-python.png create mode 100644 horde/themes/tango-blue/graphics/mime/text.png create mode 100644 horde/themes/tango-blue/graphics/mime/vcard.png create mode 100644 horde/themes/tango-blue/graphics/mime/video.png create mode 100644 horde/themes/tango-blue/graphics/mime/wordperfect.png create mode 100644 horde/themes/tango-blue/graphics/mime/xml.png create mode 100644 horde/themes/tango-blue/graphics/minus.png create mode 100644 horde/themes/tango-blue/graphics/mobile.png create mode 100644 horde/themes/tango-blue/graphics/mobile/bottom.jpg create mode 100644 horde/themes/tango-blue/graphics/mobile/display.jpg create mode 100644 horde/themes/tango-blue/graphics/mobile/left.jpg create mode 100644 horde/themes/tango-blue/graphics/mobile/right.jpg create mode 100644 horde/themes/tango-blue/graphics/mobile/top.jpg create mode 100644 horde/themes/tango-blue/graphics/myaccount.png create mode 100644 horde/themes/tango-blue/graphics/nav/bottom-grey.png create mode 100644 horde/themes/tango-blue/graphics/nav/bottom.png create mode 100644 horde/themes/tango-blue/graphics/nav/down-grey.png create mode 100644 horde/themes/tango-blue/graphics/nav/down.png create mode 100644 horde/themes/tango-blue/graphics/nav/first-grey.png create mode 100644 horde/themes/tango-blue/graphics/nav/first.png create mode 100644 horde/themes/tango-blue/graphics/nav/last-grey.png create mode 100644 horde/themes/tango-blue/graphics/nav/last.png create mode 100644 horde/themes/tango-blue/graphics/nav/left-grey.png create mode 100644 horde/themes/tango-blue/graphics/nav/left.png create mode 100644 horde/themes/tango-blue/graphics/nav/right-grey.png create mode 100644 horde/themes/tango-blue/graphics/nav/right.png create mode 100644 horde/themes/tango-blue/graphics/nav/top-grey.png create mode 100644 horde/themes/tango-blue/graphics/nav/top.png create mode 100644 horde/themes/tango-blue/graphics/nav/up-grey.png create mode 100644 horde/themes/tango-blue/graphics/nav/up.png create mode 100644 horde/themes/tango-blue/graphics/office.png create mode 100644 horde/themes/tango-blue/graphics/organizing.png create mode 100644 horde/themes/tango-blue/graphics/perms.png create mode 100644 horde/themes/tango-blue/graphics/phone.png create mode 100644 horde/themes/tango-blue/graphics/plus.png create mode 100644 horde/themes/tango-blue/graphics/prefs.png create mode 100644 horde/themes/tango-blue/graphics/print.png create mode 100644 horde/themes/tango-blue/graphics/problem.png create mode 100644 horde/themes/tango-blue/graphics/reload.png create mode 100644 horde/themes/tango-blue/graphics/required.png create mode 100644 horde/themes/tango-blue/graphics/rhand.png create mode 100644 horde/themes/tango-blue/graphics/save.png create mode 100644 horde/themes/tango-blue/graphics/search.png create mode 100644 horde/themes/tango-blue/graphics/shadow.gif create mode 100644 horde/themes/tango-blue/graphics/shadow.png create mode 100644 horde/themes/tango-blue/graphics/shell.png create mode 100644 horde/themes/tango-blue/graphics/show_panel.png create mode 100644 horde/themes/tango-blue/graphics/sql.png create mode 100644 horde/themes/tango-blue/graphics/tab_bottom.gif create mode 100644 horde/themes/tango-blue/graphics/tree/blank.png create mode 100644 horde/themes/tango-blue/graphics/tree/folder.png create mode 100644 horde/themes/tango-blue/graphics/tree/folderopen.png create mode 100644 horde/themes/tango-blue/graphics/tree/join.png create mode 100644 horde/themes/tango-blue/graphics/tree/joinbottom-down.png create mode 100644 horde/themes/tango-blue/graphics/tree/joinbottom.png create mode 100644 horde/themes/tango-blue/graphics/tree/leaf.png create mode 100644 horde/themes/tango-blue/graphics/tree/line.png create mode 100644 horde/themes/tango-blue/graphics/tree/minus.png create mode 100644 horde/themes/tango-blue/graphics/tree/minusbottom.png create mode 100644 horde/themes/tango-blue/graphics/tree/minusonly.png create mode 100644 horde/themes/tango-blue/graphics/tree/minustop.png create mode 100644 horde/themes/tango-blue/graphics/tree/nullonly.png create mode 100644 horde/themes/tango-blue/graphics/tree/plus.png create mode 100644 horde/themes/tango-blue/graphics/tree/plusbottom.png create mode 100644 horde/themes/tango-blue/graphics/tree/plusonly.png create mode 100644 horde/themes/tango-blue/graphics/tree/plustop.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-join.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-joinbottom-down.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-joinbottom.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-leaf.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-line.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-minus.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-minusbottom.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-minusonly.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-minustop.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-nullonly.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-plus.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-plusbottom.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-plusonly.png create mode 100644 horde/themes/tango-blue/graphics/tree/rev-plustop.png create mode 100644 horde/themes/tango-blue/graphics/unlocked.png create mode 100644 horde/themes/tango-blue/graphics/user.png create mode 100644 horde/themes/tango-blue/graphics/website.png create mode 100644 horde/themes/tango-blue/graphics/za.png create mode 100644 horde/themes/tango-blue/info.php create mode 100644 horde/themes/tango-blue/screen.css create mode 100644 horde/themes/tango-blue/themed_graphics create mode 100644 horde/themes/webkit.css create mode 100644 horde/util/barcode.php create mode 100644 horde/util/icon_browser.php diff --git a/horde/COPYING b/horde/COPYING new file mode 100644 index 000000000..eea845159 --- /dev/null +++ b/horde/COPYING @@ -0,0 +1,437 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/horde/README b/horde/README new file mode 100644 index 000000000..730d0e753 --- /dev/null +++ b/horde/README @@ -0,0 +1,112 @@ +What is Horde? +============== + +:Contact: horde@lists.horde.org + +.. contents:: Contents +.. section-numbering:: + +The Horde Project is a group of developers who write Web applications using +the Horde Application Framework, itself a product of the Project. + +The Horde Application Framework is written in PHP, and provides the common +tools a Web application requires: classes for dealing with preferences, +compression, browser detection, connection tracking, MIME, and more. + +The Horde Framework, by itself, does not provide any significant end user +functionality; it provides a base for other applications and tools for +developers. You will probably want to install some of the available Horde +applications, such as IMP (a webmail client), or Kronolith (a calendar). There +is a list of Horde applications and projects at +http://www.horde.org/projects.php. + +This software is OSI Certified Open Source Software. OSI Certified is a +certification mark of the `Open Source Initiative`_. + +.. _`Open Source Initiative`: http://www.opensource.org/ + + +Obtaining Horde +--------------- + +Further information on Horde and the latest version can be obtained at + + http://www.horde.org/horde/ + +Information on applications that use the Horde framework can be found at + + http://www.horde.org/projects.php + + +Documentation +------------- + +The following documentation is available in the Horde distribution: + +:README_: This file +:COPYING_: Copyright and license information +:`docs/CHANGES`_: Changes by release +:`docs/CODING_STANDARDS`_: Coding standards for Horde projects +:`docs/CONTRIBUTING`_: How to contribute to Horde +:`docs/CREDITS`_: Project developers +:`docs/HACKING`_: How to get Horde via CVS +:`docs/INSTALL`_: Installation instructions and notes +:`docs/PERFORMANCE`_: Performance guide +:`docs/RELEASE`_: Release process notes +:`docs/SECURITY`_: Security notes +:`docs/TODO`_: Development TODO list +:`docs/UPGRADING`_: Pointers on upgrading from previous Horde versions + + +Installation +------------ + +Instructions for installing Horde can be found in the file INSTALL_ in the +``docs/`` directory of the Horde distribution. + + +Assistance +---------- + +If you encounter problems with Horde, help is available! + +The Horde Frequently Asked Questions List (FAQ), available on the Web at + + http://www.horde.org/faq/ + +The Horde Project runs a number of mailing lists, for individual applications +and for issues relating to the project as a whole. Information, archives, and +subscription information can be found at + + http://www.horde.org/mail/ + +Lastly, Horde developers, contributors and users also make occasional +appearances on IRC, on the channel #horde on the freenode Network +(irc.freenode.net). + + +Licensing +--------- + +For licensing and copyright information, please see the file COPYING_ in the +Horde distribution. + +Thanks, + +The Horde team + + +.. _README: ?f=README.html +.. _COPYING: http://www.horde.org/licenses/lgpl.php +.. _docs/CHANGES: ?f=CHANGES.html +.. _docs/CODING_STANDARDS: ?f=CODING_STANDARDS.html +.. _docs/CONTRIBUTING: ?f=CONTRIBUTING.html +.. _docs/CREDITS: ?f=CREDITS.html +.. _docs/HACKING: ?f=HACKING.html +.. _INSTALL: +.. _docs/INSTALL: ?f=INSTALL.html +.. _docs/PERFORMANCE: ?f=PERFORMANCE.html +.. _docs/RELEASE: ?f=RELEASE.html +.. _docs/SECURITY: ?f=SECURITY.html +.. _docs/TODO: ?f=TODO.html +.. _docs/UPGRADING: ?f=UPGRADING.html diff --git a/horde/admin/alarms.php b/horde/admin/alarms.php new file mode 100644 index 000000000..dcba1d3e6 --- /dev/null +++ b/horde/admin/alarms.php @@ -0,0 +1,138 @@ + + */ + +require_once dirname(__FILE__) . '/../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + Horde::authenticationFailureRedirect(); +} + +$horde_alarm = Horde_Alarm::factory(); +$methods = array(); +foreach ($horde_alarm->notificationMethods() as $name => $method) { + $methods[$name] = $method['__desc']; +} + +$vars = Horde_Variables::getDefaultVariables(); + +$form = new Horde_Form($vars, _("Add new alarm")); +$form->addHidden('', 'alarm', 'text', false); +$form->addVariable(_("Alarm title"), 'title', 'text', true); +$form->addVariable(_("Alarm start"), 'start', 'datetime', true); +$form->addVariable(_("Alarm end"), 'end', 'datetime', false); +$form->addVariable(_("Alarm text"), 'text', 'longtext', false); +$form->addVariable(_("Alarm methods"), 'methods', 'multienum', true, false, null, array($methods, min(5, count($methods)))); +foreach ($horde_alarm->notificationMethods() as $name => $method) { + if (count($method) < 2) { + continue; + } + $form->addVariable($method['__desc'], '', 'header', false); + foreach ($method as $param => $param_info) { + if (substr($param, 0, 2) == '__') { + continue; + } + $form->addVariable($param_info['desc'], $name . '_' . $param, $param_info['type'], false); + } +} + +if ($form->validate()) { + $form->getInfo($vars, $info); + if (empty($info['alarm'])) { + $info['alarm'] = date('YmdHis') . '.' + . substr(str_pad(base_convert(microtime(), 10, 36), 16, uniqid(mt_rand()), STR_PAD_LEFT), -16) + . '@' . $GLOBALS['conf']['server']['name']; + } + + $params = array(); + foreach ($info['methods'] as $method) { + foreach ($info as $name => $value) { + if (strpos($name, $method . '_') === 0) { + $params[$method][substr($name, strlen($method) + 1)] = $value; + } + } + } + + // Full path to any sound files. + if (isset($params['notify']['sound'])) { + $params['notify']['sound'] = $registry->get('themesuri', 'horde') . '/sounds/' . $params['notify']['sound']; + } + + $result = $horde_alarm->set( + array('id' => $info['alarm'], + 'title' => $info['title'], + 'text' => $info['text'], + 'start' => new Horde_Date($info['start']), + 'end' => empty($info['end']) ? null : new Horde_Date($info['end']), + 'methods' => $info['methods'], + 'params' => $params)); + if (is_a($result, 'PEAR_Error')) { + $notification->push($result); + } else { + $notification->push(_("The alarm has been saved."), 'horde.success'); + } +} + +$id = $vars->get('alarm'); +if ($id) { + if ($vars->get('delete')) { + $deleted = $horde_alarm->delete($id, ''); + if (is_a($deleted, 'PEAR_Error')) { + $notification->push($deleted); + $id = null; + } else { + $notification->push(_("The alarm has been deleted."), 'horde.success'); + } + } else { + $alarm = $horde_alarm->get($id, ''); + if (is_a($alarm, 'PEAR_Error')) { + $notification->push($alarm); + $id = $alarm = null; + } else { + $form->setTitle(sprintf(_("Edit \"%s\""), $alarm['title'])); + $vars->set('title', $alarm['title']); + $vars->set('text', $alarm['text']); + $vars->set('start', $alarm['start']->timestamp()); + if (!empty($alarm['end'])) { + $vars->set('end', $alarm['end']->timestamp()); + } + $vars->set('methods', $alarm['methods']); + foreach ($alarm['params'] as $method => $params) { + foreach ($params as $name => $value) { + $vars->set($method . '_' . $name, $value); + } + } + } + } +} + +$alarms = $horde_alarm->listAlarms(''); + +$title = _("Alarms"); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +echo '

' . _("Current Alarms"); +if (is_a($alarms, 'PEAR_Error')) { + echo '

' . sprintf(_("Listing alarms failed: %s"), $alarms->getMessage()) . '

'; +} else { + echo ' (' . count($alarms) . ')'; + echo ''; +} + +echo '
'; + +$form->renderActive(); + +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/cmdshell.php b/horde/admin/cmdshell.php new file mode 100644 index 000000000..010c99e05 --- /dev/null +++ b/horde/admin/cmdshell.php @@ -0,0 +1,56 @@ + + */ + +require_once dirname(__FILE__) . '/../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + throw new Horde_Exception('Forbidden.'); +} + +$title = _("Command Shell"); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +echo '
'; +if ($command = trim(Horde_Util::getFormData('cmd'))) { + echo '

' . _("Command") . ':


'; + echo '

' . nl2br(htmlspecialchars($command)) . '

'; + + echo '

' . _("Results") . ':


'; + echo '
';
+
+    $cmds = explode("\n", $command);
+    foreach ($cmds as $cmd) {
+        $cmd = trim($cmd);
+        if (strlen($cmd)) {
+            unset($results);
+            flush();
+            echo htmlspecialchars(shell_exec($cmd));
+        }
+    }
+
+    echo '

'; +} +?> + +
+ + + +
+" /> + + +
+
+ + */ + +function addTree($parent, $parent_id, $indent = 1) +{ + global $datatree, $tree; + + $nodes = $datatree->getById(DATATREE_FORMAT_FLAT, $parent_id, true, $parent, 1); + $expanded = $tree->isExpanded($parent); + $url = Horde::url('datatree.php'); + foreach ($nodes as $id => $node) { + if ($id == $parent_id) { + continue; + } + $tree->addNode($parent . ':' . $id, $parent, $datatree->getShortName($node), $indent, false, array('url' => Horde_Util::addParameter($url, 'show', $datatree->getParam('group') . ':' . $id) . '#show')); + if ($expanded) { + addTree($parent . ':' . $id, $id, $indent + 1); + } + } +} + +require_once dirname(__FILE__) . '/../lib/base.php'; +require_once 'Horde/DataTree.php'; + +if (!Horde_Auth::isAdmin()) { + Horde::authenticationFailureRedirect(); +} + +$tree = Horde_Tree::factory('datatree', 'Html'); +$tree->setOption('alternate', true); + +$driver = $conf['datatree']['driver']; +$config = Horde::getDriverConfig('datatree', $conf['datatree']['driver']); +$datatree = DataTree::singleton($conf['datatree']['driver']); +$roots = $datatree->getGroups(); + +if (is_a($roots, 'PEAR_Error')) { + $notification->push($roots); +} else { + foreach ($roots as $root) { + $tree->addNode($root, null, $root, 0, false); + $datatree = &DataTree::singleton($driver, array_merge($config, array('group' => $root))); + addTree($root, DATATREE_ROOT); + } +} + +if ($show = Horde_Util::getFormData('show')) { + list($root, $id) = explode(':', $show); + $datatree = &DataTree::singleton($driver, array_merge($config, array('group' => $root))); + $data = $datatree->getData($id); + $attributes = $datatree->getAttributes($id); +} + +$title = _("DataTree Browser"); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; +echo '

' . Horde::img('datatree.png') . ' ' . _("DataTree") . '

'; +$tree->renderTree(); +if ($show) { + echo '
'; + ob_start('htmlspecialchars'); + print_r($data); + print_r($attributes); + ob_end_flush(); + echo '
'; +} +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/groups.php b/horde/admin/groups.php new file mode 100644 index 000000000..e5b9f7722 --- /dev/null +++ b/horde/admin/groups.php @@ -0,0 +1,247 @@ + + */ + +require_once dirname(__FILE__) . '/../lib/base.php'; +require_once 'Horde/Group.php'; + +if (!Horde_Auth::isAdmin()) { + Horde::authenticationFailureRedirect(); +} + +$groups = Group::singleton(); +$auth = Horde_Auth::singleton($conf['auth']['driver']); + +$form = null; +$reload = false; +$actionID = Horde_Util::getFormData('actionID'); +$cid = Horde_Util::getFormData('cid'); + +switch ($actionID) { +case 'addchild': + if ($cid == GROUP_ROOT) { + $form = 'addchild.inc'; + $gname = _("All Groups"); + } else { + $group = &$groups->getGroupById($cid); + if (!is_a($group, 'PEAR_Error')) { + $gname = $group->getShortName(); + $form = 'addchild.inc'; + } + } + break; + +case 'addchildform': + $parent = $cid; + if ($parent == GROUP_ROOT) { + $child = &$groups->newGroup(Horde_Util::getFormData('child')); + } else { + $child = &$groups->newGroup(Horde_Util::getFormData('child'), $parent); + } + if (is_a($child, 'PEAR_Error')) { + Horde::logMessage($child, __FILE__, __LINE__, PEAR_LOG_ERR); + $notification->push(sprintf(_("Group was not created: %s."), $child->getMessage()), 'horde.error'); + break; + } + + $result = $groups->addGroup($child); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + $notification->push(sprintf(_("\"%s\" was not created: %s."), $child->getShortName(), $result->getMessage()), 'horde.error'); + } else { + $notification->push(sprintf(_("\"%s\" was added to the groups system."), $child->getShortName()), 'horde.success'); + $group = $child; + $form = 'edit.inc'; + $reload = true; + } + break; + +case 'delete': + $group = &$groups->getGroupById($cid); + if (!is_a($group, 'PEAR_Error')) { + $form = 'delete.inc'; + } + break; + +case 'deleteform': + if (Horde_Util::getFormData('confirm') == _("Delete")) { + $group = &$groups->getGroupById($cid); + if (is_a($group, 'PEAR_Error')) { + $notification->push(_("Attempt to delete a non-existent group."), 'horde.error'); + } else { + $result = $groups->removeGroup($group, true); + if (is_a($result, 'PEAR_Error')) { + $notification->push(sprintf(_("Unable to delete \"%s\": %s."), $group->getShortName(), $result->getMessage()), 'horde.error'); + } else { + $notification->push(sprintf(_("Successfully deleted \"%s\"."), $group->getShortName()), 'horde.success'); + $cid = null; + $reload = true; + } + } + } + break; + +case 'edit': + $group = &$groups->getGroupById($cid); + if (!is_a($group, 'PEAR_Error')) { + $form = 'edit.inc'; + } elseif (($category = Horde_Util::getFormData('category')) !== null) { + $group = &$groups->getGroup($category); + if (!is_a($group, 'PEAR_Error')) { + $form = 'edit.inc'; + } elseif (Horde_Util::getFormData('autocreate')) { + $parent = Horde_Util::getFormData('parent'); + $group = &$groups->newGroup($category); + $result = $groups->addGroup($group, $parent); + if (!is_a($result, 'PEAR_Error')) { + $form = 'edit.inc'; + } + } + } + break; + +case 'editform': + $group = &$groups->getGroupById($cid); + + // make a copy of the group so we can restore it if there is an error. + $restore = $group; + + // Add any new users. + $newuser = Horde_Util::getFormData('new_user'); + if (!empty($newuser)) { + if (is_array($newuser)) { + foreach ($newuser as $new) { + $group->addUser($new, false); + } + } else { + $group->addUser($newuser, false); + } + } + + // Remove any users marked for purging. + $removes = Horde_Util::getFormData('remove'); + if (!empty($removes) && is_array($removes)) { + foreach ($removes as $user => $junk) { + $group->removeUser($user, false); + } + } + + // Set the email address of the group. + $group->set('email', Horde_Util::getFormData('email')); + + // Save the group to the backend. + $result = $group->save(); + + if (is_a($result, 'PEAR_Error')) { + $notification->push($result->getMessage(), 'horde.error'); + // restore backup copy + $group = $restore; + } else { + $notification->push(sprintf(_("Updated \"%s\"."), $group->getShortName()), 'horde.success'); + } + + $form = 'edit.inc'; + $reload = true; + break; +} + +switch ($form) { +case 'addchild.inc': + $notification->push('document.add_child.child.focus()', 'javascript'); + break; + +case 'edit.inc': + /* Set up the lists. */ + $users = $group->listUsers(); + if (is_a($users, 'PEAR_Error')) { + $notification->push($users, 'horde.error'); + $users = array(); + } + $all_users = $group->listAllUsers(); + if (is_a($all_users, 'PEAR_Error')) { + $notification->push($all_users, 'horde.error'); + $all_users = array(); + } + $inherited_users = array_diff($all_users, $users); + + if ($auth->hasCapability('list')) { + $user_list = $auth->listUsers(); + if (is_a($user_list, 'PEAR_Error')) { + $notification->push($user_list, 'horde.error'); + $user_list = array(); + } + sort($user_list); + } else { + $user_list = array(); + } + break; + +} + +$title = _("Group Administration"); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; +if (!empty($form)) { + require HORDE_TEMPLATES . '/admin/groups/' . $form; +} + +/* Get the perms tree. */ +$nodes = $groups->listGroups(true); +if (is_a($nodes, 'PEAR_Error')) { + throw new Horde_Exception($nodes); +} +$nodes[GROUP_ROOT] = GROUP_ROOT; + +/* Set up some node params. */ +$spacer = '    '; +$icondir = array('icondir' => $registry->getImageDir()); +$group_node = $icondir + array('icon' => 'group.png'); +$add = Horde::applicationUrl('admin/groups.php?actionID=addchild'); +$add_img = Horde::img('add_group.png'); +$edit = Horde::applicationUrl('admin/groups.php?actionID=edit'); +$delete = Horde::applicationUrl('admin/groups.php?actionID=delete'); +$edit_img = Horde::img('edit.png', _("Edit Group")); +$delete_img = Horde::img('delete.png', _("Delete Group")); + +/* Set up the tree. */ +$tree = Horde_Tree::factory('admin_groups', 'Javascript'); +$tree->setOption(array('alternate' => true, 'hideHeaders' => true)); +$tree->setHeader(array(array('width' => '50%'))); + +/* Explicitly check for > 0 since we can be called with current = -1 + * for the root node. */ +if ($cid > 0) { + $cid_parents = $groups->getGroupParentList($cid); + if (is_a($cid_parents, 'PEAR_Error')) { + throw new Horde_Exception($cid_parents); + } +} + +foreach ($nodes as $id => $node) { + $node_params = ($cid == $id) ? array('class' => 'selected') : array(); + if ($id == GROUP_ROOT) { + $add_link = Horde::link(Horde_Util::addParameter($add, 'cid', $id), _("Add a new group")) . $add_img . ''; + + $base_node_params = $icondir + array('icon' => 'administration.png'); + $tree->addNode($id, null, _("All Groups"), 0, true, $base_node_params + $node_params, array($spacer, $add_link)); + } else { + $name = $groups->getGroupShortName($node); + $node_params['url'] = Horde_Util::addParameter($edit, 'cid', $id); + $add_link = Horde::link(Horde_Util::addParameter($add, 'cid', $id), sprintf(_("Add a child group to \"%s\""), $name)) . $add_img . ''; + $delete_link = Horde::link(Horde_Util::addParameter($delete, 'cid', $id), sprintf(_("Delete \"%s\""), $name)) . $delete_img . ''; + + $parent_id = $groups->getGroupParent($id); + $group_extra = array($spacer, $add_link, $delete_link); + $tree->addNode($id, $parent_id, $groups->getGroupShortName($node), $groups->getLevel($id) + 1, (isset($cid_parents[$id])), $group_node + $node_params, $group_extra); + } +} + +echo '

' . Horde::img('group.png') . ' ' . _("Groups") . '

'; +$tree->renderTree(); +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/index.html b/horde/admin/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/horde/admin/locale/en_US/help.xml b/horde/admin/locale/en_US/help.xml new file mode 100644 index 000000000..2fccbf811 --- /dev/null +++ b/horde/admin/locale/en_US/help.xml @@ -0,0 +1,38 @@ + + + + + Admin Tools: PHP Shell + How to use the PHP Shell + The PHP command shell lets you execute arbitrary PHP + statements on the server. These commands are executed using + the eval() function, and execute in the context + of the current session. This shell is intended to try out + syntax and execute some simple arbitrary code. Note that to + get any output, you must echo or print something in your + code fragment. + + + + Admin Tools: SQL Shell + How to use the SQL Shell + The SQL query shell lets you execute arbitrary SQL + statements on your database. These commands are executed + against the database defined in $conf['sql'] using the + PEAR::DB classes. You can use this tool to do queries into + the database, to do complicated SQL updates, deletes, etc., + or to do simple data collection. It sends SQL queries to the + database directly, and will report return codes and complete + result sets. + + + + Admin Tools: Command Shell + How to use the Command Shell + The command shell lets you execute arbitrary shell + commands on your server. You can use this to do quick + shell operations or when a shell is not otherwise available. + + + + diff --git a/horde/admin/locale/eu_ES/help.xml b/horde/admin/locale/eu_ES/help.xml new file mode 100644 index 000000000..0c6417a9a --- /dev/null +++ b/horde/admin/locale/eu_ES/help.xml @@ -0,0 +1,16 @@ + + + + + Administrazioko tresnak: PHP shell-a + Nola erabili PHP shell-a PHP komando shell-arekin PHP adierazpen arbitrarioak exekuta ditzakezu zerbitzarian. Komando horiek eval() funtzioarekin exekutatzen dira, uneko saioaren testuinguruan. Sintaxia probatu eta zenbait kode arbitrario sinple exekutatzeko erabiltzen da shell-a. Kontuan izan emaitzaren bat lortzeko echo egin edo zerbait inprimatu behar duzula. + + + Administrazioko tresnak: SQL shell-a + Nola erabili PHP shell-a SQL kontsultarekin SQL adierazpen arbitrarioak exekuta ditzakezu datu-basean. $conf['sql']-en definitutako datu-basearen aurka exekutatzen dira komandoak, PEAR::DB klaseak erabiliz. Tresna hau erabil dezakezu datu-baseko kontsultak egiteko, SQL eguneratze konplexuak, ezabatzeak, etab. egiteko, edo besterik gabe datuak biltzeko. SQL kontsultak bidaltzen ditu datu-basera zuzenean, eta itzulketa-kodeen eta emaitza multzo osoen berri ematen du. + + + Administrazioko tresnak: komando shell-a + Nola erabili komando shell-a Komando shell-arekin shell komando arbitrarioak exekuta ditzakezu zerbitzarian. Hau erabil dezakezu shell eragiketa azkarrak egiteko, edo shell-a bestela erabilgarri ez dagoenean. + + diff --git a/horde/admin/locale/fi_FI/help.xml b/horde/admin/locale/fi_FI/help.xml new file mode 100644 index 000000000..563781347 --- /dev/null +++ b/horde/admin/locale/fi_FI/help.xml @@ -0,0 +1,38 @@ + + + + Ylläpidon työkalut: PHP-komentotulkki + Miten PHP-komentotulkkia käytetään + + PHP-komentotulkkissa voi suorittaa palvelimella mitä tahansa + PHP-komentoja. Nämä komennot suoritetaan eval() + funktion sisällä ja nykyisen istunnon kontekstissa. Tämä + komentotulkki on ensisijaisesti tarkoitettu syntaksin + tarkistukseen ja yksinkertaisen koodin suoritukseen. Huomaa, + että tulostaaksesi jotakin, niin sinun pitää käyttää echo ja + print komentoja. + + + + Ylläpidon työkalut: SQL-komentotulkki + Miten SQL-komentotulkkia käytetään + + SQL-komentotulkissa voi suorittaa mitä tahansa SQL-lausekkeita, jotka + suoritetaan tietokannassa. Käytettävä tietokanta on + määritelty $conf['sql'] ja sitä käytetään PEAR:DB-luokan + avulla. Voit käyttää tätä työkaluja tehdäksesi kyselyjä + tietokantaan, päivittääksesi tietoja tietokannassa, + poistaaksesi tietoja tietokannasta jne. tai hakea tietoja + tietokannasta. SQL-komennot lähetetään suoraan tietokannalle + ja paluuarvona tulee statuskoodi ja kyselyn palauttama + arvo. + + + + Ylläpidon työkalut: Komentotulkki + Miten komentotulkkia käytetään + + Komentotulkin avulla voit suorittaa komentoja www-palvelimella. Voit käyttää tätä toimintoa kun haluat nopeasti suorittaa jonkun komennon palvelimella ja komentotulkki ei ole muuten käytettävissä. + + + diff --git a/horde/admin/locale/hu_HU/help.xml b/horde/admin/locale/hu_HU/help.xml new file mode 100644 index 000000000..3f6facbdf --- /dev/null +++ b/horde/admin/locale/hu_HU/help.xml @@ -0,0 +1,36 @@ + + + + Adminisztrációs eszközök: a PHP Shell + A PHP Shell használata + A PHP parancsértelmezõ segítségével tetszõleges PHP parancsokat + hajthat végre a szerveren. Ezeket a parancsokat a gép az + eval() függvény segítségével, az aktuálisan érvényes + session keretében hajtja végre. E parancsértelmezõ célja, hogy + ki tudjunk próbálni tetszõleges, egyszerûbb kódrészleteket. + Ahhoz azonban, hogy bármilyen outputot lássunk, a kódnak echo + vagy print parancsokat kell tartalmaznia. + + + + Adminisztrációs eszközök: az SQL Shell + Az SQL Shell használata + Az SQL parancsértelmezõ segítségével tetszõleges SQL parancsot + hajthat végre az adatbázison. Ezeket a parancsokat a gép a PEAR::DB + révén hajtja végre a $conf['sql']-ben megadott adatbazison. + Ezzel az eszközzel lekérdezéseket, bonyolult SQL módosításokat, + törléseket hajthat végre, vagy adatokat gyûjthet. Az SQL parancsokat + közvetlenül az adatbázisnak küldi, majd visszaadja az eredménykódokat + ill. a kapott adatokat. + + + + Adminisztrációs eszközök: a parancssor + A parancssor használata + A parancssor segítségével parancsokat hajthat végre a szerveren. + Ez egy-egy parancs gyors végrehajtására jó, vagy arra az esetre, ha + más módon nem képes a szerver parancsértelmezõjéhez (Command Shell) + jutnia. + + + diff --git a/horde/admin/perms/addchild.php b/horde/admin/perms/addchild.php new file mode 100644 index 000000000..acf637842 --- /dev/null +++ b/horde/admin/perms/addchild.php @@ -0,0 +1,66 @@ + + * @author Jan Schneider + */ + +require_once dirname(__FILE__) . '/../../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + Horde::authenticationFailureRedirect(); +} + +/* Set up the form variables. */ +$vars = Horde_Variables::getDefaultVariables(); +$perm_id = $vars->get('perm_id'); + +try { + $permission = $perms->getPermissionById($perm_id); +} catch (Horde_Exception $e) { + $notification->push(_("Invalid parent permission."), 'horde.error'); + $url = Horde::applicationUrl('admin/perms/index.php', true); + header('Location: ' . $url); + exit; +} + +/* Set up form. */ +$ui = new Horde_Perms_Ui($perms); +$ui->setVars($vars); +$ui->setupAddForm($permission); + +if ($ui->validateAddForm($info)) { + if ($info['perm_id'] == Horde_Perms::ROOT) { + $child = &$perms->newPermission($info['child']); + $result = $perms->addPermission($child); + } else { + $pOb = &$perms->getPermissionById($info['perm_id']); + $name = $pOb->getName() . ':' . str_replace(':', '.', $info['child']); + $child = &$perms->newPermission($name); + $result = $perms->addPermission($child); + } + if (is_a($result, 'PEAR_Error')) { + $notification->push(sprintf(_("\"%s\" was not created: %s."), $perms->getTitle($child->getName()), $result->getMessage()), 'horde.error'); + } else { + $notification->push(sprintf(_("\"%s\" was added to the permissions system."), $perms->getTitle($child->getName())), 'horde.success'); + $url = Horde::applicationUrl('admin/perms/edit.php', true); + $url = Horde_Util::addParameter($url, 'perm_id', $child->getId(), false); + header('Location: ' . $url); + exit; + } +} + +$title = _("Permissions Administration"); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +/* Render the form and tree. */ +$ui->renderForm('addchild.php'); +echo '
'; +$ui->renderTree($perm_id); + +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/perms/delete.php b/horde/admin/perms/delete.php new file mode 100644 index 000000000..18c97864c --- /dev/null +++ b/horde/admin/perms/delete.php @@ -0,0 +1,63 @@ + + * @author Jan Schneider + */ + +require_once dirname(__FILE__) . '/../../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + Horde::authenticationFailureRedirect(); +} + +/* Set up the form variables. */ +$vars = Horde_Variables::getDefaultVariables(); +$perm_id = $vars->get('perm_id'); +$category = $vars->get('category'); +$permission = &$perms->getPermissionById($perm_id); + +/* If the permission fetched is an error return to permissions list. */ +if (is_a($permission, 'PEAR_Error')) { + $notification->push(_("Attempt to delete a non-existent permission."), 'horde.error'); + $url = Horde::applicationUrl('admin/perms/index.php', true); + header('Location: ' . $url); + exit; +} + +/* Set up form. */ +$ui = new Horde_Perms_Ui($perms); +$ui->setVars($vars); +$ui->setupDeleteForm($permission); + +if ($confirmed = $ui->validateDeleteForm($info)) { + $result = $perms->removePermission($permission, true); + if (is_a($result, 'PEAR_Error')) { + $notification->push(sprintf(_("Unable to delete \"%s\": %s."), $perms->getTitle($permission->getName()), $result->getMessage()), 'horde.error'); + } else { + $notification->push(sprintf(_("Successfully deleted \"%s\"."), $perms->getTitle($permission->getName())), 'horde.success'); + $url = Horde::applicationUrl('admin/perms/index.php', true); + header('Location: ' . $url); + exit; + } +} elseif ($confirmed === false) { + $notification->push(sprintf(_("Permission \"%s\" not deleted."), $perms->getTitle($permission->getName())), 'horde.success'); + $url = Horde::applicationUrl('admin/perms/index.php', true); + header('Location: ' . $url); + exit; +} + +$title = _("Permissions Administration"); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +/* Render the form and tree. */ +$ui->renderForm('delete.php'); +echo '
'; +$ui->renderTree($perm_id); + +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/perms/edit.php b/horde/admin/perms/edit.php new file mode 100644 index 000000000..d8471b4cf --- /dev/null +++ b/horde/admin/perms/edit.php @@ -0,0 +1,114 @@ + + * @author Jan Schneider + */ + +require_once dirname(__FILE__) . '/../../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + Horde::authenticationFailureRedirect(); +} + +/* Set up the form variables. */ +$vars = &Horde_Variables::getDefaultVariables(); +$perm_id = $vars->get('perm_id'); +$category = $vars->get('category'); + +/* See if we need to (and are supposed to) autocreate the permission. */ +if ($category !== null) { + $permission = &$perms->getPermission($category); + if (is_a($permission, 'PEAR_Error') && Horde_Util::getFormData('autocreate')) { + + /* Check to see if the permission we are copying from exists before we + * autocreate. */ + $copyFrom = Horde_Util::getFormData('autocreate_copy'); + if ($copyFrom && !$perms->exists($copyFrom)) { + $copyFrom = null; + } + + $parent = $vars->get('parent'); + $permission = &$perms->newPermission($category); + $result = $perms->addPermission($permission, $parent); + if (!is_a($result, 'PEAR_Error')) { + $form = 'edit.inc'; + $perm_id = $perms->getPermissionId($permission); + } + + if ($copyFrom) { + /* We have autocreated the permission and we have been told to + * copy an existing permission for the defaults. */ + $copyFromObj = &$perms->getPermission($copyFrom); + $permission->addGuestPermission($copyFromObj->getGuestPermissions(), false); + $permission->addDefaultPermission($copyFromObj->getDefaultPermissions(), false); + $permission->addCreatorPermission($copyFromObj->getCreatorPermissions(), false); + foreach ($copyFromObj->getUserPermissions() as $user => $uperm) { + $permission->addUserPermission($user, $uperm, false); + } + foreach ($copyFromObj->getGroupPermissions() as $group => $gperm) { + $permission->addGroupPermission($group, $gperm, false); + } + } else { + /* We have autocreated the permission and we don't have an + * existing permission to copy. See if some defaults were + * supplied. */ + $addPerms = Horde_Util::getFormData('autocreate_guest'); + if ($addPerms) { + $permission->addGuestPermission($addPerms, false); + } + $addPerms = Horde_Util::getFormData('autocreate_default'); + if ($addPerms) { + $permission->addDefaultPermission($addPerms, false); + } + $addPerms = Horde_Util::getFormData('autocreate_creator'); + if ($addPerms) { + $permission->addCreatorPermission($addPerms, false); + } + } + $permission->save(); + } else { + $perm_id = $perms->getPermissionId($permission); + } + $vars->set('perm_id', $perm_id); +} else { + $permission = &$perms->getPermissionById($perm_id); +} + +/* If the permission fetched is an error return to the permissions list. */ +if (is_a($permission, 'PEAR_Error')) { + $notification->push(_("Attempt to edit a non-existent permission."), 'horde.error'); + $url = Horde::applicationUrl('admin/perms/index.php', true); + header('Location: ' . $url); + exit; +} + +$ui = new Horde_Perms_Ui($perms); +$ui->setVars($vars); +$ui->setupEditForm($permission); + +if ($ui->validateEditForm($info)) { + /* Update and save the permissions. */ + $permission->updatePermissions($info); + $permission->save(); + $notification->push(sprintf(_("Updated \"%s\"."), $perms->getTitle($permission->getName())), 'horde.success'); + $url = Horde_Util::addParameter('admin/perms/edit.php', 'perm_id', $permission->getId()); + $url = Horde::applicationUrl($url, true); + header('Location: ' . $url); + exit; +} + +$title = _("Permissions Administration"); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +/* Render the form and tree. */ +$ui->renderForm('edit.php'); +echo '
'; +$ui->renderTree($perm_id); + +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/perms/index.php b/horde/admin/perms/index.php new file mode 100644 index 000000000..dce25f891 --- /dev/null +++ b/horde/admin/perms/index.php @@ -0,0 +1,28 @@ + + * @author Jan Schneider + */ + +require_once dirname(__FILE__) . '/../../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + Horde::authenticationFailureRedirect(); +} + +$perm_id = Horde_Util::getFormData('perm_id'); + +$title = _("Permissions Administration"); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +$ui = new Horde_Perms_Ui($perms); +$notification->notify(); +$ui->renderTree($perm_id); + +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/phpshell.php b/horde/admin/phpshell.php new file mode 100644 index 000000000..e3db88060 --- /dev/null +++ b/horde/admin/phpshell.php @@ -0,0 +1,88 @@ + + */ + +require_once dirname(__FILE__) . '/../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + Horde::authenticationFailureRedirect(); +} + +$title = _("PHP Shell"); +Horde::addScriptFile('stripe.js', 'horde'); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +$apps_tmp = $registry->listApps(); +$apps = array(); +foreach ($apps_tmp as $app) { + // Make sure the app is installed. + if (!file_exists($registry->get('fileroot', $app))) { + continue; + } + + $apps[$app] = $registry->get('name', $app) . ' (' . $app . ')'; +} +asort($apps); +$application = Horde_Util::getFormData('app', 'horde'); + +$command = trim(Horde_Util::getFormData('php')) + +?> +
+
+ + +

+
+ +

+ + + +
+" /> + +

+ +get('fileroot', $application) . '/lib/base.php')) { + include $registry->get('fileroot', $application) . '/lib/base.php'; + } else { + $registry->pushApp($application); + } + + $part = new Horde_Mime_Part(); + $part->setContents($command); + $part->setType('application/x-httpd-phps'); + $part->buildMimeIds(); + $viewer = Horde_Mime_Viewer::factory($part); + $pretty = $viewer->render('inline'); + echo '

' . _("PHP Code") . '

'; + echo $pretty[1]['data']; + echo '
'; + + echo '

' . _("Results") . '

'; + echo '
';
+    eval($command);
+    echo '
'; +} +?> + +
+ + */ + +require_once dirname(__FILE__) . '/../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + Horde::authenticationFailureRedirect(); +} + +$type = !empty($conf['sessionhandler']['type']) ? $conf['sessionhandler']['type'] : 'none'; +if ($type == 'external') { + $notification->push(_("Cannot administer external session handlers."), 'horde.error'); +} else { + $sh = Horde_SessionHandler::singleton($type); +} + +$title = _("Session Admin"); +Horde::addScriptFile('prototype.js', 'horde'); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +if (empty($sh)) { + require HORDE_TEMPLATES . '/common-footer.inc'; + exit; +} + +echo '

' . _("Current Sessions"); +try { + $session_info = $sh->getSessionsInfo(); + + echo ' (' . count($session_info) . ')

' . + '
    '; + + $plus = Horde::img('tree/plusonly.png', _("Expand"), '', $GLOBALS['registry']->getImageDir('horde')); + $minus = Horde::img('tree/minusonly.png', _("Collapse"), 'style="display:none"', $GLOBALS['registry']->getImageDir('horde')); + + if (class_exists('Net_DNS')) { + $resolver = new Net_DNS_Resolver(); + $resolver->retry = isset($GLOBALS['conf']['dns']['retry']) ? $GLOBALS['conf']['dns']['retry'] : 1; + $resolver->retrans = isset($GLOBALS['conf']['dns']['retrans']) ? $GLOBALS['conf']['dns']['retrans'] : 1; + } + + foreach ($session_info as $id => $data) { + $entry = array( + _("Session Timestamp:") => date('r', $data['timestamp']), + _("Browser:") => $data['browser'], + _("Remote Host:") => _("[Unknown]") + ); + + if (!empty($data['remote_addr'])) { + if (class_exists('Net_DNS')) { + $response = $resolver->query($data['remote_addr'], 'PTR'); + $host = $response ? $response->answer[0]->ptrdname : $data['remote_addr']; + } else { + $host = @gethostbyaddr($data['remote_addr']); + } + $entry[_("Remote Host:")] = $host . ' [' . $data['remote_addr'] . '] ' . Horde_Nls::generateFlagImageByHost($host); + } + + echo '
  • ' . $plus . $minus . htmlspecialchars($data['userid']) . ' [' . htmlspecialchars($id) . ']' + . '
    '; + foreach ($entry as $key => $val) { + echo '
    ' . $key . ' ' . $val . '
    '; + } + echo '
  • '; + } + echo '
'; +} catch (Horde_Exception $e) { + echo '

' . sprintf(_("Listing sessions failed: %s"), $e->getMessage()) . '

'; +} + +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/setup/config.php b/horde/admin/setup/config.php new file mode 100644 index 000000000..3105183a0 --- /dev/null +++ b/horde/admin/setup/config.php @@ -0,0 +1,102 @@ + + */ + +require_once dirname(__FILE__) . '/../../lib/base.php'; +require_once 'Horde/Config.php'; + +if (!Horde_Auth::isAdmin()) { + throw new Horde_Exception('Forbidden.'); +} + +if (!Horde_Util::extensionExists('domxml') && + !Horde_Util::extensionExists('dom')) { + throw new Horde_Exception('You need the domxml or dom PHP extension to use the configuration tool.'); +} + +$app = Horde_Util::getFormData('app'); +$appname = $registry->get('name', $app); +$title = sprintf(_("%s Setup"), $appname); + +if (empty($app) || !in_array($app, $registry->listApps(array('inactive', 'hidden', 'notoolbar', 'active', 'admin')))) { + $notification->push(_("Invalid application."), 'horde.error'); + $url = Horde::applicationUrl('admin/setup/index.php', true); + header('Location: ' . $url); + exit; +} + +$vars = Horde_Variables::getDefaultVariables(); +$form = new ConfigForm($vars, $app); +$form->setButtons(sprintf(_("Generate %s Configuration"), $appname)); +if (file_exists($registry->get('fileroot', $app) . '/config/conf.bak.php')) { + $form->appendButtons(_("Revert Configuration")); +} + +$php = ''; +if (Horde_Util::getFormData('submitbutton') == _("Revert Configuration")) { + $path = $registry->get('fileroot', $app) . '/config'; + if (@copy($path . '/conf.bak.php', $path . '/conf.php')) { + $notification->push(_("Successfully reverted configuration. Reload to see changes."), 'horde.success'); + @unlink($path . '/conf.bak.php'); + } else { + $notification->push(_("Could not revert configuration."), 'horde.error'); + } +} elseif ($form->validate($vars)) { + $config = new Horde_Config($app); + $php = $config->generatePHPConfig($vars); + $path = $registry->get('fileroot', $app) . '/config'; + if (file_exists($path . '/conf.php')) { + if (@copy($path . '/conf.php', $path . '/conf.bak.php')) { + $notification->push(sprintf(_("Successfully saved the backup configuration file %s."), Horde_Util::realPath($path . '/conf.bak.php')), 'horde.success'); + } else { + $notification->push(sprintf(_("Could not save the backup configuration file %s."), Horde_Util::realPath($path . '/conf.bak.php')), 'horde.warning'); + } + } + if ($fp = @fopen($path . '/conf.php', 'w')) { + /* Can write, so output to file. */ + fwrite($fp, Horde_String::convertCharset($php, Horde_Nls::getCharset(), 'iso-8859-1')); + fclose($fp); + $notification->push(sprintf(_("Successfully wrote %s"), Horde_Util::realPath($path . '/conf.php')), 'horde.success'); + $registry->clearCache(); + header('Location: ' . Horde::applicationUrl('admin/setup/index.php', true)); + exit; + } else { + /* Cannot write. */ + $notification->push(sprintf(_("Could not save the configuration file %s. You can either use one of the options to save the code back on %s or copy manually the code below to %s."), Horde_Util::realPath($path . '/conf.php'), Horde::link(Horde::url('index.php') . '#update', _("Setup")) . _("Setup") . '', Horde_Util::realPath($path . '/conf.php')), 'horde.warning', array('content.raw')); + /* Save to session. */ + $_SESSION['_config'][$app] = $php; + } +} elseif ($form->isSubmitted()) { + $notification->push(_("There was an error in the configuration form. Perhaps you left out a required field."), 'horde.error'); +} + +/* Render the configuration form. */ +$renderer = $form->getRenderer(); +$renderer->setAttrColumnWidth('50%'); +$form = Horde_Util::bufferOutput(array($form, 'renderActive'), $renderer, $vars, 'config.php', 'post'); + + +/* Set up the template. */ +$template = new Horde_Template(); +$template->set('php', htmlspecialchars($php), true); +/* Create the link for the diff popup only if stored in session. */ +$diff_link = ''; +if (!empty($_SESSION['_config'][$app])) { + $url = Horde::applicationUrl('admin/setup/diff.php', true); + $url = Horde_Util::addParameter($url, 'app', $app, false); + $diff_link = Horde::link('#', '', '', '', Horde::popupJs($url, array('height' => 480, 'width' => 640, 'urlencode' => true)) . 'return false;') . _("show differences") . ''; +} +$template->set('diff_popup', $diff_link, true); +$template->set('form', $form); +$template->setOption('gettext', true); + +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; +echo $template->fetch(HORDE_TEMPLATES . '/admin/setup/config.html'); +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/setup/diff.php b/horde/admin/setup/diff.php new file mode 100644 index 000000000..dfca461c5 --- /dev/null +++ b/horde/admin/setup/diff.php @@ -0,0 +1,87 @@ +get('fileroot', $app) . '/config'; + $current_config = @file_get_contents($path . '/conf.php'); + + /* Calculate the differences. */ + $diff = new Text_Diff(explode("\n", $current_config), + explode("\n", $_SESSION['_config'][$app])); + $diff = $renderer->render($diff); + if (!empty($diff)) { + return $diff; + } else { + return _("No change."); + } +} + +$diffs = array(); +/* Only bother to do anything if there is any config. */ +if (!empty($_SESSION['_config'])) { + /* Set up the toggle button for inline/unified. */ + $url = Horde::applicationUrl('admin/setup/diff.php'); + $url = Horde_Util::addParameter($url, 'render', ($render_type == 'inline') ? 'unified' : 'inline'); + + if ($app = Horde_Util::getFormData('app')) { + /* Handle a single app request. */ + $toggle_renderer = Horde::link($url . '#' . $app) . (($render_type == 'inline') ? _("unified") : _("inline")) . ''; + $diff = _getDiff($app); + if ($render_type != 'inline') { + $diff = htmlspecialchars($diff); + } + $diffs[] = array('app' => $app, + 'diff' => $diff, + 'toggle_renderer' => $toggle_renderer); + } else { + /* List all the apps with generated configuration. */ + ksort($_SESSION['_config']); + foreach ($_SESSION['_config'] as $app => $config) { + $toggle_renderer = Horde::link($url . '#' . $app) . (($render_type == 'inline') ? _("unified") : _("inline")) . ''; + $diff = _getDiff($app); + if ($render_type != 'inline') { + $diff = htmlspecialchars($diff); + } + $diffs[] = array('app' => $app, + 'diff' => $diff, + 'toggle_renderer' => $toggle_renderer); + } + } +} + +/* Set up the template. */ +$template = new Horde_Template(); +$template->setOption('gettext', true); +$template->set('diffs', $diffs, true); + +$title = _("Configuration Differences"); +require HORDE_TEMPLATES . '/common-header.inc'; +echo $template->fetch(HORDE_TEMPLATES . '/admin/setup/diff.html'); +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/setup/index.php b/horde/admin/setup/index.php new file mode 100644 index 000000000..03039114a --- /dev/null +++ b/horde/admin/setup/index.php @@ -0,0 +1,255 @@ + + */ + +require_once dirname(__FILE__) . '/../../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + throw new Horde_Exception('Forbidden.'); +} + +/** + * Does an FTP upload to save the configuration. + */ +function _uploadFTP($params) +{ + global $registry, $notification; + + $params['hostspec'] = 'localhost'; + $vfs = VFS::singleton('ftp', $params); + if (is_a($vfs, 'PEAR_Error')) { + $notification->push(sprintf(_("Could not connect to server \"%s\" using FTP: %s"), $params['hostspec'], $vfs->getMessage()), 'horde.error'); + return false; + } + + /* Loop through the config and write to FTP. */ + $no_errors = true; + foreach ($_SESSION['_config'] as $app => $config) { + $path = $registry->get('fileroot', $app) . '/config'; + /* Try to back up the current conf.php. */ + if ($vfs->exists($path, 'conf.php')) { + if (($result = $vfs->rename($path, 'conf.php', $path, '/conf.bak.php')) === true) { + $notification->push(_("Successfully saved backup configuration."), 'horde.success'); + } elseif (is_a($result, 'PEAR_Error')) { + $notification->push(sprintf(_("Could not save a backup configuation: %s"), $result->getMessage()), 'horde.error'); + } else { + $notification->push(_("Could not save a backup configuation."), 'horde.error'); + } + } + + $write = $vfs->writeData($path, 'conf.php', $config); + if (is_a($write, 'PEAR_Error')) { + $no_errors = false; + $notification->push(sprintf(_("Could not write configuration for \"%s\": %s"), $app, $write->getMessage()), 'horde.error'); + } else { + $notification->push(sprintf(_("Successfully wrote %s"), Horde_Util::realPath($path . '/conf.php')), 'horde.success'); + unset($_SESSION['_config'][$app]); + } + } + $registry->clearCache(); + return $no_errors; +} + +/* Check for versions if requested. */ +$versions = array(); +if (Horde_Util::getFormData('check_versions')) { + require_once 'Horde/DOM.php'; + $http = new HTTP_Request('http://www.horde.org/versions.php'); + $result = $http->sendRequest(); + if (is_a($result, 'PEAR_Error')) { + $notification->push($result, 'horde.error'); + } elseif ($http->getResponseCode() != 200) { + $notification->push(_("Unexpected response from server, try again later."), 'horde.error'); + } else { + $dom = Horde_DOM_Document::factory(array('xml' => $http->getResponseBody())); + $stable = $dom->get_elements_by_tagname('stable'); + if (!count($stable) || !$stable[0]->has_child_nodes()) { + $notification->push(_("Invalid response from server."), 'horde.error'); + } else { + for ($app = $stable[0]->first_child(); + !empty($app); + $app = $app->next_sibling()) { + if (!is_a($app, 'domelement') && + !is_a($app, 'Horde_DOM_Element')) { + continue; + } + $version = $app->get_elements_by_tagname('version'); + $url = $app->get_elements_by_tagname('url'); + $versions[$app->get_attribute('name')] = array( + 'version' => $version[0]->get_content(), + 'url' => $url[0]->get_content()); + } + } + } +} + +/* Set up some icons. */ +$success = Horde::img('alerts/success.png'); +$warning = Horde::img('alerts/warning.png'); +$error = Horde::img('alerts/error.png'); + +$conf_url = Horde::applicationUrl('admin/setup/config.php'); +$a = $registry->listApps(array('inactive', 'hidden', 'notoolbar', 'active', 'admin')); +$apps = array(); +$i = -1; +if (file_exists(HORDE_BASE . '/lib/bundle.php')) { + include HORDE_BASE . '/lib/bundle.php'; + $apps[0] = array('sort' => '00', + 'name' => '' . BUNDLE_FULLNAME . '', + 'icon' => Horde::img($registry->get('icon', 'horde'), + BUNDLE_FULLNAME, '', ''), + 'version' => '' . BUNDLE_VERSION . ''); + if (!empty($versions)) { + if (!isset($versions[BUNDLE_NAME])) { + $apps[0]['load'] = $warning; + $apps[0]['vstatus'] = _("No stable version exists yet."); + } elseif (version_compare($versions[BUNDLE_NAME]['version'], BUNDLE_VERSION, '>')) { + $apps[0]['load'] = $error; + $apps[0]['vstatus'] = Horde::link($versions[BUNDLE_NAME]['url'], sprintf(_("Download %s"), BUNDLE_FULLNAME)) . sprintf(_("A newer version (%s) exists."), $versions[BUNDLE_NAME]['version']) . ' '; + } else { + $apps[0]['load'] = $success; + $apps[0]['vstatus'] = _("Application is up-to-date."); + } + } + $i++; +} + +foreach ($a as $app) { + /* Skip app if no conf.xml file. */ + $path = $registry->get('fileroot', $app) . '/config'; + if (!file_exists($path . '/conf.xml')) { + continue; + } + + $i++; + $path = $registry->get('fileroot', $app) . '/config'; + + $conf_link = Horde::link($conf_url->copy()->add('app', $app), sprintf(_("Configure %s"), $app)); + $apps[$i]['sort'] = $registry->get('name', $app) . ' (' . $app . ')'; + $apps[$i]['name'] = $conf_link . $apps[$i]['sort'] . ''; + $apps[$i]['icon'] = Horde::img($registry->get('icon', $app), $registry->get('name', $app), '', ''); + $apps[$i]['version'] = ''; + if ($version = $registry->getVersion($app)) { + $apps[$i]['version'] = $version; + if (!empty($versions)) { + if (!isset($versions[$app])) { + $apps[$i]['load'] = $warning; + $apps[$i]['vstatus'] = _("No stable version exists yet."); + } elseif (version_compare(preg_replace('/H\d \((.*)\)/', '$1', $versions[$app]['version']), preg_replace('/H\d \((.*)\)/', '$1', $apps[$i]['version']), '>')) { + $apps[$i]['load'] = $error; + $apps[$i]['vstatus'] = Horde::link($versions[$app]['url'], sprintf(_("Download %s"), $app)) . sprintf(_("A newer version (%s) exists."), $versions[$app]['version']) . ' '; + } else { + $apps[$i]['load'] = $success; + $apps[$i]['vstatus'] = _("Application is up-to-date."); + } + } + } + + if (!file_exists($path . '/conf.php')) { + /* No conf.php exists. */ + $apps[$i]['conf'] = $conf_link . $error . ''; + $apps[$i]['status'] = _("Missing configuration. You must generate it before using this application."); + } else { + /* A conf.php exists, get the xml version. */ + if (($xml_ver = Horde_Config::getVersion(@file_get_contents($path . '/conf.xml'))) === false) { + $apps[$i]['conf'] = $conf_link . $warning . ''; + $apps[$i]['status'] = _("No version found in original configuration. Regenerate configuration."); + continue; + } + /* Get the generated php version. */ + if (($php_ver = Horde_Config::getVersion(@file_get_contents($path . '/conf.php'))) === false) { + /* No version found in generated php, suggest regenarating + * just in case. */ + $apps[$i]['conf'] = $conf_link . $warning . ''; + $apps[$i]['status'] = _("No version found in your configuration. Regenerate configuration."); + continue; + } + + if ($xml_ver != $php_ver) { + /* Versions are not the same, configuration is out of date. */ + $apps[$i]['conf'] = $conf_link . $error . ''; + $apps[$i]['status'] = _("Configuration is out of date."); + continue; + } else { + /* Configuration is ok. */ + $apps[$i]['conf'] = $conf_link . $success . ''; + $apps[$i]['status'] = _("Application is ready."); + } + } +} + +/* Sort the apps by name. */ +Horde_Array::arraySort($apps, 'sort'); + +/* Set up any actions that may be offered. */ +$actions = array(); +$ftpform = ''; +if (!empty($_SESSION['_config'])) { + $url = Horde::applicationUrl('admin/setup/diff.php'); + $action = _("Show differences between currently saved and the newly generated configuration."); + $actions[] = array('icon' => Horde::img('search.png', '', 'align="middle"', $registry->getImageDir('horde')), + 'link' => Horde::link('#', '', '', '', Horde::popupJs($url, array('height' => 480, 'width' => 640, 'urlencode' => true)) . 'return false;') . $action . ''); + + /* Action to download the configuration upgrade PHP script. */ + $url = Horde::applicationUrl('admin/setup/scripts.php')->add(array('setup' => 'conf', 'type' => 'php')); + $action = _("Download generated configuration as PHP script."); + $actions[] = array('icon' => Horde::img('download.png', '', 'align="middle"', $registry->getImageDir('horde')), + 'link' => Horde::link($url) . $action . ''); + /* Action to save the configuration upgrade PHP script. */ + $action = _("Save generated configuration as a PHP script to your server's temporary directory."); + $actions[] = array('icon' => Horde::img('save.png', '', 'align="middle"', $registry->getImageDir('horde')), + 'link' => Horde::link($url->add('save', 'tmp')) . $action . ''); + + /* Set up the form for FTP upload of scripts. */ + $vars = Horde_Variables::getDefaultVariables(); + $ftpform = new Horde_Form($vars); + $ftpform->setButtons(_("Upload"), true); + $ftpform->addVariable(_("Username"), 'username', 'text', true, false, null, array('', 20)); + $ftpform->addVariable(_("Password"), 'password', 'password', false); + + if ($ftpform->validate($vars)) { + $ftpform->getInfo($vars, $info); + $upload = _uploadFTP($info); + if ($upload) { + $notification->push(_("Uploaded all application setup files to the server."), 'horde.success'); + $url = Horde::applicationUrl('admin/setup/index.php', true); + header('Location: ' . $url); + exit; + } + } + /* Render the form. */ + $ftpform = Horde_Util::bufferOutput(array($ftpform, 'renderActive'), new Horde_Form_Renderer(), $vars, 'index.php', 'post'); +} + +if (file_exists(Horde::getTempDir() . '/horde_setup_upgrade.php')) { + /* Action to remove the configuration upgrade PHP script. */ + $url = Horde::applicationUrl('admin/setup/scripts.php')->add('clean', 'tmp'); + $action = _("Remove saved script from server's temporary directory."); + $actions[] = array('icon' => Horde::img('delete.png', '', 'align="middle"', $registry->getImageDir('horde')), + 'link' => Horde::link($url) . $action . ''); +} + +/* Set up the template. */ +$template = new Horde_Template(); +$template->setOption('gettext', true); +$template->set('versions', !empty($versions), true); +$template->set('version_action', Horde::applicationUrl('admin/setup/index.php')); +$template->set('version_input', Horde_Util::formInput()); +$template->set('apps', $apps); +$template->set('actions', $actions, true); +$template->set('ftpform', $ftpform, true); + +$title = sprintf(_("%s Setup"), $registry->get('name', 'horde')); +Horde::addScriptFile('stripe.js', 'horde'); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; +echo $template->fetch(HORDE_TEMPLATES . '/admin/setup/index.html'); +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/admin/setup/scripts.php b/horde/admin/setup/scripts.php new file mode 100644 index 000000000..14f32ffd0 --- /dev/null +++ b/horde/admin/setup/scripts.php @@ -0,0 +1,102 @@ + + */ + +require_once dirname(__FILE__) . '/../../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + throw new Horde_Exception('Forbidden.'); +} + +/* Get form data. */ +$setup = Horde_Util::getFormData('setup'); +$type = Horde_Util::getFormData('type'); +$save = Horde_Util::getFormData('save'); +$clean = Horde_Util::getFormData('clean'); + +$filename = 'horde_setup_upgrade.php'; + +/* Check if this is only a request to clean up. */ +if ($clean == 'tmp') { + $tmp_dir = Horde::getTempDir(); + $path = Horde_Util::realPath($tmp_dir . '/' . $filename); + if (@unlink($tmp_dir . '/' . $filename)) { + $notification->push(sprintf(_("Deleted setup upgrade script \"%s\"."), $path), 'horde.success'); + } else { + $notification->push(sprintf(_("Could not delete setup upgrade script \"%s\"."), Horde_Util::realPath($path)), 'horde.error'); + } + $registry->clearCache(); + $url = Horde::applicationUrl('admin/setup/index.php', true); + header('Location: ' . $url); + exit; +} + +$data = ''; +if ($setup == 'conf' && $type == 'php') { + /* A bit ugly here, save PHP code into a string for creating the script + * to be run at the command prompt. */ + $data = '#!/usr/bin/php' . "\n"; + $data .= ' $php) { + $path = $registry->get('fileroot', $app) . '/config'; + /* Add code to save backup. */ + $data .= 'if (file_exists(\'' . $path . '/conf.php\')) {' . "\n"; + $data .= ' if (@copy(\'' . $path . '/conf.php\', \'' . $path . '/conf.bak.php\')) {' . "\n"; + $data .= ' echo \'Successfully saved backup configuration.\' . "\n";' . "\n"; + $data .= ' } else {' . "\n"; + $data .= ' echo \'Could NOT save a backup configuation.\' . "\n";' . "\n"; + $data .= ' }' . "\n"; + $data .= '}' . "\n"; + + $data .= 'if ($fp = @fopen(\'' . $path . '/conf.php\', \'w\')) {' . "\n"; + $data .= ' fwrite($fp, \''; + $data .= Horde_String::convertCharset(str_replace(array('\\', '\''), + array('\\\\', '\\\''), + $php), + Horde_Nls::getCharset(), 'iso-8859-1'); + $data .= '\');' . "\n"; + $data .= ' fclose($fp);' . "\n"; + $data .= ' echo \'' . sprintf('Saved %s configuration.', $app) . '\' . "\n";' . "\n"; + $data .= '} else {' . "\n"; + $data .= ' echo \'' . sprintf('Could NOT save %s configuration.', $app) . '\' . "\n";' . "\n"; + $data .= ' exit;' . "\n"; + $data .= '}' . "\n\n"; + } +} + +if ($save != 'tmp') { + /* Output script to browser for download. */ + $browser->downloadHeaders($filename, 'text/plain', false, strlen($data)); + echo $data; + exit; +} + +$tmp_dir = Horde::getTempDir(); +/* Add self-destruct code. */ +$data .= 'echo \'Self-destructing...\' . "\n";' . "\n"; +$data .= 'if (unlink(__FILE__)) {' . "\n"; +$data .= ' echo \'Upgrade script deleted.\' . "\n";' . "\n"; +$data .= '} else {' . "\n"; +$data .= ' echo \'WARNING!!! REMOVE SCRIPT MANUALLY FROM ' . $tmp_dir . '\' . "\n";' . "\n"; +$data .= '}' . "\n"; +/* The script should be saved to server's temporary directory. */ +$path = Horde_Util::realPath($tmp_dir . '/' . $filename); +if ($fp = @fopen($tmp_dir . '/' . $filename, 'w')) { + fwrite($fp, $data); + fclose($fp); + chmod($tmp_dir . '/' . $filename, 0777); + $notification->push(sprintf(_("Saved setup upgrade script to: \"%s\"."), $path), 'horde.success'); +} else { + $notification->push(sprintf(_("Could not save setup upgrade script to: \"%s\"."), $path), 'horde.error'); +} +header('Location: ' . Horde::applicationUrl('admin/setup/index.php', true)); diff --git a/horde/admin/signup_confirm.php b/horde/admin/signup_confirm.php new file mode 100644 index 000000000..62bbc7523 --- /dev/null +++ b/horde/admin/signup_confirm.php @@ -0,0 +1,84 @@ + + */ + +$horde_authentication = 'none'; +require_once dirname(__FILE__) . '/../lib/base.php'; + +// Make sure signups are enabled before proceeding +$auth = Horde_Auth::singleton($conf['auth']['driver']); +if ($conf['signup']['allow'] !== true || + !$auth->hasCapability('add')) { + throw new Horde_Exception(_("User Registration has been disabled for this site.")); +} +$signup = Horde_Auth_Signup::factory(); +if (is_a($signup, 'PEAR_Error')) { + Horde::logMessage($signup, __FILE__, __LINE__, PEAR_LOG_ERR); + throw new Horde_Exception(_("User Registration is not properly configured for this site.")); +} + +// Verify hash. +$user = Horde_Util::getFormData('u'); +$hash = Horde_Util::getFormData('h'); +$action = Horde_Util::getFormData('a'); +if (hash_hmac('sha1', $user, $conf['secret_key']) != $hash) { + throw new Horde_Exception(_("Invalid hash.")); +} + +// Deny signup. +if ($action == 'deny') { + $result = $signup->removeQueuedSignup($user); + if (is_a($result, 'PEAR_Error')) { + throw new Horde_Exception($result); + } + printf(_("The signup request for user \"%s\" has been removed."), $user); + exit; +} +if ($action != 'approve') { + throw new Horde_Exception(sprintf(_("Invalid action %s"), $action)); +} + +// Read and verify user data. +$thisSignup = $signup->getQueuedSignup($user); +$info = $thisSignup->getData(); + +if (empty($info['user_name']) && isset($info['extra']['user_name'])) { + $info['user_name'] = $info['extra']['user_name']; +} +if (empty($info['password']) && isset($info['extra']['password'])) { + $info['password'] = $info['extra']['password']; +} +if (empty($info['user_name'])) { + throw new Horde_Exception(_("No username specified.")); +} +if ($auth->exists($info['user_name'])) { + throw new Horde_Exception(sprintf(_("The user \"%s\" already exists."), $info['user_name'])); +} + +$credentials = array('password' => $info['password']); +if (isset($info['extra'])) { + foreach ($info['extra'] as $field => $value) { + $credentials[$field] = $value; + } +} + +// Add user. +if (is_a($ret = $auth->addUser($info['user_name'], $credentials), 'PEAR_Error')) { + throw new Horde_Exception(sprintf(_("There was a problem adding \"%s\" to the system: %s"), $info['user_name'], $ret->getMessage())); +} +if (isset($info['extra'])) { + try { + Horde::callHook('signup_addextra', array($info['user_name'], $info['extra'])); + } catch (Horde_Exception $e) { + throw new Horde_Exception(sprintf(_("Added \"%s\" to the system, but could not add additional signup information: %s."), $info['user_name'], $e->getMessage())); + } catch (Horde_Exception_HookNotSet $e) {} +} +$signup->removeQueuedSignup($user); + +echo sprintf(_("Successfully added \"%s\" to the system."), $info['user_name']); diff --git a/horde/admin/sqlshell.php b/horde/admin/sqlshell.php new file mode 100644 index 000000000..cd169fe87 --- /dev/null +++ b/horde/admin/sqlshell.php @@ -0,0 +1,142 @@ + + */ + +require_once dirname(__FILE__) . '/../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + throw new Horde_Exception('Forbidden.'); +} + +$title = _("SQL Shell"); +Horde::addScriptFile('stripe.js', 'horde'); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +?> +
+


+
+ + +setOption('portability', DB_PORTABILITY_LOWERCASE | DB_PORTABILITY_ERRORS); + +if (Horde_Util::getFormData('list-tables')) { + $description = 'LIST TABLES'; + $result = $dbh->getListOf('tables'); + $command = null; +} elseif (Horde_Util::getFormData('list-dbs')) { + $description = 'LIST DATABASES'; + $result = $dbh->getListOf('databases'); + $command = null; +} elseif ($command = trim(Horde_Util::getFormData('sql'))) { + // Keep a cache of prior queries for convenience. + if (!isset($_SESSION['_sql_query_cache'])) { + $_SESSION['_sql_query_cache'] = array(); + } + if (($key = array_search($command, $_SESSION['_sql_query_cache'])) !== false) { + unset($_SESSION['_sql_query_cache'][$key]); + } + array_unshift($_SESSION['_sql_query_cache'], $command); + while (count($_SESSION['_sql_query_cache']) > 20) { + array_pop($_SESSION['_sql_query_cache']); + } + + // Parse out the query results. + $result = $dbh->query(Horde_String::convertCharset($command, Horde_Nls::getCharset(), $conf['sql']['charset'])); +} + +if (isset($result)) { + if ($command) { + echo '

' . _("Query") . '


' . htmlspecialchars($command) . '
'; + } + + echo '

' . _("Results") . '


'; + + if (is_a($result, 'PEAR_Error')) { + echo '
'; var_dump($result); echo '
'; + } else { + if (is_object($result)) { + echo ''; + $first = true; + $i = 0; + while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { + if ($first) { + echo ''; + foreach ($row as $key => $val) { + echo ''; + } + echo ''; + $first = false; + } + echo ''; + foreach ($row as $val) { + echo ''; + } + echo ''; + } + echo '
' . (!strlen($key) ? ' ' : htmlspecialchars(Horde_String::convertCharset($key, $conf['sql']['charset']))) . '
' . (!strlen($val) ? ' ' : htmlspecialchars(Horde_String::convertCharset($val, $conf['sql']['charset']))) . '
'; + } elseif (is_array($result)) { + echo ''; + $first = true; + $i = 0; + foreach ($result as $val) { + if ($first) { + echo ''; + $first = false; + } + echo ''; + } + echo '
' . (isset($description) ? htmlspecialchars($description) : ' ') . '
' . (!strlen($val) ? ' ' : htmlspecialchars(Horde_String::convertCharset($val, $conf['sql']['charset']))) . '
'; + } else { + echo '' . _("Success") . ''; + } + } + + echo '
'; +} +?> + + + + + " class="button" onclick="document.sqlshell.sql.value = document.sqlshell.query_cache[document.sqlshell.query_cache.selectedIndex].value;" /> + " class="button" onclick="document.sqlshell.sql.value = document.sqlshell.query_cache[document.sqlshell.query_cache.selectedIndex].value; document.sqlshell.submit();" /> +
+ + + + +
+" /> +" onclick="document.sqlshell.sql.value=''" /> + +" /> + +getSpecialQuery('tables') !== null): ?>" /> +getSpecialQuery('databases') !== null): ?>" /> + + +
+
+ + */ + +require_once dirname(__FILE__) . '/../lib/base.php'; + +if (!Horde_Auth::isAdmin()) { + throw new Horde_Exception('Forbidden.'); +} +$auth = Horde_Auth::singleton($conf['auth']['driver']); + +if ($conf['signup']['allow'] && $conf['signup']['approve']) { + $signup = Horde_Auth_Signup::factory(); +} + +$vars = Horde_Variables::getDefaultVariables(); +$addForm = new Horde_Form($vars, _("Add a new user:"), 'adduser'); +$addForm->setButtons(_("Add user"), _("Reset")); + +$vars->set('form', 'add'); +$addForm->addHidden('', 'form', 'text', true, true); + +/* Use hooks get any extra fields for new accounts. */ +try { + $extra = Horde::callHook('signup_getextra'); + if (!empty($extra)) { + if (!isset($extra['user_name'])) { + $addForm->addVariable(_("Username"), 'user_name', 'text', true); + } + if (!isset($extra['password'])) { + $addForm->addVariable(_("Password"), 'password', 'passwordconfirm', false, false, _("type the password twice to confirm")); + } + foreach ($extra as $field_name => $field) { + $readonly = isset($field['readonly']) ? $field['readonly'] : null; + $desc = isset($field['desc']) ? $field['desc'] : null; + $field_params = isset($field['params']) ? $field['params'] : array(); + + $addForm->addVariable($field['label'], 'extra[' . $field_name . ']', $field['type'], $field['required'], $readonly, $desc, $field_params); + } + } +} catch (Horde_Exception_HookNotSet $e) {} + +if (empty($extra)) { + $addForm->addVariable(_("Username"), 'user_name', 'text', true); + $addForm->addVariable(_("Password"), 'password', 'passwordconfirm', false, false, _("type the password twice to confirm")); +} + + +// Process forms. Use Horde_Util::getPost() instead of Horde_Util::getFormData() +// for a lot of the data because we want to actively ignore GET data +// in some cases - adding/modifying users - as a security precaution. +switch (Horde_Util::getFormData('form')) { +case 'add': + $addForm->validate($vars); + if ($addForm->isValid() && $vars->get('formname') == 'adduser') { + $addForm->getInfo($vars, $info); + + if (empty($info['user_name']) && isset($info['extra']['user_name'])) { + $info['user_name'] = $info['extra']['user_name']; + } + + if (empty($info['password']) && isset($info['extra']['password'])) { + $info['password'] = $info['extra']['password']; + } + + if (empty($info['user_name'])) { + $notification->push(_("You must specify the username to add."), 'horde.error'); + } elseif ($auth->exists($info['user_name'])) { + $notification->push(sprintf(_("The user \"%s\" already exists."), $info['user_name']), 'horde.error'); + } else { + $credentials = array('password' => $info['password']); + if (isset($info['extra'])) { + foreach ($info['extra'] as $field => $value) { + $credentials[$field] = $value; + } + } + + if (is_a($ret = $auth->addUser($info['user_name'], $credentials), 'PEAR_Error')) { + $notification->push(sprintf(_("There was a problem adding \"%s\" to the system: %s"), $info['user_name'], $ret->getMessage()), 'horde.error'); + } else { + if (isset($info['extra'])) { + try { + Horde::callHook('signup_addextra', array($info['user_name'], $info['extra'])); + } catch (Horde_Exception $e) { + $notification->push(sprintf(_("Added \"%s\" to the system, but could not add additional signup information: %s."), $info['user_name'], $e->getMessage()), 'horde.warning'); + } catch (Horde_Exception_HookNotSet $e) {} + } + if (Horde_Util::getFormData('removeQueuedSignup')) { + $signup->removeQueuedSignup($info['user_name']); + } + $notification->push(sprintf(_("Successfully added \"%s\" to the system."), $info['user_name']), 'horde.success'); + $addForm->unsetVars($vars); + } + } + } + break; + +case 'remove_f': + $f_user_name = Horde_Util::getFormData('user_name'); + $remove_form = true; + break; + +case 'remove': + $f_user_name = Horde_Util::getFormData('user_name'); + if (empty($f_user_name)) { + $notification->push(_("You must specify a username to remove."), 'horde.message'); + } elseif (Horde_Util::getFormData('submit') !== _("Cancel")) { + if (is_a($result = $auth->removeUser($f_user_name), 'PEAR_Error')) { + $notification->push(sprintf(_("There was a problem removing \"%s\" from the system: ") . $result->getMessage(), $f_user_name), 'horde.error'); + } else { + $notification->push(sprintf(_("Successfully removed \"%s\" from the system."), $f_user_name), 'horde.success'); + } + } + $vars->remove('user_name'); + break; + +case 'clear_f': + $f_user_name = Horde_Util::getFormData('user_name'); + $clear_form = true; + break; + +case 'clear': + $f_user_name = Horde_Util::getFormData('user_name'); + if (empty($f_user_name)) { + $notification->push(_("You must specify a username to clear out."), 'horde.message'); + } elseif (Horde_Util::getFormData('submit') !== _("Cancel")) { + if (is_a($result = $auth->removeUserData($f_user_name), 'PEAR_Error')) { + $notification->push(sprintf(_("There was a problem clearing data for user \"%s\" from the system: ") . $result->getMessage(), $f_user_name), 'horde.error'); + } else { + $notification->push(sprintf(_("Successfully cleared data for user \"%s\" from the system."), $f_user_name), 'horde.success'); + } + } + $vars->remove('user_name'); + break; + +case 'update_f': + $f_user_name = Horde_Util::getFormData('user_name'); + $update_form = true; + break; + +case 'update': + $user_name_1 = Horde_Util::getPost('user_name'); + $user_name_2 = Horde_Util::getPost('user_name2', $user_name_1); + $fullname = Horde_Util::getPost('user_fullname'); + $email = Horde_Util::getPost('user_email'); + + $result = false; + if ($auth->hasCapability('update')) { + $user_pass_1 = Horde_Util::getPost('user_pass_1'); + $user_pass_2 = Horde_Util::getPost('user_pass_2'); + + if (empty($user_name_1)) { + $notification->push(_("You must specify the username to update."), 'horde.error'); + } elseif (empty($user_pass_1) || empty($user_pass_2)) { + // Don't update, but don't complain. + } elseif ($user_pass_1 != $user_pass_2) { + $notification->push(_("Passwords must match."), 'horde.error'); + } else { + $result = $auth->updateUser($user_name_1, + $user_name_2, + array('password' => $user_pass_1)); + } + } + + if (is_a($result, 'PEAR_Error')) { + $notification->push(sprintf(_("There was a problem updating \"%s\": %s"), + $user_name_1, $result->getMessage()), 'horde.error'); + } else { + $identity = Horde_Prefs_Identity::singleton('none', $user_name_1); + $identity->setValue('fullname', $fullname); + $identity->setValue('from_addr', $email); + $identity->save(); + + $notification->push(sprintf(_("Successfully updated \"%s\""), + $user_name_2), 'horde.success'); + } + $vars->remove('user_name'); + break; + +case 'approve_f': + $thisSignup = $signup->getQueuedSignup(Horde_Util::getFormData('user_name')); + $info = $thisSignup->getData(); + + $vars->set('password', + array('original' => $info['password'], + 'confirm' => $info['password'])); + unset($info['password']); + $vars->set('extra', $info); + + $vars->set('removeQueuedSignup', true); + $addForm->addHidden('', 'removeQueuedSignup', 'boolean', true); + break; + +case 'removequeued_f': + $f_user_name = Horde_Util::getFormData('user_name'); + $removequeued_form = true; + break; + +case 'removequeued': + $result = $signup->removeQueuedSignup(Horde_Util::getFormData('user_name')); + if (is_a($result, 'PEAR_Error')) { + $notification->push($result); + } else { + $notification->push(sprintf(_("The signup request for \"%s\" has been removed."), Horde_Util::getFormData('user_name'))); + } + break; +} + +$title = _("User Administration"); +Horde::addScriptFile('stripe.js', 'horde'); +require HORDE_TEMPLATES . '/common-header.inc'; +require HORDE_TEMPLATES . '/admin/menu.inc'; + +if (isset($update_form) && $auth->hasCapability('list')) { + $identity = Horde_Prefs_Identity::singleton('none', $f_user_name); + require HORDE_TEMPLATES . '/admin/user/update.inc'; +} elseif (isset($remove_form) && + $auth->hasCapability('list') && + $auth->hasCapability('remove')) { + require HORDE_TEMPLATES . '/admin/user/remove.inc'; +} elseif (isset($clear_form)) { + require HORDE_TEMPLATES . '/admin/user/clear.inc'; +} elseif (isset($removequeued_form)) { + require HORDE_TEMPLATES . '/admin/user/removequeued.inc'; +} elseif ($auth->hasCapability('add')) { + require HORDE_TEMPLATES . '/admin/user/add.inc'; + if ($conf['signup']['allow'] && $conf['signup']['approve']) { + require HORDE_TEMPLATES . '/admin/user/approve.inc'; + } +} else { + require HORDE_TEMPLATES . '/admin/user/noadd.inc'; +} + +if ($auth->hasCapability('list')) { + /* If we aren't supplied with a page number, default to page 0. */ + $page = Horde_Util::getFormData('page', 0); + $search_pattern = Horde_Util::getFormData('search_pattern', ''); + + $users = $auth->listUsers(); + if (is_a($users, 'PEAR_Error')) { + throw new Horde_Exception($users); + } + + /* Returns only users that match the specified pattern. */ + $users = preg_grep('/' . $search_pattern . '/', $users); + sort($users); + + $viewurl = Horde_Util::addParameter('admin/user.php', 'search_pattern', $search_pattern); + + $numitem = count($users); + $perpage = 20; + + $min = $page * $perpage; + while ($min > $numitem) { + $page--; + $min = $page * $perpage; + } + $max = $min + $perpage; + + $start = ($page * $perpage) + 1; + $end = min($numitem, $start + $perpage - 1); + + require HORDE_TEMPLATES . '/admin/user/list.inc'; +} else { + require HORDE_TEMPLATES . '/admin/user/nolist.inc'; +} + +require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/config/.htaccess b/horde/config/.htaccess new file mode 100644 index 000000000..3a4288278 --- /dev/null +++ b/horde/config/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/horde/config/conf.php.dist b/horde/config/conf.php.dist new file mode 100644 index 000000000..00f3db0a7 --- /dev/null +++ b/horde/config/conf.php.dist @@ -0,0 +1,73 @@ + 'Administrator'); +$conf['prefs']['driver'] = 'session'; +$conf['menu']['always'] = false; +$conf['portal']['fixed_blocks'] = array(); +$conf['imsp']['enabled'] = false; +$conf['kolab']['enabled'] = false; +$conf['log']['enabled'] = false; diff --git a/horde/config/conf.xml b/horde/config/conf.xml new file mode 100644 index 000000000..0ccd737af --- /dev/null +++ b/horde/config/conf.xml @@ -0,0 +1,2033 @@ + + + + + General Horde Settings + false + PHP Settings + E_ALL & ~E_NOTICE + 0 + true + + 077 + + URL Settings + 2 + + 0 + 1 + 2 + 3 + + + + + + $_SERVER['SERVER_NAME'] + + + + + 30 + 30 + false + + false + rewrite + + + + + + + Session Settings + + Horde + true + nocache + + 0 + + + $_SERVER['SERVER_NAME'] + + /horde + + + + + + Database Settings + <strong>NOTE:</strong> These are only the + <em>default</em> values for any database driven backends. You + still need to configure the different systems like "Preferences" to actually + <em>use</em> a database backend. + + + + + + + Authentication Settings + + true + true + false + false + list + + list + input + both + + + + + + + + imp + + + + + + + + + + horde_user + + false + + + + + + This authentication driver needs manual configuration not possible + through this interface. Add the appropriate configuration lines at the + end of the generated configuration file. See + http://wiki.horde.org/AuthCompositeHowTo for details. + + + + + + localhost + + 21 + + + + + + + crypt-des + + aprmd5 + crypt + crypt-blowfish + crypt-des + crypt-md5 + md5-base64 + md5-hex + plain + sha + smd5 + ssha + + + + + + + + + + + + + + localhost + 143 + none + + none + tls + ssl + + + + + + + + + + + + + + + + + + + + + + + + + false + 3 + 5 + + + + + + + localhost + + + + 3 + + 2 + 3 + + + false + sub + + sub + one + + + + + false + + ssha + + aprmd5 + crypt + crypt-blowfish + crypt-des + crypt-md5 + md5-base64 + md5-hex + msad + plain + sha + smd5 + ssha + + + + + shadowAccount,inetOrgPerson + + objectclass + + + + + + + + + no + + + 5 + 30 + 5 + + + + + + + + + /bin/su + + + + + + + + + + + + php + + + + + + + /etc/passwd + crypt + + aprmd5 + crypt + crypt-blowfish + crypt-des + crypt-md5 + md5-base64 + md5-hex + plain + sha + smd5 + ssha + + + false + + + + false + + + + + + localhost + + PAP + + PAP + CHAP_MD5 + MSCHAPv1 + MSCHAPv2 + + + + + + + + + + + + + horde + php + + + + + + localhost + + + + + + + + localhost + + /usr/bin/smbclient + + + + + + + + + + + + + + ssha + + aprmd5 + crypt + crypt-blowfish + crypt-des + crypt-md5 + md5-base64 + md5-hex + plain + sha + smd5 + ssha + + + false + + + + + + mysql + + mssql + mysql + mysqli + odbc + oci8 + pgsql + + + unix + + + + + 5432 + + + + localhost + horde + + horde + + Some special tokens can be used in the sql query. They are replaced at + the query stage:<ul> + <li>"\L" will be replaced by the user's login</li> + <li>"\P" will be replaced by the user's password</li> + <li>"\O" will be replaced by the old user's login (required for + update)</li></ul> + Eg: "SELECT * FROM users WHERE uid = \L AND passwd = \P AND billing = + 'paid'" + + + + + + + + + + ssha + + aprmd5 + crypt + crypt-blowfish + crypt-des + crypt-md5 + md5-base64 + md5-hex + plain + sha + smd5 + ssha + + + false + + + + + + + + localhost + 143 + none + mysql + + mssql + mysql + odbc + oci8 + pgsql + + + unix + + + + + 5432 + + + + localhost + horde + + horde + horde_users + user_uid + user_pass + none + ssha + + aprmd5 + crypt + crypt-blowfish + crypt-des + crypt-md5 + md5-base64 + md5-hex + plain + sha + smd5 + ssha + + + + + false + cyrus + + + + + + REMOTE_USER + + + + + + + + + + + + + + + + Terms of Service Agreement + + + + + + + Sign Up Settings + false + + + + + + + + + + + + true + + + + + + + + + Logging Settings + true + + PEAR_LOG_NOTICE + + PEAR_LOG_EMERG + PEAR_LOG_ALERT + PEAR_LOG_CRIT + PEAR_LOG_ERR + PEAR_LOG_WARNING + PEAR_LOG_NOTICE + PEAR_LOG_INFO + PEAR_LOG_DEBUG + + + HORDE + + + + + + file + + + + false + + + + + + + + + + + + + + + + + + + + + /tmp/horde.log + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + log_table + + $conf['sql'] + + + + + log_table + + + + false + + + + + + + + + + + + + + + + + + + + false + + + + + Preference System Settings + + Sql + + + + + + + + + + + + + + + + localhost + + 389 + 3 + + 2 + 3 + + + false + + + + + + + + + + + + + + + + + + + + + + + + + Alarm System Settings + sql + + + + + + + 300 + + + + + + + + + DataTree System Settings + null + + + + + + + + + + + + + + + + Groups Settings + + The Hooks backend allows hooks to extend a group to dynamically include + members into a group. See hooks.php.dist for an example. + + sql + + + + + + localhost + + + + 3 + + 2 + 3 + + + false + cn + + memberUid + + + posixGroup,hordeGroup + objectclass + + + posixGroup + + + + + + + + + + + + + Group Caching + Enabling group caching improves performance because the + group backend will only be queried once per session. But it also increases + the users' session sizes, and group changes won't take effect before the + users log in the next time. + false + + + + + + Permissions Settings + Sql + + + + + + + + + Shares Settings + Shares are objects or lists that can be shared with other + users, e.g. calendars that other users can be given read or write access + to. + + Allow Sharing? + false + + Allow sharing with groups that users aren't members + of? + false + + Share Caching + Enabling share caching improves performance because the + share backend will only be queried once per session. But it also increases + the users' session sizes, and share changes won't take effect before the + users log in the next time. + false + + Shares Driver + + You can use different driver types for the Horde Share + system. The default driver is the SQL driver. + + sql + + + + + + + + + Cache System Settings + 86400 + file + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + Javascript Caching + false + + + + + + + For filesystem caching to work, the "static" directory in the horde + base must be writable by the user the web server is running as. If + running Horde in a cluster (or behind a single web frontend), to use + filesystem caching it is best to have every PHP backend server have + access to a shared drive that is visible and mounted to the "static" + directory on the web frontend. + + + + + <strong>Requires a configured Horde_Cache backend.</strong> + + + + 86400 + php + + + + /opt/java/jre/bin/java + + + + /opt/java/jre/bin/java + + + + + + + + CSS Caching + false + + + + + + + For filesystem caching to work, the "static" directory in the horde + base must be writable by the user the web server is running as. If + running Horde in a cluster (or behind a single web frontend), to use + filesystem caching it is best to have every PHP backend server have + access to a shared drive that is visible and mounted to the "static" + directory on the web frontend. + + + + + <strong>Requires a configured Horde_Cache backend.</strong> + + + + 86400 + php + + + + + + + + + + + Lock System Settings + Sql + + + + + + + + + + + + + + + Token System Settings + + none + + + + + + + + + + + + + + + + + + + + Mailer Settings + sendmail + + + + /usr/lib/sendmail + -oi + + + + + + + + 0 + + false + true + DIGEST-MD5 + CRAM-MD5 + LOGIN + PLAIN + + + + + + + + + + Format + false + + + + + + Virtual File Storage Settings + + + + + + + Custom Session Handler Settings + none + + + If you have configured a custom session extension in php.ini, such as + native memcache sessions, then you should use this option. Horde doesn't + force PHP to use the file-based session handler, so your php.ini + settings settings will be deferred to. + + + + + + + + + + + + + + + + false + true + unix + + + + + 3306 + + + + localhost + horde + + horde + + + + + + + false + horde + horde + + + + + + + + false + unix + + + + + 5432 + + + + localhost + horde + + horde + + + + + + false + unix + + + + + 5432 + + + + localhost + horde + + horde + + + + + + + false + + + + + + + + + false + + + + + + + HTTP Proxy Settings + + If you need to use a proxy for fetching HTTP resources (feeds, + security keys, external calendars or free/busy information, + etc.), configure it here. + + + + + + + + + + + + Spell Checker Settings + + + + + + + + + + + + + + GnuPG Settings + + pgp.mit.edu + + pgp.mit.edu + keyserver.noreply.org + + + 10 + + + + + + OpenSSL Settings + + + + + + + + Image Manipulation Settings + + + + Image Metadata Driver Settings + Bundled + + + + + + + + + + + + + + MIME Detection Settings + + + + + + + Country Lookup Settings + + + + + + + DNS Lookup Settings + + + + + + + + Problem Reporting Settings + false + + array() + + + webmaster@example.com + example.com + + + + + true + + + + + Menu Settings + + + + + + + + false + + + all + + all + authenticated + never + + + authenticated + + all + authenticated + never + + + all + + all + authenticated + never + + + all + + all + never + + + authenticated + + authenticated + never + + + all + + all + never + + + authenticated + + authenticated + never + + + + + + + + + + + + + + Portal Blocks Settings + + + + + + + weather.com Configuration + + + Use of the weather.com block requires free registration for the XML + feed at http://www.weather.com/services/xmloap.html. + After registration, an email will be returned with the Partner ID and + license key.<br /> + NOTE: weather.com guidelines require registration and use of the returned + values, but the application appears to function with any string values. + + + + + + Fortune Configuration + + + + + Account Info Configuration + + null + + + + + /usr/bin/quota + + /bin/grep + false + /etc/mtab + + + + + /usr/bin/finger + localhost + + + + + localhost + 389 + + o=example.com,c=US + + + + uid + 3 + + 2 + 3 + + + false + + + + + This will use the parameters set in the Kolab + Groupware Server tab. You must enable Kolab integration for this to + work. + uid + false + + + + + + + + + User Capabilities and Constraints + false + + + + + + API Keys Settings + + + + + + + + Facebook Integration Settings + If you want to allow your users to interact with their + Facebook profiles, and you've set up the necessary settings on Facebook, you + can enter the key and secret here. + false + + + + + + + + + Twitter Integration Settings + If you want to allow your users to interact with their + Twitter account, enable this section. If you've obtained an OAuth secret and + key from Twitter, Horde can use OAuth to authenticate to Twitter, otherwise, + users can still access Twitter services, but must use the (insecure) Http + Basic Authentication method. + false + + + + + + + + + + + + IMSP Server Settings + If you plan to use any of Horde's IMSP server support, + enable this option and configure the server settings below. Note that you + must still configure/enable specific IMSP support in the appropriate + section. + false + + + IMSP Server Settings + localhost + 406 + plaintext + + + + + /tmp/ + + /cyrus/usr/cyrus/bin/imtest + + + LOGIN + gssapi + + + + + + + + + + + + Kolab Server Settings + + <strong>*** IF YOU HAVE NO IDEA WHAT KOLAB IS THEN YOU CAN SAFELY + IGNORE THIS TAB ***</strong><br /> + Kolab is in no way required for normal Horde usage. If, however, you + intend to use Horde as a webclient for Kolab then you will need to ensure + that the following fields correspond to those required by your Kolab + installation. You can find some of the required values in the + <code> $KOLAB_ROOT/etc/kolab/kolab.conf</code> configuration + file. Please note that the old iCal/vCard storage format has been dropped + in favour of the new XML storage format &amp; IMAP folder annotations; + subsequently the Horde Kolab modules will only work with version 2 of the + Kolab server.<br /> + If you would like to find out more about Kolab then please visit the Kolab + community website at http://www.kolab.org/ + + false + + + Kolab LDAP Server Settings + + localhost + 389 + dc=example,dc=com + cn=nobody,cn=internal,dc=example,dc=com + + + Kolab Cyrus IMAP Server Settings + + localhost + 143 + 2000 + example.com + true + + Kolab SMTP Server Settings + + localhost + 25 + + Kolab Free/Busy Application Settings + + + Enter the leading part of the URL to the Kolab Free/Busy + application here. This will usually be + "https://localhost/freebusy" but if you installed it so that + you reach the application at "https://freebusy.example.org" + then you would enter "https://freebusy.example.org". The URL + "https://freebusy.example.org/freebusy" would thus need the + setting "https://freebusy.example.org/freebusy". + + https://localhost/freebusy + + + + + + + + + Memcache Server Settings + false + + + localhost + 11211 + + false + false + + + 0 + + + + true + + + + + diff --git a/horde/config/hooks.php.dist b/horde/config/hooks.php.dist new file mode 100644 index 000000000..c4f2eabf6 --- /dev/null +++ b/horde/config/hooks.php.dist @@ -0,0 +1,718 @@ + will be called after that + * preference is altered. It does not receive any parameters and does not + * expect a return value. + * + * See the prefs_change_hook_theme declaration below for an example. + * + * Setting value + * ------------- + * If 'hook' => true in a preference attribute, a hook named + * prefs_hook_ will be run on login. It receives the username as + * the only parameter and the return value from the function will be used as + * the preference value. + * + * This hook is ONLY executed on login and preferences are cached during a + * users' session. + * + * Any preference that is NOT LOCKED, that is set by a hook, WILL BE SAVED + * WITH THAT VALUE. This means: + * 1) Users will get the results of the hook set for them in their + * preferences. + * 2) The next time they login and load their preferences, the hook will NOT + * be called. However, if the preference is locked, the result of the hook + * will never be saved. + * + * See the prefs_hook_theme declaration below for an example. + * + * Authentication/Login Hooks + * ========================== + * There are three special hooks called during the initial authentication + * of every Horde application. These hooks are avilable in ALL applications. + * + * preauthenticate + * --------------- + * This hook is used to dynamically alter the login credentials before + * authentication occurs. + * + * If there is no active session, $userId and $credentials will be the values + * provided by the base Horde authentication driver. + * For all other apps, $userId and $credentials will be the values of the + * currently logged on Horde user. + * + * Parameters in: + * $userId (string): User ID to be used for authentication. + * $credentials (array): The array of credentials to be used for + * authentication. The key 'authMethod' will contain + * the authentication event that triggered the hook. + * Possible values: 'authenticate', 'transparent', or + * 'admin'. + * + * The return value from this hook is as follows: + * [throw Horde_Auth_Exception] - Fatal error. + * false (boolean) - Authentication will fail. + * true (boolean) - Authentication will continue with no alteration of the + * user ID/credentials. + * (array) - Replace the credentials with the given key/values. Keys are + * 'userId' and 'credentials'. Only the keys defined will be + * altered. + * + * postauthenticate + * ---------------- + * This hook is used to dynamically alter the login credentials after + * authentication occurs. + * + * Parameters in: + * $userId (string): The Horde ID. + * $credentials (array): The array of credentials used for authentication. + * + * The return value from this hook is as follows: + * [throw Horde_Auth_Exception] - Fatal error. + * false (boolean) - Authentication will fail. + * true (boolean) - Authentication succeeds with no alteration of the + * credentials. + * (array) - Replace the credentials with the given value. + * + * authusername + * ------------ + * This hook is used to dynamically convert between an authentication username + * and a Horde username. + * + * Parameters in: + * $userId (string): The username. + * $toHorde (boolean): If true, convert from authentication ID to Horde ID. + * Otherwise, do the reverse conversion. + * + * The return value from this hook is as follows: + * [throw Horde_Auth_Exception] - Fatal error. + * (string) - The converted username. + * + * pushapp + * ------- + * This hook is used to do any local processing necessary to initialize an + * application. It is passed no parameters and expects no return value. + * + * TODO: groupldap, share_add, share_modify, share_remove + * + * $Id$ + */ + +class Horde_Hooks +{ +// // Example theme hook function. This shows how you can access things +// // like the currently logged in user, global variables, server config, +// // etc. It isn't, however, something you probably want to actually use +// // in production, by virtue of demonstrating all those. :) +// function prefs_hook_theme($username = null) +// { +// if (Horde_Auth::getAuth() != 'chuck') { +// return 'mozilla'; +// } +// +// switch ($GLOBALS['registry']->getApp()) { +// case 'imp': +// return 'brown'; +// +// case 'turba': +// return 'orange'; +// +// case 'kronolith': +// return 'green'; +// +// default: +// return ''; +// } +// } + + +// // Example preferences change hook. +// function prefs_change_hook_theme() +// { +// $GLOBALS['notification']->push('You changed your theme to ' . $GLOBALS['prefs']->getValue('theme') . '!'); +// } + + +// // Example from_addr hook function. THIS FUNCTION ASSUMES THAT YOU ARE +// // USING A LDAP SERVER and that your /etc/ldap.conf is correctly set to +// // a valid host. +// // +// // You get passed NOTHING; you are responsible for bringing in to scope +// // any information you need. You can "global" anything else you need. +// // Return an address - either just the user@ side or a full address - +// // and it will be used. +// function prefs_hook_from_addr($name = null) +// { +// // Example #1 +// if (is_null($name)) { +// $name = Horde_Auth::getAuth(); +// } +// +// if (!empty($name)) { +// $base_context = 'o=myorg'; +// $scope = 'sub'; +// +// // You will probably need to replace cd= with uid=; this syntax +// // is for Netware 5.1 nldap. +// $cmd = '/usr/bin/ldapsearch -b ' . $base_context . ' -s ' . $scope . ' cn=' . +// escapeShellCmd(Horde_Auth::getAuth()) . +// ' | /usr/bin/grep mail | /usr/bin/awk \'{print $2}\''; +// $mails = `$cmd`; +// $mail_array = explode("\n", $mails); +// +// // Send back the first email found, not the whole list. +// $mail = $mail_array['0']; +// +// // If no email address is found, then the login name will +// // be used. +// return (empty($mail) ? '' : $mail); +// } +// +// return ''; +// +// +// // Example #2 +// $ldapServer = '172.31.0.236'; +// $ldapPort = '389'; +// $searchBase = 'o=myorg'; +// +// $ds = @ldap_connect($ldapServer, $ldapPort); +// +// if (is_null($name)) { +// $name = Horde_Auth::getAuth(); +// if ($name === false) { +// return ''; +// } +// } +// +// // You will probably need to replace cn= with uid=; this syntax +// // is for Netware 5.1 nldap. +// $searchResult = @ldap_search($ds, $searchBase, 'cn=' . $name); +// $information = @ldap_get_entries($ds, $searchResult); +// if (($information === false) || ($information['count'] == 0)) { +// $user = ''; +// } else { +// $user = ($information[0]['mail'][0] != '') +// ? $information[0]['mail'][0] +// : $information[0]['cn'][0]; +// } +// +// ldap_close($ds); +// +// return empty($user) ? $name : $user; +// } + + +// // Examples on how to set the fullname. +// function prefs_hook_fullname($user = null) +// { +// // Example #1: Set the fullname from the GECOS information in the +// // passwd file. +// if (is_null($user)) { +// $user = Horde_Auth::getBareAuth(); +// if ($user === false) { +// return ''; +// } +// } +// +// $array = posix_getpwnam($user); +// $gecos_array = explode(',', $array['gecos']); +// return empty($gecos_array) ? $user : $gecos_array[0]; +// +// +// // Example #2: Set the fullname from LDAP information. In this +// // example we look if a Spanish name exists and return this or the +// // standard 'cn' entry if not. +// $ldapServer = 'ldap.example.com'; +// $ldapPort = '389'; +// $searchBase = 'ou=people,o=example.com'; +// $ldapcharset = 'utf-8'; +// $outputcharset = Horde_Nls::getCharset(); +// +// $ds = @ldap_connect($ldapServer, $ldapPort); +// +// if (is_null($user)) { +// $user = Horde_Auth::getAuth(); +// if ($user === false) { +// return ''; +// } +// } +// +// $searchResult = @ldap_search($ds, $searchBase, 'uid=' . $user); +// $information = @ldap_get_entries($ds, $searchResult); +// if (($information === false) || ($information['count'] == 0)) { +// $name = ''; +// } else { +// $name = ($information[0]['cn;lang-es'][0] != '') +// ? $information[0]['cn;lang-es'][0] +// : $information[0]['cn'][0]; +// } +// +// ldap_close($ds); +// +// $name = Horde_String::convertCharset($name, $ldapcharset, $outputcharset); +// return empty($name) ? $user : $name; +// } + + +// // Preauthenticate hook. See above for description of format. +// function preauthenticate($userId, $credentials) +// { +// // Example #1: Make Horde respect the Unix convention of not +// // allowing login when a file named /etc/nologin exist. +// return !file_exists('/etc/nologin'); +// +// +// // Example #2: Block access to Horde if the remote host exists in +// // the DNSBL. It requires the PEAR Net_DNSBL package. +// $dnsbl = new Net_DNSBL(); +// $dnsbl->setBlacklists(array('sbl-xbl.spamhaus.org', 'bl.spamcop.net')); +// return !$dnsbl->isListed($_SERVER['REMOTE_ADDR']); +// +// +// // Example #3: Block access for user 'foo'. +// return ($userId != 'foo'); +// +// +// // Example #4: Create credentials needed by the LDAP Horde_Auth +// // driver for adding/deleting/updating users. +// $entry['dn'] = 'uid=' . $userId . ',ou=People,dc=example.com'; +// $entry['cn'] = isset($credentials['user_fullname']) +// ? $credentials['user_fullname'] +// : $userId; +// $entry['sn'] = $userId; +// $entry['objectclass'][0] = 'top'; +// $entry['objectclass'][1] = 'person'; +// $entry['objectclass'][2] = 'qmailuser'; +// $entry['objectclass'][3] = 'CourierMailACcount'; +// $entry['mailhost'] = 'mail.example.com'; +// $entry['mailMessageStore'] = '/home/mail/' . $userId; +// $entry['homeDirectory'] = '/home/mail/' . $userId; +// $entry['mailbox'] = $entry['homeDirectory'] . '/Maildir'; +// $entry['uid'] = $userId; +// $entry['accountStatus'] = 'active'; +// $entry['mailQuota'] = '104857600S'; +// $entry['mail'] = $userId; +// $entry['uidNumber'] = 501; +// $entry['gidNumber'] = 501; +// +// // Need to check for new users (password) and edited users +// // (user_pass_2) +// if (isset($credentials['password'])) { +// $entry['userPassword'] = '{MD5}' . base64_encode(pack('H*', md5($credentials['password']))); +// } elseif (isset($credentials['user_pass_2'])) { +// $entry['userPassword'] = '{MD5}' . base64_encode(pack('H*', md5($credentials['user_pass_2']))); +// } +// $entry['deliveryMode'] = 'nolocal'; +// +// return array($userId, $entry); +// } + + +// // Postauthenticate hook. See above for description of format. +// function postauthenticate($userId, $credentials) +// { +// // Example #1: Validating the user's right to login to Horde by +// // by consulting group membership in an LDAP directory. That +// // way, if your Horde installation is configured to authenticate +// // against IMP which in turn authenticate via IMAP, it is still +// // possible to limit access to Horde by group membership. The +// // following example had been made with an MS Active Directory in +// // mind. Note that if the LDAP directory is unavailable or some +// // other error occur, authentication will fail. +// $ldapServer = 'ad.example.com'; +// $ldapPort = '389'; +// +// // Note that credential is sent plain-text in this case, so don't +// // use privileged account here or setup SSL (by using port 636 +// // above). +// $binddn = 'cn=WithoutPrivilege,dc=ulaval-dev,dc=ca'; +// $bindpw = 'Remember this is sent in the clear unless SSL is used'; +// $searchBase = 'ou=People,dc=example,dc=com'; +// +// // Attribute to match $userId against in search +// $userAttr = 'sAMAccountName'; +// +// // Group membership attribute, need to be all lowercase +// $groupAttr = 'memberof'; +// +// // Attribute to check for right to use Horde +// $groupdn = 'cn=HordeUser,ou=People,dc=example,dc=com'; +// $ret = false; +// +// $ds = @ldap_connect($ldapServer, $ldapPort); +// +// if (@ldap_bind($ds, $binddn, $bindpw)) { +// $searchResult = @ldap_search($ds, $searchBase, $userAttr . '=' . $userId, array($groupAttr), 0, 1, 5); +// if ($information = @ldap_get_entries($ds, $searchResult)) { +// // Make pattern case-insensitive +// $pattern = '/' . $groupdn . '/i'; +// foreach ($information[0][$groupAttr] as $group) { +// if (preg_match($pattern, $group)) { +// $ret = true; +// break; +// } +// } +// } +// } +// +// ldap_close($ds); +// +// return $ret; +// } + + + // Username conversion hook. See above for description of format. +// function authusername($userId, $toHorde) +// { +// // Example #1: Append the virtual domain to the username. +// // ex. $HTTP_HOST = 'mail.mydomain.com', $userId = 'myname' returns: +// // 'myname@mydomain.com' +// $vdomain = preg_replace('|^mail\.|i', '', getenv('HTTP_HOST')); +// $vdomain = Horde_String::lower($vdomain); +// +// if ($toHorde) { +// return $userId . '@' . $vdomain; +// } else { +// return (substr($userId, -strlen($vdomain)) == $vdomain) +// ? substr($userId, 0, -strlen($vdomain)) +// : $userId; +// } +// +// +// // Example #2: Convert username to all lowercase. This might be +// // necessary if an authentication backend is case insensitive to +// // take into account that Horde's preference system is case +// // sensitive. +// // ex. $userId = 'MyName' returns: 'myname' +// return $toHorde +// ? Horde_String::lower($userId) +// : $userId; +// } + + + // Post-push hook. See above for format. +// function pushapp() +// { +// // Code to run if the app is switched to horde +// } + + /** + * Allow altering or validating data submitted by a user during a signup + * request before any attempts are made to add them to the system. + * + * @param array $info TODO + * + * @return array TODO + */ +// function signup_preprocess($info) +// { +// $info['user_name'] = Horde_String::lower($info['user_name']); +// return $info; +// } + + + /** + * Callback when a signup is queued for administrative approval. + * + * @param string $userId The username. + * @param array $data TODO + */ +// function signup_queued($userId, $data) +// { +// // Example #1: Send a notification message to the web server +// // administrator's e-mail address. +// $headers = array( +// 'To' => $_SERVER['SERVER_ADMIN'], +// 'From' => $_SERVER['SERVER_ADMIN'], +// 'Subject' => 'New ' . $GLOBALS['registry']->get('name', 'horde') . ' Signup' +// ); +// +// try { +// $extraFields = Horde::callHook('signup_getextra'); +// } catch (Horde_Exception $e) { +// } catch (Horde_Exception_HookNotSet $e) {} +// +// $msg = _("A new signup has been received and is awaiting your approval.") . +// "\n\n" . +// $this->_signup_queued_walkdata($extraFields, $data) . +// "\n" . +// sprintf(_("You can approve this signup at %s"), Horde::applicationUrl('admin/user.php', true, -1)); +// +// $mailer = Mail::factory($GLOBALS['conf']['mailer']['type'], $GLOBALS['conf']['mailer']['params']); +// $mailer->send($_SERVER['SERVER_ADMIN'], $headers, $msg); +// } +// +// // Helper function for signup_queued Example #1 +// function _signup_queued_walkdata($fields, $data) +// { +// $msg = ''; +// foreach ($data as $field => $value) { +// if (in_array($field, array('password', 'url'))) { +// continue; +// } +// +// if (is_array($value)) { +// $msg .= $this->_signup_queued_walkdata($fields, $value); +// } else { +// $field = isset($fields[$field]['label']) +// ? $fields[$field]['label'] +// : $field; +// $msg .= "$field: $value\n"; +// } +// } +// return $msg; +// } + + + /** + * Provide any extra fields which need to be filled in when a + * non-registered user wishes to sign up. + * + * @return array An array of the following form: + *
+     * $somearray['somefieldname'] = array(...
+     * desc     - Any help text attached to the field
+     * label    - The text that the user will see attached to this field
+     * params   - Any allowed parameter to Horde_Form field types
+     * readonly - (boolean) Whether this editable
+     * required - (boolean) Whether this field is mandatory
+     * type     - Any allowed Horde_Form field type
+     * 
+ */ +// function signup_getextra() +// { +// // Example #1: A hypothetical case where we would want to store +// // extra information about a user into a turba sql address book. All +// // this example does is include the attributes.php file from turba. +// // NOTE: You NEED Turba to be correctly installed before you can use +// // this example. +// return Horde::loadConfiguration('attributes.php', 'attributes', 'turba'); +// } + + + /** + * TODO + * + * @param string $userId The username. + * @param array $extra A hash with the extra information requested via + * the signup_getextra hook. + * @param string $password The password. + */ +// function signup_addextra($userId, $extra, $password) +// { +// // Example #1: Continuation of Example #1 from signup_getextra(). +// // Here we connect to the database using the sql parameters +// // configured in $conf and store the extra fields in turba_objects, +// // using the $userId as the key for the object and values from the +// // $extra array. You could create your own sql syntax or code to +// store this in whichever backend you require. +// // NOTE: You NEED Turba to be correctly installed before you can use +// // this example. It also assumes you are using an SQL backend. +// $db = DB::connect($GLOBALS['conf']['sql'], true); +// +// $fields = $values = array(); +// foreach ($extra as $field => $value) { +// $fields[] = 'object_' . Horde_String::lower($field); +// $values[] = $db->quote(Horde_String::convertCharset($value, Horde_Nls::getCharset(), $GLOBALS['conf']['sql']['charset'])); +// } +// $fields[] = 'object_id'; +// $values[] = $db->quote($userId); +// +// $query = 'INSERT INTO turba_objects ( owner_id, ' . implode(', ', $fields) . ')'; +// $query .= ' VALUES ( \'admin\', ' . implode(', ', $values) . ')'; +// $result = $db->query($query); +// +// if ($result instanceof PEAR_Error) { +// throw new Horde_Exception($result); +// } +// } + + + /** + * Alter the share list. + * + * @param string $userId TODO + * @param TODO $perm TODO + * @param string $owner TODO + * @param array $share_list TODO + * + * @return array The altered share list. + */ +// function share_list($userId, $perm, $owner, $share_list) +// { +// return $share_list; +// } + + + /** + * Hook called if a user tries to make an action that is under permission + * control that they don't have sufficient permissions for. It can be + * used to show the user a custom message including HTML code (you have to + * take care about HTML escaping on your own), or to interrupt the code + * flow and send the user to a different page. + * + * @param string $permission Permission that failed. + * + * @return string An error message. + */ +// function perms_denied($permission) +// { +// // Example #1: Provide link to upgrade script. +// $app = (($pos = strpos($permission, ':')) === false) +// ? $permission +// : substr($permission, 0, $pos); +// +// // TODO: Notification +// return sprintf('Permission denied. Click HERE to upgrade %s.', $app, $GLOBALS['registry']->get('name')); +// } + + + /** + * Group hook driver. To use it you must set the group driver to hooks in + * conf.php. You can add users to groups as normal, and in addition this + * function will be called to dynamically include users in the group. + * + * @param string $groupName TODO + * @param string $userName TODO + * + * @return TODO + */ +// function group_driver($groupName, $userName) +// { +// // Example #1: Look up whether or not this user is part of the +// // "IT_department" group using an external database. +// global $conf; +// +// switch ($groupName) { +// case 'IT_department': +// $dept = 'IT'; +// $db = DB::connect($conf['sql'], true); +// $query = 'SELECT COUNT(*) FROM departments WHERE user_name = ? AND department = ?'; +// $values = array($userName, $dept); +// $result = $db->getOne($query, $values); +// return (!($result instanceof PEAR_Error) && $result > 0); +// +// default: +// return false; +// } +// } + + + /** + * IMSP share init. TODO + * + * @param TODO $share_obj TODO + * @param string $app TODO + */ +// function share_init($share_obj, $app) +// { +// // TODO: Move to turba? +// if (($app == 'turba') && +// (!empty($GLOBALS['cfgSources']['imsp']['use_shares']))) { +// // Only do this once per session or when this session variable +// // is purposely unset. +// if (!empty($_SESSION['imsp_synched'])) { +// return; +// } +// +// $results = Net_IMSP_Utils::synchShares($share_obj, $GLOBALS['cfgSources']['imsp']); +// if (!$results instanceof PEAR_Error) { +// $_SESSION['imsp_synched'] = true; +// +// // Now deal with adding or removing address books from prefs. +// // FIXME: Updating prefs seems to hang the server. Narrowed +// // down to the fact that $prefs->setValue() also attempts to +// // call a hook. (Commenting out the callHook call fixes). Can +// // anyone verify this on their install? +// $dirty = false; +// $abooks = $GLOBALS['prefs']->getValue('addressbooks'); +// $abooks = empty($abooks) +// ? array() +// : explode("\n", $GLOBALS['prefs']->getValue('addressbooks')); +// +// if (count($results['removed'] > 0)) { +// foreach ($results['removed'] as $sharename) { +// $key = array_search($sharename, $abooks); +// if ($key === true) { +// unset($abooks[$key]); +// $dirty = true; +// } +// } +// } +// +// if (count($results['added']) > 0) { +// foreach ($results['added'] as $sharename) { +// if (array_search($sharename, $abooks) === false) { +// $abooks[] = $sharename; +// $dirty = true; +// } +// } +// } +// +// if ($dirty) { +// $result = $GLOBALS['prefs']->setValue('addressbooks', implode("\n", $abooks)); +// } +// +// // We have to save the connection info for the imsp server +// // since the share_modify hook will not occur from within +// // turba's context. +// $_SESSION['imsp_config'] = $GLOBALS['cfgSources']['imsp']['params']; +// } +// } +// } + + + /** + * IMSP share modify. TODO + * + * @param TODO $share TODO + */ +// function share_modify($share) +// { +// $params = unserialize($share->get('params')); +// if (is_array($params) && !empty($params['source']) && +// $params['source'] = 'imsp' && +// !empty($_SESSION['imsp_config'])) { +// // Ensure we don't try to change ownership. +// $params = @unserialize($share->get('params')); +// $bookName = $params['name']; +// if (strpos($bookName, $share->get('owner')) !== 0) { +// $err = new Horde_Exception('Changing ownership of IMSP address books is not supported.'); +// $GLOBALS['notification']->push($err); +// throw $err; +// } + +// // Update the ACLS +// $perms = $share->getPermission(); +// $users = $perms->getUserPermissions(); +// foreach ($users as $user => $perm) { +// $acl = Net_IMSP_Utils::permsToACL($perm); +// $result = Net_IMSP_Utils::setACL($_SESSION['imsp_config'], $bookName, $user, $acl); +// } +// } +// } + +} diff --git a/horde/config/mime_drivers.php.dist b/horde/config/mime_drivers.php.dist new file mode 100644 index 000000000..950ba309b --- /dev/null +++ b/horde/config/mime_drivers.php.dist @@ -0,0 +1,618 @@ + 'text.png', + 'message/*' => 'mail.png', + 'unknown/*' => 'binary.png', + 'video/*' => 'video.png', + 'application/pgp-signature' => 'encryption.png', + 'application/x-pkcs7-signature' => 'encryption.png', + 'application/octet-stream' => 'binary.png' +); + + +/** + * Default text driver settings + */ +$mime_drivers['horde']['simple'] = array( + 'inline' => false, + 'handles' => array( + 'text/*' + ), + 'icons' => array( + 'default' => 'text.png' + ) +); + + +/** + * Plain text driver settings + */ +$mime_drivers['horde']['plain'] = array( + 'inline' => true, + 'handles' => array( + 'text/plain' + ), + 'icons' => array( + 'default' => 'text.png' + ) +); + + +/** + * Default audio driver settings + */ +$mime_drivers['horde']['audio'] = array( + 'inline' => false, + 'handles' => array( + 'audio/*' + ), + 'icons' => array( + 'default' => 'audio.png' + ) +); + + +/** + * Default smil driver settings + */ +$mime_drivers['horde']['smil'] = array( + 'inline' => true, + 'handles' => array( + 'application/smil' + ), + 'icons' => array( + 'default' => 'video.png' + ) +); + + +/** + * PHP driver settings + */ +$mime_drivers['horde']['php'] = array( + 'inline' => true, + 'handles' => array( + 'application/x-php', 'x-extension/phps', 'x-extension/php3s', + 'application/x-httpd-php', 'application/x-httpd-php3', + 'application/x-httpd-phps' + ), + 'icons' => array( + 'default' => 'php.png' + ) +); + + +/** + * CSS driver settings + */ +$mime_drivers['horde']['css'] = array( + 'inline' => true, + 'handles' => array( + 'text/css', 'x-extension/css' + ), + 'icons' => array( + 'default' => 'html.png' + ) +); + + +/** + * HTML text driver settings + */ +$mime_drivers['horde']['html'] = array( + // NOTE: Inline HTML viewing is DISABLED by default. + 'inline' => false, + 'handles' => array( + 'text/html' + ), + 'icons' => array( + 'default' => 'html.png' + ), + // Check for phishing exploits? + 'phishing_check' => true +); + + +/** + * Enriched text driver settings + */ +$mime_drivers['horde']['enriched'] = array( + 'inline' => true, + 'handles' => array( + 'text/enriched' + ), + 'icons' => array( + 'default' => 'text.png' + ) +); + + +/** + * Richtext text driver settings + */ +$mime_drivers['horde']['richtext'] = array( + 'inline' => true, + 'handles' => array( + 'text/richtext' + ), + 'icons' => array( + 'default' => 'text.png' + ) +); + + +/** + * Web C Plus Plus driver settings + * http://webcpp.sourceforge.net/ + */ +$mime_drivers['horde']['webcpp'] = array( + 'location' => '/usr/bin/webcpp', + 'inline' => true, + 'handles' => array( + 'text/xml', 'text/sgml', 'application/xml', 'application/x-sh', + 'application/x-javascript', 'application/x-tcl', 'x-extension/asm', + 'application/x-asp', 'x-extension/bas', 'x-extension/cs', + 'text/x-csrc', 'x-extension/rc', 'text/x-c++src', 'text/x-c++src', + 'text/x-c++src', 'text/x-chdr', 'x-extension/bat', 'text/x-fortran', + 'x-extension/f77', 'x-extension/f90', 'x-extension/for', + 'x-extension/ftn', 'text/x-java', 'application/x-javascript', + 'text/sgml', 'text/xml', 'text/x-pascal', 'application/x-cgi', + 'application/x-perl', 'application/x-python', 'text/x-sql', + 'text/x-tcl', 'application/x-shellscript', 'x-extension/vhd', + 'x-extension/vhdl' + ), + 'icons' => array( + 'default' => 'text.png', + 'text/xml' => 'xml.png', + 'text/x-csrc' => 'source-c.png', + 'text/x-chdr' => 'source-h.png', + 'text/x-java' => 'source-java.png', + 'application/x-javascript' => 'script-js.png' + ) +); + + +/** + * Source-Highlight driver settings + * http://www.gnu.org/software/src-highlite/ + */ +$mime_drivers['horde']['srchighlite'] = array( + 'location' => '/usr/bin/source-highlight', + 'inline' => true, + 'handles' => array( + 'text/x-csrc', 'text/x-c++src', 'text/x-java', 'application/x-perl', + 'application/x-python', 'text/x-c++src', 'text/cpp' + ), + 'icons' => array( + 'default' => 'text.png', + 'text/x-csrc' => 'source-c.png', + 'text/x-c++src' => 'source-c.png', + 'text/cpp' => 'source-c.png', + 'text/x-java' => 'source-java.png' + ) +); + + +/** + * GNU Enscript driver settings + */ +$mime_drivers['horde']['enscript'] = array( + 'location' => '/usr/bin/enscript', + 'inline' => true, + 'handles' => array( + 'application/x-cgi', 'application/x-shellscript', + 'application/x-javascript', 'application/x-perl', 'application/xml', + 'text/xml', 'text/diff', 'text/x-diff', 'text/x-patch', 'text/x-csrc', + 'x-extension/cs', 'text/x-java', 'text/x-chdr', 'text/x-c++src', + 'text/x-c++hdr', 'x-extension/vhd', 'x-extension/vhdl', 'text/x-sql', + 'x-extension/vb', 'x-extension/vba', 'text/x-emacs-lisp', 'text/x-tex' + ), + 'icons' => array( + 'default' => 'text.png', + 'text/xml' => 'xml.png', + 'application/xml' => 'xml.png', + 'text/x-csrc' => 'source-c.png', + 'text/x-chdr' => 'source-h.png', + 'text/x-java' => 'source-java.png', + 'application/x-javascript' => 'script-js.png' + ) +); + + +/** + * Tar driver settings + * To access gzipped files, the zlib library must have been built into PHP + * (with the --with-zlib option). + */ +$mime_drivers['horde']['tgz'] = array( + 'inline' => true, + 'handles' => array( + 'application/x-compressed-tar', 'application/x-tar', + 'application/x-tgz', 'application/x-gzip', 'application/x-gtar', + 'application/gzip', 'application/x-gzip-compressed' + ), + 'icons' => array( + 'default' => 'compressed.png' + ) +); + + +/** + * Zip file driver settings + */ +$mime_drivers['horde']['zip'] = array( + 'inline' => true, + 'handles' => array( + 'application/zip', 'application/x-compressed', + 'application/x-zip-compressed' + ), + 'icons' => array( + 'default' => 'compressed.png' + ) +); + + +/** + * RAR archive driver settings + */ +$mime_drivers['horde']['rar'] = array( + 'inline' => true, + 'handles' => array( + 'application/x-rar', 'application/x-rar-compressed' + ), + 'icons' => array( + 'default' => 'compressed.png' + ) +); + + +/** + * MS Word driver settings + * This driver requires AbiWord to be installed. + * AbiWord homepage: http://www.abisource.com/ + */ +$mime_drivers['horde']['msword'] = array( + 'location' => '/usr/bin/abiword', + 'inline' => false, + 'handles' => array( + 'application/vnd.ms-word', 'application/msword' + ), + 'icons' => array( + 'default' => 'msword.png' + ) +); + + +/** + * MS Excel driver settings + * This driver requires Gnumeric to be installed. + * Gnumeric homepage: http://projects.gnome.org/gnumeric/ + */ +$mime_drivers['horde']['msexcel'] = array( + 'location' => '/usr/bin/ssconvert', + 'inline' => false, + 'handles' => array( + 'application/vnd.ms-excel', 'application/msexcel', + 'application/x-msexcel' + ), + 'icons' => array( + 'default' => 'msexcel.png' + ) +); + + +/** + * MS Powerpoint driver settings + * This driver requires ppthtml, included with xlhtml, to be installed. + * xlhtml homepage: http://chicago.sourceforge.net/xlhtml/ + */ +$mime_drivers['horde']['mspowerpoint'] = array( + 'location' => '/usr/local/bin/ppthtml', + 'inline' => false, + 'handles' => array( + 'application/vnd.ms-powerpoint', 'application/mspowerpoint' + ), + 'icons' => array( + 'default' => 'mspowerpoint.png' + ) +); + + +/** + * vCard driver settings + */ +$mime_drivers['horde']['vcard'] = array( + 'handles' => array( + 'text/vcard', 'text/x-vcard', 'text/directory' + ), + 'icons' => array( + 'default' => 'vcard.png' + ) +); + + +/** + * RPM driver settings + */ +$mime_drivers['horde']['rpm'] = array( + 'location' => '/usr/bin/rpm', + 'inline' => false, + 'handles' => array( + 'application/x-rpm' + ), + 'icons' => array( + 'default' => 'rpm.png' + ) +); + + +/** + * Debian package driver settings + */ +$mime_drivers['horde']['deb'] = array( + 'location' => '/usr/bin/dpkg', + 'inline' => false, + 'handles' => array( + 'application/x-deb', 'application/x-debian-package' + ), + 'icons' => array( + 'default' => 'deb.png' + ) +); + + +/** + * Secure multiparts (RFC 1847) + */ +$mime_drivers['horde']['security'] = array( + 'inline' => true, + 'handles' => array( + 'multipart/encrypted', 'multipart/signed' + ), + 'icons' => array( + 'default' => 'encryption.png' + ) +); + + +/** + * Image settings + */ +$mime_drivers['horde']['images'] = array( + 'inline' => false, + 'handles' => array( + 'image/*' + ), + 'icons' => array( + 'default' => 'image.png' + ) +); + + +/** + * MS-TNEF Attachment (application/ms-tnef) settings + */ +$mime_drivers['horde']['tnef'] = array( + 'inline' => false, + 'handles' => array( + 'application/ms-tnef' + ), + 'icons' => array( + 'default' => 'binary.png' + ) +); + + +/** + * Digest message (RFC 2046 [5.2.1]) settings + */ +$mime_drivers['horde']['rfc822'] = array( + 'inline' => false, + 'handles' => array( + 'message/rfc822', 'x-extension/eml' + ), + 'icons' => array( + 'default' => 'mail.png' + ) +); + + +/** + * Report messages (RFC 3452) + */ +$mime_drivers['horde']['report'] = array( + 'inline' => true, + 'handles' => array( + 'multipart/report' + ), + 'icons' => array( + 'default' => 'mail.png' + ) +); + + +/** + * OpenOffice.org/StarOffice settings + */ +$mime_drivers['horde']['ooo'] = array( + 'inline' => false, + 'handles' => array( + 'application/vnd.sun.xml.calc', + 'application/vnd.sun.xml.calc.template', + 'application/vnd.sun.xml.draw', + 'application/vnd.sun.xml.draw.template', + 'application/vnd.sun.xml.impress', + 'application/vnd.sun.xml.impress.template', + 'application/vnd.sun.xml.math', + 'application/vnd.sun.xml.writer', + 'application/vnd.sun.xml.writer.global', + 'application/vnd.sun.xml.writer.template', + 'application/vnd.stardivision.calc', + 'application/vnd.stardivision.draw', + 'application/vnd.stardivision.impress', + 'application/vnd.stardivision.math', + 'application/vnd.stardivision.writer' + ), + 'icons' => array( + 'default' => 'ooo_calc.png', + 'application/vnd.sun.xml.calc' => 'ooo_calc.png', + 'application/vnd.stardivision.calc' => 'ooo_calc.png', + 'application/vnd.sun.xml.calc.template' => 'ooo_calc.png', + 'application/vnd.sun.xml.draw' => 'ooo_draw.png', + 'application/vnd.stardivision.draw' => 'ooo_draw.png', + 'application/vnd.sun.xml.draw.template' => 'ooo_draw.png', + 'application/vnd.sun.xml.impress' => 'ooo_impress.png', + 'application/vnd.stardivision.impress' => 'ooo_impress.png', + 'application/vnd.sun.xml.impress.template' => 'ooo_impress.png', + 'application/vnd.sun.xml.math' => 'ooo_math.png', + 'application/vnd.stardivision.math' => 'ooo_math.png', + 'application/vnd.sun.xml.writer' => 'ooo_writer.png', + 'application/vnd.stardivision.writer' => 'ooo_writer.png', + 'application/vnd.sun.xml.writer.global' => 'ooo_writer.png', + 'application/vnd.sun.xml.writer.template' => 'ooo_writer.png' + ) +); + + +/** + * Portable Document Format (PDF) files + */ +$mime_drivers['horde']['pdf'] = array( + /* This setting is irrelevant - PDF files can not be displayed inline. */ + 'inline' => false, + 'handles' => array( + 'application/pdf', 'application/x-pdf', 'image/pdf' + ), + 'icons' => array( + 'default' => 'pdf.png' + ) +); + + +/** + * RTF driver settings + * This driver requires UnRTF to be installed. + * UnRTF homepage: http://www.gnu.org/software/unrtf/unrtf.html + */ +$mime_drivers['horde']['rtf'] = array( + 'location' => '/usr/bin/unrtf', + 'inline' => false, + 'handles' => array( + 'text/rtf', 'application/rtf' + ), + 'icons' => array( + 'default' => 'text.png' + ) +); + + +/** + * WordPerfect driver settings + * This driver requires wpd2html to be installed. + * libwpd homepage: http://libwpd.sourceforge.net/ + */ +$mime_drivers['horde']['wordperfect'] = array( + 'location' => '/usr/bin/wpd2html', + 'inline' => false, + 'handles' => array( + 'application/vnd.wordperfect', 'application/wordperf', + 'application/wordperfect', 'application/wpd', 'application/x-wpwin' + ), + 'icons' => array( + 'default' => 'wordperfect.png' + ) +); diff --git a/horde/config/motd.php.dist b/horde/config/motd.php.dist new file mode 100644 index 000000000..9f0b57b76 --- /dev/null +++ b/horde/config/motd.php.dist @@ -0,0 +1,6 @@ + + + +
+
Powered by Horde
+ diff --git a/horde/config/prefs.php.dist b/horde/config/prefs.php.dist new file mode 100644 index 000000000..317aace59 --- /dev/null +++ b/horde/config/prefs.php.dist @@ -0,0 +1,575 @@ + 'enum'. + * + * escaped: For an enum or a select, are the keys and values already + * html-escaped? Defaults to false if not present. + * + * hook: Call a hook function for the value of this preference + * true: Will call the function prefs_hook_ + * to fill in the value of this preference. + * See hooks.php for more details. + * false: Normal behaviour - no hook is called. + * + * $Id$ + */ + +$prefGroups['identities'] = array( + 'column' => _("Your Information"), + 'label' => _("Personal Information"), + 'desc' => _("Change the name and address that people see when they read and reply to your emails."), + 'members' => array('default_identity', 'identityselect', 'deleteidentity', + 'id', 'fullname', 'from_addr') +); + +$prefGroups['authentication'] = array( + 'column' => _("Your Information"), + 'label' => _("Authentication Credentials"), + 'desc' => _("Set authentication credentials like user names and passwords for external servers."), + 'members' => array('credentialsui'), +); + +try { + $auth = Horde_Auth::singleton($GLOBALS['conf']['auth']['driver']); + if ($auth->hasCapability('update')) { + $prefGroups['forgotpass'] = array( + 'column' => _("Your Information"), + 'label' => _("Account Password"), + 'desc' => _("Set options to allow you to reset your password if you ever forget it."), + 'members' => array('security_question', 'security_answer', 'alternate_email') + ); + } +} catch (Horde_Exception $e) {} + +$prefGroups['language'] = array( + 'column' => _("Your Information"), + 'label' => _("Locale and Time"), + 'desc' => _("Set your preferred language, timezone and date options."), + 'members' => array('language', 'timezone', 'twentyFour', 'date_format', 'first_week_day') +); + +$prefGroups['categories'] = array( + 'column' => _("Your Information"), + 'label' => _("Categories and Labels"), + 'desc' => _("Manage the list of categories you have to label items with, and colors associated with those categories."), + 'members' => array('categorymanagement') +); + +$prefGroups['display'] = array( + 'column' => _("Other Information"), + 'label' => _("Display Options"), + 'desc' => _("Set your startup application, color scheme, page refreshing, and other display options."), + 'members' => array('initial_application', 'show_last_login', 'theme', + 'summary_refresh_time', 'show_sidebar', 'sidebar_width', + 'moz_sidebar', 'menu_view', 'menu_refresh_time', + 'widget_accesskey') +); + +$prefGroups['remote'] = array( + 'column' => _("Other Information"), + 'label' => _("Remote Servers"), + 'desc' => _("Set up remote servers that you want to access from your portal."), + 'url' => 'services/portal/rpcsum.php' +); + +if (!empty($GLOBALS['conf']['facebook']['key']) && !empty($GLOBALS['conf']['facebook']['secret'])) { + $prefGroups['facebook'] = array( + 'column' => _("Other Information"), + 'label' => _("Facebook Integration"), + 'desc' => _("Set up integration with your Facebook account."), + 'url' => 'services/facebook.php' + ); +} + +if (!empty($GLOBALS['conf']['twitter']['key']) && !empty($GLOBALS['conf']['twitter']['secret'])) { + $prefGroups['twitter'] = array( + 'column' => _("Other Information"), + 'label' => _("Twitter Integration"), + 'desc' => _("Set up integration with your Twitter account."), + 'url' => 'services/twitter.php' + ); +} + + +// For alternate IMSP authentication. +if (!empty($GLOBALS['conf']['imsp']['enabled'])) { + $prefGroups['imspauth'] = array( + 'column' => _("Other Information"), + 'label' => _("Alternate IMSP Login"), + 'desc' => _("Use if name/password is different for IMSP server."), + 'members' => array('imsp_auth_user', 'imsp_auth_pass') + ); +} + +// Determine functionality of richtext editor +$prefGroups['richtext'] = array( + 'column' => _("Other Information"), + 'label' => _("Rich Text Editor Options"), + 'desc' => _("Which plugins to enable for the Rich Text editor."), + 'members' => array('editor_plugins'), +); + +$prefGroups['syncml'] = array( + 'column' => _("Other Information"), + 'label' => _("SyncML"), + 'desc' => _("Configuration for syncing with PDAs, Smartphones and Outlook."), + 'url' => 'services/portal/syncml.php', + 'members' => array() +); + +// Personal Information preferences + +// default identity +// Set locked to true if you don't want the users to have multiple identities. +$_prefs['default_identity'] = array( + 'value' => 0, + 'locked' => false, + 'shared' => true, + 'type' => 'enum', + 'enum' => (isset($GLOBALS['identity']) && is_object($GLOBALS['identity'])) ? $GLOBALS['identity']->getAll('id') : array(), + 'desc' => _("Your default identity:"), +); + +// identities array +// Don't change anything here. +$_prefs['identities'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => true, + 'type' => 'implicit', +); + +// identify email confirmation +$_prefs['confirm_email'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => true, + 'type' => 'implicit', +); + +// identity selection widget +$_prefs['identityselect'] = array( + 'shared' => true, + 'type' => 'special', +); + +// delete button +$_prefs['deleteidentity'] = array( + 'type' => 'special', + 'shared' => true, +); + +// identity name +// If you lock this preference, you must specify a value or a hook for it in +// horde/config/hooks.php. +$_prefs['id'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'text', + 'desc' => _("Identity's name:") +); + +// user full name for From: line +// If you lock this preference, you must specify a value or a hook for it in +// horde/config/hooks.php. +$_prefs['fullname'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'text', + 'desc' => _("Your full name:") +); + +// user preferred email address for From: line +// If you lock this preference, you must specify a value or a hook for it in +// horde/config/hooks.php. +$_prefs['from_addr'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'text', + 'desc' => _("Your From: address:") +); + +// Authentication Options + +// credentials +$_prefs['credentials'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => true, + 'type' => 'implicit' +); + +// credentials interface +$_prefs['credentialsui'] = array( + 'shared' => true, + 'type' => 'special', +); + +// user security question +$_prefs['security_question'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'text', + 'desc' => _("Enter a security question which you will be asked if you need to reset your password, e.g. 'what is the name of your pet?':") +); + +// user security answer +$_prefs['security_answer'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'text', + 'desc' => _("Insert the required answer to the security question:") +); + +// user alternate email +$_prefs['alternate_email'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'text', + 'desc' => _("Insert an email address to which you can receive the new password:") +); + +// user language +$_prefs['language'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'select', + 'escaped' => true, + 'desc' => _("Select your preferred language:") +); + +// user time zone +$_prefs['timezone'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'select', + 'desc' => _("Your current time zone:") +); + +// time format +$_prefs['twentyFour'] = array( + 'value' => false, + 'locked' => false, + 'shared' => true, + 'type' => 'checkbox', + 'desc' => _("Display 24-hour times?") +); + +// date format +$_prefs['date_format'] = array( + 'value' => '%x', + 'locked' => false, + 'shared' => true, + 'type' => 'enum', + 'enum' => array( + '%x' => strftime('%x'), + '%Y-%m-%d' => strftime('%Y-%m-%d'), + '%d/%m/%Y' => strftime('%d/%m/%Y'), + '%A %B %d, %Y' => strftime('%A %B %d, %Y'), + '%A, %d. %B %Y' => strftime('%A, %d. %B %Y'), + '%A, %d %B %Y' => strftime('%A, %d %B %Y'), + '%a, %b %e, %Y' => strftime('%a, %b %e, %Y'), + '%a, %b %e, %y' => strftime('%a, %b %e, %y'), + '%a, %b %e' => strftime('%a, %b %e'), + '%a, %e %b %Y' => strftime('%a, %e %b %Y'), + '%a, %e %b %y' => strftime('%a, %e %b %y'), + '%a %d %b %Y' => strftime ('%a %d %b %Y'), + '%a %x' => strftime ('%a %x'), + '%a %Y-%m-%d' => strftime ('%a %Y-%m-%d'), + '%e %b %Y' => strftime('%e %b %Y'), + '%e. %b %Y' => strftime('%e. %b %Y'), + '%e. %m %Y' => strftime('%e %m %Y'), + '%e. %m.' => strftime('%e. %m.'), + '%e. %B' => strftime('%e. %B'), + '%e. %B %Y' => strftime('%e. %B %Y'), + '%e. %B %y' => strftime('%e. %B %y'), + '%B %e, %Y' => strftime('%B %e, %Y'), + ), + 'desc' => _("Choose how to display dates:"), +); + +// what day should be displayed as the first day of the week? +$_prefs['first_week_day'] = array( + 'value' => '0', + 'locked' => false, + 'shared' => true, + 'type' => 'enum', + 'desc' => _("Which day would you like to be displayed as the first day of the week?"), + 'enum' => array('0' => _("Sunday"), + '1' => _("Monday")) +); + +// UI theme +$_prefs['theme'] = array( + 'value' => 'bluewhite', + 'locked' => false, + 'shared' => true, + 'type' => 'select', + 'desc' => _("Select your color scheme.") +); + +// categories +$_prefs['categories'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'implicit' +); + +// category colors +$_prefs['category_colors'] = array( + 'value' => '', + 'locked' => false, + 'shared' => true, + 'type' => 'implicit' +); + +// UI for category management. +$_prefs['categorymanagement'] = array( + 'type' => 'special' +); + +$_prefs['summary_refresh_time'] = array( + 'value' => 300, + 'locked' => false, + 'shared' => false, + 'type' => 'enum', + 'enum' => array(0 => _("Never"), + 30 => _("Every 30 seconds"), + 60 => _("Every minute"), + 300 => _("Every 5 minutes"), + 900 => _("Every 15 minutes"), + 1800 => _("Every half hour")), + 'desc' => _("Refresh Portal View:") +); + +$_prefs['show_sidebar'] = array( + 'value' => true, + 'locked' => false, + 'shared' => true, + 'type' => 'checkbox', + 'desc' => sprintf(_("Show the %s Menu on the left?"), $GLOBALS['registry']->get('name', 'horde')) +); + +$_prefs['sidebar_width'] = array( + 'value' => 150, + 'locked' => false, + 'shared' => false, + 'type' => 'number', + 'desc' => sprintf(_("Width of the %s menu on the left:"), $GLOBALS['registry']->get('name', 'horde')) +); + +$_prefs['moz_sidebar'] = array( + 'type' => 'link', + 'xurl' => sprintf('javascript:if (window.sidebar && window.sidebar.addPanel) window.sidebar.addPanel(\'%s\', \'%s\', \'%s\'); else alert(\'%s\');', + $GLOBALS['registry']->get('name', 'horde'), + Horde_Util::addParameter(Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/services/portal/sidebar.php', true, -1), 'mozbar', '1'), + Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/prefs.php', true, -1), + addslashes(_("Couldn't find the Mozilla Sidebar. Make sure the sidebar is open."))), + 'desc' => sprintf(_("Add the %s Menu as a Mozilla Sidebar"), $GLOBALS['registry']->get('name', 'horde')) +); + +$_prefs['menu_view'] = array( + 'value' => 'both', + 'locked' => false, + 'shared' => true, + 'type' => 'enum', + 'enum' => array('text' => _("Text Only"), + 'icon' => _("Icons Only"), + 'both' => _("Icons with text")), + 'desc' => _("Menu mode:") +); + +$_prefs['menu_refresh_time'] = array( + 'value' => 300, + 'locked' => false, + 'shared' => true, + 'type' => 'enum', + 'enum' => array(0 => _("Never"), + 30 => _("Every 30 seconds"), + 60 => _("Every minute"), + 120 => _("Every 2 minutes"), + 300 => _("Every 5 minutes")), + 'desc' => _("Refresh Dynamic Menu Elements:") +); + + +// what application should we go to after login? +$_prefs['initial_application'] = array( + 'value' => 'horde', + 'locked' => false, + 'shared' => true, + 'type' => 'select', + 'desc' => sprintf(_("What application should %s display after login?"), $GLOBALS['registry']->get('name')) +); + +// should we create access keys? +$_prefs['widget_accesskey'] = array( + 'value' => true, + 'locked' => false, + 'shared' => true, + 'type' => 'checkbox', + 'desc' => _("Should access keys be defined for most links?") +); + +// the layout of the portal page. +$_prefs['portal_layout'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit' +); + +// the remote servers. +$_prefs['remote_summaries'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit' +); + +$_prefs['facebook'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => true, + 'type' => 'implicit' +); + +$_prefs['twitter'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit' +); + +// last login time of user +// value is a serialized array of the UNIX timestamp of the last +// login, and the host that the last login was from. +$_prefs['last_login'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => true, + 'type' => 'implicit' +); + +// show the last login time of user +$_prefs['show_last_login'] = array( + 'value' => true, + 'locked' => false, + 'shared' => true, + 'type' => 'checkbox', + 'desc' => _("Show last login time when logging in?") +); + +if (!empty($GLOBALS['conf']['imsp']['enabled'])) { + $_prefs['imsp_auth_user'] = array( + 'value' => '', + 'locked' => false, + 'shared' => false, + 'type' => 'text', + 'desc' => _("Alternate IMSP Username") + ); + + $_prefs['imsp_auth_pass'] = array( + 'value' => '', + 'locked' => false, + 'shared' => false, + 'type' => 'password', + 'desc' => _("Alternate IMSP Password") + ); +} + +// Rich Text Editor preferences. +$_prefs['editor_plugins'] = array( + 'value' => 'a:2:{i:0;s:8:"ListType";i:1;s:12:"CharacterMap";}', + 'locked' => false, + 'shared' => true, + 'type' => 'multienum', + 'enum' => array( + 'ContextMenu' => _("Right click context menu"), + 'TableOperations' => _("Table operations menu bar"), + 'ListType' => _("Allow setting of ordered list type"), + 'CharacterMap' => _("Special characters"), + 'AnselImage' => _("Insertion of images from Photo Galleries in text")), + 'desc' => _("Select editor plugins") +); +// End Rich Text Editor preferences. + + +// last time login tasks were run. +$_prefs['last_logintasks'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => true, + 'type' => 'implicit' +); diff --git a/horde/config/registry.d/README b/horde/config/registry.d/README new file mode 100644 index 000000000..7a5c5cde2 --- /dev/null +++ b/horde/config/registry.d/README @@ -0,0 +1,9 @@ +This directory can hold registry configuration snippets. Any PHP file (*.php) +is read; all other files are ignored and so are for information only. Snippets +can contain anything that would go in registry.php - one or more applications, +tree blocks, conditionals, etc. + +Scripts that install or update files in this directory should always touch() +the registry.d directory after completion to ensure that its modification time +has changed; that way Horde will know to drop any cached configuration +information. diff --git a/horde/config/registry.php.dist b/horde/config/registry.php.dist new file mode 100644 index 000000000..cf42d6b5a --- /dev/null +++ b/horde/config/registry.php.dist @@ -0,0 +1,512 @@ +applications['horde'] = array( + 'fileroot' => dirname(__FILE__) . '/..', + 'webroot' => _detect_webroot(), + 'initial_page' => 'index.php', + 'name' => _("Horde"), + 'status' => 'active', + 'templates' => dirname(__FILE__) . '/../templates', + 'provides' => 'horde', +); + +$this->applications['imp'] = array( + 'fileroot' => dirname(__FILE__) . '/../imp', + 'webroot' => $this->applications['horde']['webroot'] . '/imp', + 'name' => _("Mail"), + 'status' => 'active', + 'provides' => array('mail', 'contacts/favouriteRecipients') +); + +$this->applications['ingo'] = array( + 'fileroot' => dirname(__FILE__) . '/../ingo', + 'webroot' => $this->applications['horde']['webroot'] . '/ingo', + 'name' => _("Filters"), + 'status' => 'active', + 'provides' => array('filter', 'mail/blacklistFrom', 'mail/showBlacklist', 'mail/whitelistFrom', 'mail/showWhitelist', 'mail/applyFilters', 'mail/canApplyFilters', 'mail/showFilters'), + 'menu_parent' => 'imp' +); + +$this->applications['sam'] = array( + 'fileroot' => dirname(__FILE__) . '/../sam', + 'webroot' => $this->applications['horde']['webroot'] . '/sam', + 'name' => _("Spam"), + 'status' => 'active', + // Uncomment this line if you want Sam to handle the blacklist filter + // instead of Ingo: + // 'provides' => array('mail/blacklistFrom', 'mail/showBlacklist', 'mail/whitelistFrom', 'mail/showWhitelist'), + 'menu_parent' => 'imp' +); + +$this->applications['forwards'] = array( + 'fileroot' => dirname(__FILE__) . '/../forwards', + 'webroot' => $this->applications['horde']['webroot'] . '/forwards', + 'name' => _("Forwards"), + 'status' => 'active', + 'provides' => 'forwards', + 'menu_parent' => 'imp', +); + +$this->applications['vacation'] = array( + 'fileroot' => dirname(__FILE__) . '/../vacation', + 'webroot' => $this->applications['horde']['webroot'] . '/vacation', + 'name' => _("Vacation"), + 'status' => 'active', + 'provides' => 'vacation', + 'menu_parent' => 'imp' +); + +$this->applications['imp-folders'] = array( + 'status' => 'block', + 'app' => 'imp', + 'blockname' => 'tree_folders', + 'menu_parent' => 'imp', +); + +$this->applications['organizing'] = array( + 'name' => _("Organizing"), + 'status' => 'heading', +); + +$this->applications['turba'] = array( + 'fileroot' => dirname(__FILE__) . '/../turba', + 'webroot' => $this->applications['horde']['webroot'] . '/turba', + 'name' => _("Address Book"), + 'status' => 'active', + 'provides' => array('contacts', 'clients/getClientSource', 'clients/clientFields', 'clients/getClient', 'clients/getClients', 'clients/addClient', 'clients/updateClient', 'clients/deleteClient', 'clients/searchClients'), + 'menu_parent' => 'organizing' +); + +$this->applications['turba-menu'] = array( + 'status' => 'block', + 'app' => 'turba', + 'blockname' => 'tree_menu', + 'menu_parent' => 'turba', +); + +$this->applications['kronolith'] = array( + 'fileroot' => dirname(__FILE__) . '/../kronolith', + 'webroot' => $this->applications['horde']['webroot'] . '/kronolith', + 'name' => _("Calendar"), + 'status' => 'active', + 'provides' => 'calendar', + 'menu_parent' => 'organizing' +); + +$this->applications['kronolith-alarms'] = array( + 'status' => 'block', + 'app' => 'kronolith', + 'blockname' => 'tree_alarms', + 'menu_parent' => 'kronolith', +); + +$this->applications['kronolith-menu'] = array( + 'status' => 'block', + 'app' => 'kronolith', + 'blockname' => 'tree_menu', + 'menu_parent' => 'kronolith', +); + +$this->applications['nag'] = array( + 'fileroot' => dirname(__FILE__) . '/../nag', + 'webroot' => $this->applications['horde']['webroot'] . '/nag', + 'name' => _("Tasks"), + 'status' => 'active', + 'provides' => 'tasks', + 'menu_parent' => 'organizing' +); + +$this->applications['nag-alarms'] = array( + 'status' => 'block', + 'app' => 'nag', + 'blockname' => 'tree_alarms', + 'menu_parent' => 'nag', +); + +$this->applications['nag-menu'] = array( + 'status' => 'block', + 'app' => 'nag', + 'blockname' => 'tree_menu', + 'menu_parent' => 'nag', +); + +$this->applications['mnemo'] = array( + 'fileroot' => dirname(__FILE__) . '/../mnemo', + 'webroot' => $this->applications['horde']['webroot'] . '/mnemo', + 'name' => _("Notes"), + 'status' => 'active', + 'provides' => 'notes', + 'menu_parent' => 'organizing' +); + +$this->applications['mnemo-menu'] = array( + 'status' => 'block', + 'app' => 'mnemo', + 'blockname' => 'tree_menu', + 'menu_parent' => 'mnemo', +); + +$this->applications['genie'] = array( + 'fileroot' => dirname(__FILE__) . '/../genie', + 'webroot' => $this->applications['horde']['webroot'] . '/genie', + 'name' => _("Wishlist"), + 'status' => 'active', + 'provides' => 'wishlist', + 'menu_parent' => 'organizing' +); + +$this->applications['trean'] = array( + 'fileroot' => dirname(__FILE__) . '/../trean', + 'webroot' => $this->applications['horde']['webroot'] . '/trean', + 'name' => _("Bookmarks"), + 'status' => 'active', + 'provides' => 'bookmarks', + 'menu_parent' => 'organizing' +); + +$this->applications['trean-menu'] = array( + 'status' => 'block', + 'app' => 'trean', + 'blockname' => 'tree_menu', + 'menu_parent' => 'trean', +); + +$this->applications['devel'] = array( + 'name' => _("Development"), + 'status' => 'heading', +); + +$this->applications['chora'] = array( + 'fileroot' => dirname(__FILE__) . '/../chora', + 'webroot' => $this->applications['horde']['webroot'] . '/chora', + 'name' => _("Version Control"), + 'status' => 'active', + 'menu_parent' => 'devel' +); + +$this->applications['chora-menu'] = array( + 'status' => 'block', + 'app' => 'chora', + 'blockname' => 'tree_menu', + 'menu_parent' => 'chora', +); + +$this->applications['whups'] = array( + 'fileroot' => dirname(__FILE__) . '/../whups', + 'webroot' => $this->applications['horde']['webroot'] . '/whups', + 'name' => _("Tickets"), + 'status' => 'active', + 'provides' => 'tickets', + 'menu_parent' => 'devel', +); + +$this->applications['whups-menu'] = array( + 'status' => 'block', + 'app' => 'whups', + 'blockname' => 'tree_menu', + 'menu_parent' => 'whups', +); + +$this->applications['luxor'] = array( + 'fileroot' => dirname(__FILE__) . '/../luxor', + 'webroot' => $this->applications['horde']['webroot'] . '/luxor', + 'name' => _("X-Ref"), + 'status' => 'active', + 'menu_parent' => 'devel' +); + +$this->applications['info'] = array( + 'name' => _("Information"), + 'status' => 'heading', +); + +$this->applications['klutz'] = array( + 'fileroot' => dirname(__FILE__) . '/../klutz', + 'webroot' => $this->applications['horde']['webroot'] . '/klutz', + 'name' => _("Comics"), + 'status' => 'active', + 'provides' => 'comics', + 'menu_parent' => 'info' +); + +$this->applications['mottle'] = array( + 'fileroot' => dirname(__FILE__) . '/../mottle', + 'webroot' => $this->applications['horde']['webroot'] . '/mottle', + 'name' => _("MOTD"), + 'status' => 'active', + 'menu_parent' => 'info' +); + +$this->applications['jonah'] = array( + 'fileroot' => dirname(__FILE__) . '/../jonah', + 'webroot' => $this->applications['horde']['webroot'] . '/jonah', + 'name' => _("News"), + 'status' => 'active', + 'provides' => 'news', + 'menu_parent' => 'info' +); + +$this->applications['jonah-menu'] = array( + 'status' => 'block', + 'app' => 'jonah', + 'blockname' => 'tree_menu', + 'menu_parent' => 'jonah', +); + +$this->applications['goops'] = array( + 'fileroot' => dirname(__FILE__) . '/../goops', + 'webroot' => $this->applications['horde']['webroot'] . '/goops', + 'name' => _("Search Engines"), + 'status' => 'active', + 'menu_parent' => 'info' +); + +$this->applications['office'] = array( + 'name' => _("Office"), + 'status' => 'heading', +); + +$this->applications['juno'] = array( + 'fileroot' => dirname(__FILE__) . '/../juno', + 'webroot' => $this->applications['horde']['webroot'] . '/juno', + 'name' => _("Accounting"), + 'status' => 'active', + 'menu_parent' => 'office' +); + +$this->applications['midas'] = array( + 'fileroot' => dirname(__FILE__) . '/../midas', + 'webroot' => $this->applications['horde']['webroot'] . '/midas', + 'name' => _("Ads"), + 'status' => 'active', + 'menu_parent' => 'office' +); + +$this->applications['sesha'] = array( + 'fileroot' => dirname(__FILE__) . '/../sesha', + 'webroot' => $this->applications['horde']['webroot'] . '/sesha', + 'name' => _("Inventory"), + 'status' => 'active', + + // Uncomment this line if you want Sesha to provide queue and version + // names instead of Whups: + // 'provides' => array('tickets/listQueues', 'tickets/getQueueDetails', 'tickets/listVersions', 'tickets/getVersionDetails'), + 'menu_parent' => 'office', +); + +$this->applications['hermes'] = array( + 'fileroot' => dirname(__FILE__) . '/../hermes', + 'webroot' => $this->applications['horde']['webroot'] . '/hermes', + 'name' => _("Time Tracking"), + 'status' => 'active', + 'menu_parent' => 'office', + 'provides' => 'time' +); + +$this->applications['hermes-stopwatch'] = array( + 'status' => 'block', + 'app' => 'hermes', + 'blockname' => 'tree_stopwatch', + 'menu_parent' => 'hermes', +); + +$this->applications['hermes-menu'] = array( + 'status' => 'block', + 'app' => 'hermes', + 'blockname' => 'tree_menu', + 'menu_parent' => 'hermes', +); + +$this->applications['myaccount'] = array( + 'name' => _("My Account"), + 'status' => 'heading', +); + +$this->applications['gollem'] = array( + 'fileroot' => dirname(__FILE__) . '/../gollem', + 'webroot' => $this->applications['horde']['webroot'] . '/gollem', + 'name' => _("File Manager"), + 'status' => 'active', + 'menu_parent' => 'myaccount', + 'provides' => 'files', +); + +$this->applications['gollem-menu'] = array( + 'status' => 'block', + 'app' => 'gollem', + 'blockname' => 'tree_menu', + 'menu_parent' => 'gollem', +); + +$this->applications['passwd'] = array( + 'fileroot' => dirname(__FILE__) . '/../passwd', + 'webroot' => $this->applications['horde']['webroot'] . '/passwd', + 'name' => _("Password"), + 'status' => 'active', + 'menu_parent' => 'myaccount' +); + +$this->applications['jeta'] = array( + 'fileroot' => dirname(__FILE__) . '/../jeta', + 'webroot' => $this->applications['horde']['webroot'] . '/jeta', + 'name' => _("SSH"), + 'status' => 'active', + 'menu_parent' => 'myaccount' +); + +$this->applications['website'] = array( + 'name' => _("Web Site"), + 'status' => 'heading', +); + +$this->applications['agora'] = array( + 'fileroot' => dirname(__FILE__) . '/../agora', + 'webroot' => $this->applications['horde']['webroot'] . '/agora', + 'name' => _("Forums"), + 'status' => 'active', + 'provides' => 'forums', + 'menu_parent' => 'website' +); + +$this->applications['ulaform'] = array( + 'fileroot' => dirname(__FILE__) . '/../ulaform', + 'webroot' => $this->applications['horde']['webroot'] . '/ulaform', + 'name' => _("Forms"), + 'status' => 'active', + 'menu_parent' => 'website' +); + +$this->applications['volos'] = array( + 'fileroot' => dirname(__FILE__) . '/../volos', + 'webroot' => $this->applications['horde']['webroot'] . '/volos', + 'name' => _("Guestbook"), + 'status' => 'active', + 'menu_parent' => 'website' +); + +$this->applications['ansel'] = array( + 'fileroot' => dirname(__FILE__) . '/../ansel', + 'webroot' => $this->applications['horde']['webroot'] . '/ansel', + 'name' => _("Photos"), + 'status' => 'active', + 'provides' => 'images', + 'menu_parent' => 'website' +); + +$this->applications['scry'] = array( + 'fileroot' => dirname(__FILE__) . '/../scry', + 'webroot' => $this->applications['horde']['webroot'] . '/scry', + 'name' => _("Polls"), + 'status' => 'active', + 'provides' => 'polls', + 'menu_parent' => 'website' +); + +$this->applications['merk'] = array( + 'fileroot' => dirname(__FILE__) . '/../merk', + 'webroot' => $this->applications['horde']['webroot'] . '/merk', + 'name' => _("Shopping"), + 'status' => 'active', + 'provides' => 'shop', + 'menu_parent' => 'website' +); + +$this->applications['wicked'] = array( + 'fileroot' => dirname(__FILE__) . '/../wicked', + 'webroot' => $this->applications['horde']['webroot'] . '/wicked', + 'name' => _("Wiki"), + 'status' => 'active', + 'provides' => 'wiki', + 'menu_parent' => 'website' +); + +$this->applications['vilma'] = array( + 'fileroot' => dirname(__FILE__) . '/../vilma', + 'webroot' => $this->applications['horde']['webroot'] . '/vilma', + 'name' => _("Mail Admin"), + 'status' => 'active', + 'menu_parent' => 'administration' +); + +$this->applications['nic'] = array( + 'fileroot' => dirname(__FILE__) . '/../nic', + 'webroot' => $this->applications['horde']['webroot'] . '/nic', + 'name' => _("Network Tools"), + 'status' => 'active', + 'menu_parent' => 'administration' +); + +function _detect_webroot() +{ + // Note for Windows users: the below assumes that your PHP_SELF variable + // uses forward slashes. If it does not, you'll have to tweak this. + if (isset($_SERVER['SCRIPT_URL']) || isset($_SERVER['SCRIPT_NAME'])) { + $path = empty($_SERVER['SCRIPT_URL']) ? + $_SERVER['SCRIPT_NAME'] : + $_SERVER['SCRIPT_URL']; + $hordedir = str_replace(DIRECTORY_SEPARATOR, '/', __FILE__); + $hordedir = basename(preg_replace(';/config/registry.php$;', '', $hordedir)); + if (preg_match(';/' . $hordedir . ';', $path)) { + $webroot = preg_replace(';/' . $hordedir . '.*;', '/' . $hordedir, $path); + } else { + $webroot = ''; + } + } elseif (isset($_SERVER['PHP_SELF'])) { + $webroot = preg_split(';/;', $_SERVER['PHP_SELF'], 2, PREG_SPLIT_NO_EMPTY); + $webroot = strstr(dirname(__FILE__), DIRECTORY_SEPARATOR . array_shift($webroot)); + if ($webroot !== false) { + $webroot = preg_replace(array('/\\\\/', ';/config$;'), array('/', ''), $webroot); + } elseif ($webroot === false) { + $webroot = ''; + } else { + $webroot = '/horde'; + } + } else { + $webroot = '/horde'; + } + + return $webroot; +} diff --git a/horde/config/spelling.php.dist b/horde/config/spelling.php.dist new file mode 100644 index 000000000..afc146f14 --- /dev/null +++ b/horde/config/spelling.php.dist @@ -0,0 +1,13 @@ + Horde_LoginTasks::. +[mms] In Postgres, horde_prefs table now stores data in BYTEA instead of + TEXT (Bug #8130). +[mms] Improved caching of Registry data significantly reduces session sizes + and total session storage requirements (Request #8024). +[mms] IMAP auth driver now uses Horde_Imap_Client library. +[mms] Use Gnumeric package to render MS Excel files. +[mms] Use AbiWord package to render MS Word files. +[cjh] Remove sapdb session handler backend. +[mms] Update FCKeditor to v2.6.4. +[jan] Add share locking (Alfonso Marín Marín ). +[cjh] Remove javascript popup alarms. +[cjh] Update the Auth_passwd driver's add/update/remove user + implementations (Bug #7810). +[cjh] Add a Horde_Routes dispatcher for Rampage applications. +[mjr] Fix a possible infinite loop with certain recurring events in Horde_Date. +[jan] Use DateTime internally in Horde_Date. + + +---------- +v3.3.7-cvs +---------- + +[jan] Workaround broken PHP number formatting with some locales (Bug #8780). + + +------ +v3.3.6 +------ + +[mms] SECURITY: Workaround XSS vulnerability in Firefox for data URLs + (Bug #8715). +[jan] SECURITY: Fix XSS in administrator section. +[jan] Fix alarm system with Oracle backends. +[mjr] Fix using the removeUserDataFromAllApplications method (Valentin Vidic + , Bug #8754). +[mjr] Fix checking existing signup requests in the Auth_Signup_datatree driver. +[jan] Fix syntax of MSSQL scripts (Bug #8664). +[jan] Export task alarms to Funambol clients (Request #8426). +[jan] Fix not catching Alt key combinations for access keys on Mac OS. +[jan] Fix Oracle SQL scripts. +[jan] Close popup window after saving categories. +[jan] Check quota when copying files with VFS (Valentin Vidic + , Bug #8643). +[jan] Add Croatian translation (Matej Vela ). +[jan] Fix detecting SyncML message sizes. +[jan] Fix mapping of elements during synchronization (Bug #8386). +[mms] Fix potential session writing issues using PHP 5.0.5+. +[jan] Fix error in PHP 5 SOAP server implementation. +[mms] Fix updating memcache tracking info upon session destruction + (whatdoyouwant@gmail.com, Bug #8626). +[mjr] Various improvements and fixes to the Net_IMSP driver + (noah@lsit.ucsb.edu; Bug #8532, #8533, #8534, and #8535). +[jan] Export recurrence exceptions to Funambol clients (Alfonso Marín Marín + , Request #8065). +[jan] Export all email addresses to Funambol clients (lst_hoe02@kwsoft.de, + Request #8571). +[jan] Export all fax numbers to Funambol clients (lst_hoe02@kwsoft.de, + Request #8618). +[jan] Fix detecting device information of certain synchronization devices. +[jan] Fix warnings when listing sessions with Oracle or PEAR DB session + handlers (Bug #8601). +[mas] Fix SessionHandler_sql::getSessionIDs() SQL syntax (moreda@allenta.com, + Bug #8600). +[mas] Fix Horde_SQL::readBlob() on MSSQL (moreda@allenta.com, Bug #8599). +[mms] Fix prototypejs regression on Internet Explorer (Bug #6590). + + +------ +v3.3.5 +------ + +[jan] SECURITY: Fix vulnerability in image form fields that allows overwriting + of arbitrary local files. +[cjh] SECURITY: Fix validation of "number" type preferences (Bug #8399). +[mms] SECURITY: Don't display unknown text parts inline (Bug #8311). +[mms] Upgrade prototype.js to v1.6.1. +[jan] Use system timezone for timestamps in the logs (Bug #8496). +[jan] Fix exporting certain weekday recurrence rules to iCalendar + (lst_hoe02@kwsoft.de, Bug #8510). +[jan] Work around crash bug in Funambol clients when synchronizing all-day + events (Bug #8474). +[jan] Fix synchronizing tasks with certain devices (Bug #8506). +[jan] Workaround synchronizing of messed up categories in Nokia E phones + (Bug #7824). +[jan] Fix synchronizing photos with broken Nokia phones (xk3@mompl.org, + Bug #7407). +[jan] Fix fatal error during synchronization if using certain session handlers + (Bug #8443). +[jan] Improve synchronizing yearly events with Funambol clients + (lst_hoe02@kwsoft.de, Request #7790). +[jan] Destroy session when a CLI script ends (Request #8482). +[jan] Fix data casting when caching permissions with the DataTree backend (Bug + #8435). +[jan] Pass user's password to the signup_addextra hook. +[jan] Add removeUserDataFromAllApplications API method + (adrieder@sbox.tugraz.at, Request #8454). +[jan] Catch errors when resetting passwords. +[jan] Support resetting passwords with composite authentication. +[mms] Fix memcache issue where it took 1 second to release a lock. +[mjr] Fix weatherdotcom block always displaying a 5 day forecast (Bug #8357). +[cjh] Use streams for file transfers in VFS_ssh2 (jives@jives.ixum.net, + Request #8323). +[jan] Send notification messages about new signups with confirmation links. +[jan] Drop signup_email column from sign-up table. +[jan] Show photo in vCard viewer if provided as inline vCard data. +[mjr] Fix issue where pref hooks would not be called for preferences marked as + shared and defined outside of the Horde scope. +[jan] Add configuration whether to show user drop down list or text field in + permissions dialog. +[jan] Export current locale to the environment. +[jan] Fix unfolding of vCard 2.1/vCalendar 1.0 data. + + +------ +v3.3.4 +------ + +[jan] Fix rendering of addresslink form fields (Bug #8053). +[mjr] Fix a botched merge in Horde_Image_gd that was causing an undefined + variable notice to be output in the image data. + + +---------- +v3.3.4-RC1 +---------- + +[mjr] Fix an issue that causing users with expired passwords to be allowed to + log in with the LDAP Auth driver. +[jan] Properly handle synchronization requests to non-existant databases. +[jan] Fix exporting all-day events to Funambol clients (Bugs #4487, #6847). +[jan] Quote parameter values in iCalendar data if necessary (Gunnar Wrobel, + Bug #7758). +[jan] Detect base64 encoded synchronization data from Blackberry devices + (Bugs #6995, #6949). +[jan] Optionally use Net_DNS for host name lookups (adrieder@sbox.tugraz.at, + Request #7374). +[jan] Add TLS support to LDAP drivers (web@marlboro.edu, Request #7958). +[jan] Add scope and sizelimit parameters to LDAP authentication driver + (dom.lalot@gmail.com, Request #7839). +[jan] Further improve HTML-to-text filter. +[jan] Export recurrence end dates as date-time values in iCalendar data to + improve compatibility with external clients (Bug #7846). +[jan] Silence errors messages from iconv_substr() (jens@peino.de, Bug #8128). +[jan] Don't catch Alt key combinations for access keys on Mac OS. +[mjr] Fix bitwise clause generation in the sql and hierarchical sql driver. This + fixes issues with Oracle and possibly other RDBMS. +[mjr] Correct numerous bugs in Horde_Image dealing with ImageMagick version + inconsistencies. +[jan] Fix charset conversion in preference hooks (Bug #7489). +[cjh] Proactively disable allow_url_include in core.php. +[cjh] Add an index on session_lastmodified to the Horde sessionhandler tables. +[mjr] Force the use of REQUEST_URI instead of PATH_INFO in Util::getPathInfo() + when being served by lighttpd due to issues with case insensitive + file systems. +[cjh] Add support for SSL connections to MySQL databases (BryanRJ@gmail.com, + Request #7972). +[cjh] Fix storing of unlocked preferences set by hooks (manuel@mausz.at, + Bug #6822). +[jan] Highlight color input fields with the color from the picker. +[jan] Fix importing vCards that have the charset specified in a MIME part + (Bug #7816). +[mms] Ensure all input array entries in String::convertCharset() are properly + iterated through (Bug #7828, manuel@mausz.at). + + +------ +v3.3.3 +------ + +[cjh] SECURITY: Escape output in the tag cloud block + (found by Gunnar Wrobel ). +[cjh] SECURITY: Validate the Horde_Image driver name + (found by Gunnar Wrobel ). +[cjh] Allow "." in phone number fields (Request #7858). +[cjh] Fix the SQL Share driver closing the global database connection + improperly when using PostgreSQL (Bug #7825). +[jan] Add support for Mozilla Sunbirds snooze properties (Request #7470). +[cjh] Try iconv_substr() in String::substr() if it's available + (duck@obala.net, Request #7826). +[cjh] Avoid warnings in Perms::getPermissionId with PostgreSQL + (Marcus Ryan , Bug #7750). +[jan] Fix parsing of LABEL attributes in the vCard viewer. + + +------ +v3.3.2 +------ + +[mms] Fix prototypejs regression on IE (Bug #6590). + + +------ +v3.3.1 +------ + +[cjh] SECURITY: Add another check to the XSS filter. +[jan] Add script to import preferences from SquirrelMail database. +[cjh] Allow the password file Auth driver to require a specific group. +[cjh] Use YYYY-MM-DDTHH:MM:SS for Alarm date queries (Bug #7580). +[jan] Add XPath wrapper to Horde_DOM library. +[cjh] Don't use executeMultiple in the SQL Share driver when we might + reset the connection in between queries (Bug #7542). +[jan] Fix database XML schema to create all lock table fields (Bug #7433). +[jan] Fix showing two sidebars after saving the display preference group for + the first time (Bug #7475). +[jan] Fix sharing with LDAP groups (Bug #6883). +[jan] Add javascript event handler for access keys. +[cjh] Remove UNSIGNED from PostgreSQL scripts. +[cjh] Call preference hooks in the scope of the preference + (vlukashov (at) parallels (dot) com, Bug #7445). +[jan] Fix resuming synchronization session on server farms + (adrieder@sbox.tugraz.at, Bug #7394). +[jan] Fix synchronization of tasks with many items (adrieder@sbox.tugraz.at, + Bug #7395). +[mms] Upgrade prototype.js to v1.6.0.3. +[jwm] Fix regression: SOAP wsdl/disco shouldn't require authorization. + + +---- +v3.3 +---- + +[jan] Fix synchronization issues with Blackberry clients (Bug #6949). +[mms] Fix setting the horde user when using application authentication with + realms (Bug #6749). +[jan] Fix user name conversion with user hooks in the permissions interfaces + (Bug #6371). +[jan] Provide all settings for the read server in split SQL configuration + (Request #7024). +[jan] Improve HTML to text filter. +[mjr] Hierarchical SQL Share driver now correctly removes all children when + removing a share (Bug: 7347). +[mjr] Fix an issue with various date/time fields in horde form that was causing + erroneous validation errors. +[cjh] Sign parameters to go.php with an HMAC based on a new secret key + configuration value, to prevent using go.php as an open referrer. +[cjh] Make logout tokens only valid for a configurable length of time. + + +-------- +v3.3-RC1 +-------- + +[mms] Fix garbage collection handling on SQL session handler backends. +[mjr] Change MDB2 sequence names to 'id' in SQL share driver (Bug #7240). +[cjh] When a URL is supplied for pass-through after logging in, go to that URL + in mobile browsers instead of going to the mobile portal (Bug #6332). +[mms] Memcache session handler no longer writes data with a lifetime. +[cjh] Add DIMP to the horde LDAP OIDs and hordePerson objectclass (Bug #7243). +[mms] Update FCKeditor to v2.6.3. +[jan] Use global mailer configuration when sending alarm emails + (adrieder@sbox.tugraz.at, Bug #7058). +[jan] Reset background colors when resetting the category form (Bug #7226). +[jan] Improve Funambol contacts support (Requests #7099, #7100). +[jan] Correctly parse GEO tags in vCard 2.1 data (Bug #6563). +[jan] Remove Horde portal link from application menus (Bug #7221). +[cjh] Create a driver for signups, allowing backends other than DataTree + (Duck , Request #7161). +[jan] Fix displaying images with the image form field. +[mjr] Fix issue with hierarchical SQL share driver that caused permissons to + erroneously be denied when the share contained group permissions and was + instantiated by a listShares call. +[mjr] Fix issue with hierarchical SQL share driver that caused any child shares + to be orphaned when the parent share was moved in the hierarchy. +[mjr] Fix issue with SQL share drivers that was causing permission checks to + fail under certain conditions by no longer explicitly storing owner + permissions in the Perms backend. +[cjh] Fix overwriting a variable in the tableset_html VarRenderer + (Paul Roy , Bug #7120). +[mms] Fix MIME encoding when using the ISO-2022-JP charset (Bug #1621). +[jan] Fix SQL Share driver not using the correct database when using different + databases in Horde applications (Bug #6997). +[cjh] Fix SQL portability in Share_sql driver (Bug #7084). +[jan] Fix synchronizing large amounts of data split across several SyncML + messages. +[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV + ). +[cjh] Fix Horde_Lock::getLockInfo (duck@obala.net, Bub #7046). +[cjh] Fix SQL portability in Group_sql driver (Bug #7075). +[jan] Fix PAM authentication driver, but also mark it as deprecated (Bug #6982). +[mjr] Fix issue with native SQL Share driver that caused filtering shares by + attributes to fail. +[jan] Fix synchronization of event alarms with Funambol clients (Bug #7003). +[jan] Correctly detect Funambol clients on Blackberry devices (Bug #6995). +[mjr] Remove all user application permissions and group memberships from storage + when removing the user from the system (Bug: 6999) +[cjh] Call the postauthenticate hook in Auth::setAuth(), and allow the + postauthenticate hook to cause setAuth() to fail. Allows postauthenticate + to fire on any event, including transparent authentication, that could + result in a user being successfully logged in. +[jan] Improve attribute support and charset conversion in vCard viewer. +[jan] Show photos in vCard object if provided with an URL. +[mjr] Remove permissions from storage also when removing a share. +[jan] Add Horde_Form fields for string arrays and PGP and S/MIME keys. +[jan] Only show Add Permission icons in permissions interface where adding + them is possible. +[mjr] Fix issue in Horde_Image that was causing erratic results when cropping + images. +[jan] Fix validation of phone fields marked as required (Bug #6948). +[mms] Fix quoting periods in display part of e-mail address (Bug #6899). +[mms] Fix error checking when parsing an undisclosed recipients mail header + and using an older version of PEAR::Mail (Bug #6930). +[jan] Return to portal after editing or deleting blocks directly from there. + + +------ +v3.2.5 +------ + +[jan] SECURITY: Fix vulnerability in image form fields that allows overwriting + of arbitrary local files. +[cjh] SECURITY: Fix validation of "number" type preferences (Bug #8399). +[mms] SECURITY: Don't display unknown text parts inline (Bug #8311). + + +------ +v3.2.4 +------ + +[cjh] SECURITY: Escape output in the tag cloud block + (found by Gunnar Wrobel ). +[cjh] SECURITY: Validate the Horde_Image driver name + (found by Gunnar Wrobel ). + + +------ +v3.2.3 +------ + +[cjh] SECURITY: Add another check to the XSS filter. + + +------ +v3.2.2 +------ + +[jan] SECURITY: Fix unescaped output in the MIME attachment linking. +[jan] SECURITY: Add another check to the XSS filter. + + +------ +v3.2.1 +------ + +[cjh] SECURITY: Escape item names in the object browser (Bug #6906). +[cjh] Select db before queries in MySQL SessionHandler (Bug #6673). +[jan] Format messages sent through MIME_Mail in flowed text format. +[cjh] Catch errors if the Cache_file backend doesn't have permission to + garbage collect (Bug #6895). +[cjh] Fix deletion of SQL shares when using split read/write databases + (duck@obala.net, Bug #6870). +[mms] Workaround broken IE behavior when downloading files with 8-bit + filenames (felix5ng@yahoo.com.hk, Bug #129). +[cjh] Fix storing of unlocked preferences set by hooks + (manuel@mausz.at, Bug #6822). +[mms] Allow Horde memcache driver to use UNIX sockets (Bug #6848). +[mjr] Various fixes for hierarchical SQL Share driver involving share names, + better error checking and logging. +[gwr] Added group driver for Kolab. +[gwr] Added IMAP based preferences driver for Kolab. +[mms] Fix missing timestamp variable in Horde SQL cache driver + (keith@ajmani.org, Bug #6839). +[cjh] Fix over-zealous preference caching when preferences are requested for a + different user (Bug #6820). +[mjr] Fix issue in Horde_Image that caused errors when performing certain image + operations immediately after an image had been cropped when using the + ImageMagick driver. +[cjh] Fix order of checks in String::convertCharset (Bug #6794). +[mms] Fix parsing of addresses in headers when the RFC 2047-encoded personal + part of the address contains address list delimiters (Bug #6747). +[cjh] Fix generation of unique keys in configuration for machines too fast for + microtime() (mail@dunix-data.de, Bug #6762). + + +---- +v3.2 +---- + +[jan] Fix synchronization of contacts with some SyncML clients (Bug #6706). +[mjr] Fix SQL bitwise comparison issue in native SQL share drivers that affected + PostgresSQL (Bug #6751). +[cjh] Ensure users' email addresses are well-formed (Bug #6654). +[jan] Remove About... link from help viewer. +[mms] Update Xinha editor to support Safari 3. + + +-------- +v3.2-RC4 +-------- + +[bak] Improvements to WebDAV return codes and implement WebDAV locks +[bak] Add Horde_Lock subsystem +[mms] Add memcache caching support to all session backends. +[cjh] Apply fix for http://dev.rubyonrails.org/ticket/11473 to prototype.js + (Request #6590). +[cjh] Add a files-based Preferences backend (thomas.jarosch@intra2net.com, + Request #6653). +[cjh] Correct line-folding of encoded lines in iCalendar data + (Gunnar Wrobel , Bug #6555). +[cjh] Add a configuration option for whether users can share with groups + they aren't members of (thomas.jarosch@intra2net.com, Request #6619). +[cjh] Ensure that alarms are created with a NULL alarm_snooze value + (michael.redinger@uibk.ac.at, Bug #6183). +[cjh] Add an admintools script for creating PEAR::DB sequences manually. +[cjh] Improved support for PGP fingerprints (Bug #6363). +[jan] Add rpc/ directory for prettified RPC URLs. +[jan] Move SyncML anchors out of the DataTree into a separate database table. +[cjh] Add beta SQL Permissions driver (duck@obala.net, Request #6150). +[cjh] Add beta SQL Group driver (duck@obala.net, Request #6175). +[jan] Use wider columns for the SyncML database table to correctly store long + UIDs (Bug #5025). +[jan] Add "hordeweb" theme. +[jan] Add MIME::parseAddressList(). +[jan] Add icons to edit and delete blocks directly from the portal. +[jan] Allow users to specify login credentials for Horde applications in the + preferences. +[jan] Add NLS::setLanguageEnvironment() and NLS::setCharsetEnvironment(). +[cjh] Fix LDAP authentication (Bug #6450). +[jan] Improve synchronization with Funambol clients. +[mas] Fix false positive verification of S/MIME messages (Bug #6323). + + +-------- +v3.2-RC3 +-------- + +[cjh] Fix Horde_Compress_zip::checkZipData (Bug #6413). +[jan] Allow adding attachments to the problem reporting form. +[cjh] Make sure that when we used a cached Preferences object, we set the + correct scope (Bug #6395). +[cjh] Set LC_TIME to C for consistency in date parsing in the SSH2 backend + (michael-dev@fami-braun.de, Bug #6396). +[cjh] Add experimental native SQL Share driver (duck@obala.net, Request #6109). +[cjh] Recognize IE8 in the Browser class (vilius@lnk.lt, Request #6390). +[cjh] Don't treat no results as an error in the LDAP Groups driver + (asmarre@ull.es, Request #6362). +[cjh] Use conf.bak.php for backup files so they are parsed by PHP + (Request #6341). +[cjh] Add a configuration setting for using pretty URLs (Request #6264). +[cjh] Add a method for counting attribute values without returning full objects + from the DataTree (duck@obala.net, Request #6289). +[cjh] Protect logout links with CSRF tokens. +[jan] Fix listing of folders with whitespace in the name using the SSH2 VFS + driver (Bug #6227). +[jan] Don't indent first line of paragraphs when converting HTML to plain text. +[cjh] Add a PHP 5 SoapServer RPC backend. +[cjh] Add a method for getting just attributes, instead of full object and + tree structure, from the DataTree (duck@obala.net, Request #6209). +[cjh] Add a mock Groups driver for sites that don't need Group support + (duck@obala.net, Request #6157). +[jan] Highlight links in HTML viewer that triggered a phishing warning. +[jan] Fix some string parsing on systems that don't have the "en" or "en_US" + locales installed (Bug #6194). +[jan] Avoid JavaScript popup if a translation for the WYSIWYG editor doesn't + exist (Bug #6174). +[cjh] Fix autocreation of DataTree parents (almarin@um.es, Bug #6167). +[jan] Fix linefolding with multibyte strings in iCalendar library (Bug #6103). +[jan] Add multibyte-safe String::wordwrap() method. + + +-------- +v3.2-RC2 +-------- + +[jan] SECURITY: Fix privilege escalation in Horde API. +[jan] SECURITY: Filter out FRAME tags from HTML messages (CVE-2007-6018). +[jan] SECURITY: The XSS filter passes the complete XSS cheat sheet + (http://ha.ckers.org/xss.html) now. +[cjh] Don't trust HTTP_X_FORWARDED_FOR or any proxied requests when consulting + the safe_ips list (Bug #6133). +[cjh] Add a PHP 5-only block for putting syndicated feeds on the Horde Portal + (duck@obala.net, Request #6107). +[cjh] Automate detection of which themes/app combinations have custom icons + (Bug #6105). +[cjh] Fix listing of current session ids in the memcache SessionHandler + (Bug #6083). +[cjh] Correct handling of cache misses from the Horde_Cache_sql driver + (Bug #6060). +[mas] Add support for PGP revocation certificates to Crypt library. +[cjh] Provide specific validation errors when datetime Horde_Form fields have + a date but not a time, or vice-versa (Bug #5992). +[cjh] Read email addresses from subjectAltName property of S/MIME certs + (Bug #5986). +[cjh] Catch Horde_Block errors when doing ajax updates. +[cjh] Allow Horde_Mobile_select to take already-encoded options (Bug #5849). +[jwm] Add support in Horde_RPC_soap for handling SOAP endpoints that only + expose certain types and/or methods. +[jwm] Make the SOAP service name in Horde_RPC_soap configurable. +[jwm] Add basic logging of SOAP calls (method name and args, elapsed + time, bytes sent in response). +[cjh] Support LDAP password expiration when using Sun/Fedora Directory Server + (marco@csita.unige.it, Request #6012). +[cjh] Remove the wrap attribute from preference textarea tags (Bug #6024). +[cjh] Recommend and default to SSHA hashed passwords. +[jan] Fix rendering of messages in some charsets that are only supported by + iconv (Bug #5962). +[jan] Display WYSIWYG editor with correct language. +[jan] Fix creating of sub groups (Bug #5970). +[jan] Fix linking of URLs encapsulated in angle brackets (Bug #4946). +[jan] Fix edge cases of CSV file imports (Bugs #3839, #4025). +[mms] For SessionHandler drivers, don't write to backend if the session data + did not change while loading the current page. +[cjh] The Auth:: package no longer depends on the PHP mhash extension + for some encryption types. +[cjh] Add stream support to some VFS backends (Request #5913). +[jan] Add client code to JSON-RPC class and implement JSON-RPC 1.1. + + +-------- +v3.2-RC1 +-------- + +[jan] Apply user name hooks when editing share permissions + (steinkel@ctinetworks.com, Bug #5844). +[jan] Fix some date handling with dates outside the unix epoch (Bug #5893). +[jan] Fix fixed portal blocks (Bug #5853). +[jan] Fix Share caching (Bug #5748). +[cjh] Fix deleting categories (Gunnar Wrobel , Bug #5873). +[cjh] Import dhtmlHistory.js from DIMP into Horde core. +[cjh] UTF-8-encode DNs in the LDAP Groups driver (patrick.abiven@apitech.fr, + Bugs #4692 and #4918). +[mjr] Addition of an Effects API to the Horde_Image package, including a + number of image effect plugins. +[jan] Add country list form field. +[cjh] Add example logrotate configuration (Martin Fraer ). +[cjh] Add LDAP ACL definition for preferences (Martin Fraer + ). +[cjh] Add an index on horde_datatree_attribute.attribute_value to improve + DataTree performance (Andrew Morgan ). +[jan] Add SQL upgrade scripts. +[jan] Fix escaping of parenthesis in PDF documents (PEAR Bug #12092). +[jan] Fix alarm notification script (Bug #5660). +[jan] Fix PDF generation with some locales (Gunnar Wrobel, Bug #4094). +[jan] Move all application-specific hook examples to the applications' config/ + directories. +[jan] Fix SMTP configuration being set to "Best available authentication" + (Bug #5679). +[jan] Add bind parameters to LDAP account portal block configuration (Request + #5705). +[cjh] Fix login screen enter key behavior in some circumstances (Bug #5696). +[mjr] Add a new block for displaying a tag cloud that works across all Horde + applications implementing a searchTag api. +[cjh] Use the Silk flag icons from http://famfamfam.com/lab/icons/flags/ + for all flag sets (Bug #5681). +[cjh] Fix generation of UIDs with PHP 5.2+. +[cjh] Add a JSON-RPC Horde_RPC backend (joey@joeyhewitt.com). +[cjh] Allow selecting any available sound when creating alarms as an + administrator (Request #5619). +[cjh] Fix updating of last_maintenance preference with PHP 4 (Bug #5111). +[cjh] Allow considering all IPs to be "safe" for encryption operations, + passphrase entry, etc., when using SSL hardware or other secure + environments (adrieder@sbox.tugraz.at, Request #5568). +[cjh] Fix CSRF protection with Horde_Form objects submitted with preserve(). + + +---------- +v3.2-ALPHA +---------- + +[cjh] Centralize sounds for audio alarms in Horde. +[cjh] Include CSRF protection when using Horde_Form Tokens (Request #4492). +[cjh] Add first_week_day preference and use it in the calendar widget (Bug + #1729). +[cjh] Cache permissions with Horde_Cache (duck@obala.net). +[jan] Add configuration option for safe IP subnets. +[cjh] Allow turning off a user's ability to edit share permissions (Request + #4054). +[cjh] Consolidate color pickers used for Labels and in Horde_Form (Bug #5112). +[cjh] Log sending of problem report emails (Otto.Stolz@uni-konstanz.de, + Request #5461). +[cjh] Improve support for dates before 1970 and after 2038 (Bug #3741). +[mms] Add option to send MIME messages in a format that may allow broken MUAs + to handle 8-bit filename data. +[cjh] Add Tango Blue (xconspirisist , + roti@al.pmmf.hu, Request #2795) and Silver Surfer (Daniel + Dembach ) themes. +[mms] Created a Horde-wide object to access a singlet memcache configuration. +[cjh] Test for PCRE UTF-8 support with extension tests + (thomas.jarosch@intra2net.com, Bug #1052). +[jan] Add category field to Horde_Form. +[cjh] Better detection of Konqueror JavaScript features + (thomas.jarosch@intra2net.com, Request #5372). +[cjh] Support the allow_multi parameter when displaying email address form + types (thomas.jarosch@intra2net.com, Request #5356). +[cjh] Add Scriptaculous and RedBox to Horde. +[mms] Added sql driver for Horde_Cache::. +[mms] Prevent tooltips from scrolling off screen (michael.sheldon@credativ.de, + Request #3958). +[jan] Add portal block to verify EU VAT identification numbers. +[mms] Preserve URL anchor information when performing login. +[jan] Add method to fetch public key by email address from key server. +[jan] Add parameter for a temporary directory to the VC svn driver + (meyer@mesw.de, Request #5051). +[jan] Change VC library to support open_basedir restrictions (meyer@mesw.de, + Request #5051). +[cjh] Added a query for checking existance of a user to the custom SQL + Auth driver (Request #5151). +[jan] Add button to the setup screen to check for newer versions. +[mas] Add MIME Viewer for WordPerfect documents. +[mms] Use lzf compression to compress Horde_SessionObjects:: data in the + session. +[cjh] Replace google popup javascript searching with Google Ajax Search. +[jan] Add datetime variable type to Horde_Form. +[jan] Add Horde_Alarm library for reminders, alarms and notifications across + all applications with pluggable notification methods. +[jan] Add context renderer to Text_Diff package. +[jan] Add MIME_Mail class to simplify creation and sending of MIME messages. +[cjh] Horde_Share now has a driver system with DataTree and Kolab backends + (Gunnar Wrobel , Request #4263). +[cjh] Remove RPC_rest backend. +[cjh] Add DELETE support to the webdav RPC implementation + (Håvard Wigtil , Request #4721). +[cjh] Add a Horde-wide HTTP proxy config setting (Request #1039). +[mms] Use the geoip PECL extension if available. +[cjh] Add preferences change hooks that are called when preferences are set + to new values (Request #4343). +[cjh] Add Active Directory support to the LDAP account information driver + (air2@dds.nl, Request #3512). +[cjh] Add a finger driver to the account information block + (difosfor@hotmail.com, Request #3546). +[cjh] Rewrite the Prefs code to keep the same Prefs object through multiple + scope changes, instead of re-loading the Horde prefs, or prefs for + a scope that had already been loaded. Fixes bugs when making changes + to preferences and then switching scopes again (Bug #2838). +[cjh] Switch from hook functions for every group to a single hook function + for all groups, allowing more dynamic Group_hooks implementations + (dorm@dorm.org, Request #4324). +[jan] Allow Kolab users to login with both, UID or mail address + (wrobel@gentoo.org, Bug #1317). +[cjh] Switch between 'icon' and 'iconopen' images when toggling Horde_Tree + sections (Bug #2576). +[cjh] Add a Horde_Form_Action for setting the cursor position in any + text field (Request #4431). +[cjh] Provide a link for dialing phone numbers if the "telephony/dial" + API method is present (thomas@gelf.net, Request #3241). +[jan] Add support for PUT method to WebDAV server + (d.bussink@student.utwente.nl, Request #3032). +[jan] Add PHP 5 support for Kolab (wrobel@gentoo.org, Bug #4062). +[jan] Rewrite PAM authentication driver to use PAM extension from PECL. +[mas] Implement IMAP_ACL_rfc2086::canEdit() for cases when the user is + asking about their own rights. +[mms] Correctly encode MIME parameter values via RFC 2231. +[mms] Add method to do RFC 2231 encoding. +[jan] Allow to set link target for "link" preference types. +[cjh] Move developer and administrator tools into seperate PEAR + packages that will be available from pear.horde.org. +[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines. + (Request #4080) +[jan] Add SMIL MIME viewer. +[jan] Add support for virtual host based configuration. +[jan] Add File_PDF::setTextColor() (PEAR Request #1767). +[jan] Add File_PDF::setFontStyle() (d.baechtold@unico.ch, PEAR Request #5230). +[jan] Add encoding parameter to XML_SVG_Document (PEAR Request #7461). +[jan] Add SMPP driver to Net_SMS package (Ian Eure , PEAR + Request #5101). +[jan] Add support for symmetric PGP encryption to Crypt library. +[jan] Add option to limit file sizes in file and image form fields (Request + #2155, vilius@lnk.lt). +[jan] Add caching for shares. +[cjh] Add an audio MIME_Viewer so that audio files are clickable and + handled immediately by the browser. +[cjh] Add Horde_Form_Type_phone as a parent for Horde_Form_Type_cellphone. +[jan] Add caching for groups. +[cjh] Allow dropping application (or other custom-purpose) configuration + files into config/registry.d/. +[cjh] Help now has a tree view of topics and is searchable (Request #2452). +[cjh] translation.php now works with PHP 5 (Bug #3539). +[jan] Highlight new configuration items in the configuration interface + (Request #3868). +[cjh] Add Shibboleth transparent authentication driver + (Cassio Nishiguchi ). +[cjh] Add native email address validation to Horde_Form_Type_email + based on http://iamcal.com/publish/articles/php/parsing_email. +[jan] Add multidomain support for Kolab servers (tokoe@kde.org, Request #3579). +[cjh] Deprecate htmlarea in favor of xinha. +[mms] Add VFS SSH2/SFTP driver (Cliff Green ). +[mjr] Move the Horde_Config_Node and related classes out of Horde_Config and + into it's own Horde_DOM package. +[mjr] Add support for Horde_Share to the Net_IMSP package. +[jan] Add connection pooling support with memcache extension 2.0.0 + (adrieder@sbox.tugraz.at, Request #3213). +[jan] Add memcached driver to the Horde_Cache package (Duck ). +[cjh] Add phpGroupWare/eGroupWare compatibility driver to Horde_RPC that + allows mapping xml-rpc methods into Horde applications (Request #2886). +[cjh] Add _horde_hook_post_pushapp for doing actions directly after + $registry->pushApp() succeeds. +[jan] Update portal block content in the background instead of reloading the + whole portal periodically. +[mdj] Add support for split read/write databases. +[mdj] Add failover support for database backends. +[jan] Add configuration option to require users to confirm email addresses + added to their identities. +[cjh] Add a SpellChecker package. +[cjh] Have Horde::addScriptFile() check for a non-PHP version of scripts + to avoid javascript.php whenever possible. +[cjh] Add SERIALIZE_JSON mode with code from PEAR's Services_JSON. + + +------ +v3.1.9 +------ + +[jan] SECURITY: Add another check to the XSS filter. + + +------ +v3.1.8 +------ + +[cjh] SECURITY: Escape item names in the object browser (Bug #6906). +[jan] Fix large messages being rendered empty with PHP 5.2 (Bug #5792). + + +------ +v3.1.7 +------ + +[cjh] SECURITY: Fix arbitrary file inclusion through abuse of the theme + preference (CVE-2008-1284). + + +------ +v3.1.6 +------ + +[jan] SECURITY: Fix privilege escalation in Horde API. +[jan] SECURITY: Filter out FRAME tags from HTML messages (CVE-2007-6018). +[jan] SECURITY: The XSS filter passes the complete XSS cheat sheet + (http://ha.ckers.org/xss.html) now. +[jan] Apply user name hooks when editing share permissions + (steinkel@ctinetworks.com, Bug #5844). +[jan] Fix fixed portal blocks (Bug #5853). + + +------ +v3.1.5 +------ + +[cjh] Fix identity javascript when some fields are disabled + (veikko@immonen@otaverkko.fi, Bug #5595). +[cjh] Disable the Turkish locale if using PHP 5 (see + http://bugs.php.net/bug.php?id=35050). +[jan] Fix selecting the language on the login screen (Bug #5098). +[jan] Fix searching for single quotes in email headers (qa@cpanel.net, Bug + #4854). +[jan] Fix portal layouts with more than one horizontally expanded block per + row. + + +------ +v3.1.4 +------ + +[jan] SECURITY: Correctly quote file names in cleanup script for temporary + files. +[jan] Fix RPC authentication on CGI SAPIs. +[jan] Detect unencrypted PGP messages. +[jan] Correctly quote file names in cleanup script for temporary files. + + +---------- +v3.1.4-RC1 +---------- + +[jan] SECURITY: Fix an XSS vulnerability in the language selection. +[jan] Complete Cyrus virtual domain support in cyrsql driver (Vilius Sumskas + , Request #4967). +[jan] Add option whether to strip domains from usernames in the account block + (Request #4955). +[jan] Fix email lists not being validated under certain conditions (Bug #4834). +[cjh] Add a REST-ful preferences interface. +[cjh] Faster DataTree-to-SQL History migration script + (josh@endries.org, Request #4732). +[cjh] Improved automatic webroot detection (Ben Klang, Request #4126). +[cjh] Rewrite and fix the OCI8 SessionHandler (Bug #3452). +[cjh] Allow signup hooks to override the user_name and password fields + (thomas@gelf.net, Request #2904). +[cjh] Fix creation of mailbox quotas by the Auth_cyrus driver + (pascal@vmfacility.fr, Bug #4678). +[cjh] Add "Save and Finish" to the share edit window (webmgr@muskingum.edu, + Request #4307). +[cjh] Let mailto: and anchor (#) links through Horde::externalUrl (Bug #3079). +[cjh] Add smbclient version of the SMB Auth class (larry@wimble.biz, + Request #4338). +[cjh] Remove problematic "data descriptor" segment from generated ZIP files + (reitsma@denison.edu, Bug #4670). +[cjh] Strip accesskeys from menu tooltips when only showing icons (Bug #4667). +[jan] Fix saving files in the root directory of an SQL VFS backend (Bug #4652, + Ben Klang ). +[jan] Fix displaying all maintenance tasks to be confirmed at once (Bug #4377). +[cjh] Fix return format of DataTree_null::getByAttributes() + (thomas.jarosch@intra2net.com, Bug #4651). +[jan] Support departments in vCard's ORG properties (martin@matuska.org, + Request #4285). +[cjh] Rename Auth_sasl backend to Auth_peclsasl to avoid conflicts with PEAR's + Auth_SASL (Bug #4547). +[cjh] Implement handling of vTimezones in iCalendar data + (Carl Thompson , Bug #4399). +[cjh] keybindings.js now works with Safari/KHTML. +[jan] Avoid recursive folder creation when sharing Kolab folders + (michael.sheldon@credativ.de, Bug #4325). +[jan] Add Kolab specific account block driver to support special Kolab users + (mzizka@hotmail.com, Request: #4119). +[mms] Only dim below the last signature line of input text in the dimsignature + Text_Filter driver. + + +------ +v3.1.3 +------ + +[cjh] SECURITY: Validate GET-based URL parameters provided to Horde's + index.php. +[jan] Support importing of combined date/time fields (Bug #3116). +[jan] Log a warning if using settings that break sessions. +[jan] Fix parse error that broke SyncML synchronization (Bug #4168). +[jan] Support Kolab group ACLs (csacca@thecsl.org, Request #2270). +[jan] Fix unserialize() errors in session viewer (Bug #3586). + + +------ +v3.1.2 +------ + +[cjh] SECURITY: Remove unused image proxy code from dereferrer. +[cjh] SECURITY: Close XSS problems in dereferrer (IE only), help viewer and + problem reporting screen. +[cjh] Handle errors generated during XML-RPC calls properly + (Ben Klang , Bug #4097). +[jan] Add additional indexes to preference table (j.benoit@free.fr, Bug #4079). +[jan] Fix preference cache (Bug #4079). +[jan] Add configuration option to disable GET-based sessions. +[jan] Fix preferences access for special Kolab users (wrobel@gentoo.org, + Bug #4049). +[mms] Fix setting default charset for non-MIME messages (Bug #3804). +[jan] Add several methods to manipulate groups and shares to Horde's API. +[jan] Return serialized PHP values through the REST interface if passing a + restContentType parameter of 'application/x-httpd-php'. +[cjh] Only allow users to assign Share permissions for groups they are + members of. +[jan] Allow to disable VFS backends in the applications' configurations. +[mms] Update the MIME Content-Type charset parameter in a MIME message when we + convert the contents for viewing in the browser (Bug #3729). +[cjh] Fix Horde_Form_Type_assign javascript (Bug #3740). +[jan] Add upgrade scripts for Oracle. +[cjh] Include PATH_INFO whenever QUERY_STRING is requested in Horde::selfUrl() + (Bug #3703). +[jan] Add generic SQL upgrade script (Daniel A. Ramaley + ). + + +------ +v3.1.1 +------ + +[cjh] SECURITY: Fix remote code execution vulnerability found by Jan Schneider. +[cjh] Fix export and synchronization of events across daylight saving time + changes. +[jan] Add proper locking to mysql session handler (Bug #3660). +[cjh] ie.css is not necessary for IE7, so rename appropriately (Bug #3671). +[jan] Fix quota support for some VFS drivers (Bug #3647). +[cjh] Better Opera Mini detection (Bug #2961). +[jan] Fix menu wrapping with Kolab and Purple theme (Bug #3594). + + +---- +v3.1 +---- + +[cjh] Remove bogus Content-Location header in the WML Mobile renderer + (Bug #3476). +[jan] Add option to block Kolab authentication after failed logins + (tokoe@kde.org, Request #3474). +[jan] Allow to set height of iframe portal block (tevans@tachometry.com, + Request #3504). +[cjh] Update ToolTips JavaScript object to allow tooltips on non- elements. +[mms] Sort an IMAP_Tree object by display name, not full mailbox name. +[mas] Make sure database portability options are applied in History module. + (Bug #3482) + + +-------- +v3.1-RC3 +-------- + +[jan] Make sure that Kolab users always have the same user name (Bug #1317). +[jan] Fix moving objects with Kolab drivers (tokoe@kde.org, Bug #2811). +[jan] Add reset button to image form fields. +[jan] Fix selection of default identity (Bug #3416). +[mas] Add Hebrew translation. +[mas] Add support for RFC 4314-style IMAP ACLs. +[mms] Correctly encode 7-bit MIME messages with NULL characters (Bug #3395). +[jan] Hide applications with status 'notoolbar' from options menu (Bug #3383). + + +-------- +v3.1-RC2 +-------- + +[jan] Add Khmer translation (Leang Chumsoben ). +[mms] Handle quoted text when parsing MDN requests (Bug #3340). +[ben] Better support for MS-SQL. +[jan] Show correct address in last-login message if connecting through a proxy + (Bug #3288). +[mms] Allow admin to disable browser string checks (Bug #3282). +[jan] Correctly encode email group names (Bug #3234). +[cjh] Add a display method for hourminutesecond form fields (Bug #3165). +[cjh] Horde's preferences now are referred to as Global Options so the user + doesn't need to know what Horde is, and always appear at the top of + lists of apps for which preferences are available. +[jan] Add upgrade instructions (Kevin Myer kevin_myer@iu13.org, Bug #3222). +[cjh] Applications which do not have a config/prefs.php file no longer + appear in lists of applications to set options for to avoid confusion. + + +-------- +v3.1-RC1 +-------- + +[cjh] Make the lock directory for the memcached SessionHandler configurable + (Bug #3120). +[mms] Update Text_Flowed:: to support RFC 3676. +[cjh] Fix output escaping of Horde_Form_Type_cellphone in UI_VarRenderer_html. +[cjh] Allow choosing [None] as a database for $conf['sql'] (Bug #2754). +[jan] Add Icelandic translation (Bjorn Davidsson ). +[mms] Work around broken imap_8bit() implementation in + MIME::quotedPrintableEncode (Bug #2975). +[mms] Add garbage collection to Horde_Cache. +[cjh] Fix Group::listAllUsers (Carlos Pedrinaci, Bug #2937). +[jan] Add high contrast theme (tmerritt@email.arizona.edu, Request #1598). +[jan] Keeps sidebar expansion state across sessions (Request #1564). +[jan] Add configuration for mail domain used for problem reports + (dustin@ywlcs.org, Request #1376). +[cjh] Add dynamic table re-sorting through javascript. +[cjh] Inspect method signatures so that the REST driver isn't dependent on + the order of GET parameters. +[cjh] Add horde/getPreference and horde/setPreference API methods. +[cjh] Add a list of active users and active sessions to the admin area. +[cjh] Add unobtrusive javascript tooltips based on the title attribute. +[jan] Move sidebar collapse/expand button below the menu bar (Oliver Kuhl + ). +[jan] Add Ideas theme (Roel Gloudemans ). +[cjh] Move Horde_History data to its own SQL table (Bug #2298). +[jan] Add Horde_Form_type_figlet for CAPTCHA fields with figlet fonts. +[jan] Add Horde_Form_Type_dblookup for form fields with database lookups + (Request #322). +[jan] Add configuration to disable "About" links in help windows ("Matthew + M. Gamble" ). +[cjh] Allow sending problem reports to a ticket system using the + tickets/addTicket API call (Bug #1917). +[cjh] Define RTL styles via an additional stylesheet. +[cjh] Usability improvements to the identities management page (Bug #1846). +[ben] Add LDAP support to Group package. +[cjh] Add SMB driver to VFS package. +[cjh] Allow creation of expiring accounts in LDAP + (Roel Gloudemans ). +[cjh] Add configuration option to search for the user's DN in the Prefs_ldap + driver (Bug #1786). +[jan] Allow to specify the objectclass for new users added through LDAP + (Roel Gloudemans ). +[jan] Add password expiration and password encryption to LDAP authentication + driver (Roel Gloudemans ). +[jan] Add permissions to restrict number of portal blocks. +[jan] Add configuration for fixed portal blocks. +[jmf] Add audio notification listener, make portal handle audio notifications + by blocks (e.g. the IMP folder summary). +[mms] Cache certain registry data to prevent unneeded file loading/parsing + after the initial login. +[mas] Add support for counting authenticated sessions via SessionHandlers. +[cjh] Re-work Tabs so that background images can be used in creative ways. +[jan] Add "My Account Information" block that mimics the Accounts module. +[jan] Improve rendering for right-to-left languages (Amirkabir MetaNET Ltd.). +[jan] Add support for arbitrary, non-boolean permission values. +[ben] Add alternate_login and redirect_on_logout features. +[jan] Add generic SMTP driver to Net_SMS package (Ian Eure ). +[mjr] Net_IMSP will now automatically create user's default addressbook if + it does not already exist instead of just complaining about it. +[cjh] Add select all, none, and invert optionally to Horde_Form_Type_set + fields (Duck ). +[cjh] Preferences overview is now built with a definition list (
) styled + with CSS. +[jan] Add sort() method to Horde_Tree class. +[mdj] Change any output of and tags to and for better + accessibility support. +[jmf] Allow Horde templates to include application blocks. +[jan] Add extended forecasts to weatherdotcom Block (Rick Emery + ). +[cjh] Allow for arbitrary attribute filters when listing or counting Share + objects (Duck ). +[cjh] Add DataTree::getSortedTree() (Duck ). +[mjr] Support for imtest authentication added to Prefs_imsp. +[cjh] Add REST RPC driver (srrafa@usc.es, Bug #1500). +[cjh] Add support for fetching the highest and lowest ids in any DataTree + group (Duck ). +[cjh] Add DataTree::sortByAttributes() for sorting DataTreeObjects based on + their attributes (Duck ). +[mjr] Initial support added to Net_IMSP for imtest driver (provides persistent + IMSP connections using Cyrus imtest utility). +[jan] Add map links to UK and Australian address fields + (turba.list@suborbit.com, Bug #1461). +[mms] Detection of "phishing" tactics in the HTML MIME_Viewer (Todd Merritt + , Bug #1434). +[mms] Text_Flowed package now correctly handles multibyte characters. +[mms] Maintenance confirmation pages now rendered via Horde_Template (Vilius + Sumskas ). +[jan] Allow to specify charset of imported CSV files. +[jan] Add File_CSV package. +[jan] Show application names in permissions administration. +[jmf] Allow the auth backend to request a password change, support expiring + password in the SQL backend. +[cjh] Show menu children for every application with preferences under Options + in the sidebar menu (Bug #1058). +[mms] Allow individual MIME_Viewers to override the Content-Disposition MIME + parameter and force viewing inline. + + +------- +v3.0.12 +------- + +[cjh] SECURITY: Validate GET-based URL parameters provided to Horde's + index.php. + + +------- +v3.0.11 +------- + +[cjh] SECURITY: Remove unused image proxy code from dereferrer. +[cjh] SECURITY: Close XSS problems in dereferrer (IE only), help viewer and + problem reporting screen. + + +------- +v3.0.10 +------- + +[cjh] SECURITY: Fix remote code execution vulnerability found by Jan Schneider. + + +------ +v3.0.9 +------ + +[cjh] Fix showstopper bug in Horde_Form select fields (Bug #3123). + + +------ +v3.0.8 +------ + +[cjh] When deleting an identity, don't show the deleted identity + in the default identity select dropdown on the next page load. +[cjh] Fix escaping of data in the preferences templates. +[cjh] Fix escaping of data in the data import templates. +[cjh] Fix output escaping of Horde_Form_Type_cellphone in UI_VarRenderer_html. +[cjh] SECURITY: Close several XSS problems in the share edit window. +[jan] Fix weather.com portal block. + + +------ +v3.0.7 +------ + +[jan] SECURITY: Fix XSS vulnerabilities in gzip/tar and css MIME viewers. +[cjh] Add missing COMMIT in MySQL SessionHandler driver + (dgehl@inverse.ca, Bug #2731). + + +------ +v3.0.6 +------ + +[jan] Pass all URL parameters where linking email addresses (Request #1530). +[jan] Show Word viewer content with correct charset (sgrondin@csbf.qc.ca, + Bug #2737). + + +---------- +v3.0.6-RC1 +---------- + +[cjh] Fix transactions and binary data in PostgreSQL session handler + (cbs@cts.ucla.edu, Bug #2749, #2789). +[jan] Fix sidebar menu layout for Opera (Bug #2722). +[cjh] Add
 to supported help tags (vijay.mahrra@es.easynet.net,
+      Bug #2633).
+[cjh] Fix validation on ipaddress Horde_Form fields (Bug #2583).
+[cjh] Add Auth::getAuthDomain() (Bug #2573).
+[mjr] Add ability to enable/disable IMSP globally via configuration settings.
+[jan] Fix calendar popup with Safari browsers (t.zell@gmx.de, Bug #2448).
+[cjh] When using CGI PHP, SCRIPT_NAME may contain the path to the PHP binary
+      instead of the script being run; use PHP_SELF instead (Bug #2401).
+[jan] Fix sharing with groups if using group hooks (Bug #2292).
+
+
+------
+v3.0.5
+------
+
+[mms] Fix VFS's autocreatePath() for directory paths containing the root
+      directory.
+[jan] Fix cyrsql authentication driver with unixhierarchysep enabled
+      (sgrondin@csbf.qc.ca, Bug #2367).
+[mms] Fix nested IMAP AND searches.
+[mms] In sql VFS driver, allow the use of '/' at the beginning of a path to
+      indicate the base directory.
+[jan] Fix returning to last page after sending problem report (Bug #2350).
+[mms] Fix a bug that caused hook code to be run unnecessarily after a user
+      is already logged in.
+
+
+----------
+v3.0.5-RC2
+----------
+
+[cjh] Fix a far-reaching DataTree bug in loading parent ids (Bug #2203).
+
+
+----------
+v3.0.5-RC1
+----------
+
+[jan] Add Bosnian translation (Vedran Ljubovic ).
+[cjh] Let Horde_Tree handle all indent calculation based on parent/child
+      relationships (Bug #2198).
+[cjh] Add initial LDAP SessionHandler driver.
+[cjh] Use row-level locking or transactions where possible to avoid
+      session corruption in SessionHandler (Bug #1580).
+[mms] Add the memcached SessionHandler:: driver (Rong-En Fan ).
+[mms] Fix verification of MIME strings with escaped quotes (Bug #2168).
+[jan] Fix generation of free periods in free/busy code with overlapping events.
+[jan] Don't show Options button in problem reporting page.
+[jan] Add Util::realPath() method.
+[mas] Include version numbers for applications on Admin Setup screen. (Bug
+      #1420)
+[mas] Change IMAP Auth driver to use imap/notls by default in non-DSN mode to
+      match DSN mode.
+[mas] Add tls and self-signed certificate configuration options to IMAP Auth
+      driver. (Bug #1357)
+[cjh] Recognize Opera 8+ as providing advanced features (Bug #2066).
+[cjh] Fix reading of binary files on Windows in VC_svn (Bug #2036).
+[mas] Fix SQL 'LIKE' case-insensitive comparison. (Bug #2030)
+[jan] Allow charset aware IMAP searches.
+[jan] Fix Google search block for non-ascii characters (Bug #1329).
+[jan] Add quick-install instructions.
+[jan] Improve performance of several framework packages.
+[mms] Fix MIME_Contents:: caching in PHP 5 (Bug #1410).
+[jan] Fix VC SVN backend to support user names with spaces
+      (shimmanning@gmail.com, Bug #1919).
+[cjh] Escape HTML in identity names (Bug #1910).
+[mas] Use updated PostgreSQL function names.
+[ben] Update application list in horde's LDAP schema
+[cjh] Enforce maxlength restrictions in Horde_Form validation (Bug #1895).
+[jan] Disable weather.com Block if not configured.
+[cjh] Include sourceroot in VC cache keys (Bug #1783).
+[jan] Add SQL script and instructions for MSDE databases (Bugs #1862, #1870,
+      jeff@image-src.com).
+[jan] Allow portal blocks to be larger than two column/rows (Bugs #1189, 1632).
+[jan] Add SMTP authentication to problem reporting (Bug #1128).
+[jan] Support help files in admin directory with translations.php (Bug #1344).
+[jan] Fixed SQL binding for ODBC and MSSQL drivers (Bug #1816).
+[jan] Add configuration option to set location of MIME magic database.
+[mms] Make sure headers in a MIME_Part are encoded with the same character
+      set used in that MIME_Part (Bug #1591).
+[mms] Add List-Headers listed in RFC 2369 to the list of MIME Headers that
+      can only appear once in a single header (Bug #1766).
+[cjh] Fix typo in parsing of FREEBUSY data (Bug #1590).
+[jan] Support SQLite and Oracle in all SQL backend configurations.
+[cjh] Use bind variables in the Auth, VFS, and SessionHandler SQL drivers,
+      and in scripts/remove_prefs.php (selsky@columbia.edu, Bugs #1665,
+      #1666, #1667, #1668, #1677).
+[cjh] session_set_cookie_params() expects a relative timeout; setcookie wants
+      absolute. Go back to a configinteger for $conf['session']['timeout'] and
+      add time() to that value in setcookie() calls (Bugs #1302, #1658).
+      THIS MAY BREAK CONFIGURATIONS SET TO USE PHP CODE. MAKE SURE TO UPDATE
+      YOUR $conf['session']['timeout'] SETTING AFTER UPGRADING.
+[cjh] Use bind variables in the Prefs and Token SQL drivers
+      (selsky@columbia.edu, Bugs #1652, #1653).
+[mms] Prune expanded folders that no longer exist in IMAP_Tree (Bug #1517).
+[cjh] Don't try to compress output if ZPS compression is on (Bug #1626).
+[cjh] If an app only has one prefGroup, always show that prefGroup instead
+      of showing an overview screen with only one entry.
+
+
+------
+v3.0.4
+------
+
+[cjh] Use fully qualified URLs in the AnselImage HTMLArea plugin (Bug #1259).
+[cjh] SECURITY: Close XSS when setting the parent frame's page title by
+      javascript.
+[blc] Add PostgreSQL upgrade script (Brad Witte ).
+[mjr] Fix Net_IMSP to properly handle multiple lines in addressbook fields.
+[jan] Fix MIME decoding of strings that contain "%" in multibyte sequences
+      (Bug #1423).
+[cjh] Control space under the menu bar with a themeable style (Bug #1421).
+[cjh] Fix Horde_Tree with the multiline option so that row styles extend over
+      the whole height of the row.
+[cjh] If configuration files that have a .dist version are missing,
+      Horde_Test::configFilesMissing() will copy the defaults over if Horde
+      can write to the filesystem (Bug #1015).
+[cjh] Fix AnselImage HTMLArea plugin (Bug #1470).
+[cjh] Just retrieve uid when listing users in the LDAP Authentication driver.
+[cjh] Add choraPrefs to the hordePerson LDAP schema (Bug #1452).
+[cjh] 'rootdn' is not required for LDAP preferences (Bug #1453).
+[mms] Fix IMAP thread creation when the base level contains more than one
+      message.
+[jan] Allow vCards with lowercase field descriptors.
+[jan] Improve tar/gzip MIME viewer to better show unzipped content.
+[mjr] Better error handling in Net_IMSP.
+[mms] Speed improvements and sorting fixes for IMAP_Tree.
+[mms] IMAP_Tree now handles non-uppercased 'INBOX' strings returned from the
+      mail server (Bug #199).
+[mms] Rebuild certain internal MIME_Part data when retrieving from a cache.
+[jan] Show database specific connection parameters in configuration screen.
+[mms] IMAP_Tree now correctly updated when subscribing/unsubscribing from a
+      mailbox (Bug #1111).
+[mms] Make IMAP searches of non-"standard" headers work with the NOT directive
+      (Bug #1368).
+[jan] Fixed double line numbers in Source-highlight MIME viewer (Bug #1383).
+[mms] Fix IMAP_Thread when dealing with the first message in the mailbox
+      (Bug #1257).
+[cjh] Fix menu heights in Safari.
+[jan] Catch errors from configuration files to avoid blank pages.
+[jan] Support mime_magic extension again if fileinfo is not present.
+
+
+------
+v3.0.3
+------
+
+[mjr] Net_IMSP now correctly handles addressbook names containing spaces
+      (Bug #1286).
+[cjh] Implement clear() in the LDAP prefs driver (Bug #1335).
+[cjh] Don't list uninstalled applications as initial_application options
+      (Bug #1324).
+[jan] Fix postauthenticate hook, not completely denying access after a failed
+      login (Bug #1320).
+[jan] Checkboxes in portal block setup forms are correctly checked now
+      (Bug #1247).
+[mms] Allow IMAP searches to work on headers with multiple entries
+      (kolb@bitlab.hu) (Bug #1330).
+[mms] Correctly sort INBOX subfolders in IMAP_Sort (Bug #1291).
+[cjh] Turn off Form Tokens in the configuration interface.
+[jan] Sort user and group lists in permissions interface (Bug #1305).
+[jan] Allow to enter PHP code in the session timeout configuration (Bug #1302).
+
+
+----------
+v3.0.3-RC1
+----------
+
+[mms] Fix bug in Text_Flowed where unquoted lines could not be flowed.
+[cjh] Fix logic problems with the MySQL and OCI8 session handlers that
+      prevented them from handling restarting a session cleanly (Bug #1097).
+[cjh] Fix persistence of $conf['mailer']['params']['auth'] in the Setup UI
+      (Bug #1287).
+[jan] Improve performance of DataTree operations like reading email message
+      histories.
+[jan] Log successful logins and logouts with the NOTICE level (Vilius Sumskas
+      ).
+[cjh] Encode HTML entities in Horde_Form_Type_longtext display (Bug #1267).
+[mms] Fix session handling to ensure variables are persistent across function
+      calls (Gary Windham ).
+[mms] Improvements to WebCPP MIME_Viewer rendered output.
+[mms] More fixes for URLs with '&' when passing through the sanitizer.
+[jan] Make wrapping menus looking nicer in Gecko and KHTML based browsers.
+[jan] Fix MIME viewer for gzip files that don't contain tar files.
+[cjh] Fix visibility of  tags inside smallheader blocks for the Cornflower
+      theme (Bug #1206).
+[cjh] Do not cache javascript served via services/javascript.php (Bug #1140).
+[cjh] Fix management of categories that contain quotes (Bug #1202).
+[cjh] Handle addresses that are already surrounded by quotes in
+      MIME::_rfc822Encode() (Bug #1143).
+[cjh] Fix VC_svn's handling of directory names with spaces (Bug #1123).
+[cjh] Fix caching logic that was causing VC to not properly refresh objects in
+      a timely manner.
+[jan] Allow to set fixed table cell widths in WYSIWYG editor.
+
+
+------
+v3.0.2
+------
+
+[cjh] Make sure not to throw errors when bad emails are supplied in
+      services/problem.php (Bug #1070).
+[jan] Fix wrong charset of refreshed menu frame if not using UTF-8 (Bugs
+      #1052, #1055).
+[jan] Fix left menu tree collapsing after each refresh (Bug #1072).
+[jan] Fix sidebar being loaded twice if not using cookies (Bug #1076).
+
+
+------
+v3.0.1
+------
+
+[jan] Test for session.auto_start.
+[mms] Fix parsing of header with undisclosed-recipients (Bug #1057).
+[cjh] Add a browser quirk for browsers that don't support overflow:hidden in
+      table cells (KHTML).
+[jan] Fix application links if not using cookies (Bug #1029).
+[mms] Fix disabling of maintenance confirmations (Bug #1027).
+[cjh] Fix alignment of Help window header in MSIE (Bug #1023).
+[cjh] Fix the Horde_Block graphics to be indexed, not grayscale (Bug #1051).
+[cjh] SECURITY: Close several XSS vulnerabilities.
+[mms] Make sure external URL's work correctly when the URL contains '&' as
+      the delimiter.
+[cjh] Fix infinite loop with Auth_application driver (Bug #1004).
+[cjh] Never set an empty Horde_Tree cookie (Bug #1022).
+[mms] Fix displaying of folders in IMAP_Tree:: for IMAP servers that don't use
+      'INBOX' as their delimiter (Bug #1014).
+[cjh] HORDE_MENU_MASK_NONE now really means only explicitly added menu items
+      are displayed.
+[cjh] Ignore H3 in version comparisons (Bug #1017).
+[cjh] DataTree_null now stubs out the full DataTree API to avoid fatal errors
+      when not using a permanent backend.
+[jan] Fix deleting of identities (Bug #1018).
+
+
+----
+v3.0
+----
+
+[cjh] Try to catch dangerous URLs in the dereferrer (go.php).
+[cjh] Improve tree graphics for right-to-left languages (Vahid Ghafarpour
+      ).
+[mms] Fix IMAP_Tree display if folder contains the text 'pop3'.
+[cjh] Fix the Horde_Form date picker popup in Konqueror/Safari (Bug #963).
+[jan] Spaces in tree views with Internet Explorer have been fixed.
+
+
+--------
+v3.0-RC3
+--------
+
+[cjh] Always reload frameset after logging in (Bug #814).
+[cjh] Fix menu rendering for IE 5.0/Mac.
+[cjh] Turn off PNG transparency for IE by default.
+[cjh] Allow to pass an array of attributes to Horde::img().
+[cjh] Allow to set a password for the auto authentication driver.
+[jan] Add option for null driver to mailer configuration.
+[jan] Fix configuration of ZPS cache.
+[jan] Fix some javascript errors with IE 5.0.
+[cjh] The "Horde Purple" theme is now simply another theme that inherits from
+      the global CSS settings, instead of being both the parent theme as well
+      as a user-chooseable option.  The default graphics are now in a
+      top-level themes/graphics directory as well for use by all themes.
+
+
+--------
+v3.0-RC2
+--------
+
+[jan] Show tab with the field that didn't validate on submitted forms.
+[mms] Add a generic MIME_Viewer that will display the raw text of text/*
+      parts that we do not have a specific viewer for.
+
+
+--------
+v3.0-RC1
+--------
+
+[cjh] Use HORDE_MENU_MASK_* constants for determining what links are shown
+      on menus.
+[jan] Create default parameters when adding a new block to the portal.
+[mms] Autodetect exact version of IE (5.0+) on login and turn off compression
+      only for buggy versions.
+[cjh] Use an IE behavior for handling alpha transparency with PNG images
+      instead of an onload handler.
+[mms] Allow all folders to be pre-fetched when intializing IMAP_Tree::.
+[mms] Added extensions to the form renderer for the file selection API.
+[cjh] Render all menus as