From d6a4fc4f76fe0977f3a7257c0e85c56b7d9e3916 Mon Sep 17 00:00:00 2001 From: bmen Date: Sun, 22 Sep 2019 16:53:30 +0200 Subject: [PATCH] initial commit --- .gitignore | 1 + .htaccess | 23 + INSTALL | 45 + app/elements/admin_head.php | 21 + app/elements/bc_info.php | 17 + app/elements/bc_nav.php | 6 + app/elements/google_analytics.php | 12 + app/elements/haftungsausschluss.php | 9 + app/elements/header.php | 17 + app/elements/kundennavi.php | 11 + app/elements/lightbox.php | 1 + app/elements/navigation.php | 14 + app/elements/subnavigation_portfolio.php | 21 + app/elements/unten.php | 8 + app/helper/bereiche.php | 101 + app/helper/buttons.php | 94 + app/helper/classes/doc.inc.php | 861 +++++++ app/helper/classes/element.inc.php | 1729 ++++++++++++++ app/helper/classes/node.inc.php | 289 +++ app/helper/classes/treecomp.inc.php | 139 ++ app/helper/error.php | 287 +++ app/helper/html.php | 354 +++ app/helper/mail.php | 333 +++ app/helper/minixml.php | 132 ++ app/helper/validation.php | 238 ++ app/modules/about/controller.php | 37 + app/modules/about/help.xml | 3 + app/modules/about/layouts/default.php | 36 + app/modules/about/model.php | 10 + app/modules/about/modul.php | 17 + app/modules/about/view.php | 10 + app/modules/about/views/company.php | 27 + app/modules/about/views/jobs.php | 34 + app/modules/about/views/partner.php | 51 + .../about/views/pressemitteilungen.php | 25 + app/modules/basecontent/controller.php | 237 ++ app/modules/basecontent/help.xml | 40 + app/modules/basecontent/layouts/admin.php | 61 + app/modules/basecontent/layouts/loginout.php | 54 + .../basecontent/layouts/viewprotocol.php | 54 + app/modules/basecontent/layouts/webframe.php | 19 + app/modules/basecontent/model.php | 61 + app/modules/basecontent/modul.php | 67 + app/modules/basecontent/view.php | 56 + app/modules/basecontent/views/frame_top.php | 23 + app/modules/basecontent/views/login.php | 27 + app/modules/basecontent/views/logout.php | 17 + app/modules/basecontent/views/notallowed.php | 9 + app/modules/basecontent/views/options.php | 10 + app/modules/basecontent/views/protocol.php | 21 + app/modules/basecontent/views/show.php | 60 + app/modules/basecontent/views/trashcan.php | 46 + app/modules/coding/controller.php | 33 + app/modules/coding/help.xml | 3 + app/modules/coding/layouts/default.php | 36 + app/modules/coding/model.php | 10 + app/modules/coding/modul.php | 17 + app/modules/coding/view.php | 10 + app/modules/coding/views/basecontent.php | 22 + app/modules/coding/views/hosting.php | 39 + app/modules/coding/views/html.php | 24 + app/modules/coding/views/mysql.php | 25 + app/modules/common/layouts/default.php | 36 + app/modules/design/controller.php | 33 + app/modules/design/help.xml | 3 + app/modules/design/layouts/default.php | 37 + app/modules/design/model.php | 10 + app/modules/design/modul.php | 17 + app/modules/design/view.php | 10 + app/modules/design/views/corporate.php | 1 + app/modules/design/views/druck.php | 21 + app/modules/design/views/photo.php | 35 + app/modules/design/views/web.php | 21 + app/modules/pages/controller.php | 74 + app/modules/pages/help.xml | 3 + app/modules/pages/layouts/default.php | 35 + app/modules/pages/model.php | 39 + app/modules/pages/modul.php | 17 + app/modules/pages/view.php | 10 + app/modules/pages/views/contact.php | 19 + app/modules/pages/views/contact.tpl | 9 + app/modules/pages/views/impressum.php | 26 + app/modules/pages/views/sitemap.php | 50 + app/modules/pages/views/start.php | 18 + app/modules/pages/views/thankyou.php | 22 + app/modules/portfolio/controller.php | 45 + app/modules/portfolio/data/webdesign.php | 17 + app/modules/portfolio/help.xml | 3 + app/modules/portfolio/layouts/default.php | 36 + app/modules/portfolio/model.php | 302 +++ app/modules/portfolio/modul.php | 17 + app/modules/portfolio/view.php | 10 + app/modules/portfolio/views/drucksachen.php | 20 + app/modules/portfolio/views/logo.php | 21 + app/modules/portfolio/views/webdesign.php | 22 + app/modules/user/controller.php | 182 ++ app/modules/user/help.xml | 8 + app/modules/user/layouts/admin.php | 61 + app/modules/user/model.php | 113 + app/modules/user/modul.php | 34 + app/modules/user/view.php | 56 + app/modules/user/views/add.php | 18 + app/modules/user/views/admin.php | 20 + app/modules/user/views/del.php | 34 + app/modules/user/views/edit.php | 19 + app/modules/user/views/notify.tpl | 10 + config/contenttype.ini | 3 + config/database.ini | 8 + config/database.ini.sample | 8 + config/general.ini | 32 + config/lang.ini | 13 + config/routes.conf.php | 53 + db/db_2erlei.sql | 111 + fl/data/access.php | 48 + fl/data/access/database.php | 88 + fl/data/access/mysql.php | 348 +++ fl/data/access/null.php | 46 + fl/data/access/pgsql.php | 379 ++++ fl/data/structures.php | 97 + fl/data/structures/activerecord.php | 229 ++ fl/data/structures/data.php | 165 ++ fl/data/structures/deleted.php | 8 + fl/data/structures/image.php | 58 + fl/data/structures/request.php | 53 + fl/data/structures/response.php | 15 + fl/data/structures/view.php | 78 + fl/dispatch/dispatcher.php | 154 ++ fl/dispatch/lang.php | 55 + fl/dispatch/route.php | 366 +++ fl/federleicht.php | 260 +++ fl/interfaces/data_access.php | 23 + fl/interfaces/data_wrapper.php | 18 + fl/interfaces/response.php | 21 + fl/interfaces/view.php | 16 + fl/mvc/controller.php | 251 +++ fl/mvc/model.php | 270 +++ fl/mvc/modul.php | 242 ++ fl/mvc/view.php | 244 ++ fl/tools/autoload.php | 40 + fl/tools/converter.php | 67 + fl/tools/factory.php | 318 +++ fl/tools/flash.php | 214 ++ fl/tools/functions.php | 50 + fl/tools/inflector.php | 189 ++ fl/tools/registry.php | 98 + fl/tools/responder.php | 103 + fl/web_start.php | 72 + index.php | 2 + public/css/admin.css | 225 ++ public/css/admin_ie.css | 33 + public/css/lightbox.css | 105 + public/css/print.css | 37 + public/css/screen.css | 180 ++ public/css/screen_ie.css | 37 + public/img/favicon.ico | Bin 0 -> 22486 bytes public/img/icon_pfeil_off.gif | Bin 0 -> 158 bytes public/img/icon_pfeil_on.gif | Bin 0 -> 524 bytes public/img/kopf_start.jpg | Bin 0 -> 36393 bytes public/img/lightbox/blank.gif | Bin 0 -> 43 bytes public/img/lightbox/close.gif | Bin 0 -> 222 bytes public/img/lightbox/closelabel.gif | Bin 0 -> 394 bytes public/img/lightbox/loading.gif | Bin 0 -> 2767 bytes public/img/lightbox/next.gif | Bin 0 -> 305 bytes public/img/lightbox/nextlabel.gif | Bin 0 -> 418 bytes public/img/lightbox/prev.gif | Bin 0 -> 307 bytes public/img/lightbox/prevlabel.gif | Bin 0 -> 427 bytes public/img/logo.gif | Bin 0 -> 2446 bytes public/img/logo/sideshow/logo_corpuscare.png | Bin 0 -> 5485 bytes public/img/logo/sideshow/logo_dao.png | Bin 0 -> 5045 bytes .../img/logo/sideshow/logo_dao_keyvisual.png | Bin 0 -> 9814 bytes .../img/logo/sideshow/logo_myhotelvideo.png | Bin 0 -> 7870 bytes public/img/logo/sideshow/logo_nanologika.png | Bin 0 -> 6669 bytes public/img/logo/sideshow/logo_nobilis.png | Bin 0 -> 7715 bytes public/img/logo/sideshow/logo_poker.png | Bin 0 -> 8595 bytes public/img/logo/sideshow/logo_poker_claim.png | Bin 0 -> 3575 bytes public/img/logo/sideshow/logo_rampenlicht.png | Bin 0 -> 4406 bytes public/img/logo/sideshow/logo_travelclips.png | Bin 0 -> 4248 bytes .../logo/teaserbilder/excerpt_corpuscare.gif | Bin 0 -> 3575 bytes public/img/logo/teaserbilder/excerpt_dao.gif | Bin 0 -> 4384 bytes .../teaserbilder/excerpt_myhotelvideo.gif | Bin 0 -> 4235 bytes .../logo/teaserbilder/excerpt_nanologika.gif | Bin 0 -> 4442 bytes .../img/logo/teaserbilder/excerpt_nobilis.gif | Bin 0 -> 4107 bytes .../img/logo/teaserbilder/excerpt_poker.gif | Bin 0 -> 4391 bytes .../logo/teaserbilder/excerpt_rampenlicht.gif | Bin 0 -> 2656 bytes .../logo/teaserbilder/excerpt_travelclips.gif | Bin 0 -> 3755 bytes public/img/navigation_bg.gif | Bin 0 -> 2883 bytes .../img/print/sideshow/print_corpuscare.png | Bin 0 -> 109650 bytes public/img/print/sideshow/print_dao.png | Bin 0 -> 22300 bytes .../img/print/sideshow/print_dao_plakat.png | Bin 0 -> 8435 bytes .../img/print/sideshow/print_giata_berlin.png | Bin 0 -> 28623 bytes .../img/print/sideshow/print_giata_fuerte.png | Bin 0 -> 27301 bytes .../img/print/sideshow/print_nanologika.png | Bin 0 -> 23615 bytes public/img/print/sideshow/print_nobilis.png | Bin 0 -> 16894 bytes public/img/print/sideshow/print_poker.png | Bin 0 -> 8025 bytes .../img/print/sideshow/print_rampenlicht.png | Bin 0 -> 16202 bytes .../print/teaserbilder/excerpt_corpuscare.gif | Bin 0 -> 3575 bytes public/img/print/teaserbilder/excerpt_dao.gif | Bin 0 -> 4384 bytes .../img/print/teaserbilder/excerpt_giata.gif | Bin 0 -> 2912 bytes .../print/teaserbilder/excerpt_nanologika.gif | Bin 0 -> 4442 bytes .../print/teaserbilder/excerpt_nobilis.gif | Bin 0 -> 4107 bytes .../img/print/teaserbilder/excerpt_poker.gif | Bin 0 -> 4391 bytes .../teaserbilder/excerpt_rampenlicht.gif | Bin 0 -> 2656 bytes public/img/seitenabschluss.gif | Bin 0 -> 4604 bytes public/img/web/sideshow/landingpage_03.jpg | Bin 0 -> 359920 bytes .../img/web/teaserbilder/excerpt_bildung.gif | Bin 0 -> 10180 bytes .../web/teaserbilder/excerpt_bonhoeffer.gif | Bin 0 -> 14188 bytes .../web/teaserbilder/excerpt_cme-springer.gif | Bin 0 -> 10660 bytes public/img/web/teaserbilder/excerpt_ddb.gif | Bin 0 -> 10491 bytes public/img/web/teaserbilder/excerpt_efors.gif | Bin 0 -> 12509 bytes public/img/web/teaserbilder/excerpt_jamba.gif | Bin 0 -> 10512 bytes .../excerpt_jobcenter-medizin.gif | Bin 0 -> 9888 bytes public/img/web/teaserbilder/excerpt_knb.gif | Bin 0 -> 11928 bytes .../img/web/teaserbilder/excerpt_nuggad.gif | Bin 0 -> 10430 bytes public/img/web/teaserbilder/excerpt_poker.gif | Bin 0 -> 9593 bytes public/img/web/teaserbilder/excerpt_viveo.gif | Bin 0 -> 8389 bytes .../img/web/teaserbilder/excerpt_walomat.gif | Bin 0 -> 11799 bytes .../img/web/teaserbilder/excerpt_weigend.gif | Bin 0 -> 8345 bytes public/js/basescript.js | 162 ++ public/js/bereiche.js | 149 ++ public/js/buttons.js | 207 ++ public/js/changenotify.js | 60 + public/js/dropdown.js | 60 + public/js/lightbox/effects.js | 903 ++++++++ public/js/lightbox/lightbox.js | 689 ++++++ public/js/lightbox/prototype.js | 1785 +++++++++++++++ public/js/lightbox/scriptaculous.js | 45 + public/js/moo.fx.js | 134 ++ public/js/moo.fx.pack.js | 265 +++ public/js/multitags.js | 246 ++ public/js/scriptaculous/builder.js | 101 + public/js/scriptaculous/controls.js | 815 +++++++ public/js/scriptaculous/dragdrop.js | 724 ++++++ public/js/scriptaculous/effects.js | 953 ++++++++ public/js/scriptaculous/prototype.js | 1985 +++++++++++++++++ public/js/scriptaculous/scriptaculous.js | 47 + public/js/scriptaculous/slider.js | 283 +++ public/js/sortable.js | 43 + public/js/validation.js | 111 + .../Jobangebot_php_entwicklung_april07.pdf | Bin 0 -> 37837 bytes public/php/info.php | 1 + public/robots.txt | 1 + test/syntax.php | 126 ++ 242 files changed, 23113 insertions(+) create mode 100644 .gitignore create mode 100644 .htaccess create mode 100644 INSTALL create mode 100644 app/elements/admin_head.php create mode 100644 app/elements/bc_info.php create mode 100644 app/elements/bc_nav.php create mode 100644 app/elements/google_analytics.php create mode 100644 app/elements/haftungsausschluss.php create mode 100644 app/elements/header.php create mode 100644 app/elements/kundennavi.php create mode 100644 app/elements/lightbox.php create mode 100644 app/elements/navigation.php create mode 100644 app/elements/subnavigation_portfolio.php create mode 100644 app/elements/unten.php create mode 100644 app/helper/bereiche.php create mode 100644 app/helper/buttons.php create mode 100644 app/helper/classes/doc.inc.php create mode 100644 app/helper/classes/element.inc.php create mode 100644 app/helper/classes/node.inc.php create mode 100644 app/helper/classes/treecomp.inc.php create mode 100644 app/helper/error.php create mode 100644 app/helper/html.php create mode 100644 app/helper/mail.php create mode 100644 app/helper/minixml.php create mode 100644 app/helper/validation.php create mode 100644 app/modules/about/controller.php create mode 100644 app/modules/about/help.xml create mode 100644 app/modules/about/layouts/default.php create mode 100644 app/modules/about/model.php create mode 100644 app/modules/about/modul.php create mode 100644 app/modules/about/view.php create mode 100644 app/modules/about/views/company.php create mode 100644 app/modules/about/views/jobs.php create mode 100644 app/modules/about/views/partner.php create mode 100644 app/modules/about/views/pressemitteilungen.php create mode 100644 app/modules/basecontent/controller.php create mode 100644 app/modules/basecontent/help.xml create mode 100644 app/modules/basecontent/layouts/admin.php create mode 100644 app/modules/basecontent/layouts/loginout.php create mode 100644 app/modules/basecontent/layouts/viewprotocol.php create mode 100644 app/modules/basecontent/layouts/webframe.php create mode 100644 app/modules/basecontent/model.php create mode 100644 app/modules/basecontent/modul.php create mode 100644 app/modules/basecontent/view.php create mode 100644 app/modules/basecontent/views/frame_top.php create mode 100644 app/modules/basecontent/views/login.php create mode 100644 app/modules/basecontent/views/logout.php create mode 100644 app/modules/basecontent/views/notallowed.php create mode 100644 app/modules/basecontent/views/options.php create mode 100644 app/modules/basecontent/views/protocol.php create mode 100644 app/modules/basecontent/views/show.php create mode 100644 app/modules/basecontent/views/trashcan.php create mode 100644 app/modules/coding/controller.php create mode 100644 app/modules/coding/help.xml create mode 100644 app/modules/coding/layouts/default.php create mode 100644 app/modules/coding/model.php create mode 100644 app/modules/coding/modul.php create mode 100644 app/modules/coding/view.php create mode 100644 app/modules/coding/views/basecontent.php create mode 100644 app/modules/coding/views/hosting.php create mode 100644 app/modules/coding/views/html.php create mode 100644 app/modules/coding/views/mysql.php create mode 100644 app/modules/common/layouts/default.php create mode 100644 app/modules/design/controller.php create mode 100644 app/modules/design/help.xml create mode 100644 app/modules/design/layouts/default.php create mode 100644 app/modules/design/model.php create mode 100644 app/modules/design/modul.php create mode 100644 app/modules/design/view.php create mode 100644 app/modules/design/views/corporate.php create mode 100644 app/modules/design/views/druck.php create mode 100644 app/modules/design/views/photo.php create mode 100644 app/modules/design/views/web.php create mode 100644 app/modules/pages/controller.php create mode 100644 app/modules/pages/help.xml create mode 100644 app/modules/pages/layouts/default.php create mode 100644 app/modules/pages/model.php create mode 100644 app/modules/pages/modul.php create mode 100644 app/modules/pages/view.php create mode 100644 app/modules/pages/views/contact.php create mode 100644 app/modules/pages/views/contact.tpl create mode 100644 app/modules/pages/views/impressum.php create mode 100644 app/modules/pages/views/sitemap.php create mode 100644 app/modules/pages/views/start.php create mode 100644 app/modules/pages/views/thankyou.php create mode 100644 app/modules/portfolio/controller.php create mode 100644 app/modules/portfolio/data/webdesign.php create mode 100644 app/modules/portfolio/help.xml create mode 100644 app/modules/portfolio/layouts/default.php create mode 100644 app/modules/portfolio/model.php create mode 100644 app/modules/portfolio/modul.php create mode 100644 app/modules/portfolio/view.php create mode 100644 app/modules/portfolio/views/drucksachen.php create mode 100644 app/modules/portfolio/views/logo.php create mode 100644 app/modules/portfolio/views/webdesign.php create mode 100644 app/modules/user/controller.php create mode 100644 app/modules/user/help.xml create mode 100644 app/modules/user/layouts/admin.php create mode 100644 app/modules/user/model.php create mode 100644 app/modules/user/modul.php create mode 100644 app/modules/user/view.php create mode 100644 app/modules/user/views/add.php create mode 100644 app/modules/user/views/admin.php create mode 100644 app/modules/user/views/del.php create mode 100644 app/modules/user/views/edit.php create mode 100644 app/modules/user/views/notify.tpl create mode 100644 config/contenttype.ini create mode 100644 config/database.ini create mode 100644 config/database.ini.sample create mode 100644 config/general.ini create mode 100644 config/lang.ini create mode 100644 config/routes.conf.php create mode 100644 db/db_2erlei.sql create mode 100644 fl/data/access.php create mode 100644 fl/data/access/database.php create mode 100644 fl/data/access/mysql.php create mode 100644 fl/data/access/null.php create mode 100644 fl/data/access/pgsql.php create mode 100644 fl/data/structures.php create mode 100644 fl/data/structures/activerecord.php create mode 100644 fl/data/structures/data.php create mode 100644 fl/data/structures/deleted.php create mode 100644 fl/data/structures/image.php create mode 100644 fl/data/structures/request.php create mode 100644 fl/data/structures/response.php create mode 100644 fl/data/structures/view.php create mode 100644 fl/dispatch/dispatcher.php create mode 100644 fl/dispatch/lang.php create mode 100644 fl/dispatch/route.php create mode 100644 fl/federleicht.php create mode 100644 fl/interfaces/data_access.php create mode 100644 fl/interfaces/data_wrapper.php create mode 100644 fl/interfaces/response.php create mode 100644 fl/interfaces/view.php create mode 100644 fl/mvc/controller.php create mode 100644 fl/mvc/model.php create mode 100644 fl/mvc/modul.php create mode 100644 fl/mvc/view.php create mode 100644 fl/tools/autoload.php create mode 100644 fl/tools/converter.php create mode 100644 fl/tools/factory.php create mode 100644 fl/tools/flash.php create mode 100644 fl/tools/functions.php create mode 100644 fl/tools/inflector.php create mode 100644 fl/tools/registry.php create mode 100644 fl/tools/responder.php create mode 100644 fl/web_start.php create mode 100644 index.php create mode 100644 public/css/admin.css create mode 100644 public/css/admin_ie.css create mode 100644 public/css/lightbox.css create mode 100644 public/css/print.css create mode 100644 public/css/screen.css create mode 100644 public/css/screen_ie.css create mode 100644 public/img/favicon.ico create mode 100755 public/img/icon_pfeil_off.gif create mode 100755 public/img/icon_pfeil_on.gif create mode 100755 public/img/kopf_start.jpg create mode 100644 public/img/lightbox/blank.gif create mode 100644 public/img/lightbox/close.gif create mode 100644 public/img/lightbox/closelabel.gif create mode 100644 public/img/lightbox/loading.gif create mode 100644 public/img/lightbox/next.gif create mode 100644 public/img/lightbox/nextlabel.gif create mode 100644 public/img/lightbox/prev.gif create mode 100644 public/img/lightbox/prevlabel.gif create mode 100755 public/img/logo.gif create mode 100755 public/img/logo/sideshow/logo_corpuscare.png create mode 100755 public/img/logo/sideshow/logo_dao.png create mode 100755 public/img/logo/sideshow/logo_dao_keyvisual.png create mode 100755 public/img/logo/sideshow/logo_myhotelvideo.png create mode 100755 public/img/logo/sideshow/logo_nanologika.png create mode 100755 public/img/logo/sideshow/logo_nobilis.png create mode 100755 public/img/logo/sideshow/logo_poker.png create mode 100755 public/img/logo/sideshow/logo_poker_claim.png create mode 100755 public/img/logo/sideshow/logo_rampenlicht.png create mode 100755 public/img/logo/sideshow/logo_travelclips.png create mode 100755 public/img/logo/teaserbilder/excerpt_corpuscare.gif create mode 100755 public/img/logo/teaserbilder/excerpt_dao.gif create mode 100755 public/img/logo/teaserbilder/excerpt_myhotelvideo.gif create mode 100755 public/img/logo/teaserbilder/excerpt_nanologika.gif create mode 100755 public/img/logo/teaserbilder/excerpt_nobilis.gif create mode 100755 public/img/logo/teaserbilder/excerpt_poker.gif create mode 100755 public/img/logo/teaserbilder/excerpt_rampenlicht.gif create mode 100755 public/img/logo/teaserbilder/excerpt_travelclips.gif create mode 100755 public/img/navigation_bg.gif create mode 100755 public/img/print/sideshow/print_corpuscare.png create mode 100755 public/img/print/sideshow/print_dao.png create mode 100755 public/img/print/sideshow/print_dao_plakat.png create mode 100755 public/img/print/sideshow/print_giata_berlin.png create mode 100755 public/img/print/sideshow/print_giata_fuerte.png create mode 100755 public/img/print/sideshow/print_nanologika.png create mode 100755 public/img/print/sideshow/print_nobilis.png create mode 100755 public/img/print/sideshow/print_poker.png create mode 100755 public/img/print/sideshow/print_rampenlicht.png create mode 100755 public/img/print/teaserbilder/excerpt_corpuscare.gif create mode 100755 public/img/print/teaserbilder/excerpt_dao.gif create mode 100755 public/img/print/teaserbilder/excerpt_giata.gif create mode 100755 public/img/print/teaserbilder/excerpt_nanologika.gif create mode 100755 public/img/print/teaserbilder/excerpt_nobilis.gif create mode 100755 public/img/print/teaserbilder/excerpt_poker.gif create mode 100755 public/img/print/teaserbilder/excerpt_rampenlicht.gif create mode 100644 public/img/seitenabschluss.gif create mode 100755 public/img/web/sideshow/landingpage_03.jpg create mode 100755 public/img/web/teaserbilder/excerpt_bildung.gif create mode 100644 public/img/web/teaserbilder/excerpt_bonhoeffer.gif create mode 100644 public/img/web/teaserbilder/excerpt_cme-springer.gif create mode 100644 public/img/web/teaserbilder/excerpt_ddb.gif create mode 100755 public/img/web/teaserbilder/excerpt_efors.gif create mode 100755 public/img/web/teaserbilder/excerpt_jamba.gif create mode 100644 public/img/web/teaserbilder/excerpt_jobcenter-medizin.gif create mode 100644 public/img/web/teaserbilder/excerpt_knb.gif create mode 100755 public/img/web/teaserbilder/excerpt_nuggad.gif create mode 100755 public/img/web/teaserbilder/excerpt_poker.gif create mode 100755 public/img/web/teaserbilder/excerpt_viveo.gif create mode 100755 public/img/web/teaserbilder/excerpt_walomat.gif create mode 100755 public/img/web/teaserbilder/excerpt_weigend.gif create mode 100644 public/js/basescript.js create mode 100644 public/js/bereiche.js create mode 100644 public/js/buttons.js create mode 100644 public/js/changenotify.js create mode 100644 public/js/dropdown.js create mode 100644 public/js/lightbox/effects.js create mode 100644 public/js/lightbox/lightbox.js create mode 100644 public/js/lightbox/prototype.js create mode 100644 public/js/lightbox/scriptaculous.js create mode 100644 public/js/moo.fx.js create mode 100644 public/js/moo.fx.pack.js create mode 100644 public/js/multitags.js create mode 100644 public/js/scriptaculous/builder.js create mode 100644 public/js/scriptaculous/controls.js create mode 100644 public/js/scriptaculous/dragdrop.js create mode 100644 public/js/scriptaculous/effects.js create mode 100644 public/js/scriptaculous/prototype.js create mode 100644 public/js/scriptaculous/scriptaculous.js create mode 100644 public/js/scriptaculous/slider.js create mode 100644 public/js/sortable.js create mode 100644 public/js/validation.js create mode 100644 public/pdf/Jobangebot_php_entwicklung_april07.pdf create mode 100644 public/php/info.php create mode 100644 public/robots.txt create mode 100644 test/syntax.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..90ec22b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.svn diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..1b8ad74 --- /dev/null +++ b/.htaccess @@ -0,0 +1,23 @@ +Options FollowSymLinks + +RewriteEngine on +RewriteBase / + +# Weiterleitung zu Subdomains +# RewriteRule ^(demo)(.*)$ http://$1.2erlei.de$2 [L] + +# Federleicht-# Spezielle Weiterleitungsregeln +RewriteRule ^favicon.ico$ /public/img/favicon.ico [L] +RewriteRule ^robots.txt$ /public/robots.txt [L] + +# Federleicht-Verzeichnisse sperren +# Wenn diese Namen als Modul verwendet werden, +# hier loeschen und weiter unten eintragen. +RewriteRule ^(app|cache|config|fl|log|script|test|private)(.*)$ / [R=301] + +# Daten auf oeffentliches Verzeichnis umleiten +RewriteRule ^(css|img|js|php)(.*)$ /public/$1$2 [R] + +# installierte Module von Federleicht verarbeiten lassen. +RewriteRule ^(user|basecontent|about|coding|design|pages|portfolio)(.*)$ - [C] +RewriteRule ^(.*)$ index.php [L] diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..115ea6c --- /dev/null +++ b/INSTALL @@ -0,0 +1,45 @@ +Hinweise zur Einrichtung +======================== + + +DATENBANK + +Die Datei config/database.ini muss erzeugt werden. config/database.ini.sample +kann dafuer kopiert und angepasst werden. +Derzeit wird keine Datenbank verwendet. Daher ist in der config/database.ini +type=null einzutragen. + + +SCRIPTSPRACHEN + +Fuer den Betrieb der Webseite ist PHP erforderlich. Getestet wurde mit +Version 5.2. + + +WEBSERVER + +Das PHP-Framework nutzt URL-Rewriting. Daher sollte ein Apache-Webserver mit +mod_rewrite verwendet werden. + +In die Apachekonfiguration muss aufgenommen werden: + +# This Directory contains the upload.cgi-Script +# As it is accessible anyway, make it a cgi-dir... + + SetHandler cgi-script + Options +ExecCGI + + +Dies sollte im entsprechenden VirtualHost-Abschnitt stehen. + + +Kurzfassung der Anforderungen +============================= + +Apache 2 +Apache-Modul "mod_rewrite" + + +config/database.ini + +PHP 5.2 diff --git a/app/elements/admin_head.php b/app/elements/admin_head.php new file mode 100644 index 0000000..245b1d6 --- /dev/null +++ b/app/elements/admin_head.php @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/elements/bc_info.php b/app/elements/bc_info.php new file mode 100644 index 0000000..6009586 --- /dev/null +++ b/app/elements/bc_info.php @@ -0,0 +1,17 @@ + + +

Meldungen

+
 
+
+
 
+
 
+
+ +

Hilfe

+
 
+ get_help($vars['cap']['controller'], $vars['cap']['action']); ?> +
 
+

Handbuch

+
 
+
+ diff --git a/app/elements/bc_nav.php b/app/elements/bc_nav.php new file mode 100644 index 0000000..a2d4509 --- /dev/null +++ b/app/elements/bc_nav.php @@ -0,0 +1,6 @@ +

+ Startseite | + Webseite ansehen | + Benutzerverwaltung | + Papierkorb +

diff --git a/app/elements/google_analytics.php b/app/elements/google_analytics.php new file mode 100644 index 0000000..af214cb --- /dev/null +++ b/app/elements/google_analytics.php @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/app/elements/haftungsausschluss.php b/app/elements/haftungsausschluss.php new file mode 100644 index 0000000..7877971 --- /dev/null +++ b/app/elements/haftungsausschluss.php @@ -0,0 +1,9 @@ +

Haftungsausschluss:

+ +

Die 2erlei übernimmt keine Garantie dafür, dass die auf dieser Website +bereitgestellten Informationen vollständig, richtig und in jedem Fall aktuell +sind. Dies gilt auch für alle Verbindungen ("Links"), auf die diese Website +direkt oder indirekt verweist. 2erlei Berlin ist für den Inhalt einer Seite, +die mit einem solchen Link erreicht wird, nicht verantwortlich. 2erlei Berlin +behält sich das Recht vor, ohne vorherige Ankündigung Änderungen oder +Ergänzungen der bereitgestellten Informationen vorzunehmen.

diff --git a/app/elements/header.php b/app/elements/header.php new file mode 100644 index 0000000..c2aba8e --- /dev/null +++ b/app/elements/header.php @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/elements/kundennavi.php b/app/elements/kundennavi.php new file mode 100644 index 0000000..a35400c --- /dev/null +++ b/app/elements/kundennavi.php @@ -0,0 +1,11 @@ + +

Startseite

+Kunden-Login

+

Sitemap

+

Kontakt

+ --> + + */ ?> diff --git a/app/elements/lightbox.php b/app/elements/lightbox.php new file mode 100644 index 0000000..def4acd --- /dev/null +++ b/app/elements/lightbox.php @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/elements/navigation.php b/app/elements/navigation.php new file mode 100644 index 0000000..17e37d8 --- /dev/null +++ b/app/elements/navigation.php @@ -0,0 +1,14 @@ +

+Form & Farbe + | + Code & Technik + | + über 2erlei + | + */ ?> +   Referenzen + | + Kontakt +

+ diff --git a/app/elements/subnavigation_portfolio.php b/app/elements/subnavigation_portfolio.php new file mode 100644 index 0000000..d790f57 --- /dev/null +++ b/app/elements/subnavigation_portfolio.php @@ -0,0 +1,21 @@ + + + + diff --git a/app/elements/unten.php b/app/elements/unten.php new file mode 100644 index 0000000..694dd9a --- /dev/null +++ b/app/elements/unten.php @@ -0,0 +1,8 @@ +

+ 2005 - 2012   2erlei Konzeption & Gestaltung   + | + Kontakt + | + Impressum +

+ diff --git a/app/helper/bereiche.php b/app/helper/bereiche.php new file mode 100644 index 0000000..9783898 --- /dev/null +++ b/app/helper/bereiche.php @@ -0,0 +1,101 @@ + + * @version 0.2 + * @license All Rights Reserved + */ +class bereiche { + var $indent; + var $indent_str = ''; + + /** + * Konstruktor + * + * @param int $indent + */ + function bereiche($indent=3) { + $this->indent = (int) $indent; + if( $this->indent == 3 ) $this->indent_str = "\t\t\t"; + } + + /** + * Oberen Abschluss des Bereichs ausgeben + * + * @param string $id ID des Bereichs + * @param string $title Ãœberschrift des Bereichs + */ + function oben($id, $title) { + $html[] = '

'.$title.'

'; + $html[] = '
 
'; + $this->output($html); + } + + /** + * Trennstrich einfügen + */ + function unterbrechung() { + $html[] = '
 
'; + $html[] = '
 
'; + $this->output($html); + } + + /** + * Buttons ausgeben + * + * @param string $buttons Kommaseparierte Liste der einzufügenden Buttons + */ + function buttons($buttons='') { + $html[] = '
 
'; + + if ($buttons != '') { + needs('buttons'); + $the_buttons = new buttons(); + + $html[] = '

'; + + $buttons = explode(',', $buttons); + foreach( $buttons as $button ) { + @list($button_method, $button_param) = explode(':', $button); + + if ( method_exists($the_buttons, $button_method) ) { + $buttonhtml = $the_buttons->$button_method($button_param); + } else { + $buttonhtml = ''; + } + + $html[] = ' ' . $buttonhtml; + } + + $js = $the_buttons->get_js(); + if ( $js != '' ) { + $html[] = $js; + } + + $html[] = '

'; + } + $this->output($html); + } + + /** + * Unteren Abschluss des Bereichs ausgeben + */ + function unten() { + $html[] = '
 
'; + $html[] = '
'; + $this->output($html); + } + + /** + * Ausgabe des HTML + * + * @param array $html + */ + function output($html) { + foreach( $html as $line ) { + echo $this->indent_str . $line . PHP_EOL; + } + } +} +?> diff --git a/app/helper/buttons.php b/app/helper/buttons.php new file mode 100644 index 0000000..0e8674f --- /dev/null +++ b/app/helper/buttons.php @@ -0,0 +1,94 @@ + + * @version 0.1 + * @license All Rights Reserved + */ +class buttons { + var $javascript = ''; + + function buttons() { + } + + function get_js() { + if ( $this->javascript == '' ) return ''; + + $js = ''; + + $js .= ''; + + $this->javascript = ''; + return $js; + } + + function add_js($js) { + $this->javascript .= $js . PHP_EOL; + } + + function weiter($next) { + $html = 'weiter'; + $this->add_js("var field = $('weiter-".$next."'); field.href = \"javascript:Bereiche.toggle('" . $next . "');\";"); + return $html; + } + + function zurueck($prev) { + $html = 'zurück'; + $this->add_js("var field = $('zurueck-".$prev."'); field.href = \"javascript:Bereiche.toggle('" . $prev . "');\";"); + return $html; + } + + function speichern() { + $html = ''; + return $html; + } + + function zuordnen() { + $html = ''; + return $html; + } + + function abbrechen($target='/') { + $html = 'Abbrechen'; + $this->add_js("var field = $('abbrechen-button'); field.href = \"javascript:window.history.back();\";"); + return $html; + } + + function hinzufuegen($target='/') { + $html = 'hinzufügen'; + return $html; + } + + function loeschen($target='/') { + $html = 'löschen'; + return $html; + } + + function uebernehmen($target='/') { + $html = 'löschen'; + return $html; + } + + /** + * Reine JavaScript-Buttons hinzufügen + * + * @param string $params Die Parameter werden wie folgt erwartet: + * modulname-bereichid-jsname-buttons + * + * Die Buttons werden dabei wie folgt erwartet: + * button1/button2/button3 + */ + function js($params) { + list($modul, $bereich, $js_name, $buttons) = explode('-', $params); + $buttons = explode('/', $buttons); + $this->add_js($js_name . ' = new Buttons(\''.$modul.'\', \''.$bereich.'\');'); + $this->add_js($js_name . '.write(\''.$js_name.'\', [\''.implode('\',\'', $buttons).'\']);'); + } +} +?> diff --git a/app/helper/classes/doc.inc.php b/app/helper/classes/doc.inc.php new file mode 100644 index 0000000..95ebff7 --- /dev/null +++ b/app/helper/classes/doc.inc.php @@ -0,0 +1,861 @@ +]+)([^>]+)?>(.*?)<\s*\/\\1\s*>\s*([^<]+)?(.*)|\s*\s*|^\s*<\s*([^\s>]+)([^>]*)\/\s*>\s*([^<>]+)?|||]+)\s*(["\'])([^\14]+)\14\s*>|^([^<]+)(.*)/smi'); +*/ + +define("MINIXML_COMPLETE_REGEX",'/^\s*<\s*([^\s>]+)(\s+[^>]+)?>(.*?)<\s*\/\1\s*>\s*([^<]+)?(.*)|^\s*\s*(.*)|^\s*<\s*([^\s>]+)([^>]+)\/\s*>\s*(.*)|^\s*\s*(.*)|^\s*\s*(.*)|^\s*]+)\s*(["\'])([^\17]+)\17\s*>\s*(.*)|^([^<]+)(.*)/smi'); + +/* +#define("MINIXML_SIMPLE_REGEX", +# // 1 2 3 4 5 6 7 8 9 #10 11 +#'/\s*<\s*([^\s>]+)([^>]+)?>(.*?)<\s*\/\\1\s*>\s*([^<]+)?(.*)|\s*\s*|\s*<\s*([^\s>]+)([^>]*)\/\s*>\s*([^<>]+)?|^([^<]+)(.*)/smi'); + +*/ +define("MINIXML_SIMPLE_REGEX",'/^\s*<\s*([^\s>]+)(\s+[^>]+)?>(.*?)<\s*\/\1\s*>\s*([^<]+)?(.*)|^\s*\s*(.*)|^\s*<\s*([^\s>]+)([^>]+)\/\s*>\s*(.*)|^([^<]+)(.*)/smi'); + + +require_once(MINIXML_CLASSDIR . "/element.inc.php"); + +/*************************************************************************************************** +**************************************************************************************************** +***** +***** MiniXMLDoc +***** +**************************************************************************************************** +***************************************************************************************************/ + +/* MiniXMLDoc class +** +** The MiniXMLDoc class is the programmer's handle to MiniXML functionality. +** +** A MiniXMLDoc instance is created in every program that uses MiniXML. +** With the MiniXMLDoc object, you can access the root MiniXMLElement, +** find/fetch/create elements and read in or output XML strings. +**/ +class MiniXMLDoc { + var $xxmlDoc; + var $xuseSimpleRegex; + var $xRegexIndex; + + /* MiniXMLDoc [XMLSTRING] + ** Constructor, create and init a MiniXMLDoc object. + ** + ** If the optional XMLSTRING is passed, the document will be initialised with + ** a call to fromString using the XMLSTRING. + ** + */ + function MiniXMLDoc ($string=NULL) + { + /* Set up the root element - note that it's name get's translated to a + ** string. + */ + $this->xxmlDoc = new MiniXMLElement("PSYCHOGENIC_ROOT_ELEMENT"); + $this->xuseSimpleRegex = MINIXML_USE_SIMPLE; + if (! is_null($string)) + { + $this->fromString($string); + } + + } + + function init () + { + $this->xxmlDoc = new MiniXMLElement("PSYCHOGENIC_ROOT_ELEMENT"); + } + + /* getRoot + ** Returns a reference the this document's root element + ** (an instance of MiniXMLElement) + */ + function &getRoot () + { + return $this->xxmlDoc; + } + + + /* setRoot NEWROOT + ** Set the document root to the NEWROOT MiniXMLElement object. + **/ + function setRoot (&$root) + { + if ($this->isElement($root)) + { + $this->xxmlDoc = $root; + } else { + return _MiniXMLError("MiniXMLDoc::setRoot(): Trying to set non-MiniXMLElement as root"); + } + } + + /* isElement ELEMENT + ** Returns a true value if ELEMENT is an instance of MiniXMLElement, + ** false otherwise. + */ + function isElement (&$testme) + { + if (is_null($testme)) + { + return 0; + } + + return method_exists($testme, 'MiniXMLElement'); + } + + + /* isNode NODE + ** Returns a true value if NODE is an instance of MiniXMLNode, + ** false otherwise. + */ + function isNode (&$testme) + { + if (is_null($testme)) + { + return 0; + } + + return method_exists($testme, 'MiniXMLNode'); + } + + + /* createElement NAME [VALUE] + ** Creates a new MiniXMLElement with name NAME. + ** This element is an orphan (has no assigned parent) + ** and will be lost unless it is appended (MiniXMLElement::appendChild()) + ** to an element at some point. + ** + ** If the optional VALUE (string or numeric) parameter is passed, + ** the new element's text/numeric content will be set using VALUE. + ** + ** Returns a reference to the newly created element (use the =& operator) + */ + function &createElement ($name=NULL, $value=NULL) + { + $newElement = new MiniXMLElement($name); + + if (! is_null($value)) + { + if (is_numeric($value)) + { + $newElement->numeric($value); + } elseif (is_string($value)) + { + $newElement->text($value); + } + } + + return $newElement; + } + + /* getElement NAME + ** Searches the document for an element with name NAME. + ** + ** Returns a reference to the first MiniXMLElement with name NAME, + ** if found, NULL otherwise. + ** + ** NOTE: The search is performed like this, returning the first + ** element that matches: + ** + ** - Check the Root Element's immediate children (in order) for a match. + ** - Ask each immediate child (in order) to MiniXMLElement::getElement() + ** (each child will then proceed similarly, checking all it's immediate + ** children in order and then asking them to getElement()) + */ + function &getElement ($name) + { + + $element = $this->xxmlDoc->getElement($name); + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("MiniXMLDoc::getElement(): Returning element $element"); + } + + return $element; + + } + + + /* getElementByPath PATH + ** Attempts to return a reference to the (first) element at PATH + ** where PATH is the path in the structure from the root element to + ** the requested element. + ** + ** For example, in the document represented by: + ** + ** + ** + ** + ** + ** + ** + ** DA42 + ** + ** + ** D99983FFF + ** + ** + ** ss-839uent + ** + ** + ** + ** + ** $accessid =& $xmlDocument->getElementByPath('partRateRequest/vendor/accessid'); + ** + ** Will return what you expect (the accessid element with attributes user = "myusername" + ** and password = "mypassword"). + ** + ** BUT be careful: + ** $accessid =& $xmlDocument->getElementByPath('partRateRequest/partList/partNum'); + ** + ** will return the partNum element with the value "DA42". Other partNums are + ** inaccessible by getElementByPath() - Use MiniXMLElement::getAllChildren() instead. + ** + ** Returns the MiniXMLElement reference if found, NULL otherwise. + */ + function &getElementByPath ($path) + { + + $element = $this->xxmlDoc->getElementByPath($path); + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Returning element $element"); + } + + return $element; + + } + + function fromFile ($filename) + { + $modified = stat($filename); + if (! is_array($modified)) + { + _MiniXMLError("Can't stat '$filename'"); + return NULL; + } + + if (MINIXML_USEFROMFILECACHING > 0) + { + + $tmpName = MINIXML_FROMFILECACHEDIR . '/' . 'minixml-' . md5($filename); + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Trying to open cach file $tmpName (for '$filename')"); + } + $cacheFileStat = stat($tmpName); + + if (is_array($cacheFileStat) && $cacheFileStat[9] > $modified[9]) + { + + $fp = @fopen($tmpName,"r"); + if ($fp) + { + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Reading file '$filename' from object cache instead ($tmpName)"); + } + $tmpFileSize = filesize($tmpName); + $tmpFileContents = fread($fp, $tmpFileSize); + + $serializedObj = unserialize($tmpFileContents); + + $sRoot =& $serializedObj->getRoot(); + if ($sRoot) + { + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Restoring object from cache file $tmpName"); + } + $this->setRoot($sRoot); + + /* Return immediately, such that we don't refresh the cache */ + return $this->xxmlDoc->numChildren(); + + } /* end if we got a root element from unserialized object */ + + } /* end if we sucessfully opened the file */ + + + } /* end if cache file exists and is more recent */ + } + + + ob_start(); + readfile($filename); + $filecontents = ob_get_contents(); + ob_end_clean(); + + $retVal = $this->fromString($filecontents); + + if (MINIXML_USEFROMFILECACHING > 0) + { + $this->saveToCache($filename); + } + + return $retVal; + + + } + + function saveToCache ($filename) + { + $tmpName = MINIXML_FROMFILECACHEDIR . '/' . 'minixml-' . md5($filename); + + $fp = @fopen($tmpName, "w"); + + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Saving object to cache as '$tmpName'"); + } + + if ($fp) + { + + $serialized = serialize($this); + fwrite($fp, $serialized); + + fclose($fp); + } else { + _MiniXMLError("Could not open $tmpName for write in MiniXMLDoc::saveToCache()"); + } + + } + + /* fromString XMLSTRING + ** + ** Initialise the MiniXMLDoc (and it's root MiniXMLElement) using the + ** XML string XMLSTRING. + ** + ** Returns the number of immediate children the root MiniXMLElement now + ** has. + */ + function fromString (&$XMLString) + { + $useSimpleFlag = $this->xuseSimpleRegex; + + + if ($this->xuseSimpleRegex || ! preg_match('/xuseSimpleRegex = 1; + + $this->xRegexIndex = array( + 'biname' => 1, + 'biattr' => 2, + 'biencl' => 3, + 'biendtxt' => 4, + 'birest' => 5, + 'comment' => 6, + 'uname' => 8, + 'uattr' => 9, + 'plaintxt' => 11, + 'plainrest' => 12 + ); + $regex = MINIXML_SIMPLE_REGEX; + + } else { + + $this->xRegexIndex = array( + 'biname' => 1, + 'biattr' => 2, + 'biencl' => 3, + 'biendtxt' => 4, + 'birest' => 5, + 'comment' => 6, + 'uname' => 8, + 'uattr' => 9, + 'cdata' => 11, + 'doctypedef' => 13, + 'doctypecont' => 14, + 'entityname' => 16, + 'entitydef' => 18, + 'plaintxt' => 20, + 'plainrest' => 21 + ); + $regex = MINIXML_COMPLETE_REGEX; + } + + $this->fromSubString($this->xxmlDoc, $XMLString, $regex); + + $this->xuseSimpleRegex = $useSimpleFlag; + + return $this->xxmlDoc->numChildren(); + + } + + + function fromArray (&$init, $params=NULL) + { + + $this->init(); + + + if (! is_array($init) ) + { + + return _MiniXMLError("MiniXMLDoc::fromArray(): Must Pass an ARRAY to initialize from"); + } + + if (! is_array($params) ) + { + $params = array(); + } + + if ( $params["attributes"] && is_array($params["attributes"]) ) + { + + $attribs = array(); + foreach ($params["attributes"] as $attribName => $value) + { + if (! (array_key_exists($attribName, $attribs) && is_array($attribs[$attribName]) ) ) + { + $attribs[$attribName] = array(); + } + + if (is_array($value)) + { + foreach ($value as $v) + { + if (array_key_exists($v, $attribs[$attribName])) + { + $attribs[$attribName][$v]++; + } else { + $attribs[$attribName][$v] = 1; + } + } + } else { + if (array_key_exists($value,$attribs[$attribName])) + { + $attribs[$attribName][$value]++; + } else { + $attribs[$attribName][$value] = 1; + } + } + } + + // completely replace old attributes by our optimized array + $params["attributes"] = $attribs; + } else { + $params["attributes"] = array(); + } + + foreach ($init as $keyname => $value) + { + $sub = $this->_fromArray_getExtractSub($value); + + + $this->$sub($keyname, $value, $this->xxmlDoc, $params); + + } + + + return $this->xxmlDoc->numChildren(); + + } + + function _fromArray_getExtractSub ($v) + { + // is it a string, a numerical array or an associative array? + $sub = "_fromArray_extract"; + if (is_array($v)) + { + if (_MiniXML_NumKeyArray($v)) + { + // All numeric - assume it is a "straight" array + $sub .= "ARRAY"; + } else { + $sub .= "AssociativeARRAY"; + } + + } else { + $sub .= "STRING"; + } + + + return $sub; + } + + + + + + function _fromArray_extractAssociativeARRAY ($name, &$value, &$parent, &$params) + { + + $thisElement =& $parent->createChild($name); + + foreach ($value as $key => $val) + { + + $sub = $this->_fromArray_getExtractSub($val); + + + $this->$sub($key, $val, $thisElement, $params); + + } + + return; + } + + function _fromArray_extractARRAY ($name, &$value, &$parent, &$params) + { + + foreach ($value as $val) + { + $sub = $this->_fromArray_getExtractSub($val); + + + $this->$sub($name, $val, $parent, $params); + + } + + return; + } + + + function _fromArray_extractSTRING ($name, $value="", &$parent, &$params) + { + + $pname = $parent->name(); + + if ( + ( array_key_exists($pname, $params['attributes']) && is_array($params['attributes'][$pname]) + && array_key_exists($name, $params['attributes'][$pname]) && $params['attributes'][$pname][$name]) + || ( + array_key_exists('-all', $params['attributes']) && is_array($params['attributes']['-all']) + && array_key_exists($name, $params['attributes']['-all']) && $params['attributes']['-all'][$name]) + ) + { + $parent->attribute($name, $value); + } elseif ($name == '-content') { + + $parent->text($value); + } else { + $parent->createChild($name, $value); + } + + return; + } + + + + function time ($msg) + { + error_log("\nMiniXML msg '$msg', time: ". time() . "\n"); + } + // fromSubString PARENTMINIXMLELEMENT XMLSUBSTRING + // private method, called recursively to parse the XMLString in little sub-chunks. + function fromSubString (&$parentElement, &$XMLString, &$regex) + { + //$this->time('fromSubStr'); + + if (is_null($parentElement) || empty($XMLString) || preg_match('/^\s*$/', $XMLString)) + { + return; + } + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Called fromSubString() with parent '" . $parentElement->name() . "'\n"); + } + + $matches = array(); + if (preg_match_all( $regex, $XMLString, $matches)) + { + // $this->time('a match'); + + $mcp = $matches; + + $numMatches = count($mcp[0]); + + for($i=0; $i < $numMatches; $i++) + { + if (MINIXML_DEBUG > 1) + { + _MiniXMLLog ("Got $numMatches CHECKING: ". $mcp[0][$i] . "\n"); + } + + $uname = $mcp[$this->xRegexIndex['uname']][$i]; + $comment = $mcp[$this->xRegexIndex['comment']][$i]; + if ($this->xuseSimpleRegex) + { + $cdata = NULL; + $doctypecont = NULL; + $entityname = NULL; + + $tailEndIndexes = array(5, 7, 10, 12); + } else { + + $cdata = $mcp[$this->xRegexIndex['cdata']][$i]; + $doctypecont = $mcp[$this->xRegexIndex['doctypecont']][$i]; + $entityname = $mcp[$this->xRegexIndex['entityname']][$i]; + + $tailEndIndexes = array(5, 7, 10, 12, 15, 19, 21); + } + + $plaintext = $mcp[$this->xRegexIndex['plaintxt']][$i]; + + // check all the 'tailend' (i.e. rest of string) matches for more content + $moreContent = ''; + $idx = 0; + while (empty($moreContent) && ($idx < count($tailEndIndexes))) + { + if (! empty($mcp[$tailEndIndexes[$idx]][$i])) + { + $moreContent = $mcp[$tailEndIndexes[$idx]][$i]; + } + + $idx++; + } + + + + if ($uname) + { + // _MiniXMLLog ("Got UNARY $uname"); + $newElement =& $parentElement->createChild($uname); + $this->_extractAttributesFromString($newElement, $mcp[$this->xRegexIndex['uattr']][$i]); + + } elseif ($comment) { + //_MiniXMLLog ("Got comment $comment"); + $parentElement->comment($comment); + + } elseif ($cdata) { + //_MiniXMLLog ("Got cdata $cdata"); + $newElement = new MiniXMLElementCData($cdata); + $parentElement->appendChild($newElement); + } elseif ($doctypecont) { + //_MiniXMLLog ("Got doctype $doctypedef '" . $mcp[11][$i] . "'"); + $newElement = new MiniXMLElementDocType($mcp[$this->xRegexIndex['doctypedef']][$i]); + $appendedChild =& $parentElement->appendChild($newElement); + $this->fromSubString($appendedChild, $doctypecont, $regex); + + } elseif ($entityname ) { + //_MiniXMLLog ("Got entity $entityname"); + $newElement = new MiniXMLElementEntity ($entityname, $mcp[$this->xRegexIndex['entitydef']][$i]); + $parentElement->appendChild($newElement); + + } elseif ($plaintext) { + + if (! preg_match('/^\s+$/', $plaintext)) + { + $parentElement->createNode($plaintext); + } + + } elseif($mcp[$this->xRegexIndex['biname']]) { + + // _MiniXMLLog("Got BIN NAME: " . $mcp[$this->xRegexIndex['biname']][$i]); + + $nencl = $mcp[$this->xRegexIndex['biencl']][$i]; + $finaltxt = $mcp[$this->xRegexIndex['biendtxt']][$i]; + + $newElement =& $parentElement->createChild($mcp[$this->xRegexIndex['biname']][$i]); + $this->_extractAttributesFromString($newElement, $mcp[$this->xRegexIndex['biattr']][$i]); + + + + $plaintxtMatches = array(); + if (preg_match("/^\s*([^\s<][^<]*)/", $nencl, $plaintxtMatches)) + { + $txt = $plaintxtMatches[1]; + $newElement->createNode($txt); + + $nencl = preg_replace("/^\s*([^<]+)/", "", $nencl); + } + + + if ($nencl && !preg_match('/^\s*$/', $nencl)) + { + $this->fromSubString($newElement, $nencl, $regex); + } + + if ($finaltxt) + { + $parentElement->createNode($finaltxt); + } + + + } /* end switch over type of match */ + + if (! empty($moreContent)) + { + $this->fromSubString($parentElement, $moreContent, $regex); + } + + + } /* end loop over all matches */ + + + } /* end if there was a match */ + + } /* end method fromSubString */ + + + /* toString [DEPTH] + ** Converts this MiniXMLDoc object to a string and returns it. + ** + ** The optional DEPTH may be passed to set the space offset for the + ** first element. + ** + ** If the optional DEPTH is set to MINIXML_NOWHITESPACES. + ** When it is, no \n or whitespaces will be inserted in the xml string + ** (ie it will all be on a single line with no spaces between the tags. + ** + ** Returns a string of XML representing the document. + */ + function toString ($depth=0) + { + $retString = $this->xxmlDoc->toString($depth); + + if ($depth == MINIXML_NOWHITESPACES) + { + $xmlhead = ""; + } else { + $xmlhead = "\n "; + } + $search = array("/]*)>\s*/smi", + "/<\/PSYCHOGENIC_ROOT_ELEMENT>/smi"); + $replace = array($xmlhead, + ""); + $retString = preg_replace($search, $replace, $retString); + + + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("MiniXML::toString() Returning XML:\n$retString\n\n"); + } + + + return $retString; + } + + + /* toArray + ** + ** Transforms the XML structure currently represented by the MiniXML Document object + ** into an array. + ** + ** More docs to come - for the moment, use var_dump($miniXMLDoc->toArray()) to see + ** what's going on :) + */ + + function & toArray () + { + + $retVal = $this->xxmlDoc->toStructure(); + + if (is_array($retVal)) + { + return $retVal; + } + + $retArray = array( + '-content' => $retVal, + ); + + return $retArray; + } + + + + + /* getValue() + ** Utility function, call the root MiniXMLElement's getValue() + */ + function getValue () + { + return $this->xxmlDoc->getValue(); + } + + + + /* dump + ** Debugging aid, dump returns a nicely formatted dump of the current structure of the + ** MiniXMLDoc object. + */ + function dump () + { + return serialize($this); + } + + + + // _extractAttributesFromString + // private method for extracting and setting the attributs from a + // ' a="b" c = "d"' string + function _extractAttributesFromString (&$element, &$attrString) + { + + if (! $attrString) + { + return NULL; + } + + $count = 0; + $attribs = array(); + // Set the attribs + preg_match_all('/([^\s]+)\s*=\s*([\'"])([^\2]*?)\2/sm', $attrString, $attribs); + + + for ($i = 0; $i < count($attribs[0]); $i++) + { + $attrname = $attribs[1][$i]; + $attrval = $attribs[3][$i]; + + if ($attrname) + { + $element->attribute($attrname, $attrval, ''); + $count++; + } + } + + return $count; + } + + /* Destructor to keep things clean -- patch by Ilya */ + function __destruct() + { + $this->xxmlDoc = null; + } + + +} + + + +/*************************************************************************************************** +**************************************************************************************************** +***** +***** MiniXML +***** +**************************************************************************************************** +***************************************************************************************************/ + +/* class MiniXML (MiniXMLDoc) +** +** Avoid using me - I involve needless overhead. +** +** Utility class - this is just an name aliase for the +** MiniXMLDoc class as I keep repeating the mistake of +** trying to create +** +** $xml = new MiniXML(); +** +*/ +class MiniXML extends MiniXMLDoc { + + function MiniXML () + { + $this->MiniXMLDoc(); + } +} + + + +?> \ No newline at end of file diff --git a/app/helper/classes/element.inc.php b/app/helper/classes/element.inc.php new file mode 100644 index 0000000..f7bd52c --- /dev/null +++ b/app/helper/classes/element.inc.php @@ -0,0 +1,1729 @@ + 0) +**/ + +class MiniXMLElement extends MiniXMLTreeComponent { + + + var $xname; + var $xattributes; + var $xchildren; + var $xnumChildren; + var $xnumElementChildren; + + var $xavoidLoops = MINIXML_AVOIDLOOPS; + + + /* MiniXMLElement NAME + ** Creates and inits a new MiniXMLElement + */ + function MiniXMLElement ($name=NULL) + { + $this->MiniXMLTreeComponent(); + $this->xname = NULL; + $this->xattributes = array(); + $this->xchildren = array(); + $this->xnumChildren = 0; + $this->xnumElementChildren = 0; + if ($name) + { + $this->name($name); + } else { + return _MiniXMLError("MiniXMLElement Constructor: must pass a name to constructor"); + } + } /* end method MiniXMLElement */ + + + /**************** Get/set methods for MiniXMLElement data *****************/ + + + /* name [NEWNAME] + ** + ** If a NEWNAME string is passed, the MiniXMLElement's name is set + ** to NEWNAME. + ** + ** Returns the element's name. + */ + function name ($setTo=NULL) + { + if (! is_null($setTo)) + { + if (! is_string($setTo)) + { + return _MiniXMLError("MiniXMLElement::name() Must pass a STRING to method to set name"); + } + + $this->xname = $setTo; + } + + return $this->xname; + + } /* end method name */ + + + + /* attribute NAME [SETTO [SETTOALT]] + ** + ** The attribute() method is used to get and set the + ** MiniXMLElement's attributes (ie the name/value pairs contained + ** within the tag, ) + ** + ** If SETTO is passed, the attribute's value is set to SETTO. + ** + ** If the optional SETTOALT is passed and SETTO is false, the + ** attribute's value is set to SETTOALT. This is usefull in cases + ** when you wish to set the attribute to a default value if no SETTO is + ** present, eg $myelement->attribute('href', $theHref, 'http://psychogenic.com') + ** will default to 'http://psychogenic.com'. + ** + ** Note: if the MINIXML_LOWERCASEATTRIBUTES define is > 0, all attribute names + ** will be lowercased (while setting and during retrieval) + ** + ** Returns the value associated with attribute NAME. + ** + */ + function attribute ($name, $primValue=NULL, $altValue=NULL) + { + $value = (is_null($primValue) ? $altValue : $primValue ); + + + if (MINIXML_UPPERCASEATTRIBUTES > 0) + { + $name = strtoupper($name); + } elseif (MINIXML_LOWERCASEATTRIBUTES > 0) + { + $name = strtolower($name); + } + + if (! is_null($value)) + { + + $this->xattributes[$name] = $value; + } + + if (! is_null($this->xattributes[$name])) + { + return $this->xattributes[$name]; + } else { + return NULL; + } + + } /* end method attribute */ + + + /* text [SETTO [SETTOALT]] + ** + ** The text() method is used to get or append text data to this + ** element (it is appended to the child list as a new MiniXMLNode object). + ** + ** If SETTO is passed, a new node is created, filled with SETTO + ** and appended to the list of this element's children. + ** + ** If the optional SETTOALT is passed and SETTO is false, the + ** new node's value is set to SETTOALT. See the attribute() method + ** for an example use. + ** + ** Returns a string composed of all child MiniXMLNodes' contents. + ** + ** Note: all the children MiniXMLNodes' contents - including numeric + ** nodes are included in the return string. + */ + function text ($setToPrimary = NULL, $setToAlternate=NULL) + { + $setTo = ($setToPrimary ? $setToPrimary : $setToAlternate); + + if (! is_null($setTo)) + { + $this->createNode($setTo); + } + + $retString = ''; + + /* Extract text from all child nodes */ + for($i=0; $i< $this->xnumChildren; $i++) + { + if ($this->isNode($this->xchildren[$i])) + { + $nodeTxt = $this->xchildren[$i]->getValue(); + if (! is_null($nodeTxt)) + { + $retString .= "$nodeTxt "; + + } /* end if text returned */ + + } /* end if this is a MiniXMLNode */ + + } /* end loop over all children */ + + return $retString; + + } /* end method text */ + + + + /* numeric [SETTO [SETTOALT]] + ** + ** The numeric() method is used to get or append numeric data to + ** this element (it is appended to the child list as a MiniXMLNode object). + ** + ** If SETTO is passed, a new node is created, filled with SETTO + ** and appended to the list of this element's children. + ** + ** If the optional SETTOALT is passed and SETTO is false, the + ** new node's value is set to SETTOALT. See the attribute() method + ** for an example use. + ** + ** Returns a space seperated string composed all child MiniXMLNodes' + ** numeric contents. + ** + ** Note: ONLY numerical contents are included from the list of child MiniXMLNodes. + ** + */ + function numeric ($setToPrimary = NULL, $setToAlternate=NULL) + { + $setTo = (is_null($setToPrimary) ? $setToAlternate : $setToPrimary); + + if (! is_null($setTo)) + { + $this->createNode($setTo); + } + + } /* end method numeric */ + + + /* comment CONTENTS + ** + ** The comment() method allows you to add a new MiniXMLElementComment to this + ** element's list of children. + ** + ** Comments will return a string when the element's toString() + ** method is called. + ** + ** Returns a reference to the newly appended MiniXMLElementComment + ** + */ + function & comment ($contents) + { + $newEl = new MiniXMLElementComment(); + + $appendedComment =& $this->appendChild($newEl); + $appendedComment->text($contents); + + return $appendedComment; + + } /* end method comment */ + + + + + + + + /* + ** docType DEFINITION + ** + ** Append a new element as a child of this + ** element. + ** + ** Returns the appended DOCTYPE element. You will normally use the returned + ** element to add ENTITY elements, like + + ** $newDocType =& $xmlRoot->docType('spec SYSTEM "spec.dtd"'); + ** $newDocType->entity('doc.audience', 'public review and discussion'); + */ + + function & docType ($definition) + { + + $newElement = new MiniXMLElementDocType($definition); + $appendedElement =& $this->appendChild($newElement); + + return $appendedElement; + } + /* + ** entity NAME VALUE + ** + ** Append a new element as a child of this + ** element. + + ** Returns the appended ENTITY element. + */ + function & entity ($name,$value) + { + + $newElement = new MiniXMLElementEntity($name, $value); + $appendedEl =& $this->appendChild($newElement); + + return $appendedEl; + } + + + /* + ** cdata CONTENTS + ** + ** Append a new element as a child of this element. + ** Returns the appended CDATA element. + ** + */ + + function & cdata ($contents) + { + $newElement = new MiniXMLElementCData($contents); + $appendedChild =& $this->appendChild($newElement); + + return $appendedChild; + } + + + /* getValue + ** + ** Returns a string containing the value of all the element's + ** child MiniXMLNodes (and all the MiniXMLNodes contained within + ** it's child MiniXMLElements, recursively). + ** + ** Note: the seperator parameter remains officially undocumented + ** since I'm not sure it will remain part of the API + */ + function getValue ($seperator=' ') + { + $retStr = ''; + $valArray = array(); + for($i=0; $i < $this->xnumChildren; $i++) + { + $value = $this->xchildren[$i]->getValue(); + if (! is_null($value)) + { + array_push($valArray, $value); + } + } + if (count($valArray)) + { + $retStr = implode($seperator, $valArray); + } + return $retStr; + + } /* end method getValue */ + + + + /* getElement NAME + ** Searches the element and it's children for an element with name NAME. + ** + ** Returns a reference to the first MiniXMLElement with name NAME, + ** if found, NULL otherwise. + ** + ** NOTE: The search is performed like this, returning the first + ** element that matches: + ** + ** - Check this element for a match + ** - Check this element's immediate children (in order) for a match. + ** - Ask each immediate child (in order) to MiniXMLElement::getElement() + ** (each child will then proceed similarly, checking all it's immediate + ** children in order and then asking them to getElement()) + */ + function &getElement ($name) + { + + if (MINIXML_DEBUG > 0) + { + $elname = $this->name(); + _MiniXMLLog("MiniXMLElement::getElement() called for $name on $elname."); + } + if (is_null($name)) + { + return _MiniXMLError("MiniXMLElement::getElement() Must Pass Element name."); + } + + + /** Must only check children as checking $this results in an inability to + *** fetch nested objects with the same name + *** + *** + *** + *** Can't get here from tag or from the first 'nested' + *** + *** + *** + if (MINIXML_CASESENSITIVE > 0) + { + if (strcmp($this->xname, $name) == 0) + { + /* This element is it * / + return $this; + } + } else { + + if (strcasecmp($this->xname,$name) == 0) + { + return $this; + } + } + + ***** end commented out section **** + */ + + if (! $this->xnumChildren ) + { + /* Not match here and and no kids - not found... */ + return NULL; + } + + /* Try each child (immediate children take priority) */ + for ($i = 0; $i < $this->xnumChildren; $i++) + { + $childname = $this->xchildren[$i]->name(); + if ($childname) + { + if (MINIXML_CASESENSITIVE > 0) + { + /* case sensitive matches only */ + if (strcmp($name, $childname) == 0) + { + return $this->xchildren[$i]; + } + } else { + /* case INsensitive matching */ + if (strcasecmp($name, $childname) == 0) + { + return $this->xchildren[$i]; + } + } /* end if case sensitive */ + } /* end if child has a name */ + + } /* end loop over all my children */ + + /* Use beautiful recursion, daniel san */ + for ($i = 0; $i < $this->xnumChildren; $i++) + { + $theelement =& $this->xchildren[$i]->getElement($name); + if ($theelement) + { + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("MiniXMLElement::getElement() returning element $theelement"); + } + return $theelement; + } + } + + /* Not found */ + return NULL; + + + } /* end method getElement */ + + + /* getElementByPath PATH + ** Attempts to return a reference to the (first) element at PATH + ** where PATH is the path in the structure (relative to this element) to + ** the requested element. + ** + ** For example, in the document represented by: + ** + ** + ** + ** + ** + ** + ** + ** DA42 + ** + ** + ** D99983FFF + ** + ** + ** ss-839uent + ** + ** + ** + ** + ** $partRate =& $xmlDocument->getElement('partRateRequest'); + ** + ** $accessid =& $partRate->getElementByPath('vendor/accessid'); + ** + ** Will return what you expect (the accessid element with attributes user = "myusername" + ** and password = "mypassword"). + ** + ** BUT be careful: + ** $accessid =& $partRate->getElementByPath('partList/partNum'); + ** + ** will return the partNum element with the value "DA42". Other partNums are + ** inaccessible by getElementByPath() - Use MiniXMLElement::getAllChildren() instead. + ** + ** Returns the MiniXMLElement reference if found, NULL otherwise. + */ + function &getElementByPath($path) + { + $names = split ("/", $path); + + $element = $this; + foreach ($names as $elementName) + { + if ($element && $elementName) /* Make sure we didn't hit a dead end and that we have a name*/ + { + /* Ask this element to get the next child in path */ + $element =& $element->getElement($elementName); + } + } + + return $element; + + } /* end method getElementByPath */ + + + + /* numChildren [NAMED] + ** + ** Returns the number of immediate children for this element + ** + ** If the optional NAMED parameter is passed, returns only the + ** number of immediate children named NAMED. + */ + function numChildren ($named=NULL) + { + if (is_null($named)) + { + return $this->xnumElementChildren; + } + + /* We require only children named '$named' */ + $allkids =& $this->getAllChildren($named); + + return count($allkids); + + + } + + + /* getAllChildren [NAME] + ** + ** Returns a reference to an array of all this element's MiniXMLElement children + ** + ** Note: although the MiniXMLElement may contain MiniXMLNodes as children, these are + ** not part of the returned list. + **/ + function &getAllChildren ($name=NULL) + { + $retArray = array(); + $count = 0; + + if (is_null($name)) + { + /* Return all element children */ + for($i=0; $i < $this->xnumChildren; $i++) + { + if (method_exists($this->xchildren[$i], 'MiniXMLElement')) + { + $retArray[$count++] =& $this->xchildren[$i]; + } + } + } else { + /* Return only element children with name $name */ + + for($i=0; $i < $this->xnumChildren; $i++) + { + if (method_exists($this->xchildren[$i], 'MiniXMLElement')) + { + if (MINIXML_CASESENSITIVE > 0) + { + if ($this->xchildren[$i]->name() == $name) + { + $retArray[$count++] =& $this->xchildren[$i]; + } + } else { + if (strcasecmp($this->xchildren[$i]->name(), $name) == 0) + { + $retArray[$count++] =& $this->xchildren[$i]; + } + } /* end if case sensitive */ + + } /* end if child is a MiniXMLElement object */ + + } /* end loop over all children */ + + } /* end if specific name was requested */ + + return $retArray; + + } /* end method getAllChildren */ + + + + function &insertChild (&$child, $idx=0) + { + + + + if (! $this->_validateChild($child)) + { + return; + } + + /* Set the parent for the child element to this element if + ** avoidLoops or MINIXML_AUTOSETPARENT is set + */ + if ($this->xavoidLoops || (MINIXML_AUTOSETPARENT > 0) ) + { + if ($this->xparent == $child) + { + + $cname = $child->name(); + return _MiniXMLError("MiniXMLElement::insertChild() Tryng to append parent $cname as child of " + . $this->xname ); + } + $child->parent($this); + } + + + $nextIdx = $this->xnumChildren; + $lastIdx = $nextIdx - 1; + if ($idx > $lastIdx) + { + + if ($idx > $nextIdx) + { + $idx = $lastIdx + 1; + } + $this->xchildren[$idx] = $child; + $this->xnumChildren++; + if ($this->isElement($child)) + { + $this->xnumElementChildren++; + } + + } elseif ($idx >= 0) + { + + $removed = array_splice($this->xchildren, $idx); + array_push($this->xchildren, $child); + $numRemoved = count($removed); + + for($i=0; $i<$numRemoved; $i++) + { + + array_push($this->xchildren, $removed[$i]); + } + $this->xnumChildren++; + if ($this->isElement($child)) + { + $this->xnumElementChildren++; + } + + + } else { + $revIdx = (-1 * $idx) % $this->xnumChildren; + $newIdx = $this->xnumChildren - $revIdx; + + if ($newIdx < 0) + { + return _MiniXMLError("Element::insertChild() Ended up with a negative index? ($newIdx)"); + } + + return $this->insertChild($child, $newIdx); + } + + return $child; + } + + + /* appendChild CHILDELEMENT + ** + ** appendChild is used to append an existing MiniXMLElement object to + ** this element's list. + ** + ** Returns a reference to the appended child element. + ** + ** NOTE: Be careful not to create loops in the hierarchy, eg + ** $parent->appendChild($child); + ** $child->appendChild($subChild); + ** $subChild->appendChild($parent); + ** + ** If you want to be sure to avoid loops, set the MINIXML_AVOIDLOOPS define + ** to 1 or use the avoidLoops() method (will apply to all children added with createChild()) + */ + function &appendChild (&$child) + { + + if (! $this->_validateChild($child)) + { + _MiniXMLLog("MiniXMLElement::appendChild() Could not validate child, aborting append"); + return NULL; + } + + /* Set the parent for the child element to this element if + ** avoidLoops or MINIXML_AUTOSETPARENT is set + */ + if ($this->xavoidLoops || (MINIXML_AUTOSETPARENT > 0) ) + { + if ($this->xparent == $child) + { + + $cname = $child->name(); + return _MiniXMLError("MiniXMLElement::appendChild() Tryng to append parent $cname as child of " + . $this->xname ); + } + $child->parent($this); + } + + + $this->xnumElementChildren++; /* Note that we're addind a MiniXMLElement child */ + + /* Add the child to the list */ + $idx = $this->xnumChildren++; + $this->xchildren[$idx] =& $child; + + return $this->xchildren[$idx]; + + } /* end method appendChild */ + + + /* prependChild CHILDELEMENT + ** + ** prependChild is used to prepend an existing MiniXMLElement object to + ** this element's list. The child will be positioned at the begining of + ** the elements child list, thus it will be output first in the resulting XML. + ** + ** Returns a reference to the prepended child element. + */ + function &prependChild ($child) + { + + + if (! $this->_validateChild($child)) + { + _MiniXMLLog("MiniXMLElement::prependChild - Could not validate child, aborting."); + return NULL; + } + + /* Set the parent for the child element to this element if + ** avoidLoops or MINIXML_AUTOSETPARENT is set + */ + if ($this->xavoidLoops || (MINIXML_AUTOSETPARENT > 0) ) + { + if ($this->xparent == $child) + { + + $cname = $child->name(); + return _MiniXMLError("MiniXMLElement::prependChild() Tryng to append parent $cname as child of " + . $this->xname ); + } + $child->parent($this); + } + + + $this->xnumElementChildren++; /* Note that we're adding a MiniXMLElement child */ + + /* Add the child to the list */ + $idx = $this->xnumChildren++; + array_unshift($this->xchildren, $child); + return $this->xchildren[0]; + + } /* end method prependChild */ + + function _validateChild (&$child) + { + + if (is_null($child)) + { + return _MiniXMLError("MiniXMLElement::_validateChild() need to pass a non-NULL MiniXMLElement child."); + } + + if (! method_exists($child, 'MiniXMLElement')) + { + return _MiniXMLError("MiniXMLElement::_validateChild() must pass a MiniXMLElement object to _validateChild."); + } + + /* Make sure element is named */ + $cname = $child->name(); + if (is_null($cname)) + { + _MiniXMLLog("MiniXMLElement::_validateChild() children must be named"); + return 0; + } + + + /* Check for loops */ + if ($child == $this) + { + _MiniXMLLog("MiniXMLElement::_validateChild() Trying to append self as own child!"); + return 0; + } elseif ( $this->xavoidLoops && $child->parent()) + { + _MiniXMLLog("MiniXMLElement::_validateChild() Trying to append a child ($cname) that already has a parent set " + . "while avoidLoops is on - aborting"); + return 0; + } + + return 1; + } + /* createChild ELEMENTNAME [VALUE] + ** + ** Creates a new MiniXMLElement instance and appends it to the list + ** of this element's children. + ** The new child element's name is set to ELEMENTNAME. + ** + ** If the optional VALUE (string or numeric) parameter is passed, + ** the new element's text/numeric content will be set using VALUE. + ** + ** Returns a reference to the new child element + ** + ** Note: don't forget to use the =& (reference assignment) operator + ** when calling createChild: + ** + ** $newChild =& $myElement->createChild('newChildName'); + ** + */ + function & createChild ($name, $value=NULL) + { + if (! $name) + { + return _MiniXMLError("MiniXMLElement::createChild() Must pass a NAME to createChild."); + } + + if (! is_string($name)) + { + return _MiniXMLError("MiniXMLElement::createChild() Name of child must be a STRING"); + } + + $child = new MiniXMLElement($name); + + $appendedChild =& $this->appendChild($child); + + if (! $appendedChild ) + { + _MiniXMLLog("MiniXMLElement::createChild() '$name' child NOT appended."); + return NULL; + } + + if (! is_null($value)) + { + if (is_numeric($value)) + { + $appendedChild->numeric($value); + } elseif (is_string($value)) + { + $appendedChild->text($value); + } + } + + $appendedChild->avoidLoops($this->xavoidLoops); + + return $appendedChild; + + } /* end method createChild */ + + + + /* removeChild CHILD + ** Removes CHILD from this element's list of children. + ** + ** Returns the removed child, if found, NULL otherwise. + */ + + function &removeChild (&$child) + { + if (! $this->xnumChildren) + { + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Element::removeChild() called for element without any children.") ; + } + return NULL; + } + + $foundChild = NULL; + $idx = 0; + while ($idx < $this->xnumChildren && ! $foundChild) + { + if ($this->xchildren[$idx] == $child) + { + $foundChild =& $this->xchildren[$idx]; + } else { + $idx++; + } + } + + if (! $foundChild) + { + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Element::removeChild() No matching child found.") ; + } + return NULL; + } + + array_splice($this->xchildren, $idx, 1); + + $this->xnumChildren--; + if ($this->isElement($foundChild)) + { + $this->xnumElementChildren--; + } + + unset ($foundChild->xparent) ; + return $foundChild; + } + + + /* removeAllChildren + ** Removes all children of this element. + ** + ** Returns an array of the removed children (which may be empty) + */ + function &removeAllChildren () + { + $emptyArray = array(); + + if (! $this->xnumChildren) + { + return $emptyArray; + } + + $retList =& $this->xchildren; + + $idx = 0; + while ($idx < $this->xnumChildren) + { + unset ($retList[$idx++]->xparent); + } + + $this->xchildren = array(); + $this->xnumElementChildren = 0; + $this->xnumChildren = 0; + + + return $retList; + } + + + function & remove () + { + $parent =& $this->parent(); + + if (!$parent) + { + _MiniXMLLog("XML::Mini::Element::remove() called for element with no parent set. Aborting."); + return NULL; + } + + $removed =& $parent->removeChild($this); + + return $removed; + } + + + + /* parent NEWPARENT + ** + ** The parent() method is used to get/set the element's parent. + ** + ** If the NEWPARENT parameter is passed, sets the parent to NEWPARENT + ** (NEWPARENT must be an instance of MiniXMLElement) + ** + ** Returns a reference to the parent MiniXMLElement if set, NULL otherwise. + ** + ** Note: This method is mainly used internally and you wouldn't normally need + ** to use it. + ** It get's called on element appends when MINIXML_AUTOSETPARENT or + ** MINIXML_AVOIDLOOPS or avoidLoops() > 1 + ** + */ + function &parent (&$setParent) + { + if (! is_null($setParent)) + { + /* Parents can only be MiniXMLElement objects */ + if (! $this->isElement($setParent)) + { + return _MiniXMLError("MiniXMLElement::parent(): Must pass an instance of MiniXMLElement to set."); + } + $this->xparent = $setParent; + } + + return $this->xparent; + + } /* end method parent */ + + + /* avoidLoops SETTO + ** + ** The avoidLoops() method is used to get or set the avoidLoops flag for this element. + ** + ** When avoidLoops is true, children with parents already set can NOT be appended to any + ** other elements. This is overkill but it is a quick and easy way to avoid infinite loops + ** in the heirarchy. + ** + ** The avoidLoops default behavior is configured with the MINIXML_AVOIDLOOPS define but can be + ** set on individual elements (and automagically all the element's children) with the + ** avoidLoops() method. + ** + ** Returns the current value of the avoidLoops flag for the element. + ** + */ + function avoidLoops ($setTo = NULL) + { + if (! is_null($setTo)) + { + $this->xavoidLoops = $setTo; + } + + return $this->xavoidLoops; + } + + + /* toString [SPACEOFFSET] + ** + ** toString returns an XML string based on the element's attributes, + ** and content (recursively doing the same for all children) + ** + ** The optional SPACEOFFSET parameter sets the number of spaces to use + ** after newlines for elements at this level (adding 1 space per level in + ** depth). SPACEOFFSET defaults to 0. + ** + ** If SPACEOFFSET is passed as MINIXML_NOWHITESPACES. + ** no \n or whitespaces will be inserted in the xml string + ** (ie it will all be on a single line with no spaces between the tags. + ** + ** Returns the XML string. + ** + ** + ** Note: Since the toString() method recurses into child elements and because + ** of the MINIXML_NOWHITESPACES and our desire to avoid testing for this value + ** on every element (as it does not change), here we split up the toString method + ** into 2 subs: toStringWithWhiteSpaces(DEPTH) and toStringNoWhiteSpaces(). + ** + ** Each of these methods, which are to be considered private (?), in turn recurses + ** calling the appropriate With/No WhiteSpaces toString on it's children - thereby + ** avoiding the test on SPACEOFFSET + */ + + function toString ($depth=0) + { + if ($depth == MINIXML_NOWHITESPACES) + { + return $this->toStringNoWhiteSpaces(); + } else { + return $this->toStringWithWhiteSpaces($depth); + } + } + + function toStringWithWhiteSpaces ($depth=0) + { + $attribString = ''; + $elementName = $this->xname; + $spaces = $this->_spaceStr($depth) ; + + $retString = "$spaces<$elementName"; + + + foreach ($this->xattributes as $attrname => $attrvalue) + { + $attribString .= "$attrname=\"$attrvalue\" "; + } + + + if ($attribString) + { + $attribString = rtrim($attribString); + $retString .= " $attribString"; + } + + if (! $this->xnumChildren) + { + /* No kids -> no sub-elements, no text, nothing - consider a element */ + $retString .= " />\n"; + + return $retString; + } + + + + /* If we've gotten this far, the element has + ** kids or text - consider a otherstuff element + */ + + $onlyTxtChild = 0; + if ($this->xnumChildren == 1 && ! $this->xnumElementChildren) + { + $onlyTxtChild = 1; + } + + + + if ($onlyTxtChild) + { + $nextDepth = 0; + $retString .= "> "; + } else { + $nextDepth = $depth+1; + $retString .= ">\n"; + } + + + + for ($i=0; $i < $this->xnumChildren ; $i++) + { + if (method_exists($this->xchildren[$i], 'toStringWithWhiteSpaces') ) + { + + $newStr = $this->xchildren[$i]->toStringWithWhiteSpaces($nextDepth); + + + if (! is_null($newStr)) + { + if (! ( preg_match("/\n\$/", $newStr) || $onlyTxtChild) ) + { + $newStr .= "\n"; + } + + $retString .= $newStr; + } + + } else { + _MiniXMLLog("Invalid child found in $elementName ". $this->xchildren[$i]->name() ); + + } /* end if has a toString method */ + + } /* end loop over all children */ + + /* add the indented closing tag */ + if ($onlyTxtChild) + { + $retString .= " \n"; + } else { + $retString .= "$spaces\n"; + } + return $retString; + + } /* end method toString */ + + + + + function toStringNoWhiteSpaces () + { + $retString = ''; + $attribString = ''; + $elementName = $this->xname; + + foreach ($this->xattributes as $attrname => $attrvalue) + { + $attribString .= "$attrname=\"$attrvalue\" "; + } + + $retString = "<$elementName"; + + + if ($attribString) + { + $attribString = rtrim($attribString); + $retString .= " $attribString"; + } + + if (! $this->xnumChildren) + { + /* No kids -> no sub-elements, no text, nothing - consider a element */ + + $retString .= " />"; + return $retString; + } + + + /* If we've gotten this far, the element has + ** kids or text - consider a otherstuff element + */ + $retString .= ">"; + + /* Loop over all kids, getting associated strings */ + for ($i=0; $i < $this->xnumChildren ; $i++) + { + if (method_exists($this->xchildren[$i], 'toStringNoWhiteSpaces') ) + { + $newStr = $this->xchildren[$i]->toStringNoWhiteSpaces(); + + if (! is_null($newStr)) + { + $retString .= $newStr; + } + + } else { + _MiniXMLLog("Invalid child found in $elementName"); + + } /* end if has a toString method */ + + } /* end loop over all children */ + + /* add the indented closing tag */ + $retString .= ""; + + return $retString; + + } /* end method toStringNoWhiteSpaces */ + + + /* toStructure + ** + ** Converts an element to a structure - either an array or a simple string. + ** + ** This method is used by MiniXML documents to perform their toArray() magic. + */ + function & toStructure () + { + + $retHash = array(); + $contents = ""; + $numAdded = 0; + + + + for($i=0; $i< $this->xnumChildren; $i++) + { + if ($this->isElement($this->xchildren[$i])) + { + $name = $this->xchildren[$i]->name(); + + if (array_key_exists($name, $retHash)) + + { + if (! (is_array($retHash[$name]) && array_key_exists('_num', $retHash[$name])) ) + { + $retHash[$name] = array($retHash[$name], + $this->xchildren[$i]->toStructure()); + + $retHash[$name]['_num'] = 2; + } else { + array_push($retHash[$name], $this->xchildren[$i]->toStructure() ); + + $retHash[$name]['_num']++; + } + } else { + $retHash[$name] = $this->xchildren[$i]->toStructure(); + } + + $numAdded++; + } else { + $contents .= $this->xchildren[$i]->getValue(); + } + + + } + + + foreach ($this->xattributes as $attrname => $attrvalue) + { + #array_push($retHash, array($attrname => $attrvalue)); + $retHash["_attributes"][$attrname] = $attrvalue; + $numAdded++; + } + + + if ($numAdded) + { + if (! empty($contents)) + { + $retHash['_content'] = $contents; + } + + return $retHash; + } else { + return $contents; + } + + } // end toStructure() method + + + + + + /* isElement ELEMENT + ** Returns a true value if ELEMENT is an instance of MiniXMLElement, + ** false otherwise. + ** + ** Note: Used internally. + */ + function isElement (&$testme) + { + if (is_null($testme)) + { + return 0; + } + + return method_exists($testme, 'MiniXMLElement'); + } + + + /* isNode NODE + ** Returns a true value if NODE is an instance of MiniXMLNode, + ** false otherwise. + ** + ** Note: used internally. + */ + function isNode (&$testme) + { + if (is_null($testme)) + { + return 0; + } + + return method_exists($testme, 'MiniXMLNode'); + } + + + /* createNode NODEVALUE [ESCAPEENTITIES] + ** + ** Private (?) + ** + ** Creates a new MiniXMLNode instance and appends it to the list + ** of this element's children. + ** The new child node's value is set to NODEVALUE. + ** + ** Returns a reference to the new child node. + ** + ** Note: You don't need to use this method normally - it is used + ** internally when appending text() and such data. + ** + */ + function & createNode (&$value, $escapeEntities=NULL) + { + + $newNode = new MiniXMLNode($value, $escapeEntities); + + $appendedNode =& $this->appendNode($newNode); + + return $appendedNode; + } + + + /* appendNode CHILDNODE + ** + ** appendNode is used to append an existing MiniXMLNode object to + ** this element's list. + ** + ** Returns a reference to the appended child node. + ** + ** + ** Note: You don't need to use this method normally - it is used + ** internally when appending text() and such data. + */ + function &appendNode (&$node) + { + if (is_null($node)) + { + return _MiniXMLError("MiniXMLElement::appendNode() need to pass a non-NULL MiniXMLNode."); + } + + + if (! method_exists($node, 'MiniXMLNode')) + { + return _MiniXMLError("MiniXMLElement::appendNode() must pass a MiniXMLNode object to appendNode."); + } + + if (MINIXML_AUTOSETPARENT) + { + if ($this->xparent == $node) + { + return _MiniXMLError("MiniXMLElement::appendnode() Tryng to append parent $cname as node of " + . $this->xname ); + } + $node->parent($this); + } + + + $idx = $this->xnumChildren++; + $this->xchildren[$idx] = $node; + + return $this->xchildren[$idx]; + + + } + + /* Destructor to keep things clean -- patch by Ilya */ + function __destruct() + { + for ($i = 0; $i < count($this->xchildren); ++$i) + $this->xchildren[$i]->xparent = null; + } + + +} /* end MiniXMLElement class definition */ + + + + + + +/*************************************************************************************************** +**************************************************************************************************** +***** +***** MiniXMLElementComment +***** +**************************************************************************************************** +***************************************************************************************************/ + +/* The MiniXMLElementComment class is a specific extension of the MiniXMLElement class. +** +** It is used to create the special tags and an instance in created when calling +** $elementObject->comment('this is a comment'); +** +** It's methods are the same as for MiniXMLElement - see those for documentation. +**/ + +class MiniXMLElementComment extends MiniXMLElement { + + function MiniXMLElementComment ($name=NULL) + { + $this->MiniXMLElement('!--'); + } + + + function toString ($depth=0) + { + if ($depth == MINIXML_NOWHITESPACES) + { + return $this->toStringNoWhiteSpaces(); + } else { + return $this->toStringWithWhiteSpaces($depth); + } + } + + + function toStringWithWhiteSpaces ($depth=0) + { + + $spaces = $this->_spaceStr($depth) ; + + $retString = "$spaces\n"; + + return $retString; + } + + /* If we get here, the element does have children... get their contents */ + + $nextDepth = $depth+1; + + for ($i=0; $i < $this->xnumChildren ; $i++) + { + $retString .= $this->xchildren[$i]->toStringWithWhiteSpaces($nextDepth); + } + + $retString .= "\n$spaces -->\n"; + + + return $retString; + } + + + function toStringNoWhiteSpaces () + { + $retString = ''; + + $retString = ""; + return $retString; + } + + + /* If we get here, the element does have children... get their contents */ + for ($i=0; $i < $this->xnumChildren ; $i++) + { + $retString .= $this->xchildren[$i]->toStringNoWhiteSpaces(); + } + + $retString .= " -->"; + + + return $retString; + } + + +} + + + + +/*************************************************************************************************** +**************************************************************************************************** +***** +***** MiniXMLElementCData +***** +**************************************************************************************************** +***************************************************************************************************/ + +/* The MiniXMLElementCData class is a specific extension of the MiniXMLElement class. +** +** It is used to create the special tags and an instance in created when calling +** $elementObject->cdata('data'); +** +** It's methods are the same as for MiniXMLElement - see those for documentation. +**/ + +class MiniXMLElementCData extends MiniXMLElement { + + + + + function MiniXMLElementCData ($contents) + { + + $this->MiniXMLElement('CDATA'); + if (! is_null($contents)) + { + $this->createNode($contents, 0) ; + } + } + + + function toStringNoWhiteSpaces () + { + return $this->toString(MINIXML_NOWHITESPACES); + } + + function toStringWithWhiteSpaces ($depth=0) + { + return $this->toString($depth); + } + + function toString ($depth=0) + { + $spaces = ''; + if ($depth != MINIXML_NOWHITESPACES) + { + $spaces = $this->_spaceStr($depth); + } + + $retString = "$spacesxnumChildren) + { + $retString .= "]]>\n"; + return $retString; + } + + for ( $i=0; $i < $this->xnumChildren; $i++) + { + $retString .= $this->xchildren[$i]->getValue(); + + } + + $retString .= " ]]>\n"; + + return $retString; + } + + + +} + +/*************************************************************************************************** +**************************************************************************************************** +***** +***** MiniXMLElementDocType +***** +**************************************************************************************************** +***************************************************************************************************/ + +/* The MiniXMLElementDocType class is a specific extension of the MiniXMLElement class. +** +** It is used to create the special tags and an instance in created when calling +** $elementObject->comment(''); +** +** It's methods are the same as for MiniXMLElement - see those for documentation. +**/ + +class MiniXMLElementDocType extends MiniXMLElement { + + var $dtattr; + + function MiniXMLElementDocType ($attr) + { + $this->MiniXMLElement('DOCTYPE'); + $this->dtattr = $attr; + } + function toString ($depth) + { + if ($depth == MINIXML_NOWHITESPACES) + { + return $this->toStringNoWhiteSpaces(); + } else { + return $this->toStringWithWhiteSpaces($depth); + } + } + + + function toStringWithWhiteSpaces ($depth=0) + { + + $spaces = $this->_spaceStr($depth); + + $retString = "$spacesdtattr . " [\n"; + + if (! $this->xnumChildren) + { + $retString .= "]>\n"; + return $retString; + } + + $nextDepth = $depth + 1; + + for ( $i=0; $i < $this->xnumChildren; $i++) + { + + $retString .= $this->xchildren[$i]->toStringWithWhiteSpaces($nextDepth); + + } + + $retString .= "\n$spaces]>\n"; + + return $retString; + } + + + function toStringNoWhiteSpaces () + { + + $retString = "dtattr . " [ "; + + if (! $this->xnumChildren) + { + $retString .= "]>\n"; + return $retString; + } + + for ( $i=0; $i < $this->xnumChildren; $i++) + { + + $retString .= $this->xchildren[$i]->toStringNoWhiteSpaces(); + + } + + $retString .= " ]>\n"; + + return $retString; + } + + +} + + +/*************************************************************************************************** +**************************************************************************************************** +***** +***** MiniXMLElementEntity +***** +**************************************************************************************************** +***************************************************************************************************/ + +/* The MiniXMLElementEntity class is a specific extension of the MiniXMLElement class. +** +** It is used to create the special tags and an instance in created when calling +** $elementObject->comment(''); +** +** It's methods are the same as for MiniXMLElement - see those for documentation. +**/ + +class MiniXMLElementEntity extends MiniXMLElement { + + + + function MiniXMLElementEntity ($name, $value=NULL) + { + + $this->MiniXMLElement($name); + + if (! is_null ($value)) + { + $this->createNode($value, 0); + } + + } + + function toString ($depth = 0) + { + + $spaces = ''; + if ($depth != MINIXML_NOWHITESPACES) + { + $spaces = $this->_spaceStr($depth); + } + + $retString = "$spacesname(); + + if (! $this->xnumChildren) + { + $retString .= ">\n"; + return $retString; + } + + $nextDepth = ($depth == MINIXML_NOWHITESPACES) ? MINIXML_NOWHITESPACES + : $depth + 1; + $retString .= '"'; + for ( $i=0; $i < $this->xnumChildren; $i++) + { + + $retString .= $this->xchildren[$i]->toString(MINIXML_NOWHITESPACES); + + } + $retString .= '"'; + $retString .= " >\n"; + + return $retString; + } + + + function toStringNoWhiteSpaces () + { + return $this->toString(MINIXML_NOWHITESPACES); + } + + function toStringWithWhiteSpaces ($depth=0) + { + return $this->toString($depth); + } + + +} + + +?> \ No newline at end of file diff --git a/app/helper/classes/node.inc.php b/app/helper/classes/node.inc.php new file mode 100644 index 0000000..15bec0c --- /dev/null +++ b/app/helper/classes/node.inc.php @@ -0,0 +1,289 @@ +this text is bold +** Would be represented as a MiniXMLElement named 'B' with a single +** child, a MiniXMLNode object which contains the string 'this text +** is bold'. +** +** a MiniXMLNode has +** - a parent +** - data (text OR numeric) +*/ + +class MiniXMLNode extends MiniXMLTreeComponent { + + + var $xtext; + var $xnumeric; + + /* MiniXMLNode [CONTENTS] + ** Constructor. Creates a new MiniXMLNode object. + ** + */ + function MiniXMLNode ($value=NULL, $escapeEntities=NULL) + { + $this->MiniXMLTreeComponent(); + $this->xtext = NULL; + $this->xnumeric = NULL; + + /* If we were passed a value, save it as the + ** appropriate type + */ + if (! is_null($value)) + { + if (is_numeric($value)) + { + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Setting numeric value of node to '$value'"); + } + + $this->xnumeric = $value; + } else { + if (MINIXML_IGNOREWHITESPACES > 0) + { + $value = trim($value); + $value = rtrim($value); + } + + if (! is_null($escapeEntities)) + { + if ($escapeEntities) + { + $value = htmlentities($value); + } + } elseif (MINIXML_AUTOESCAPE_ENTITIES > 0) { + $value = htmlentities($value); + } + + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Setting text value of node to '$value'"); + } + + $this->xtext = $value; + + + } /* end if value numeric */ + + } /* end if value passed */ + + } /* end MiniXMLNode constructor */ + + /* getValue + ** + ** Returns the text or numeric value of this Node. + */ + function getValue () + { + $retStr = NULL; + if (! is_null($this->xtext) ) + { + $retStr = $this->xtext; + } elseif (! is_null($this->xnumeric)) + { + $retStr = "$this->xnumeric"; + } + + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("MiniXMLNode::getValue returning '$retStr'"); + } + + return $retStr; + } + + + /* text [SETTO [SETTOALT]] + ** + ** The text() method is used to get or set text data for this node. + ** + ** If SETTO is passed, the node's content is set to the SETTO string. + ** + ** If the optional SETTOALT is passed and SETTO is false, the + ** node's value is set to SETTOALT. + ** + ** Returns this node's text, if set or NULL + ** + */ + function text ($setToPrimary = NULL, $setToAlternate=NULL) + { + $setTo = ($setToPrimary ? $setToPrimary : $setToAlternate); + + if (! is_null($setTo)) + { + if (! is_null($this->xnumeric) ) + { + return _MiniXMLError("MiniXMLNode::text() Can't set text for element with numeric set."); + + } elseif (! is_string($setTo) && ! is_numeric($setTo) ) { + + return _MiniXMLError("MiniXMLNode::text() Must pass a STRING value to set text for element ('$setTo')."); + } + + if (MINIXML_IGNOREWHITESPACES > 0) + { + $setTo = trim($setTo); + $setTo = rtrim($setTo); + } + + + if (MINIXML_AUTOESCAPE_ENTITIES > 0) + { + $setTo = htmlentities($setTo); + } + + + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Setting text value of node to '$setTo'"); + } + + $this->xtext = $setTo; + + } + + return $this->xtext; + } + + /* numeric [SETTO [SETTOALT]] + ** + ** The numeric() method is used to get or set numerical data for this node. + ** + ** If SETTO is passed, the node's content is set to the SETTO string. + ** + ** If the optional SETTOALT is passed and SETTO is NULL, the + ** node's value is set to SETTOALT. + ** + ** Returns this node's text, if set or NULL + ** + */ + function numeric ($setToPrim = NULL, $setToAlt = NULL) + { + $setTo = is_null($setToPrim) ? $setToAlt : $setToPrim; + + if (! is_null($setTo)) + { + if (! is_null($this->xtext)) { + + return _MiniXMLError("MiniXMLElement::numeric() Can't set numeric for element with text."); + + } elseif (! is_numeric($setTo)) + { + return _MiniXMLError("MiniXMLElement::numeric() Must pass a NUMERIC value to set numeric for element."); + } + + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("Setting numeric value of node to '$setTo'"); + } + $this->xnumeric = $setTo; + } + + return $this->xnumeric; + } + + + + /* toString [DEPTH] + ** + ** Returns this node's contents as a string. + ** + ** + ** Note: Nodes have only a single value, no children. It is + ** therefore pointless to use the same toString() method split as + ** in the MiniXMLElement class. + ** + */ + + function toString ($depth=0) + { + if ($depth == MINIXML_NOWHITESPACES) + { + return $this->toStringNoWhiteSpaces(); + } + + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("MiniXMLNode::toString() call with depth $depth"); + } + + $spaces = $this->_spaceStr($depth); + $retStr = $spaces; + + if (! is_null($this->xtext) ) + { + /* a text element */ + $retStr .= $this->xtext; + } elseif (! is_null($this->xnumeric)) { + /* a numeric element */ + $retStr .= $this->xnumeric; + } + + /* indent all parts of the string correctly */ + $retStr = preg_replace("/\n\s*/sm", "\n$spaces", $retStr); + + return $retStr; + } + + + function toStringWithWhiteSpaces ($depth=0) + { + return $this->toString($depth); + } + + function toStringNoWhiteSpaces () + { + + if (MINIXML_DEBUG > 0) + { + _MiniXMLLog("MiniXMLNode::toStringNoWhiteSpaces() call with depth $depth"); + } + + if (! is_null($this->xtext) ) + { + /* a text element */ + $retStr = $this->xtext; + } elseif (! is_null($this->xnumeric)) { + /* a numeric element */ + $retStr = $this->xnumeric; + } + + return $retStr; + } + + +} /* end class definition */ + + + +?> \ No newline at end of file diff --git a/app/helper/classes/treecomp.inc.php b/app/helper/classes/treecomp.inc.php new file mode 100644 index 0000000..45beb10 --- /dev/null +++ b/app/helper/classes/treecomp.inc.php @@ -0,0 +1,139 @@ +xparent = NULL; + } /* end MiniXMLTreeComponent constructor */ + + + /* Get set function for the element name + */ + function name ($setTo=NULL) + { + return NULL; + } + + /* Function to fetch an element */ + function & getElement ($name) + { + return NULL; + } + + /* Function that returns the value of this + component and its children */ + function getValue () + { + return NULL; + } + + /* parent NEWPARENT + ** + ** The parent() method is used to get/set the element's parent. + ** + ** If the NEWPARENT parameter is passed, sets the parent to NEWPARENT + ** (NEWPARENT must be an instance of a class derived from MiniXMLTreeComponent) + ** + ** Returns a reference to the parent MiniXMLTreeComponent if set, NULL otherwise. + */ + function &parent (&$setParent) + { + if (! is_null($setParent)) + { + /* Parents can only be MiniXMLElement objects */ + if (! method_exists($setParent, 'MiniXMLTreeComponent')) + { + return _MiniXMLError("MiniXMLTreeComponent::parent(): Must pass an instance derived from " + . "MiniXMLTreeComponent to set."); + } + $this->xparent = $setParent; + } + + return $this->xparent; + + + } + + /* Return a stringified version of the XML representing + this component and all sub-components */ + function toString ($depth=0) + { + return NULL; + } + + /* dump + ** Debugging aid, dump returns a nicely formatted dump of the current structure of the + ** MiniXMLTreeComponent-derived object. + */ + function dump () + { + return var_dump($this); + } + + /* helper class that everybody loves */ + function _spaceStr ($numSpaces) + { + $retStr = ''; + if ($numSpaces < 0) + { + return $retStr; + } + + for($i = 0; $i < $numSpaces; $i++) + { + $retStr .= ' '; + } + + return $retStr; + } + + /* Destructor to keep things clean -- patch by Ilya */ + function __destruct() + { + $this->xparent = null; + } + +} /* end class definition */ +?> \ No newline at end of file diff --git a/app/helper/error.php b/app/helper/error.php new file mode 100644 index 0000000..757bf86 --- /dev/null +++ b/app/helper/error.php @@ -0,0 +1,287 @@ + + * @version 0.1.4 + * @copyright GPL + */ +/** + * Klasse zur Fehlerbehandlung + */ +class errorHandler { + var $object = ''; + var $method = ''; + + var $is_silent = FALSE; + var $messages; + + function errorHandler($object='Objekt', $method='Methode') { + $this->object = $object; + $this->method = $method; + $this->messages = array(); + } + + /** + * Wrapperfunktion um Ausgabe zu steuern + * + * Die Ausgabe der Funktionsaufrufe wird abhängig von der Instanzvariablen + * is_silent in eine Variable umgeleitet oder direkt ausgegeben. + * + * @param string $output + */ + function output($output) { + if ( $this->is_silent ) { + $this->messages[] = $output; + } else { + echo $output; + } + } + + /** + * Zwischenspeicher ausgeben + */ + function flush_output_cache() { + $msgs = $this->messages; + foreach( $msgs as $key=>$msg ) { + echo $msg; + unset($this->messages[$key]); + } + } + + /** + * HTML-Ausgabe unterbinden + */ + function silent() { + $this->is_silent = TRUE; + } + + /** + * Ausgabe von Meldungen ermöglichen + */ + function verbose() { + $this->is_silent = FALSE; + } + + /** + * Eine Variable ausgeben + * + * Der Inhalt der übergebenen Variable wird ausgegeben und + * ein ggf. zusätzlich übergebener Infotext wird davorgeschrieben. + * + * Wenn die Variable ein Objekt ist, werden Informationen über die + * zugrundeliegende Klasse zurückgegeben. + * + * @param mixed $var + * @param string $text optional, Standardwert ist "Variableninhalte" + */ + function sv($var, $text='Variableninhalte') { + if ( !isset($var) ) return; + + $html = '
';
+
+		if ( is_object($var) ) {
+			$object = ( $text == 'Variableninhalte' )? 'Objekt': 'Objekt '.$text;
+
+			$html .= ''.$this->object . ' - ' . $this->method . ' - '.$object.''."\n";
+			$html .= "\tDas ".$object." ist Instanz der Klasse ".get_class($var)."\n";
+
+			$html .= '
' . $object . ' - Variablen'."\n"; + #$html .= var_export( get_class_vars(get_class($var)), TRUE ); + $html .= var_export( get_object_vars($var), TRUE ); + $html .= "\n"; + + $html .= '' .$object. ' - Methoden'."\n"; + $methods = get_class_methods($var); + sort($methods); + foreach( $methods as $method ) { + $html .= " - ".$method."\n"; + } + $html .= '
'."\n"; + + } else { + $var = ( is_string($var) )? htmlspecialchars($var): $var; + + $html .= ''.$this->object . ' - ' . $this->method . ' - '.$text.''."\n"; + $html .= var_export( $var, TRUE ); + + } + + $html .='
'; + $this->output($html); + } + + /** + * einfache Textausgabe + */ + function say($text) { + $html = '
'.$text.'
'; + $this->output($html); + } + + /** + * Variable analysieren und inklusive einiger Eigenschaften ausgeben + */ + function analyze($var, $text = 'Variableninhalte') { + $this->sv($var, $text); + if (is_bool($var)) $props[] = 'boolean'; + if (is_null($var)) $props[] = 'null'; + if (is_string($var)) $props[] = 'string'; + if (is_numeric($var)) $props[] = 'numeric'; + if (is_float($var)) $props[] = 'float'; + if (is_object($var)) $props[] = 'object'; + if (is_array($var)) $props[] = 'array'; + $html .= '
Eigenschaften: ';
+		$html .= implode(', ', $props);
+		$html .= '
'; + $this->output($html); + } + + /** + * Eine Variable ausgeben und Skript beenden + * + * @param mixed $var + * @param string $text optionaler Parameter. + */ + function svaq($var, $text = 'Variableninhalte') { + $this->sv($var, $text); + $this->stop(); + } + + /** + * SQL ausgeben + */ + function sql($var, $text = 'SQL') { + $var = preg_replace('@ (BETWEEN|AND|OR) @', ' $1 '."\n", preg_replace('@(SELECT|INNER|WHERE|FROM|LIMIT|GROUP|HAVING) @',"\n".'$1 ', $var)); + $this->sv($var, $text); + } + + /** + * Superglobale $_FILES ausgeben + */ + function files() { + $this->sv($_FILES, 'Superglobale $_FILES - enthält Uploaddaten'); + } + + /** + * Superglobale $_POST ausgeben + */ + function post() { + $this->sv($_POST, 'Superglobale $_POST - enthält Formulardaten'); + } + + /** + * Superglobale $GLOBALS ausgeben + */ + function globals() { + $this->sv($GLOBALS, 'Superglobale $GLOBALS - enthält alle Variablen'); + } + + /** + * Superglobale $_SESSION ausgeben + */ + function session() { + $this->sv($_SESSION, 'Superglobale $_SESSION - enthält Sessiondaten'); + } + + /** + * Superglobale $_COOKIE ausgeben + */ + function cookies() { + $this->sv($_COOKIE, 'Superglobale $_COOKIE - enthält Cookiedaten'); + } + + /** + * Zeitmessungen + * + * Eine Beispielfunktion für die Zeiterfassung ist beigefügt, sie muss im Bedarfsfall an den Anfang der + * index.php geschrieben werden. + * + * Die Einbindung des ErrorHandler und der Aufruf der Funktion timer sollte direkt nach der Ermittlung der + * Endzeit (höhö) geschehen. Je nach Anwendungsfall kann dies in vollständig in der index.php geschehen. + * + * Man sollte sicherstellen, dass die Genauigkeit des float-Datentyps richtig eingestellt ist. Mit der Standard- + * Einstellung "precision = 12" ist man nur bis 0.01 Sekunden genau. + * In der php.ini sollte man also + * precision = 16 + * einstellen + * + * @param float $start Startzeit als Microtime + * @param float $end Endzeit (höhö) als Microtime + * @param int $interval Aktualisierungsintervall in Sekunden + */ + function timer($start, $end, $interval) { + /* + ini_set('precision', '16'); + function getmicrotime() { + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); + } + $start = getmicrotime(); + # Code + $end = getmicrotime(); + */ + if ( $interval > 0 ) { + $interval = $interval * 1000; + } elseif ($interval == 0) { + unset($_SESSION['test']); + return; + } + + if ( !isset($_SESSION['test']['time']) ) $_SESSION['test']['time'] = 0; + if ( !isset($_SESSION['test']['count']) ) $_SESSION['test']['count'] = 0; + + $time = $this->_format_number($end - $start); + $_SESSION['test']['time'] += $time; + $avg = $this->_format_number($_SESSION['test']['time'] / ++$_SESSION['test']['count']); + $html .= '
';
+		$html .= 'Zeit für aktuellen Durchlauf: '.$time.' Sekunden (Nr. '.$_SESSION['test']['count'].")\n";
+		$html .= 'Durchschnittliche Zeit: '.$avg." Sekunden";
+		$html .= '
'; + $html .= ' + '; + + $this->output($html); + } + + + /** + * Skript anhalten + */ + function stop() { + exit(); + } + + function _format_number($number) { + return str_pad(substr(round($number, 5), 0, 7), 7, '0'); + } +} +?> diff --git a/app/helper/html.php b/app/helper/html.php new file mode 100644 index 0000000..f195a08 --- /dev/null +++ b/app/helper/html.php @@ -0,0 +1,354 @@ +set_data( $view->get_data_object() ); + } + + $this->eol = ( $eol )? PHP_EOL: ''; + $this->output_xhtml = (boolean) $output_xhtml; + } + + /** + * Datenquelle setzen + * + * @param mixed $data + */ + public function set_data($data) { + $this->data = $data; + } + + /** + * HTML ausgeben + * + * @param string $html + */ + protected function output($html) { + if ( $this->output_xhtml === false ) { + $html = str_replace(' />', '>', $html); + } + + echo $html . $this->eol; + } + + /** + * Formulartag erzeugen + * + * @param string $action + * @param string $id + * @param string $target + * @param string $method + * @param string $charset + */ + public function form_tag($action, $id='', $target='', $method='post', $charset='UTF-8') { + $action = ( $action[0] == '/' )? $action: '/'.$action; + $id = ( $id != '' )? ' id="'.$id.'" name="'.$id.'" ': ''; + $target = ( $target != '' )? ' target="'.$target.'" ': ''; + + $html = '
'; + $this->output($html); + } + /** + * Formulartag schließen + */ + public function form_end() { + $html = '
'; + $this->output($html); + } + + /** + * Dropdown erzeugen + * + * Es wird ein HTML-Dropdown erzeugt. Die einzelnen Dropdownelemente werden + * als kommaseparierte Liste in folgendem Format übergeben: + * 1=eins,2=zwei,3=drei + * + * Dies führt zu einem Dropdown mit drei Elementen. Es wird der Text nach dem + * Gleichheitszeichen zur Darstellung verwendet, hier also + * 'eins', 'zwei', 'drei'. + * Die übergebenen Werte sind dabei der Text vor dem Gleichheitszeichen: + * 1, 2, 3. + * + * Das Dropdown hat die ID, die im ersten Parameter übergeben wird und + * verwendet diesen auch zur Datenübergabe als Array-Schlüssel. + * + * Wenn bereits Daten geladen wurden, wird versucht, den entsprechenden + * Wert als vorausgewählt darzustellen. + * + * Das HTML wird ausgegeben. + * + * @param string $field Eindeutiger Bezeichner für das Datenfeld. + * @param string $options Dropdownelemente im Format value=description, kommasepariert + * @param string $label Beschriftung des Dropdowns + */ + public function get_dropdown($field, $options, $label='') { + if ( is_string($options) ) { + $options = $this->string_to_array($options); + } + + $html = ''; + + if ( $label != '') $html .= $this->get_label($field, $label); + + $html .= ''; + + $this->output($html); + } + + /** + * Dropdown-String zu Array machen + * + * @param string $string + * @return array + */ + protected function string_to_array($string) { + $array = array(); + + foreach( explode(',', $string) as $keyvaluepair ) { + if ( strpos( $keyvaluepair, '=' ) === false ) { + $id = $name = $keyvaluepair; + } else { + list($id, $name) = explode('=', $keyvaluepair, 2); + } + + $array[] = array( + 'id'=>$id, + 'name'=>$name + ); + } + + return $array; + } + + /** + * Dropdown-Array zu String machen + * + * @param array $data + * @return string + */ + protected function array_to_string($data) { + foreach( $data as $value) { + $string[] = $value['id'].'='.$value['name']; + } + + $string = implode(',', $string); + + return $string; + } + + + /** + * Radiobuttons ausgeben + * + * Radiobuttons werden direkt ausgegeben. + * Wrapperfunktion für echo html::return_radios() + */ + public function get_radios($field, $options, $tag='p') { + $html = $this->return_radios($field, $options, $tag); + + $this->output($html); + } + + /** + * Radiobuttons erzeugen + * + * @todo Dokumentation erstellen + */ + public function return_radios($field, $options, $tag='p') { + $options = explode(',', $options); + $html = ''; + + foreach( $options as $option ) { + $option = explode('=', $option); + $option[1] = ( isset($option[1]) )? $option[1]: $option[0]; + $value = $this->get_value('1', $option); + + $selected = ( $this->get_value($field, $this->data) == $option[0] )? ' checked="checked"': ''; + $html .= "\n\t\t\t".'<'.$tag.'>' .$this->get_label($field.'-'.$option[0], $value) . ''; + } + + return $html; + } + + /** + * Inputfeld erzeugen + * + * Das erzeugte HTML wird direkt ausgegeben. + * + * @param string $field ID des Formularfelds + * @param string $label zu verwendendes Label + * @param array $options Optionen als assoziatives Array: + * - type: von text abweichender Typ + * - size: Länge (inkl. Maximallänge) einstellen + */ + public function get_input($field, $label='', $options=array() ) { + if ( !empty($options) ) { + $type = ( isset($options['type']) AND !empty($options['type']) )? + 'type="'.$options['type'].'"': + 'type="text"'; + $options = ( isset($options['size']) AND !empty($options['size']) )? + 'maxlength="'.$options['size'].'" size="'.$options['size'].'" ': + ''; + } else { + $type = 'type="text"'; + $options = ''; + } + + $html = ''; + if ( $label != '' AND !is_numeric($label) ) { + $html .= $this->get_label($field, $label); + } + + $name = ( $type == 'type="file"' )? + $field: + 'fl['.$field.']'; + + $value = $this->get_value($field, $this->data); + + $html .= ''; + + $this->output($html); + } + + /** + * Verstecktes Inputfeld erzeugen + * + * @param string $field + * @param string $value + */ + public function get_hidden($field, $value) { + $html = ''; + $this->output($html); + } + + /** + * Button erzeugen + * + * @param string $name ID und name des Buttons + * @param string $label optional: Beschriftung + * @param string $type optional: von "submit" abweichender Typ + */ + public function get_button($name, $label='', $type='submit') { + $label = ( $label === '' )? $name: $label; + + $html = ''; + $this->output($html); + } + /** + * Checkbox erzeugen + * + * @param string $field ID des Formularfelds + * @param string $label zu verwendendes Label + * @return string + */ + public function get_checkbox($field, $label='') { + $html = ''; + $data = $this->get_value($field, $this->data); + + $checked = ( $data == $field OR $data == 1 )? + ' checked="checked"': + ''; + + $html .= ' '; + + if ( $label != '' AND !is_numeric($label) ) { + $html .= ''; + } + + $this->output($html); + } + + /** + * Textarea erzeugen + * + * Es wird ein mehrzeiliges Eingabefeld erzeugt. + * + * @param string $field + * @param string $label + * @param array $options Hash mit Optionen: + * - rows: Anzahl der Zeilen + * - cols: Anzahl der Spalten + */ + public function get_textarea($field, $label='', $options = array() ) { + $html = ''; + $rows = ( isset($options['rows']) AND !empty($options['rows']) )? $options['rows']: 5; + $cols = ( isset($options['cols']) AND !empty($options['cols']) )? $options['cols']: 30; + + $value = $this->get_value($field, $this->data); + + if ( $label != '' ) $html .= $this->get_label($field, $label); + + $html .= ''; + + $this->output($html); + } + + /** + * Formularvorgabewert oder -beschriftung holen + * + * @param string $field + * @param mixed $source + * @param string $default + * @return string + */ + protected function get_value($field, $source, $default = '') { + if ( $source instanceof view_data ) { + $source->set_raw_output(false); + $source->set_default($default); + $value = $source->get($field, 'string'); + $source->set_default(''); + return $value; + } elseif ( $source instanceof data_wrapper ) { + return $source->is_set($field) ? $source->get($field): $default; + } + + if ( !is_array($source) AND !($source instanceof ArrayAccess) ) { + $source = (array) $source; + } + + return isset($source[$field]) ? $source[$field]: $default; + } + + /** + * Label erzeugen + * + * @param string $id + * @param string @value + * @return string + */ + public function get_label( $id, $value ) { + $label = ''; + + return $label; + } +} diff --git a/app/helper/mail.php b/app/helper/mail.php new file mode 100644 index 0000000..b7bb9a9 --- /dev/null +++ b/app/helper/mail.php @@ -0,0 +1,333 @@ + + * @version 0.3 + * @license MIT-License + */ +class e_mail { + /** + * variables + */ + var $text = FALSE; + var $html = FALSE; + var $attachments = FALSE; + + var $config; + + /** + * storage for error-messages + */ + var $error; + + /** + * data-parts of e-mail + */ + var $message_header; + var $message_body; + + /** + * contructor + */ + function e_mail() { + ini_set('track_errors', '1'); + } + + /** + * set configuration + * + * @param string $to + * @param string $from + * @param string $topic + * @param string $replyto [optional] + */ + function set_config($to, $from, $topic, $replyto='') { + $this->config = array( + 'to'=>$to, + 'from'=>$from, + 'topic'=>$topic + ); + + if ( $replyto != '' ) $this->config['replyto'] = $replyto; + } + + /** + * get last error-message + */ + function get_error() { + return array_pop($this->error); + } + + /** + * check wether it has to be a mime-mail or not + * + * @return boolean + */ + function must_be_mime() { + $must_be_mime = FALSE; + + if ( $this->html != FALSE + OR $this->attachments != FALSE) { + $must_be_mime = TRUE; + } + + return $must_be_mime; + } + + /** + * set text-part + */ + function set_text($txt) { + $this->text = (string) $txt; + } + /** + * set html-part + */ + function set_html($html) { + $this->html = (string) $html; + } + + /** + * add an attachment + * + * @param string $filename + * @param string $mime [optional] + * @return boolean + */ + function add_attachment($filename, $mime='') { + if ( empty($filename) ) { + $this->error[] = 'No Filename provided'; + return FALSE; + } + if ( !is_file($filename) ) { + $this->error[] = $filename . ' not found.'; + return FALSE; + } + + if ( $mime == '') { + // trying to find the mime-type + if ( function_exists('mime_content_type') ) { + $mime = mime_content_type($filename); + } else { + $this->error[] = 'No mime-type provided and unable to guess it.'; + return FALSE; + } + } + + // saving the data + $file = array( + 'name'=>$filename, + 'mime'=>$mime + ); + + if ( $this->attachments === FALSE ) { + $this->attachments = array(); + } + + $this->attachments[] = $file; + + return TRUE; + } + + /** + * unset vars + */ + function clean_vars() { + $this->text = FALSE; + $this->html = FALSE; + $this->attachments = FALSE; + } + + /** + * parse template + * + * The template is filled with data. For every key in the + * data-array, a substitution is attempted. + * + * {NAME} will be replaced with $data['name'] + * + * All remaining templatetags will be removed. + * + * The resulting string will be returned. + * + * @param string $template + * @param array $data + * @return string + */ + function parse_template($template, $data) { + $content = $template; + + // substitute templatetags + foreach( $data as $key => $value) { + $content = str_replace('{'.strtoupper($key).'}', $value, $content); + } + + // discard unused templatetags + $content = preg_replace('/{[-_a-z]*}/i', '', $content); + + return $content; + } + + /** + * composition of mail-headers and body + * + * the e-mail-composition consists of the following steps: + * + * - Check wether (or not) a mime-mail is necessary, if yes: + * - check if attachments have to be handled, if yes: + * - set header to multipart/mixed + * - generate and add outer boundary + * - set header to multipart/alternative and generate boundary + * - plaintext-part generate if none set. + * - compose body + * - mark end of body + * - check if attachments have to be handled, if yes: + * - add attachments and boundaries + * - mark end of mail + * + * - always: + * - save header in message_header + * - save body in message_body + * - clean temporary variables + */ + function compose_message() { + $headers[] = 'From: '.$this->config['from']; + if ( isset($this->config['replyto']) ) $headers[] = 'Reply-To: '.$this->config['replyto']; + + if ( $this->must_be_mime() ) { + $headers[] = 'MIME-Version: 1.0'; + $boundary = md5(uniqid(date('d.m.Y \u\m H:i',mktime() ))); + + if ( $this->attachments != FALSE ) { + //tell e-mail client this e-mail contains more than one part + $headers[] = 'Content-Type: multipart/mixed; boundary="main'.$boundary."\"\r\n"; + $headers[] = '--main'.$boundary; + } + //tell e-mail client this e-mail contains alternate versions + $headers[] = 'Content-Type: multipart/alternative; boundary="sub'.$boundary."\"\r\n"; + + //plain text part of message + if ( empty($this->text) ) { + $this->text = strip_tags($this->html); + } + $body = '--sub'.$boundary."\r\n" . + "Content-Type: text/plain; charset=ISO-8859-1\r\n" . + "Content-Transfer-Encoding: base64\r\n\r\n"; + $body .= chunk_split(base64_encode($this->text)); + + //html part of message + $body .= "\r\n\r\n".'--sub'.$boundary."\r\n" . + "Content-Type: text/html; charset=ISO-8859-1\r\n" . + "Content-Transfer-Encoding: base64\r\n\r\n"; + $body .= chunk_split(base64_encode($this->html)); + + //end of message + $body .= "\r\n".'--sub'.$boundary."--\r\n\r\n."; + + if ($this->attachments != FALSE ) { + //attachments of message + $files = $this->attachments; + + foreach ( $files as $file ) { + $body .= "\r\n--main".$boundary."\r\n". + "Content-Type: " . $file['mime']. "\r\n" . + "Content-Transfer-Encoding: base64\r\n" . + "Content-Disposition:attachment\r\n\r\n"; + $body .= chunk_split(base64_encode( file_get_contents($file['name']) )); + } + $body .= '--main'.$boundary."--\r\n\r\n."; + } + + } else { + $body = $this->text; + + } + + $this->message_body = $body; + $this->message_header = implode("\r\n", $headers); + + $this->clean_vars(); + } + + /** + * send mail + */ + function send_mail() { + if ( empty($this->message_body) + OR empty($this->message_header) + OR empty($this->config) + ) { + $this->error[] = 'Unvollständige Daten'; + return FALSE; + } + + $mailed = @mail( + $this->config['to'], + $this->config['topic'], + $this->message_body, + $this->message_header + ) OR $this->error[] = $php_errormsg; + + return $mailed; + } + + /** + * send an email + * + * @param array $data Array with the following keys: + * - text messagebody as text/plain + * - html messagebody as text/html + * - css CSS for the HTML-part + * @param array $config Array with the following keys: + * - mailfrom + * - replyto + * - mailtopic + * - mailreceipient + */ + function compose_and_send($data, $config) { + $headers = 'From: '.$config['mailfrom']."\r\n"; + $headers .= 'Reply-To: '.$config['replyto']."\r\n"; + $headers .= 'MIME-Version: 1.0'."\r\n"; + + $boundary = md5(uniqid(date('d.m.Y \u\m H:i',mktime() ))); + + //tell e-mail client this e-mail contains//alternate versions + $headers .= 'Content-Type: multipart/alternative; boundary="'.$boundary."\"\r\n\r\n"; + + $content = $data['text']; + + $htmlcontent = ''.$config['mailtopic'].''."\n".''."\n".'
'."\n"; + $htmlcontent .= $data['html']; + $htmlcontent .= "\n".'
'; + + //plain text part of message + $body = '--'.$boundary."\r\n" . + "Content-Type: text/plain; charset=ISO-8859-1\r\n" . + "Content-Transfer-Encoding: base64\r\n\r\n"; + $body .= chunk_split(base64_encode($content)); + + //html part of message + $body .= "\r\n\r\n".'--'.$boundary."\r\n" . + "Content-Type: text/html; charset=ISO-8859-1\r\n" . + "Content-Transfer-Encoding: base64\r\n\r\n"; + $body .= chunk_split(base64_encode($htmlcontent)); + + //end of message + $body .= "\r\n".'--'.$boundary."--\r\n\r\n."; + + $mailed = ( mail($config['mailreceipient'], $config['mailtopic'], $body, $headers) )? TRUE: FALSE; + + return($mailed); + } +} +?> diff --git a/app/helper/minixml.php b/app/helper/minixml.php new file mode 100644 index 0000000..f50b662 --- /dev/null +++ b/app/helper/minixml.php @@ -0,0 +1,132 @@ + and < and & in text, 0 to turn it off */ + + + +define("MINIXML_AUTOSETPARENT", 0); /* Set to 1 to automatically register parents elements with children */ + +define("MINIXML_AVOIDLOOPS", 0); /* Set to 1 to set the default behavior of 'avoidLoops' to ON, 0 otherwise */ + +define("MINIXML_IGNOREWHITESPACES", 1); /* Set to 1 to eliminate leading and trailing whitespaces from strings */ + + +/* Lower/upper case attribute names. Choose UPPER or LOWER or neither - not both... UPPER takes precedence */ +define("MINIXML_UPPERCASEATTRIBUTES", 0); /* Set to 1 to UPPERCASE all attributes, 0 otherwise */ +define("MINIXML_LOWERCASEATTRIBUTES", 0); /* Set to 1 to lowercase all attributes, 0 otherwise */ + + +/* fromFile cache. +** If you are using lots of $xmlDoc->fromFile('path/to/file.xml') calls, it is possible to use +** a caching mechanism. This cache will read the file, store a serialized version of the resulting +** object and read in the serialize object on subsequent calls. +** +** If the original XML file is updated, the cache will automatically be refreshed. +** +** To use caching, set MINIXML_USEFROMFILECACHING to 1 and set the +** MINIXML_FROMFILECACHEDIR to a suitable directory in which the cache files will +** be stored (eg, "/tmp") +**/ +define("MINIXML_USEFROMFILECACHING", 0); +define("MINIXML_FROMFILECACHEDIR", "/tmp"); + + +define("MINIXML_DEBUG", 0); /* Set Debug to 1 for more verbose output, 0 otherwise */ + + +/***************************************** end Configuration ***************************************/ + +define("MINIXML_USE_SIMPLE", 0); + +define("MINIXML_VERSION", "1.3.0"); /* Version information */ + +define("MINIXML_NOWHITESPACES", -999); /* Flag that may be passed to the toString() methods */ + + + +$MiniXMLLocation = dirname(__FILE__); +define("MINIXML_CLASSDIR", "$MiniXMLLocation/classes"); +require_once(MINIXML_CLASSDIR . "/doc.inc.php"); + + +/*************************************************************************************************** +**************************************************************************************************** +***** +***** Global Helper functions +***** +**************************************************************************************************** +***************************************************************************************************/ + + +function _MiniXMLLog ($message) +{ + error_log("MiniXML LOG MESSAGE:\n$message\n"); +} + + + + + +function _MiniXMLError ($message) +{ + error_log("MiniXML ERROR:\n$message\n"); + + return NULL; + +} + + +function _MiniXML_NumKeyArray (&$v) +{ + if (! is_array($v)) + { + return NULL; + } + + + $arrayKeys = array_keys($v); + $numKeys = count($arrayKeys); + $totalNumeric = 0; + for($i=0; $i<$numKeys; $i++) + { + if (is_numeric($arrayKeys[$i]) && $arrayKeys[$i] == $i) + { + $totalNumeric++; + } else { + return 0; + } + } + + if ($totalNumeric == $numKeys) + { + // All numeric - assume it is a "straight" array + return 1; + } else { + return 0; + } +} + + + + + + + +?> \ No newline at end of file diff --git a/app/helper/validation.php b/app/helper/validation.php new file mode 100644 index 0000000..0aa2b45 --- /dev/null +++ b/app/helper/validation.php @@ -0,0 +1,238 @@ +retrieve('language', '*', "tld = '".LANG."'"); + foreach( $result as $key => $value) { + if ( substr($key, 0, 6) != 'error_' ) continue; + $id = substr($key, 6); + + if ( !$this->rule_exists($id) ) $this->create_rule($id); + $this->update_rule($id, FALSE, $value); + } + } + + /** + * Prüfausdruck hinzufügen + * + * Prüfausdruck wird zur Liste hinzugefügt. Der Rückgabewert zeigt an, + * ob das erfolgreich war. + * + * @param string $id ID des zu überprüfenden Datenfeldes + * @param string $type Art der Überprüfung. Gültige Werte sind + * - string + * - number + * - email + * - regexp + * @param string $rule zusätzliche Überprüfungsregel + * mögliche Werte sind + * - optional + * - multiline + * - [eine Mengenangabe nach RegEx-Syntax] + * - [ein regulärer Ausdruck] + * @return boolean + */ + function set_rule($id, $type, $rule='') { + if ( !is_string($id) ) $id = (string) $id; + if ( !is_string($type) ) $type = (string) $type; + if ( !is_string($rule) ) $rule = (string) $rule; + + $start = '/^'; + $end = '$/'; + + switch ($type) { + case 'string': + $regexp = '[- _a-zA-ZäüößÄÖÜ]'; + break; + + case 'number': + $regexp = '[- 0-9]'; + break; + + case 'email': + $regexp = '([A-Za-z0-9](([\w.-][^._-]*){0,61})[A-Za-z0-9])@([A-Za-z0-9]([A-Za-z0-9-]{0,61})?[A-Za-z0-9]\.)+([A-Za-z]{2,6})'; + break; + + case 'regex': + case 'regexp': + $regexp = $rule; + $start = ''; + $end = ''; + $rule = ''; + break; + + default: + $regexp = '.'; + break; + } + + if ( preg_match('/(\{[,0-9]+\}|[*+?]{1,2})/', $rule) ) { + $count = $rule; + } elseif ( $type != 'regexp' AND $type != 'regex' ) { + $rule .= ' '; + $pieces = explode(' ', $rule); + if ( in_array('optional', $pieces) ) { + $count = '*'; + } else { + $count = '+'; + } + + if ( in_array('multiline', $pieces) ) $end = $end . 'm'; + } else { + $count = ''; + } + + if ( !$this->rule_exists($id) ) $this->create_rule($id); + $this->update_rule($id, $start . $regexp . $count . $end, FALSE); + return TRUE; + } + + /** + * Fehlermeldung zu einer Prüfregel hinzufügen + * + * @param string $id ID des zu überprüfenden Datenfeldes + * @param string $msg Fehlermeldung, falls die Prüfung Eingabefehler + * feststellt + * @return boolean + */ + function set_msg($id, $msg) { + if ( !is_string($id) ) $id = (string) $id; + if ( !is_string($msg) ) $msg = (string) $msg; + + if ( !$this->rule_exists($id) ) $this->create_rule($id); + $this->update_rule($id, FALSE, $msg); + return TRUE; + } + + /** + * Formulardaten validieren + * + * Die Formulardaten werden anhand regulärer Ausdrücke auf Plausibilität + * geprüft. + * + * @param array &$data Referenz auf Formulardaten + * @return array + */ + function validate_form(&$data) { + if ( !is_array($data) ) return FALSE; + + $rules = $this->get_rules(); + if ( empty($rules) ) return FALSE; + $errors = array(); + + foreach( $rules as $field=>$rule ) { + if ( !preg_match($rule['regexp'], $data[$field]) ) { + # unset($data['field']); + $errors[] = $rule['error']; + } + } + + return $errors; + } + + /** + * Javascript mit Regeln für die Formulardatenvalidierung zurückgeben + * + * Es wird eine JS mit den Regeln für die Validierung der Formulardaten + * zurückgegeben. + * Außerdem wird der HTML-Code für das Einbinden des allgemeinen + * Validierungsskripts angefügt. + * + * @return string + */ + function get_js() { + $form_variables = $this->get_rules(); + if ( empty($form_variables) ) return FALSE; + + $js = "var validationSet = {\n"; + $entries = array(); + foreach ($form_variables as $name => $properties) { + $entries[] = "\t'".$name."': { 'regexp': ".$properties['regexp'].", 'error': ' ".addslashes($properties['error'])."'}"; + } + $js .= implode(",\n", $entries) . "\n"; + $js .= "}\n"; + + $html = ''."\n"; + $html .= ''."\n"; + return $html; + } + + ################### Verwaltungsfunktionen ########################### + /** + * Prüfen, ob Regel existiert + * + * @param string $id + * @return boolean + */ + function rule_exists($id) { + return ( isset($this->rules[$id]) ); + } + + /** + * Regelarray erzeugen + * + * @param string $id + */ + function create_rule($id) { + if ( $this->rule_exists($id) ) return; + + $this->rules[$id] = array( + 'regexp'=>'/.*/', + 'error'=>'Error in '.$id + ); + } + + /** + * Regel aktualisieren + */ + function update_rule($id, $regex=FALSE, $msg=FALSE) { + if ( !$this->rule_exists($id) ) return; + + if ( $regex !== FALSE ) $this->rules[$id]['regexp'] = $regex; + if ( $msg !== FALSE ) $this->rules[$id]['error'] = $msg; + } + + /** + * Regel entfernen + */ + function remove_rule($id) { + if ( !$this->rule_exists($id) ) return; + + unset ($this->rules[$id]); + } + + /** + * Regeln als Array zurückgeben + */ + function get_rules() { + return $this->rules; + } + ############### Ende der Verwaltungsfunktionen ###################### +} +?> diff --git a/app/modules/about/controller.php b/app/modules/about/controller.php new file mode 100644 index 0000000..e0e686c --- /dev/null +++ b/app/modules/about/controller.php @@ -0,0 +1,37 @@ +data['title'] = 'Über 2erlei'; + } + + function pressemitteilungen() { + $this->data['title'] = 'Pressemitteilungen'; + } + + function partner() { + $this->data['title'] = 'Partner'; + } + + function jobs() { + $this->data['title'] = 'Jobs'; + } + + function common() { + $bild = ( $this->cap['action'] == 'defaultAction' )? $this->defaultAction: $this->cap['action']; + $this->data['kopfbild'] = $bild; + return TRUE; + } +} +?> diff --git a/app/modules/about/help.xml b/app/modules/about/help.xml new file mode 100644 index 0000000..08e4592 --- /dev/null +++ b/app/modules/about/help.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/modules/about/layouts/default.php b/app/modules/about/layouts/default.php new file mode 100644 index 0000000..e5ab853 --- /dev/null +++ b/app/modules/about/layouts/default.php @@ -0,0 +1,36 @@ + + + + + 2erlei Medienagentur +get_element('header'); ?> + + +
+
+

2erlei Medienagentur

+ +
+ get_element('kundennavi'); ?> + +
+ + + + +
+ +
+get_sub_view(); ?> +
+ +
+ get_element('unten'); ?> + +
+
get_element('google_analytics'); ?> + get_element('lightbox'); ?> + diff --git a/app/modules/about/model.php b/app/modules/about/model.php new file mode 100644 index 0000000..4d3980e --- /dev/null +++ b/app/modules/about/model.php @@ -0,0 +1,10 @@ + diff --git a/app/modules/about/modul.php b/app/modules/about/modul.php new file mode 100644 index 0000000..93d68bc --- /dev/null +++ b/app/modules/about/modul.php @@ -0,0 +1,17 @@ + + * @version 0.1.7 + * @license All Rights Reserved + */ + +/** + * Allgemeines zum Modul + */ +class about_modul extends fl_modul { +} +?> diff --git a/app/modules/about/view.php b/app/modules/about/view.php new file mode 100644 index 0000000..50fb563 --- /dev/null +++ b/app/modules/about/view.php @@ -0,0 +1,10 @@ + diff --git a/app/modules/about/views/company.php b/app/modules/about/views/company.php new file mode 100644 index 0000000..3a36ec2 --- /dev/null +++ b/app/modules/about/views/company.php @@ -0,0 +1,27 @@ + + +
+

2erlei das Unternehmen

+ +

Wir sind jung, dynamisch, flexibel und in ein Netzwerk von Kompetenzen integriert. Unsere qualitativ hochwertige Tätigkeit hat ihren Schwerpunkt in den Bereichen Design und Webapplikationen.

+ +

Die kompetenten Mitarbeiter von 2erlei verbindet das Ziel, die Effiziens- und Umsatzsteigerung unserer Kunden zu fördern und zu steigern. Dass wir darin erfolgreich sind, können unsere zufriedenen Auftraggeber bestätigen.

+ +

Unsere Philosophie gründet auf Zusammenarbeit und Vernetzung. Wir klären mit Ihnen ab, welche Funktionen Sie benötigen. Darauf bauend erstellen wir ein System, das sich genau Ihren Bedürfnissen anpasst.
Das Fundament bildet unser baseContent, das wir parallel zu anderen Systemen ständig weiter entwickeln und mit ihnen vernetzen können. Durch diese Strategie der Schnittstellen bekommen Sie exakt die Kompetenzen zugespielt, die Sie benötigen. Überflüssige Ressource-Apparatur entfällt.

+ +

Wir verstehen es, komplexe Systeme übersichtlich und benutzerfreundlich zu gestalten.

+ +

 

+
+ +
+

baseContent Demo

+

Demo 2erlei

+

Benutzername: demo

+

Passwort: demo

+
diff --git a/app/modules/about/views/jobs.php b/app/modules/about/views/jobs.php new file mode 100644 index 0000000..a75d374 --- /dev/null +++ b/app/modules/about/views/jobs.php @@ -0,0 +1,34 @@ + + +
+

Jobangebote

+

Wir suchen:

+
Programmierer/in: PHP und MySQL-Datenbanken
+

Wir suchen eine Programmiererin oder Programmierer für projektbezogenes Arbeiten.

+

Tätigkeitsfeld:

+

Die 2erlei GbR ist ein junges aufstrebendes Unternehmen, das sich auf die Programmierung von Content Management Systemen spezialisiert hat. +Design für Druck und digitale Medien ist unser zweites Standbein. +Unser CMS haben wir komplett selbst entwickelt und bieten unseren Kunden spezielle Lösungen an, +die im Design sowie in der Struktur an den Kunden angepasst werden.

+

Anforderungen:

+
    +
  • sicherer Umgang mit objektiorientiertes PHP, mySQL, Ruby, CSS, HTML, Javascript, Linux Know-How für Webserver Administration
  • +
  • Seriösität, Integrität und Zuverlässigkeit sind unbedingte Voraussetzung wie eine ergebnisorientierte und umsichtige Arbeitsweise
  • +
  • Englisch in Wort und Schrift da Internationale Projekte zu absolvieren sind.
  • +
  • mind. 1jährige Berufserfahrung im Entwicklerumfeld
  • +
+
+

Bewerbungen an jobs@2erlei.de.

+ +
+ +
+

Kontakt

+

Jobangebot PDF

+
+ diff --git a/app/modules/about/views/partner.php b/app/modules/about/views/partner.php new file mode 100644 index 0000000..584e0d1 --- /dev/null +++ b/app/modules/about/views/partner.php @@ -0,0 +1,51 @@ + + + +
+ +

2erlei und ihre Partner

+ +
+
nanoLogika Logo
+
+

nanoLogika

+
Produzent für komplexe Produktkonfiguratoren
+

Am Mooskissen 25
D-14532 Kleinmachnow
http://www.nanologika.de

+
+
+ +
+
travelClips Logo
+
+

Travel Clips Videoproduktion

+
Videoproduktion speziell Kurz- und Werbeclips
+

Franz-Mehring Platz 1
D-10243 Berlin
http://www.travel-clips.de

+
+
+ +
+
GIATA Logo
+
+

GIATA mbH

+
Contentlieferant in der Tourismusbranche
+

Schlesischestr. 26
D-10997 Berlin
http://www.giata.de

+
+
+ +
+
1und1 Logo
+
+

1&1 Internet AG

+
Hosting und Telekomunikation
+

Elgendorfer Straße 57
D-56410 Montabaur
http://1und1.de

+
+
+
+ + + diff --git a/app/modules/about/views/pressemitteilungen.php b/app/modules/about/views/pressemitteilungen.php new file mode 100644 index 0000000..e2983ec --- /dev/null +++ b/app/modules/about/views/pressemitteilungen.php @@ -0,0 +1,25 @@ + + +
+ +

Pressemitteilungen

+ +
+
 
+
+

12. April 2007

+
neues Videoportal online: myHotelVideo
+

Ein weiteres interessantes Webprojekt ist heute online gegangen. myHotelVideo ist eine Reise- und Informationsplattform, wo jeder sein eigenes Hotelvideo hochladen und die Videos anderer anschauen kann.
http://www.myhotelvideo.com

+
+
+
+ +
+

Kontakt

+
+ diff --git a/app/modules/basecontent/controller.php b/app/modules/basecontent/controller.php new file mode 100644 index 0000000..85f8ddc --- /dev/null +++ b/app/modules/basecontent/controller.php @@ -0,0 +1,237 @@ +check_login('basecontent/'); + $this->data['title'] = 'Administration'; + } + + /** + * Papierkorb + * + * @todo Parameter für Aktionen einbauen + * @todo Datenvorbereitung durch das Model + * @todo relevante Module in Konfigurationsdatei auslagern + * @todo nach erotikdatenbank portieren + */ + function trashcan($param) { + $this->check_login('basecontent/trashcan/'); + $this->data['title'] = 'Papierkorb'; + + /* module auflisten, die status 2 haben können + $modules = array( + 'Firmen'=>'company_LANG', + 'Firmenarten'=>'company_cat_LANG', + 'Lokalbereiche'=>'localarea', + 'Länder'=>'localarea_cat_LANG', + 'Profile'=>'profiles_LANG', + 'Sprachen'=>'language' + ); + */ + $modules = array( + 'Accounts'=>'account' + ); + + // Daten sammeln + $trashcan_data = $this->model->get_trashcan_data($modules); + $this->data += $trashcan_data; + } + + function login($from) { + $this->data['title'] = 'Anmelden'; + $this->data['from'] = (string) $from; + $this->layout = 'loginout'; + } + + /** + * Anzeige der Fehlermeldung "Nicht berechtigt" + */ + function notallowed() { + $this->data['title'] = 'Keine Berechtigung'; + } + + function auth() { + $fl = $_POST['fl']; + + if ( isset($_SESSION['username']) OR $this->model->login($fl) ) { + $_SESSION['username'] = $fl['username']; + $_SESSION['IP'] = $_SERVER['REMOTE_ADDR']; + + $result = $this->datamodel->retrieve('user', 'level', 'name = "'.$_SESSION['username'].'"'); + $_SESSION['userlevel'] = $result['level']; + $this->flash('Willkommen, '.$_SESSION['username'].'!'); + $this->logaction( $_SESSION['username'].' hat sich eingeloggt' ); + + if ( empty($fl['from']) ) { + $this->data = array('title'=>'Administrationsbereich'); + $this->goToTarget('basecontent/'); + } else { + $this->goToTarget($fl['from']); + } + + } else { + $this->flash('Falscher Benutzername oder falsches Passwort angegeben.'); + $this->data['from'] = $fl['from']; + $this->data['title'] = 'Einloggen'; + $this->layout = 'loginout'; + $this->view = 'login'; + } + } + + function logout() { + $this->check_login('basecontent/'); + $this->layout = 'loginout'; + $this->logaction($_SESSION['username'].' hat sich ausgeloggt'); + $this->data['title'] = 'Ausgeloggt'; + + // datenbank aufraeumen + //$this->clean_db(); + + session_destroy(); + } + + function options($action) { + $this->check_login('basecontent/options/'); + $this->data['title'] = 'Einstellungen bearbeiten'; + + if( $action == 'save') { + $fl = $_POST['fl']; + $failures = 0; + $result = array(); + + foreach( $fl as $key => $value ) { + $temp = explode('_', $key); + + $data['optionname'] = strtoupper($temp[1]); + $data['value'] = $value; + $module = $temp[0].'_options'; + + $optionresult = $this->datamodel->retrieve( $module , 'id', "optionname = '".$data['optionname']."'", '', '1'); + $id = $optionresult['id']; + + if ( $this->datamodel->update($module, $data, $id) ) { + $result[] = ucwords( $temp[1] ) . ' aktualisiert: ' . $data['value']; + } else { + $result[] = 'Option ' . ucwords( $temp[1] ) . ' konnte nicht aktualisiert werden.'; + $failures++; + } + } + + $msg = ( $failures == 0 ) ? + 'Optionen wurden aktualisiert': + implode("\n", $result); + $this->flash($msg); + + $this->data['title'] = 'Administration'; + $this->goToTarget('basecontent/'); + } + } + + function protocol($type) { + $this->layout = 'admin'; + $this->check_login('basecontent/protocol/'.$type); + + $logfile = "Auflistung der Benutzeraktionen\r\n\r\n"; + + switch ($type) { + + case 'screen': + $array = $this->datamodel->retrieve('basecontent', '*', '', 'id DESC', '30'); + foreach ( $array as $row ) { + $logfile .= $row['id'].": ".$row['name']." (".$row['ip'].") - ".$row['date']." - ".$row['action']."\r\n"; + } + + $this->data['logfile'] = $logfile; + $this->data['title'] = "Logfile ausgeben"; + $this->logaction('Logfile am Bildschirm ausgegeben. (30 Aktionen)'); + $this->layout = 'viewprotocol'; + break; + + case 'textfile': + $array = $this->datamodel->retrieve('basecontent', '*', '', 'id ASC'); + foreach ( $array as $row ) { + $logfile .= $row['id'].": ".$row['name']." (".$row['ip'].") - ".$row['date']." - ".$row['action']."\r\n"; + } + $logfile .= "\r\nEnde der Logfileausgabe"; + $logfile = html_entity_decode($logfile); + + header("Content-length: ".strlen($logfile)); + header("Content-type: text/plain"); + header("Content-Disposition: attachment; filename=aktionen.log"); + echo $logfile; + + $this->flash('Logfile als Datei heruntergeladen'); + exit(); + break; + } + } + + function support() { + $this->check_login('basecontent/support'); + // Eine mail an info@2erlei mit "Seitenname, IP, Uhrzeit, username, ggf. Protokoll" abschicken + + $user = $this->datamodel->retrieve('user', 'email', "name = '".$_SESSION['username']."'", '', '1'); + $result = $this->datamodel->retrieve(ADMINMODULE.'_options', '*', "optionname='SEITENTITEL'"); + $sitetitle = $result['value']; + + $array = $this->datamodel->retrieve('basecontent', '*', '', 'id DESC', '30'); + foreach ( $array as $row ) { + $logfile .= $row['id'].": ".$row['name']." (".$row['ip'].") - ".$row['date']." - ".$row['action']."\r\n"; + } + unset($array); + + $config['mailreceipient'] = 'info@2erlei.de'; + $config['mailtopic'] = '['.$sitetitle.'] Supportanfrage'; + $config['mailfrom'] = 'supportbutton@'.$_SERVER['HTTP_HOST']; + $config['replyto'] = $user['email']; + $content = 'Es wurde eine Supportanfrage abgegeben.'."\n"; + $content .= "\n".'Seitentitel:'."\t". $sitetitle; + $content .= "\n".'IP:' . "\t\t" . $_SESSION['IP']; + $content .= "\n".'Uhrzeit:' . "\t" . date('Y-m-d H:i:s', mktime() ); + $content .= "\n".'Benutzer:' . "\t". $_SESSION['username']; + $content .= "\n".'Protokoll:'."\n". $logfile; + $content .= "\n\n".'Ende der Supportanfrage'; + $content .= "\n-- \nbaseContent"; + + if ( mail($config['mailreceipient'], $config['mailtopic'], $content, "From: {$config['mailfrom']}\r\n"."Reply-To: {$config['replyto']}") ) { + $notify['mailed'] = TRUE; + $notify['status'] = "2erlei wurde per e-mail über Ihren Supportwunsch informiert."; + } else { + $notify['mailed'] = FALSE; + $notify['status'] = "

Fehler

Auf diesem Server ist kein Mailversand möglich. Bitte richten Sie Ihre Supportanfrage telefonisch an 2erlei. "; + } + $this->flash($notify['status']); + + $this->goToTarget('basecontent/'); + } + + function webframe($page='') { + $this->layout = 'default'; + $this->goToTarget($page); + /* + $this->data['title'] = 'Webseiten-Ansicht'; + if ( $page == 'top' ) { + echo file_get_contents($this->modulepath . 'basecontent/de/frame_top.php'); + } + */ + } + + function common() { + return $this->factory->get_helper('bereiche'); + } +} +?> diff --git a/app/modules/basecontent/help.xml b/app/modules/basecontent/help.xml new file mode 100644 index 0000000..723f200 --- /dev/null +++ b/app/modules/basecontent/help.xml @@ -0,0 +1,40 @@ + + + +

hallo

+ + + +

Hier werden die Grundeinstellungen für Ihren Internetauftritt vorgenommen.

+ +

Wählen Sie einen Reiter für die Einstellung, die Sie vornehmen möchten.

+ +

OPTIONEN EINSTELLEN

+

Seitentitel
+ Der Seitentitel erstreckt sich durch Ihren kompletten Internetauftritt und ist an mehreren Stellen, wie z.B. oben in der Fensterleiste im Browser, zu sehen.

+
+
+ +

Alle Änderungen und Aktionen, die im baseContent vorgenommen werden, sind in diesem Protokoll zusammengefasst und können jederzeit eingesehen werden.

+

Sie können genau verfolgen, wer, was und wann gemacht hat. Neben dem Benutzernamen wird die Aktion, das Datum und die Uhrzeit protokolliert.

+
+ + +

Willkommen im Projectmanager der 2erlei-GbR!

*(ftp): Mit Klick auf dem Link gelangt Ihr über euren Browser direkt zu dem Verzeichniss auf dem "Friedrich".
Wenn euer Browser das nicht unterstützen sollte, stehen hier die URL und Zugangsdaten:

+
    +
  • URL: ftp://nd.2erlei.de
  • +
  • BN: "Projekt- oder Firmenname"
  • +
  • PW: 2erleiProjekt
  • +
+


Mindmap: Bitte stehts die aktuelle Mindmap herunterladen, editieren und anschließend über ein FTP Programm wieder hochladen!
Es besteht die Gefahr des Datenverlustes!!! +

+ +
+ + + + diff --git a/app/modules/basecontent/layouts/admin.php b/app/modules/basecontent/layouts/admin.php new file mode 100644 index 0000000..bf4a76a --- /dev/null +++ b/app/modules/basecontent/layouts/admin.php @@ -0,0 +1,61 @@ +'."\n"; ?> + + + + <?php echo $this->get_field('title') ?> - <?php $this->get_siteTitle() ?> +get_element('admin_head'); ?> + + +
+ +
+

baseContent

+

» get_username(); ?> Logout

+ +
+ get_element('bc_nav', array('section'=>'localarea')); ?> +
+ + + +

get_siteTitle(); ?>

+ get_breadcrumbs($this->cap, $this->get_field('title')); ?> +
+ + + +
+get_sub_view(); ?> + +
+

baseContent info

+ get_element('bc_info', array('cap'=>$this->cap, 'flash'=>$this->render_flash(), 'model'=>$this) ); ?> +
+
+ +
+

   

+ +
+ +
+ + diff --git a/app/modules/basecontent/layouts/loginout.php b/app/modules/basecontent/layouts/loginout.php new file mode 100644 index 0000000..5b851f9 --- /dev/null +++ b/app/modules/basecontent/layouts/loginout.php @@ -0,0 +1,54 @@ + + + + + <?php echo $this->get_field('title') ?> - <?php $this->get_siteTitle() ?> +get_element('admin_head'); ?> + + + + + diff --git a/app/modules/basecontent/layouts/viewprotocol.php b/app/modules/basecontent/layouts/viewprotocol.php new file mode 100644 index 0000000..936a474 --- /dev/null +++ b/app/modules/basecontent/layouts/viewprotocol.php @@ -0,0 +1,54 @@ +'."\n"; ?> + + + + <?php echo $this->get_field('title') ?> - <?php $this->get_siteTitle() ?> +get_element('admin_head'); ?> + + +
+ +
+

baseContent

+

» get_username(); ?> Logout

+ +
+ get_element('bc_nav', array('section'=>'basecontent')); ?> +
+ + + +

get_siteTitle(); ?>

+
+ +
+ +

Protokoll

+
+get_field('logfile'); ?>
+		
+

Ende der Logfileausgabe
(Es wurden nur die 30 letzten Aktionen angezeigt.)

+ +
+ +
+

   

+ +
+ +
+ + diff --git a/app/modules/basecontent/layouts/webframe.php b/app/modules/basecontent/layouts/webframe.php new file mode 100644 index 0000000..f6f615f --- /dev/null +++ b/app/modules/basecontent/layouts/webframe.php @@ -0,0 +1,19 @@ +'."\n"; ?> + + + + <?php echo $this->get_field('title') ?> - <?php $this->get_siteTitle() ?> + + + + + + + diff --git a/app/modules/basecontent/model.php b/app/modules/basecontent/model.php new file mode 100644 index 0000000..2313a53 --- /dev/null +++ b/app/modules/basecontent/model.php @@ -0,0 +1,61 @@ +login_right( addslashes($fl['username']), addslashes($fl['password']) ) + AND !isset($_SESSION['username']) + ) { + return TRUE; + } elseif ( $this->login_right( addslashes($fl['username']), addslashes($fl['password']) ) == 0) { + return FALSE; + } + + if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) + die('Falsche Sessiondaten, bitte erneut einloggen.'); + } + + function login_right($user, $pass) { + $result = $this->datamodel->retrieve('user','COUNT(*) as anzahl',"name = '".$user."' AND password = MD5('".$pass."')"); + + return $result['anzahl']; + } + + function get_trashcan_data($modules) { + $trashcan_data = array(); + + foreach( $modules as $name => $module ) { + $controller = str_replace('_LANG', '', $module); + $controller = str_replace('_', '', $controller); + $module = str_replace('LANG', LANG, $module); + $sql = 'SELECT * FROM fl_'.$module.' WHERE status = 2;'; + + $data[$module] = $this->datamodel->_query_db($sql); + if ( isset($data[$module]['id']) ) { + $tmp = $data[$module]; + unset($data); + + $data[$module][] = $tmp; + } + + $data[$module]['title'] = $name; + $data[$module]['controller'] = $controller; + + if ( count( $data[$module] ) <= 2 ) continue; + + $trashcan_data += $data; + } + + return $trashcan_data; + } +} +?> diff --git a/app/modules/basecontent/modul.php b/app/modules/basecontent/modul.php new file mode 100644 index 0000000..31cbefa --- /dev/null +++ b/app/modules/basecontent/modul.php @@ -0,0 +1,67 @@ + + * @version 0.1.7 + * @license All Rights Reserved + */ + +/** + * Modul zentral registrieren + */ +$installed_modules[] = 'basecontent'; + +/** + * Allgemeines zum Modul + */ +class basecontent_modul extends fl_modul { + function get_options($modules) { + echo '
allgemeine Optionen +

+

+

'.$this->get_dropdown('adminhelp', 'sichtbar=anzeigen,unsichtbar=verstecken').'

+
'."\n"; + } + + function get_dropdown($field, $options) { + $options = explode(',', $options); + $aktuell = $this->_get_option('basecontent', $field); + $html = ''; + + $html .= "\n\t\t\t".''; + + return $html; + } + + function get_name() { + return FALSE; + } + + function get_starttext() { + echo ''; + } + + function prepare() { + $this->factory->get_helper('minixml'); + } +} +?> diff --git a/app/modules/basecontent/view.php b/app/modules/basecontent/view.php new file mode 100644 index 0000000..137f528 --- /dev/null +++ b/app/modules/basecontent/view.php @@ -0,0 +1,56 @@ +data['from']; + } + + function get_subtitle() { + echo $this->get_field('subtitle'); + } + + function get_content() { + echo $this->get_field('content'); + } + + function get_html_content() { + $textile = new Textile(); + $html = $textile->process( $this->data['content'] ); + echo $html; + } + + function get_all_options() { + $federleicht = get_fl(); + $modules = &$federleicht->modules; + + foreach( $modules as $module) { + require_once($this->modulepath.$module.'/modul.php'); + $temp_module_object = new $module($federleicht); + $temp_module_object->get_options($modules); + unset($temp_module_object); + } + } + + function get_all_starttexts() { + $federleicht = get_fl(); + $modules = &$federleicht->modules; + + foreach( $modules as $module) { + require_once($this->modulepath.$module.'/modul.php'); + $temp_module_object = new $module($federleicht); + $temp_module_object->get_starttext(); + unset($temp_module_object); + } + } +} +?> diff --git a/app/modules/basecontent/views/frame_top.php b/app/modules/basecontent/views/frame_top.php new file mode 100644 index 0000000..473bb1a --- /dev/null +++ b/app/modules/basecontent/views/frame_top.php @@ -0,0 +1,23 @@ + + + <?php echo $this->get_field('title') ?> - <?php $this->get_siteTitle() ?> +get_element('admin_head'); ?> + + + +
+ +
+

baseContent

+

» Logout

+ +
+ get_element('bc_nav'); ?> +
+
+ + + diff --git a/app/modules/basecontent/views/login.php b/app/modules/basecontent/views/login.php new file mode 100644 index 0000000..2d4d0c4 --- /dev/null +++ b/app/modules/basecontent/views/login.php @@ -0,0 +1,27 @@ + +

get_field('title'); ?>

+
+

 

+
 
+ +

+

+
 
+

Einloggen

+ +
 
+
+
+ + diff --git a/app/modules/basecontent/views/logout.php b/app/modules/basecontent/views/logout.php new file mode 100644 index 0000000..225af82 --- /dev/null +++ b/app/modules/basecontent/views/logout.php @@ -0,0 +1,17 @@ + +

Logout erfolgreich

+

 

+
 
+

Der Logoutvorgang wurde erfolgreich abgeschlossen.

+

Aus Sicherheitsgründen kann es empfehlenswert sein, dieses Browserfenster zu schliessen. Dies gilt insbesonderen, wenn Sie diese Seite an einem öffentlichen Computer (z. B. Internetcafé) genutzt haben.

+

Zur Startseite

+
 
+
 
+
\ No newline at end of file diff --git a/app/modules/basecontent/views/notallowed.php b/app/modules/basecontent/views/notallowed.php new file mode 100644 index 0000000..a282e33 --- /dev/null +++ b/app/modules/basecontent/views/notallowed.php @@ -0,0 +1,9 @@ + +

Fehlende Berechtigung

+oben('optionen', '   '); ?> +

Leider haben Sie keine ausreichende Rechte, um auf die gewünschte Funktion zugreifen zu können.

+

Bitte wenden Sie sich an einen Administrator, um weitere Informationen zu erhalten.

+buttons('abbrechen'); ?> +unten(); ?> diff --git a/app/modules/basecontent/views/options.php b/app/modules/basecontent/views/options.php new file mode 100644 index 0000000..5591e61 --- /dev/null +++ b/app/modules/basecontent/views/options.php @@ -0,0 +1,10 @@ + +

Einstellungen bearbeiten

+
+oben('optionen', 'Optionen einstellen'); ?> + get_all_options(); ?> +buttons('speichern'); ?> +unten(); ?> +
diff --git a/app/modules/basecontent/views/protocol.php b/app/modules/basecontent/views/protocol.php new file mode 100644 index 0000000..4be2b51 --- /dev/null +++ b/app/modules/basecontent/views/protocol.php @@ -0,0 +1,21 @@ + +

Protokoll (Ãœbersicht)

+

 

+
 
+

Sie können das Protokoll

+ +


Die Textdatei können Sie in einem beliebigen Texteditor öffnen.

+
 
+
 
+
+ diff --git a/app/modules/basecontent/views/show.php b/app/modules/basecontent/views/show.php new file mode 100644 index 0000000..80c26fa --- /dev/null +++ b/app/modules/basecontent/views/show.php @@ -0,0 +1,60 @@ +functions->needs('bereiche'); $bereiche = new bereiche(); ?> + + +

wichtigsten Links der 2erlei-GbR

+ +oben('hauptbereich', 'allgemeine Links'); ?> + + + +buttons('weiter:kunden'); ?> +unten(); ?> + +oben('kunden', 'Links von Kunden und Projekten'); ?> + +unterbrechung(); ?> + +unterbrechung(); ?> + + +buttons('zurueck:hauptbereich,weiter:bisher'); ?> +unten(); ?> + +oben('bisher', 'bisherige Links'); ?> + + +buttons('zurueck:kunden'); ?> +unten(); ?> + + diff --git a/app/modules/basecontent/views/trashcan.php b/app/modules/basecontent/views/trashcan.php new file mode 100644 index 0000000..3a82735 --- /dev/null +++ b/app/modules/basecontent/views/trashcan.php @@ -0,0 +1,46 @@ +

Papierkorb (Ãœbersicht)

+ +data; +unset($moduldaten['title']); +unset($moduldaten['controller']); + +$this->functions->needs('bereiche'); +$bereiche = new bereiche(2); + +if ( count($moduldaten) == 0 ) { + $bereiche->oben('modulliste', 'Papierkorb'); +?> +

Hier werden die gelöschten Datensätze aufgelistet.

+

Derzeit sind keine Datensätze als gelöscht markiert.

+buttons(); + $bereiche->unten(); +} else { + + foreach( $moduldaten as $modul ) { + $bereiche->oben("modul_".strtolower($modul['controller']), $modul['title']); ?> +
    + +
  • + +
+ +buttons(); + $bereiche->unten(); + } // outer endforeach +} +?> diff --git a/app/modules/coding/controller.php b/app/modules/coding/controller.php new file mode 100644 index 0000000..624cf6c --- /dev/null +++ b/app/modules/coding/controller.php @@ -0,0 +1,33 @@ +data['title'] = 'baseContent'; + } + + function html() { + $this->data['title'] = 'HTML/CSS'; + } + + function mysql() { + $this->data['title'] = 'MySQL-Datenbanken'; + } + + function common() { + $bild = ( $this->cap['action'] == 'defaultAction' )? $this->defaultAction: $this->cap['action']; + $this->data['kopfbild'] = $bild; + return TRUE; + } +} +?> diff --git a/app/modules/coding/help.xml b/app/modules/coding/help.xml new file mode 100644 index 0000000..defb4c8 --- /dev/null +++ b/app/modules/coding/help.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/modules/coding/layouts/default.php b/app/modules/coding/layouts/default.php new file mode 100644 index 0000000..071c7bd --- /dev/null +++ b/app/modules/coding/layouts/default.php @@ -0,0 +1,36 @@ + + + + + 2erlei Medienagentur +get_element('header'); ?> + + +
+
+

2erlei Medienagentur

+ +
+ get_element('kundennavi'); ?> + +
+ + + + +
+ +
+get_sub_view(); ?> +
+ +
+ get_element('unten'); ?> + +
+
get_element('google_analytics'); ?> + + diff --git a/app/modules/coding/model.php b/app/modules/coding/model.php new file mode 100644 index 0000000..28f97af --- /dev/null +++ b/app/modules/coding/model.php @@ -0,0 +1,10 @@ + diff --git a/app/modules/coding/modul.php b/app/modules/coding/modul.php new file mode 100644 index 0000000..1f5bf27 --- /dev/null +++ b/app/modules/coding/modul.php @@ -0,0 +1,17 @@ + + * @version 0.1.7 + * @license All Rights Reserved + */ + +/** + * Allgemeines zum Modul + */ +class coding_modul extends fl_modul { +} +?> diff --git a/app/modules/coding/view.php b/app/modules/coding/view.php new file mode 100644 index 0000000..e97b190 --- /dev/null +++ b/app/modules/coding/view.php @@ -0,0 +1,10 @@ + diff --git a/app/modules/coding/views/basecontent.php b/app/modules/coding/views/basecontent.php new file mode 100644 index 0000000..7e08704 --- /dev/null +++ b/app/modules/coding/views/basecontent.php @@ -0,0 +1,22 @@ + + +
+

baseContent

+

Unser baseContent bietet ihnen eine gute und effiziente Basis für ihre Präsenz im Internet.

+

Sie baut auf dem Prinzip eines einfach zu handhabenen Content Management Systems, womit sie direkt Einfluss auf die Gestaltung Ihres Internetauftritts nehmen können.

+

baseContent ist selbstadministrierbar ohne das sie Programmierkenntnisse oder weitere Software, als Ihren gewöhnlichen Internetbrowser, benötigen.

+

Selbstadministration bedeutet, dass sie selbstständig Texte und Bilder einfügen können, die automatisch in die Webseite eingebunden werden.

+

Sie konzentrieren sich auf ihre Inhalte und 2erlei macht den Rest.

+
+ +
+

Hier Das Passende

+

Webdesign

+

HTML

+

Hosting

+
+ diff --git a/app/modules/coding/views/hosting.php b/app/modules/coding/views/hosting.php new file mode 100644 index 0000000..f038e87 --- /dev/null +++ b/app/modules/coding/views/hosting.php @@ -0,0 +1,39 @@ + +

Hosting

+

Ihr persönliches CMS für Ihr individuelles Unternehmen

+ + + +
+ baseContent Teaser +
+ +
+

Hosting

+ +

Wir hosten und betreuen Ihre Internetseite

+ +

Unsere Server werden von unseren kompetenten Administratoren rund um die Uhr überwacht.

+ +

Bei der Technik arbeiten wir mit einer der größten und renommiertesten Hostinganbietern, der 1&1 Internet AG zusammen.

+ +

Ihr Internetauftritt ist bei uns in sicheren Händen und wird von uns mit größtmöglichen Sicherheitsstandards vor Missbrauch geschützt.

+ +

Sie können sich in Ihrem Unternehmen auf das wesentliche konzentrieren, ohne viele Verträge abzuschließen und 2erlei macht den Rest.

+
+ +
+

Hier Das Passende

+

baseContent

+

Webdesign

+

HTML

+ +
diff --git a/app/modules/coding/views/html.php b/app/modules/coding/views/html.php new file mode 100644 index 0000000..d9c9be6 --- /dev/null +++ b/app/modules/coding/views/html.php @@ -0,0 +1,24 @@ + + +
+

statisches HTML

+

Die Struktur und Aufbau einer Internetseite optmiert für alle gängigen Browser

+

Wir setzen Ihr Design in eine "lebendige" Internetseite um.

+

Die Programmierung erfolgt nach den neusten Webstandards und unter Berücksichtigung der Barrierefreiheit.

+

Die Inhalte werden mit HTML strukturiert.
Die Anordnung und Darstellung wird über ein CSS (cascading stylesheet) gesteuert.

+

Die Inhalte werden mit XHTML für die Ausgabe strukturiert. Die Anordnung und Darstellung wird +über ein CSS (cascading stylesheet) gesteuert. Die Daten liegen in einer Datenbank. Die in +der Datenbank befindlichen Daten, werden mit Hilfe von PHP verarbeitet und in ein XHTML- +Format konvertiert.

+
+ +
+

Hier Das Passende

+

baseContent

+

Webdesign

+

Hosting

+
diff --git a/app/modules/coding/views/mysql.php b/app/modules/coding/views/mysql.php new file mode 100644 index 0000000..903bc4c --- /dev/null +++ b/app/modules/coding/views/mysql.php @@ -0,0 +1,25 @@ + + +
+

MySQL-Datenbanken

+

Die Inhalte sicher und getrennt von der Struktur in einer Datenbank.

+ +

Ihre Inhalte wie Text oder Bilder können getrennt vom Programmcode in einer Datenbank gespeichert und verwaltet werden.
Damit Ihre Inhalte geschützt und übersichtlich verwaltet werden.

+ +

Auch erst mit einer Datenbank sind vernünfitge Volltextsuchen auf der Internetseite möglich.

+ +

Die Daten bzw. Inhalte werden getrennt von dem Programmcode und der Darstellung in +einer geschützten MySQL-Datenbank gespeichert. Über die Administrationsoberfläche (CMS) +können sie bearbeitet und organisiert werden.

+
+ +
+

Hier Das Passende

+

baseContent

+

HTML

+

Webdesign

+
diff --git a/app/modules/common/layouts/default.php b/app/modules/common/layouts/default.php new file mode 100644 index 0000000..86aa208 --- /dev/null +++ b/app/modules/common/layouts/default.php @@ -0,0 +1,36 @@ + + + + + 2erlei +get_element('header'); ?> + + +
+
+

2erlei Medienagentur

+ +
+ get_element('kundennavi'); ?> + +
+ + + + +
+ +
+get_sub_view(); ?> +
+ +
+ get_element('unten'); ?> + +
+
+ + diff --git a/app/modules/design/controller.php b/app/modules/design/controller.php new file mode 100644 index 0000000..542dce0 --- /dev/null +++ b/app/modules/design/controller.php @@ -0,0 +1,33 @@ +data['title'] = 'Webdesign'; + } + + function druck() { + $this->data['title'] = 'Drucksachen'; + } + + function corporate() { + $this->data['title'] = 'Corporate Identity'; + } + + function common() { + $bild = ( $this->cap['action'] == 'defaultAction' )? $this->defaultAction: $this->cap['action']; + $this->data['kopfbild'] = $bild; + return TRUE; + } +} +?> diff --git a/app/modules/design/help.xml b/app/modules/design/help.xml new file mode 100644 index 0000000..eb751c1 --- /dev/null +++ b/app/modules/design/help.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/modules/design/layouts/default.php b/app/modules/design/layouts/default.php new file mode 100644 index 0000000..5564a9d --- /dev/null +++ b/app/modules/design/layouts/default.php @@ -0,0 +1,37 @@ + + + + + 2erlei Medienagentur +get_element('header'); ?> + + +
+
+

2erlei Medienagentur

+ +
+ get_element('kundennavi'); ?> + +
+ + + + +
+ +
+get_sub_view(); ?> +
+ +
+ get_element('unten'); ?> + +
+
get_element('google_analytics'); ?> +get_element('lightbox'); ?> + + diff --git a/app/modules/design/model.php b/app/modules/design/model.php new file mode 100644 index 0000000..f9a11d2 --- /dev/null +++ b/app/modules/design/model.php @@ -0,0 +1,10 @@ + diff --git a/app/modules/design/modul.php b/app/modules/design/modul.php new file mode 100644 index 0000000..e0bc454 --- /dev/null +++ b/app/modules/design/modul.php @@ -0,0 +1,17 @@ + + * @version 0.1.7 + * @license All Rights Reserved + */ + +/** + * Allgemeines zum Modul + */ +class design_modul extends fl_modul { +} +?> diff --git a/app/modules/design/view.php b/app/modules/design/view.php new file mode 100644 index 0000000..2833587 --- /dev/null +++ b/app/modules/design/view.php @@ -0,0 +1,10 @@ + diff --git a/app/modules/design/views/corporate.php b/app/modules/design/views/corporate.php new file mode 100644 index 0000000..6891957 --- /dev/null +++ b/app/modules/design/views/corporate.php @@ -0,0 +1 @@ +

Corporate Identity

Geben Sie Ihren Kunden Orientierung und Sicherheit mit einer unverwechselbaren Indentität.

Ausgangspunkt

Für ein Unternehmen wird es immer notwendiger, aufgrund der Unübersichtlichkeit der Leistungsangebote auf dem Markt, sich von Ihrer Konkurrenz abzuheben.

Hersteller müssen durch die immer größer werdende Produktvielfalt darum kämpfen, in das Sortiment des Handels aufgenommen zu werden. Vorteile hat der, der ein gutes und unverwechselbares Image genießt.

Entwicklung

Die Entwicklung einer Corporate Identity ist kompliziert und stellt hohe Anforderungen eine vernetzte Struktur in einem übersichtlichen Design zu vereinen. Daher greifen viele Unternehmen anfangs Einzelaspekte auf, vor allem das Design für die Kommunikation. Dies kann aber nicht dem strategischen Aspekt gerecht werden, zu einem ganzeinheitlichen Design zu gelangen. Daher muss man genau die Unternehmensstruktur, unter Berücksichtigung der angestrebten Ziele, analysieren. Aufgrund der Analyse lässt sich das Unternehmen, mit den zur Verfügung stehenden Instrumenten, in ein einheitliches, sinngemäßes und wieder erkennbares Design zusammenfassen.

Die Planung für den späteren Kostenaufwand für die Produktion ist von entscheidender Bedeutung, damit auch das einheitliche Design bewart bleibt.

Die Hausfarbe

Die Hausfarbe ist eines der wichtigsten Instrumente, weil es ein unmittelbar einprägendes Erkennungs- und Unterscheidungsmerkmal für Unternehmen darstellt. Wir stehen Ihnen beratend zur Seite, dass die Farbe auch ohne hohen Kostenaufwand überall einsetzbar wird. Gerade im Druckbereich wird es zu einem wichtigen Thema, in wie weit sich diese Farbe und auf welchen Untergrund drucken lässt.

Logo

Von einem Unternehmenszeichen, auch Logo genannt, werden viele Eigenschaften erwartet:

- Aufmerksamkeit, Signalwirkung
- langlebig und zeitlos
- ästhetisch und eigenständige Aussage
- Integration auf vielfältigsten Vorlagen
- Informations- und Erinnerungswert

Die Hausfarbe sollte in dem Logo auftauchen und prägend wirken.

Schriften

Innovative Firmen zeigen ebenfalls Fortschritt, wenn sie keine klassisch konservativen Schriften verwenden. Von der Schrift muss zu erwarten sein, dass sie möglichst zeitlos ist und keinem aktuellen Modetrend folgt.

Gestaltungsraster

Der Empfänger registriert als erstes das Objekt als ganzes. Die Details untersteichen den individuellen Karakter des Unternehmens. Das definierte Raster gewährleistet ein gleichbleibenes Design, das auf keinen Fall gebrochen werden sollte. Da kommen wir wieder zu dem Thema, dass möglichst alle Aspekte in der Analyse berücksichtigt werden sollten.

Ergebnis

Diese Instrumente müssen nach dem strategischen Ziel entsprechend eingesetzt werden.

Die Leitidee nennt den Sinn des Unternehmens und vermittelt eine Vision, wie es aktuelle und künftige Probleme lösen oder dazu beitragen will.

Die Leitsätze sind Kernaussagen bestimmen das Verhältnis des Unternehmens zu zentralen Bezugsgruppen wie Mitarbeiter, Kunden, Aktionäre, Medien. Die Leitsätze formulieren die spezifische Kompetenz des Unternehmens, seine Leistungsfähigkeit und die Wettbewerbsvorteile.

Das Motto

Leitidee und Leitsätze sind meist zu lang, um sie sich merken zu können. Ein Motto bringt daher das Leitbild auf den Punkt: Es ist kurz, prägnant und leicht zu merken.

Das Motto fasst alles in einem kurzen, prägnanten Slogan zusammen.

Hier Das Passende

Drucksachen

Fotografie

Webdesign

\ No newline at end of file diff --git a/app/modules/design/views/druck.php b/app/modules/design/views/druck.php new file mode 100644 index 0000000..63ce692 --- /dev/null +++ b/app/modules/design/views/druck.php @@ -0,0 +1,21 @@ + + +
+

Drucksachen

+ +

Design ist der Prozess

+

Die Aufgaben eines Designs können verschiedener Ziele unterliegen. Design kann Emotionen hervorrufen, komplexe Systeme erklärend unterstützen und viel mehr.

+

Design bedeutet mehr als nur Formgebung und Styling: Gutes Design ist ein komplexer Prozess, in dem unterschiedliche und oft widersprüchliche Anforderungen erfüllt werden müssen, damit Objekte in der gewünschten Art und Weise funktionieren.

+ +

Wir gestalten Ihnen alles mit unserer geballten Kompetenz und Leidenschaft, von Produktvorstellung über Bewerbungsmappe, von der Internetseite bis hin zu einer komplexen Werbekampagne.

+
+ +
+

Hier Das Passende

+

Corporate Identity

+

Fotografie

+
diff --git a/app/modules/design/views/photo.php b/app/modules/design/views/photo.php new file mode 100644 index 0000000..7d42a64 --- /dev/null +++ b/app/modules/design/views/photo.php @@ -0,0 +1,35 @@ + +

Fotografie

+

Die Form folgt der Funktion, unsere Gestaltung ihren Bedürfnissen

+ + + +
+ baseContent Teaser +
+ +
+

Fotografie

+ +

Unser Netzwerk von Fotografen runden Ihr Produkt ab.

+ +

Wir bieten nicht nur einen Textcontent für Ihre Webseite zur Erstellen, sondern auch den bildlichen Content zu liefern.

+

Ob Sie schon vorhandene Fotos optimiert haben möchten oder sogar noch gar keine besitzen, da kommen wir ins Spiel. Wir optimieren Ihre Bilder oder wir schicken einer unser kompetenten Fotografen bei Ihnen vorbei.

+ +

Komplette Internetseite aus einer Hand.

+
+ +
+

Hier Das Passende

+

Webdesign

+

baseContent

+

Drucksachen

+
diff --git a/app/modules/design/views/web.php b/app/modules/design/views/web.php new file mode 100644 index 0000000..ac571c1 --- /dev/null +++ b/app/modules/design/views/web.php @@ -0,0 +1,21 @@ + + +
+

Webdesign

+

Heben Sie sich mit einem individuellen Design von Ihrer Konkurrenz ab.

+

Wir gestalten Ihnen eine individuelle Webseite, die neben dem Design vor allem eine größtmögliche Nutzerfreundlichkeit umfasst.

+

Aufbau und Navigation werden in einer übersichtlichen Struktur angeordnet.

+

Wir sind bestrebt, ein Design für Sie zu entwerfen, das alle diese Aspekte umfasst und zu einer vernünftigen Usability führt. Das Ihre User schnell und direkt informiert werden, was Sie tun und was Sie anbieten.

+

Die Wirtschaftlichkeit einer Seite kann von entscheidender Bedeutung sein, um der Konkurrenz einen Schritt voraus zu sein. Zwischen potentieller Kunde und Unternehmen steht in vielen Fällen die Internetseite.

+
+ +
+

Hier Das Passende

+

baseContent

+

HTML

+

Fotografie

+
diff --git a/app/modules/pages/controller.php b/app/modules/pages/controller.php new file mode 100644 index 0000000..0009221 --- /dev/null +++ b/app/modules/pages/controller.php @@ -0,0 +1,74 @@ +data['title'] = 'Willkommen'; + } + + function contact($action) { + $this->data['title'] = 'Kontakt'; + + $val = $this->factory->get_helper('validation'); + + $val->set_rule('name', 'string'); + $val->set_msg('name', 'Bitte geben Sie Ihren Namen an.'); + + $val->set_rule('firma', '', '*'); + $val->set_msg('firma', 'Bitte geben Sie den Namen Ihrer Firma an oder lassen Sie das entsprechende Feld frei.'); + + $val->set_rule('mail', 'email'); + $val->set_msg('mail', 'Bitte geben Sie Ihre E-Mail-Adresse an.'); + + $val->set_rule('telefon', 'number', '*'); + $val->set_msg('telefon', 'Bitte geben Sie Ihre Telefonnummer an oder lassen Sie das entsprechende Feld frei.'); + + $val->set_rule('thema', 'string'); + $val->set_msg('thema', 'Bitte wählen Sie ein Thema aus.'); + + if ( $action == 'send' ) { + $data = ( isset($_POST['fl']) )? $_POST['fl']: $this->goToTarget('pages/contact/'); + $errors = $val->validate_form($data); + + if ( count($errors) == 0 ) { + $sent = $this->model->send_contact($data); + $msg = ( $sent === TRUE )? + 'Danke! Ihre Anfrage wurde an uns abgeschickt.': + '[Systemfehler] e-mail wurde nicht verschickt.
' . $sent; + $type = ( $sent === TRUE )? + 'okay': + 'error'; + $this->flash($msg, $type); + #$this->goToTarget('pages/thankyou'); + } else { + $this->data += $data; + $msg = implode('
', $errors ); + $this->flash($msg, 'error'); + } + } + + $this->data['system']['validator'] = $val; + } + + function thankyou() { + $this->data['title'] = 'Vielen Dank!'; + } + + function impressum() { + $this->data['title'] = 'Impressum'; + } + + function sitemap() { + $this->data['title'] = 'Sitemap'; + } +} +?> diff --git a/app/modules/pages/help.xml b/app/modules/pages/help.xml new file mode 100644 index 0000000..f03b7f9 --- /dev/null +++ b/app/modules/pages/help.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/modules/pages/layouts/default.php b/app/modules/pages/layouts/default.php new file mode 100644 index 0000000..8b6b1dc --- /dev/null +++ b/app/modules/pages/layouts/default.php @@ -0,0 +1,35 @@ + + + + + 2erlei Medienagentur +get_element('header'); ?> + + +
+
+

2erlei Medienagentur

+ +
+ get_element('kundennavi'); ?> + +
+ + + + +
+ +
+get_sub_view(); ?> +
+ +
+ get_element('unten'); ?> + +
+
get_element('google_analytics'); ?> + diff --git a/app/modules/pages/model.php b/app/modules/pages/model.php new file mode 100644 index 0000000..0c5c183 --- /dev/null +++ b/app/modules/pages/model.php @@ -0,0 +1,39 @@ +functions->needs('mail'); + $m = new e_mail(); + + $to = 'info@2erlei.de'; + $from = 'kontaktformular@2erlei.de'; + $topic = '[2erlei] Kontaktformular'; + $template = file_get_contents( ABSPATH . 'app/modules/pages/views/contact.tpl'); + $data['time'] = date('d.m.Y \u\m H:i', mktime()); + + $text = $m->parse_template($template, $data); + + $m->set_config($to, $from, $topic); + $m->set_text($text); + $m->compose_message(); + + $send_contact = $m->send_mail(); + if (!$send_contact) $send_contact = $m->get_error(); + + return $send_contact; + } +} +?> diff --git a/app/modules/pages/modul.php b/app/modules/pages/modul.php new file mode 100644 index 0000000..1bcd465 --- /dev/null +++ b/app/modules/pages/modul.php @@ -0,0 +1,17 @@ + + * @version 0.1.7 + * @license All Rights Reserved + */ + +/** + * Allgemeines zum Modul + */ +class pages_modul extends fl_modul { +} +?> diff --git a/app/modules/pages/view.php b/app/modules/pages/view.php new file mode 100644 index 0000000..5131657 --- /dev/null +++ b/app/modules/pages/view.php @@ -0,0 +1,10 @@ + diff --git a/app/modules/pages/views/contact.php b/app/modules/pages/views/contact.php new file mode 100644 index 0000000..f8ed69c --- /dev/null +++ b/app/modules/pages/views/contact.php @@ -0,0 +1,19 @@ + +data['system']['validator']->get_js(); ?> +factory->get_helper('html'); $html->set_data($this->data); ?> + + + +
+

Kontaktformular

+
render_flash(); ?>
+
+

get_input('name', 'Ihr Name*:'); ?>

+

get_input('firma', 'Firma:'); ?>

+

get_input('mail', 'Ihre E-Mail*:'); ?>

+

get_input('telefon', 'Rückrufnummer:'); ?>

+

get_dropdown('thema', '=Bitte Thema auswählen,Angebot=Anfrage für ein Angebot,Design=Frage zu Design,Technik=Frage zu Code&Technik,Jobs=Jobangebote,Allgemein=Allgemeine Anfrage'); ?>

+

get_textarea('message', 'Ihr Anliegen:'); ?>

+

+
+
diff --git a/app/modules/pages/views/contact.tpl b/app/modules/pages/views/contact.tpl new file mode 100644 index 0000000..711ef7f --- /dev/null +++ b/app/modules/pages/views/contact.tpl @@ -0,0 +1,9 @@ +Name: {NAME} +Firma: {FIRMA} +e-mail: {MAIL} +Telefon: {TELEFON} + +Thema: {THEMA} +{MESSAGE} + +Das Kontaktformular wurde am {TIME} abgeschickt. diff --git a/app/modules/pages/views/impressum.php b/app/modules/pages/views/impressum.php new file mode 100644 index 0000000..070c4c6 --- /dev/null +++ b/app/modules/pages/views/impressum.php @@ -0,0 +1,26 @@ + + +
+

Die Unternehmung

+ +

2erlei - Konzeption und Gestaltung

+ +

Admiralstr. 20
D-10999 Berlin
T+ 49 (0)176 / 25 33 10 83

+

*Norman Treiber
 Mediengestalter digital & print

+

*Bastian Menningen
 Administration und Projektleitung

+


2erlei - Konzeption und Gestaltung Berlin 2005-2012

+ + get_element('haftungsausschluss'); ?> + +
+ + + + diff --git a/app/modules/pages/views/sitemap.php b/app/modules/pages/views/sitemap.php new file mode 100644 index 0000000..9da3a7c --- /dev/null +++ b/app/modules/pages/views/sitemap.php @@ -0,0 +1,50 @@ + + +
+

Sitemap

+ +
Startseite
+ +

> Startseite

+ +
Form & Farbe
+ +

> Webdesign

+ +

> Drucksachen

+ +

> Corporate Identity

+ +
Code & Technik
+ +

> baseContent

+ +

> statisches HTML

+ +

> MySQL-Datenbanken

+ +
Referenzen
+ +

> Portfolio - Webdesign

+ +

> Portfolio - Logos/ Bildmarken

+ +

> Portfolio - Drucksachen

+ +
über 2erlei
+ +

> das Unternehmen

+ +

> Partner

+ +

> Jobs

+ +
Kontakt
+ +

> Kontaktformular

+ +
Impressum
+ +

> Unternehmen & Partner

+ +
diff --git a/app/modules/pages/views/start.php b/app/modules/pages/views/start.php new file mode 100644 index 0000000..5fe09b3 --- /dev/null +++ b/app/modules/pages/views/start.php @@ -0,0 +1,18 @@ + + + +
+

Herzlich Willkommen

+ +

Die 2erlei - Konzeption und Gestaltung ist ein junges und dynamische Unternehmen.

+

Unsere qualitativ hochwertige Tätigkeit hat ihren Schwerpunkt in den Bereichen Design und Webapplikationen.

+

Die Philosophie von 2erlei gründet auf Zusammenarbeit und Vernetzung.

+

Wir sind gerade dabei unseren kompletten Internetauftritt umzustruktieren und es auf das neue Design umzustellen.

+

Gerne können Sie sich unsere Referenzen anschauen und mit uns Kontakt aufnehmen. + + +

diff --git a/app/modules/pages/views/thankyou.php b/app/modules/pages/views/thankyou.php new file mode 100644 index 0000000..abdd2fa --- /dev/null +++ b/app/modules/pages/views/thankyou.php @@ -0,0 +1,22 @@ + +

Kontakt

+

Ihr persönliches CMS für Ihr individuelles Unternehmen

+ + + +
+ +
+ +
+

Vielen Dank!

+
render_flash(); ?>
+

Wir bearbeiten eingehende Anfragen üblicherweise innerhalb von 24 Stunden.

+
+ +
+

2erlei MedienProduktion

+

baseContent

+

Unternehmen

+

Webdesign

+
diff --git a/app/modules/portfolio/controller.php b/app/modules/portfolio/controller.php new file mode 100644 index 0000000..e35a5a4 --- /dev/null +++ b/app/modules/portfolio/controller.php @@ -0,0 +1,45 @@ +data['title'] = 'Webdesign'; + $this->data['referenzen'] = $this->model->get_projects('web', $this->page); + $this->data['page_navigator'] = $this->model->get_project_pages( + 'web', 'portfolio/webdesign', $this->page + ); + } + + function logo() { + $this->data['title'] = 'Logos/ Bildmarken'; + $this->data['referenzen'] = $this->model->get_projects('logo', $this->page); + $this->data['page_navigator'] = $this->model->get_project_pages( + 'logo', 'portfolio/logo', $this->page + ); + } + + function drucksachen() { + $this->data['title'] = 'Drucksachen'; + $this->data['referenzen'] = $this->model->get_projects('print', $this->page); + $this->data['page_navigator'] = $this->model->get_project_pages( + 'print', 'portfolio/drucksachen', $this->page + ); + } + + function common($params) { + list($page) = $this->parse_params($params, 'int'); + $this->page = ( $page < 1 )? 1: $page; + $this->data['page'] = $this->page; + + return true; + } +} +?> diff --git a/app/modules/portfolio/data/webdesign.php b/app/modules/portfolio/data/webdesign.php new file mode 100644 index 0000000..9745bff --- /dev/null +++ b/app/modules/portfolio/data/webdesign.php @@ -0,0 +1,17 @@ +has_local_url() )? ' rel="lightbox"': ' target="_blank"'; + $link = ''. $this->get('title') .''; + + return $link; + } + + private function has_local_url() { + $url = $this->get('url'); + return ( $url[0] == '/' ); + } +} diff --git a/app/modules/portfolio/help.xml b/app/modules/portfolio/help.xml new file mode 100644 index 0000000..08e4592 --- /dev/null +++ b/app/modules/portfolio/help.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/modules/portfolio/layouts/default.php b/app/modules/portfolio/layouts/default.php new file mode 100644 index 0000000..11771e0 --- /dev/null +++ b/app/modules/portfolio/layouts/default.php @@ -0,0 +1,36 @@ + + + + + 2erlei Medienagentur +get_element('header'); ?> + + +
+
+

2erlei Medienagentur

+ +
+ get_element('kundennavi'); ?> + +
+ + + + +
+ +
+get_sub_view(); ?> +
+ +
+ get_element('unten'); ?> + +
+
get_element('google_analytics'); ?> + get_element('lightbox'); ?> + diff --git a/app/modules/portfolio/model.php b/app/modules/portfolio/model.php new file mode 100644 index 0000000..cd77a1c --- /dev/null +++ b/app/modules/portfolio/model.php @@ -0,0 +1,302 @@ +$method_name() + ); + + $offset = ( $this->projects_per_page * ($page-1) ); + $project_count = count($projects); + + $offset = ( $project_count < $offset )? + 0: $offset; + + $paged_projects = new LimitIterator( + $projects, $offset, $this->projects_per_page + ); + + return $paged_projects; + } + + /** + * Seitenlinks zurückgeben + * + * @param string $type + * @param string $link + * @param int $page + * @return string + */ + public function get_project_pages($type, $link, $page) { + $method_name = "get_{$type}_projects"; + $projects = $this->$method_name(); + + $previous = ( $page > 1 )? $page - 1: 1; + $last = ceil( count($projects) / $this->projects_per_page); + $next = ( $page+1 <= $last )? $page + 1: $last; + $pages = range(1, $last); + + $separator = ' | '; + + $html = ''; + $html .= ''; + + return $html; + } + + public function get_web_projects() { + $projects = array(); + + $projects[] = array( + 'title'=>'Die Deutsche Bibliothek', + 'url'=>'http://www.ddb.de', + 'assgiment'=>'Templatedesign', + 'client'=>'3-point concepts GmbH', + 'shortname'=>'ddb', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'title'=>'Dietrich Bonhoeffer', + 'url'=>'http://handschriften.staatsbibliothek-berlin.de/bonhoeffer/', + 'assgiment'=>'Bildbearbeitung', + 'client'=>'3-point concepts GmbH', + 'shortname'=>'bonhoeffer', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'title'=>'Deutscher Bibliotheksverband', + 'url'=>'http://www.bibliotheksportal.de', + 'assgiment'=>'Templatedesign/ Icongestaltung', + 'client'=>'3-point concepts GmbH', + 'shortname'=>'knb', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'title'=>'CME-Springer', + 'url'=>'http://www.cme-springer.de', + 'assgiment'=>'Screendesign', + 'client'=>'BSMO GmbH', + 'shortname'=>'cme-springer', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'title'=>'Jobcenter-Medizin', + 'url'=>'http://www.jobcenter-medizin.de', + 'assgiment'=>'Screendesign', + 'client'=>'BSMO GmbH', + 'shortname'=>'jobcenter-medizin', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'url'=>'http://www.berlincitypoker.de', + 'shortname'=>'poker', + 'title'=>'Berlin City Poker', + 'client'=>'André K.', + 'assignment'=>'Kommunikationskonzept / Screendesign', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'url'=>'http://www.viveo150.de', + 'shortname'=>'viveo', + 'title'=>'Viveo', + 'client'=>'Schütz & co Werbeagentur', + 'assignment'=>'Navigationskonzept / Screendesign', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'url'=>'http://weigend.com', + 'shortname'=>'weigend', + 'title'=>'Andreas S. Weigend', + 'client'=>'3-point concepts', + 'assignment'=>'Navigationskonzept / Screendesign', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'url'=>'/public/img/web/sideshow/landingpage_03.jpg', + 'shortname'=>'jamba', + 'title'=>'Landingpage "Rock"', + 'client'=>'Jamba GmbH', + 'assignment'=>'Kommunikationskonzept / Screendesign', + 'url_text'=>' Screenshot' + ); + + $projects[] = array( + 'url'=>'http://nugg.ad', + 'shortname'=>'nuggad', + 'title'=>'nugg.ad', + 'client'=>'3-point concepts', + 'assignment'=>'Navigationskonzept / Screendesign', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'url'=>'http://www.bpb.de/methodik/ZOAUGM,0,0,WahlOMat_Archiv.html', + 'shortname'=>'walomat', + 'title'=>'Wal-O-Mat', + 'client'=>'3-point concepts', + 'assignment'=>'Screendesign', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'url'=>'http://www.bildungslueckenfueller.de/', + 'shortname'=>'bildung', + 'title'=>'Bildungslückenfüller', + 'client'=>'3-point concepts', + 'assignment'=>'Navigationskonzept / Screendesign', + 'url_text'=>'Webseite besuchen' + ); + + $projects[] = array( + 'url'=>'http://www.efors.eu/', + 'shortname'=>'efors', + 'title'=>'Efors Onlinemagazin', + 'client'=>'Work-Out', + 'assignment'=>'Navigationskonzept / Screendesign', + 'url_text'=>'Webseite besuchen' + ); + + $web_projects = array(); + foreach( $projects as $project ) { + $web_projects[] = $this->factory->get_structure('portfolio/webdesign', $project); + } + + return $web_projects; + } + + public function get_print_projects() { + $projects = array(); + + $projects[] = array( + 'shortname'=>'dao', + 'title'=>'DAO', + 'client'=>'DAO - Kampfkunstschule', + 'assignment'=>'Drucksachen' + ); + + $projects[] = array( + 'shortname'=>'nanologika', + 'title'=>'nanoLogika', + 'client'=>'nanoLogika', + 'assignment'=>'Drucksachen' + ); + + $projects[] = array( + 'shortname'=>'corpuscare', + 'title'=>'corpuscare', + 'client'=>'corpuscare', + 'assignment'=>'Drucksachen' + ); + + $projects[] = array( + 'shortname'=>'poker', + 'title'=>'Berlin City Poker', + 'client'=>'Berlin City Poker', + 'assignment'=>'Drucksachen' + ); + + $projects[] = array( + 'shortname'=>'nobilis', + 'title'=>'Nobilis', + 'client'=>'Nobilis', + 'assignment'=>'Corporate Identity' + ); + + /** + $projects[] = array( + 'shortname'=>'giata', + 'title'=>'GIATA Videoaufsteller', + 'client'=>'GIATA mbH', + 'assignment'=>'Drucksachen' + ); + */ + + $projects[] = array( + 'shortname'=>'rampenlicht', + 'title'=>'Rampenlicht', + 'client'=>'Rampenlicht', + 'assignment'=>'Visitenkarten' + ); + + $print_projects = array(); + foreach( $projects as $project ) { + $print_projects[] = $this->factory->get_structure('data', $project); + } + + return $print_projects; + } + + public function get_logo_projects() { + $projects = array(); + + $projects[] = array( + 'shortname'=>'myhotelvideo', + 'title'=>'MyHotelVideo', + 'client'=>'GIATA mbH' + ); + + $projects[] = array( + 'shortname'=>'nanologika', + 'title'=>'nanoLogika', + 'client'=>'nanoLogika' + ); + + $projects[] = array( + 'shortname'=>'travelclips', + 'title'=>'travelClips', + 'client'=>'travelClips' + ); + + $projects[] = array( + 'shortname'=>'corpuscare', + 'title'=>'corpusCare', + 'client'=>'corpusCare' + ); + + $projects[] = array( + 'shortname'=>'nobilis', + 'title'=>'Nobilis', + 'client'=>'Nobilis' + ); + + + $logo_projects = array(); + foreach( $projects as $project ) { + $logo_projects[] = $this->factory->get_structure('data', $project); + } + + return $logo_projects; + } +} diff --git a/app/modules/portfolio/modul.php b/app/modules/portfolio/modul.php new file mode 100644 index 0000000..96257ec --- /dev/null +++ b/app/modules/portfolio/modul.php @@ -0,0 +1,17 @@ + + * @version 0.1.7 + * @license All Rights Reserved + */ + +/** + * Allgemeines zum Modul + */ +class portfolio_modul extends fl_modul { +} +?> diff --git a/app/modules/portfolio/view.php b/app/modules/portfolio/view.php new file mode 100644 index 0000000..0dbfe99 --- /dev/null +++ b/app/modules/portfolio/view.php @@ -0,0 +1,10 @@ + diff --git a/app/modules/portfolio/views/drucksachen.php b/app/modules/portfolio/views/drucksachen.php new file mode 100644 index 0000000..25da912 --- /dev/null +++ b/app/modules/portfolio/views/drucksachen.php @@ -0,0 +1,20 @@ +get_element('subnavigation_portfolio', array('aktiv'=>'drucksachen')); ?> + +
+

Drucksachen

+ say('page_navigator', 'string', null, true); ?> + + get('referenzen') as $projekt ) { ?> +
+
<?php $projekt->say('title'); ?>
+
+

say('title'); ?>

+

Kunde: say('client'); ?>

+

Auftrag: say('assignment'); ?>

+
+
+ + + + say('page_navigator', 'string', null, true); ?> +
diff --git a/app/modules/portfolio/views/logo.php b/app/modules/portfolio/views/logo.php new file mode 100644 index 0000000..88c9cc0 --- /dev/null +++ b/app/modules/portfolio/views/logo.php @@ -0,0 +1,21 @@ +get_element('subnavigation_portfolio', array('aktiv'=>'logo')); ?> + +
+

Logos/ Bildmarken

+ say('page_navigator', 'string', null, true); ?> + + get('referenzen') as $projekt ) { ?> +
+
<?php $projekt->say('title'); ?>
+
+

say('title'); ?>

+

Kunde: say('client'); ?>

+

Auftrag: Logoentwicklung

+
+
+ + + + say('page_navigator', 'string', null, true); ?> + +
diff --git a/app/modules/portfolio/views/webdesign.php b/app/modules/portfolio/views/webdesign.php new file mode 100644 index 0000000..f29ccdc --- /dev/null +++ b/app/modules/portfolio/views/webdesign.php @@ -0,0 +1,22 @@ +get_element('subnavigation_portfolio', array('aktiv'=>'webdesign')); ?> + +
+

Webseiten-Projekte

+ say('page_navigator', 'string', null, true); ?> + + get('referenzen') as $projekt ) { ?> +
+
say('link'); ?>
+
+

say('title'); ?>

+

Kunde: say('client'); ?>

+

Auftrag: say('assignment'); ?>

+

say('url_text'); ?>

+
+
+ + + + say('page_navigator', 'string', null, true); ?> + +
diff --git a/app/modules/user/controller.php b/app/modules/user/controller.php new file mode 100644 index 0000000..d0abcf3 --- /dev/null +++ b/app/modules/user/controller.php @@ -0,0 +1,182 @@ +check_login('user/'); + $this->data['title'] = 'Benutzer-Administration'; + } + + function add($param='') { + $this->check_login('user/add/'); + $this->data['title'] = "Neuen Benutzer anlegen"; + + if ( $param == 'save') { + $data = ( isset( $_POST['fl'] ))? $_POST['fl']: $this->goToTarget('user/add/'); + + $this->functions->needs('validation'); + $val = new validation(); + + $val->set_rule('mail', 'email'); + $val->set_msg('mail', 'Bitten geben Sie eine gültige e-mail-Adresse an.'); + + $errors = $val->validate_form($data); + + if( $this->model->doesnt_exist($data['name']) == FALSE ) { + $errors[] = 'Der Username ist bereits vergeben, bitte verwenden Sie einen anderen Namen.'; + } + + if ( !isset($data['password1']) OR ( empty($data['password1']) AND empty($data['password2']) ) ) { + $data['password1'] = $data['password2'] = $this->model->generate_PW(); + } + + if ( $data['password1'] != $data['password2'] ) { + $errors[] = 'Es wurden zwei verschiedene Passwörter eingetragen'; + } + + if ( count($errors) == 0 ) { + $created = $this->model->create_user($data); + $msg = ( $created == TRUE )? + 'Benutzer '.$data['name'].' wurde angelegt': + 'Fehler beim Anlegen des neuen Benutzers'; + + $this->flash($msg); + + if ( $created == TRUE ) { + $sent = $this->model->notify_user($data['name'], $data['password1']); + $msg = ( $sent == TRUE )? + 'Benutzer ' . $data['name'] . ' wurde per mail an ' . $data['mail'] . ' informiert.': + 'Fehler beim versenden der mail: ' . $sent; + + $this->flash($msg); + } + } else { + $this->data += $data; + $msg = implode( '
', $errors ); + $this->flash($msg); + } + } + } + + function edit($params) { + @list($user, $action) = explode('/', $params); + if ( !isset($user) OR !is_numeric($user) ) $this->goToTarget('user/'); + + $this->check_login('user/edit/'.$user); + + if ( isset($action) AND $action == 'save' ) { + $data = ( isset( $_POST['fl'] ))? $_POST['fl']: $this->goToTarget('user/'); + + $this->functions->needs('validation'); + $val = new validation(); + + $val->set_rule('email', 'email'); + $val->set_msg('email', 'Bitten geben Sie eine gültige e-mail-Adresse an.'); + + $errors = $val->validate_form($data); + + if ( $data['password1'] == '' ) { + unset($data['password1'], $data['password2']); + } else { + if ( $data['password1'] != $data['password2'] ) { + $errors[] = 'Es wurden zwei verschiedene Passwörter eingetragen'; + } + } + + if ( count($errors) == 0 ) { + $updated = $this->model->update_user($data, $user); + $msg = ( $updated == TRUE )? + 'Benutzer '.$user.' wurde aktualisiert': + 'Fehler beim Aktialisieren des Benutzers ('.$user.')' ; + + $this->flash($msg); + $this->goToTarget('user/'); + } else { + $this->data += $data; + $msg = implode( '
', $errors ); + $this->flash($msg); + } + } else { /* Formular anzeigen */ + $result = $this->datamodel->retrieve('user', '*', 'id="'.$user.'"', '' ,'1'); + unset($result['password']); + $this->data += $result; + $this->data['title'] = "Benutzer ".$result['name']." bearbeiten"; + } + } + + function del($user) { + $user_number = (int) $user; + $this->check_login('user/del/'.$user); + $this->data['title'] = "Benutzeraccount löschen"; + + if ( $user_number > 0 AND $user_number == $user ) { + $user = $user_number; + } + + $this->data = $this->model->get_data('user', $user, 'name'); + if ( $this->data['name'] != $_SESSION['username'] ) { + $this->flash('Sie können nur Ihren eigenen Benutzeraccount löschen.'); + $this->goToTarget('user/'); + } else { + $this->data['title'] = 'Benutzer "'.$this->data['name'].'" löschen'; + if ( is_string($user) ) { + $this->flash('Warnung: Der Benutzeraccount wird endgültig gelöscht, wenn sie den unten stehenden Löschknopf betätigen.'); + } elseif ( is_numeric($user) OR empty($user) ) { + $result = ( $this->datamodel->del('user', $user) )? 'Benutzeraccount von '.$_SESSION['username'].' gelöscht.': 'Fehler beim Löschen des Benutzeraccounts '.$_SESSION['username']; + $this->flash($result); + $this->logaction($result); + $this->goToTarget(ADMINMODULE.'/logout/'); + } + } + } + + /** + * Neuen Benutzer per e-mail informieren + * + * Ein neu angelegter Benutzer erhält eine e-mail mit den Zugangsdaten. + * Wenn die mail nicht abgeschickt werden kann, werden die Zugangsdaten + * auf dem Bildschirm ausgegeben. + * + * @param array $data Array aus Username, Passwort und e-mail-Adresse + * @return array erfolgreicher mailversand und Statusmeldung. + */ + function _notifyUser($data) { + $content = "Für Sie wurde ein Benutzerkonto für die Administration der Internetseite \"http://".$_SERVER['HTTP_HOST']."\" eingerichtet.\n\nIhre Zugangsdaten lauten:\nBenutzername:\t".$data['name']."\nPasswort:\t".$data['password']."\n\nBitte ändern Sie das Passwort bei Ihrer ersten Anmeldung auf \"http://".$_SERVER['HTTP_HOST']."/user/\"."; + + $result = $this->datamodel->retrieve(ADMINMODULE.'_options', '*', "optionname='SEITENTITEL'", '', '1'); + $seitentitel = $result['value']; + + $config[mailreceipient] = $data['email']; + $config[mailtopic] = '['.$seitentitel.'] Benutzerkonto angelegt'; + $config[mailfrom] = 'usermanagement@'.$_SERVER['HTTP_HOST']; + + if ( mail($config['mailreceipient'],$config['mailtopic'],$content, "From: {$config[mailfrom]}") ) { + $notify['mailed'] = TRUE; + $notify['status'] = "Benutzer wurde per e-mail informiert."; + } else { + $notify['mailed'] = FALSE; + $notify['status'] = "

Fehler

Auf diesem Server ist kein Mailversand möglich. Bitte teilen Sie dem neuangelegten Benutzer die folgende Nachricht mit:

".nl2br($content); + } + return $notify; + } + + function common() { + if ( isset($_SESSION['username']) ) { + $this->data += $this->datamodel->retrieve('user', 'id AS my_id, email AS my_email, name AS my_name, level AS my_level', "name = '" . $_SESSION['username'] . "'", '', '1'); + } + $this->functions->needs('bereiche'); + + return TRUE; + } +} +?> diff --git a/app/modules/user/help.xml b/app/modules/user/help.xml new file mode 100644 index 0000000..47c22d9 --- /dev/null +++ b/app/modules/user/help.xml @@ -0,0 +1,8 @@ + + +

In der Benutzerverwaltung können Sie Ihren eigenen Benutzerdaten bearbeiten, einen neuen Benutzer anlegen und Ihren Benutzerzugang löschen.

+ + + + + \ No newline at end of file diff --git a/app/modules/user/layouts/admin.php b/app/modules/user/layouts/admin.php new file mode 100644 index 0000000..fb8c078 --- /dev/null +++ b/app/modules/user/layouts/admin.php @@ -0,0 +1,61 @@ +'."\n"; ?> + + + + <?php echo $this->get_field('title') ?> - <?php $this->get_siteTitle() ?> +get_element('admin_head'); ?> + + +
+ +
+

baseContent

+

» get_username(); ?> Logout

+ +
+ get_element('bc_nav'); ?> +
+ + + +

get_siteTitle(); ?>

+ get_breadcrumbs($this->cap, $this->get_field('title')); ?> +
+ + + +
+ +get_sub_view(); ?> + +
+

baseContent info

+ get_element('bc_info', array('cap'=>$this->cap, 'flash'=>$this->render_flash(), 'model'=>$this) ); ?> +
+
+ +
+

   

+ +
+ +
+ + diff --git a/app/modules/user/model.php b/app/modules/user/model.php new file mode 100644 index 0000000..5842f66 --- /dev/null +++ b/app/modules/user/model.php @@ -0,0 +1,113 @@ +datamodel->retrieve('user', 'COUNT(*) AS anzahl', "name = '".$name."'"); + $doesnt_exist = ( $result['anzahl'] == 0 )? TRUE: FALSE; + return $doesnt_exist; + } + + /** + * Ein zufälliges Passwort generieren + * + * Ausgehend von der Systemzeit wird ein 6 Zeichen langer String erzeugt, + * der als vorübergehendes Passwort verwendet werden kann. + * + * @return string zufälliges Passwort + */ + function generate_PW() { + $pass = substr(md5(uniqid(microtime())), 0, 6); + return $pass; + } + + /** + * Neues Benutzerprofil anlegen + * + * @param array $data + * @return bool + */ + function create_user($data) { + $db_data = array( + 'name'=>$data['name'], + 'email'=>$data['mail'], + 'password'=>md5($data['password1']) + ); + + $create_user = ( $this->datamodel->create('user', $db_data) )? TRUE: FALSE; + + return $create_user; + } + + /** + * Benutzerdaten speichern + * + * Die Benutzerdaten werden gespeichert. Wenn ein Password angegeben wurde, + * wird es MD5-Codiert. + * + * @param array $data + * @param int $user + * @return bool + */ + function update_user($data, $user) { + $db_data = $data; + if ( isset($data['password1']) ) $db_data['password'] = md5($data['password1']); + unset($db_data['password1'], $db_data['password2']); + + $update_user = ( $this->datamodel->update('user', $db_data, $user) )? TRUE: FALSE; + return $update_user; + } + + /** + * Benutzerdaten per mail verschicken + * + * @param string $name Benutzername + * @param string $password + * @return mixed + */ + function notify_user($name, $password='') { + $result = $this->datamodel->retrieve('user', 'email', "name = '".$name."'", '', '1'); + $mailadresse = $result['email']; + + unset($result); + $result = $this->datamodel->retrieve('basecontent_options', 'value', 'optionname="SEITENTITEL"', '', '1'); + $seitentitel = $result['value']; + + $data['name'] = $name; + $data['password'] = ( $password == '' )? 'Das Passwort wurde nicht verändert.': $password; + + $this->functions->needs('mail'); + $m = new e_mail(); + + $to = $mailadresse; + $from = 'basecontent@'.$_SERVER['HTTP_HOST']; + $topic = '['.$seitentitel.'] Benutzeraccount freigeschaltet'; + $template = file_get_contents( $this->modulepath . 'user/views/notify.tpl'); + + $text = $m->parse_template($template, $data); + + $m->set_config($to, $from, $topic); + $m->set_text($text); + $m->compose_message(); + + $notify_user = $m->send_mail(); + if (!$notify_user) $notify_user = $m->get_error(); + + return $notify_user; + } +} +?> diff --git a/app/modules/user/modul.php b/app/modules/user/modul.php new file mode 100644 index 0000000..c9bc575 --- /dev/null +++ b/app/modules/user/modul.php @@ -0,0 +1,34 @@ + + * @version 0.1.6 + * @license All Rights Reserved + */ + +/** + * Modul zentral registrieren + */ +$installed_modules[] = 'user'; + +/** + * Allgemeines zum Modul + */ +class user_modul extends fl_modul { + function get_options() { + echo ''; + } + + function get_name() { + return FALSE; + } + + function get_starttext() { + echo ''; + } +} + +?> diff --git a/app/modules/user/view.php b/app/modules/user/view.php new file mode 100644 index 0000000..3d116ec --- /dev/null +++ b/app/modules/user/view.php @@ -0,0 +1,56 @@ +data['from']; + } + */ + /** + * Benutzerlevel zurückgeben + * + * Es werden die Benutzerlevel zurückgegeben, die einem Benutzer zugeteilt werden können. + * Die Rückgabe erfolgt im Format für Dropdowns: kommaseparierte "Wert=Beschreibung"-Paare. + * + * @param int $current Der Level des aktuelle eingeloggten Benutzers + * @return string + * + * @todo Daten aus Datenbank holen. + */ + function get_levels($current) { + $get_levels = array(); + + $level = array( + #'0'=>array( + # 'level'=>0, + # 'name'=>'Besitzer' + #), + '1'=>array( + 'level'=>1, + 'name'=>'Administrator' + ), + '2'=>array( + 'level'=>2, + 'name'=>'Benutzer' + ) + ); + + foreach( $level as $value ) { + if ( $value['level'] < $current ) continue; + + $get_levels[] = $value['level'].'='.$value['name']; + } + $get_levels = implode(',', $get_levels); + + return $get_levels; + } +} +?> diff --git a/app/modules/user/views/add.php b/app/modules/user/views/add.php new file mode 100644 index 0000000..4929c2a --- /dev/null +++ b/app/modules/user/views/add.php @@ -0,0 +1,18 @@ +functions->needs('html'); + +$b = new bereiche(2); +$html = new html($this); + +?> +

Benutzer hinzufügen

+
+oben('useradd', 'Allgemeine Daten'); ?> +

get_input('name', 'Name', array('size'=>20) ); ?>

+

get_input('mail', 'e-mail' ); ?>

+

get_input('password1', 'Passwort', array('type'=>'password') ); ?>

+

get_input('password2', 'Passwort wiederholen', array('type'=>'password') ); ?>

+ +buttons('abbrechen:/user/admin/,speichern'); ?> +unten(); ?> +
diff --git a/app/modules/user/views/admin.php b/app/modules/user/views/admin.php new file mode 100644 index 0000000..b9cd3ee --- /dev/null +++ b/app/modules/user/views/admin.php @@ -0,0 +1,20 @@ + +

Benutzer (Ãœbersicht)

+ +oben("eigeneraccount", 'Eigener Account'); ?> +

Benutzername: get_field('my_name'); ?>

+

e-mail: get_field('my_email'); ?>

+ +buttons('hinzufuegen:/user/add/,weiter:allenutzer'); ?> +unten(); ?> + +oben('allenutzer', 'Alle Nutzer'); ?> + get_combined_list('user', 'id=%name% (%email%)', '/user/edit/', 'level > '.$this->data['my_level'], FALSE, 'userlist'); ?> + +buttons('zurueck:eigeneraccount,hinzufuegen:/user/add/'); ?> +unten(); ?> diff --git a/app/modules/user/views/del.php b/app/modules/user/views/del.php new file mode 100644 index 0000000..d0168ba --- /dev/null +++ b/app/modules/user/views/del.php @@ -0,0 +1,34 @@ + +

get_field('title'); ?>

+ + +
+ + + +

Bestätigung

+
 
+

Ihr Benutzeraccount wird endgültig gelöscht, nachdem Sie den "Löschen"-Knopf betätigt haben.

+
 
+

Abbrechen Löschen

+ + + +

Fehler

+
 
+

Zurück zur Startseite.

+
 
+ + + +
 
+
+ + diff --git a/app/modules/user/views/edit.php b/app/modules/user/views/edit.php new file mode 100644 index 0000000..5a87a25 --- /dev/null +++ b/app/modules/user/views/edit.php @@ -0,0 +1,19 @@ +functions->needs('html'); + +$b = new bereiche('2'); +$html = new html($this); +?> +

Benutzer get_field('name'); ?> bearbeiten

+
+oben('useredit', 'Allgemeines'); ?> +

get_field('name') ?>

+

get_input('password1', 'Passwort', array('type'=>'password') ); ?>

+

get_input('password2', 'Passwort wiederholen', array('type'=>'password') ); ?>

+

get_input('email', 'e-mail' ); ?>

+

get_dropdown('status', '0=aktiv,1=inaktiv'); ?>

+

get_dropdown('level', $this->get_levels($this->data['my_level'])); ?>

+ +buttons('abbrechen:/user/admin/,speichern'); ?> +unten(); ?> +
diff --git a/app/modules/user/views/notify.tpl b/app/modules/user/views/notify.tpl new file mode 100644 index 0000000..9d2c55e --- /dev/null +++ b/app/modules/user/views/notify.tpl @@ -0,0 +1,10 @@ +Es wurde ein Benutzeraccount für die Administration von Ma Puta angelegt. + +Benutzername: {NAME} +Passwort: {PASSWORD} + +Sie können Sie über folgende Adresse einloggen: + +http://www.maputa.com/basecontent/login +-- +baseContent ist ein Produkt der 2erlei GbR diff --git a/config/contenttype.ini b/config/contenttype.ini new file mode 100644 index 0000000..43b80ce --- /dev/null +++ b/config/contenttype.ini @@ -0,0 +1,3 @@ +[headers] +content-type=text/html +charset=utf-8 diff --git a/config/database.ini b/config/database.ini new file mode 100644 index 0000000..247206e --- /dev/null +++ b/config/database.ini @@ -0,0 +1,8 @@ +[database] +type=null +host=localhost +user=rasputin +pass=nano2erlei +database=db_2erlei + +table_prefix=fl_ diff --git a/config/database.ini.sample b/config/database.ini.sample new file mode 100644 index 0000000..f8eacfe --- /dev/null +++ b/config/database.ini.sample @@ -0,0 +1,8 @@ +[database] +type=null +host=localhost +user= +pass= +database= + +table_prefix=fl_ diff --git a/config/general.ini b/config/general.ini new file mode 100644 index 0000000..8841679 --- /dev/null +++ b/config/general.ini @@ -0,0 +1,32 @@ +[constants] +; Datenbankverwendung +; +; Wenn keine Datenbank verwendet wird, muss diese +; Konstante auf true gesetzt werden +; +no_database=false + +; Name des Administrationsmoduls angeben +; +; Wenn die Seite datenbankgestützt läuft, sollten Startbereich +; und Seitentitel aus der Datenbank geholt werden und +; über eine Administrationsoberfläche veränder sein. +; +; @name ADMINMODULE +; +adminmodule=basecontent + +; Startbereich +; +; Kann hier stehen, kannn aber auch (eleganter) über +; entsprechende Routen gesetzt werden. +; +; Da die Datenbank gefragt wird, wenn es nicht +; gesetzt wird, sollte es aber hier gesetzt werden. +; +;defaultsection=basecontent +defaultsection=pages + +; Seitentitel +; +seitentitel=2erlei diff --git a/config/lang.ini b/config/lang.ini new file mode 100644 index 0000000..64ebb91 --- /dev/null +++ b/config/lang.ini @@ -0,0 +1,13 @@ +[lang] +; Landeskuerzel der Hauptsprache +; Beispiele: en de es dk zh +default=de +; Laenderkuerzel aller Sprachen, kommasepariert +; die Reihenfolge spielt keine Rolle +; Beispiel: de,en,es,pt +all=de +; Landeskuerzel der Anwendungssprache +; Wird verwendet um die Anbindung an die Datenbank +; zu automatisieren +; Beispiele: de en +application=de diff --git a/config/routes.conf.php b/config/routes.conf.php new file mode 100644 index 0000000..f59aa1e --- /dev/null +++ b/config/routes.conf.php @@ -0,0 +1,53 @@ +'defaultController', + 'action'=>'defaultAction', + 'param'=>'', + 'lang'=>'' +); + +/** + * Routen zur Umwandlung von URL zu einem Steuerarray + */ +$default_route = new fl_route('/:controller/:action/:param'); +$default_route->set_defaults($defaults); +$default_route->set_priority(255); +$default_route->set_language_key('lang'); + +$route_with_language = new fl_route('/:lang/:controller/:action/:param'); +$route_with_language->set_defaults($defaults); +$route_with_language->set_priority(100); +$route_with_language->set_partial_regex('lang', '[a-z]{2}'); +$route_with_language->set_language_key('lang'); + +/** + * Weiterleitung der Startseite auf /pages/start + */ +$pages_start = array( + 'controller'=>'pages', + 'action'=>'start', + 'param'=>'', + 'lang'=>'' +); + +$startpage = new fl_route('/'); +$startpage->set_defaults( $pages_start ); +$startpage->set_priority(50); + +$start = new fl_route('/:lang/start/:param'); +$start->set_defaults( $pages_start ); +$start->set_partial_regex('lang', '[a-z]{2}'); +$start->set_priority( 51 ); + +/** + * Routen zur Konfiguration hinzufuegen + */ +$config['routes'][] = $start; +$config['routes'][] = $startpage; +$config['routes'][] = $route_with_language; +$config['routes'][] = $default_route; + +?> diff --git a/db/db_2erlei.sql b/db/db_2erlei.sql new file mode 100644 index 0000000..704c003 --- /dev/null +++ b/db/db_2erlei.sql @@ -0,0 +1,111 @@ +-- phpMyAdmin SQL Dump +-- version 2.7.0-pl1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Erstellungszeit: 04. Januar 2007 um 18:52 +-- Server Version: 5.0.18 +-- PHP-Version: 5.1.1 +-- +-- Datenbank: `db_2erlei` +-- + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `fl_basecontent` +-- + +DROP TABLE IF EXISTS `fl_basecontent`; +CREATE TABLE `fl_basecontent` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(20) NOT NULL default '', + `ip` varchar(15) NOT NULL, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `action` text NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0; + +-- +-- Daten für Tabelle `fl_basecontent` +-- + +INSERT INTO `fl_basecontent` VALUES (1, 'matthias', '127.0.0.1', '2007-01-04 18:01:34', 'matthias hat sich eingeloggt'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `fl_basecontent_options` +-- + +DROP TABLE IF EXISTS `fl_basecontent_options`; +CREATE TABLE `fl_basecontent_options` ( + `id` tinyint(3) unsigned NOT NULL auto_increment, + `optionname` varchar(50) default NULL, + `value` varchar(100) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0; + +-- +-- Daten für Tabelle `fl_basecontent_options` +-- + +INSERT INTO `fl_basecontent_options` VALUES (1, 'SEITENTITEL', 'Kundenlogin'); +INSERT INTO `fl_basecontent_options` VALUES (2, 'DEFAULTSECTION', 'pages'); +INSERT INTO `fl_basecontent_options` VALUES (3, 'ADMINHELP', 'sichtbar'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `fl_user` +-- + +DROP TABLE IF EXISTS `fl_user`; +CREATE TABLE `fl_user` ( + `id` tinyint(4) NOT NULL auto_increment, + `status` tinyint(3) unsigned NOT NULL default '0', + `name` varchar(20) default NULL, + `password` varchar(255) default NULL, + `email` varchar(255) default NULL, + `level` tinyint(3) unsigned NOT NULL default '255', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `fl_user` +-- + +INSERT INTO `fl_user` VALUES (1, 0, 'matthias', '598d4c200461b81522a3328565c25f7c', 'matthias@2erlei.de', 0); +INSERT INTO `fl_user` VALUES (2, 0, 'bastian', 'b9d519a644a0590327bc0e3ef6505539', 'bastian@2erlei.de', 1); +INSERT INTO `fl_user` VALUES (3, 0, 'norman', 'b9d519a644a0590327bc0e3ef6505539', 'norman@2erlei.de', 2); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `fl_user_access` +-- + +DROP TABLE IF EXISTS `fl_user_access`; +CREATE TABLE `fl_user_access` ( + `id` int(10) unsigned NOT NULL auto_increment, + `controller` varchar(255) NOT NULL, + `action` varchar(255) NOT NULL, + `level` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0; + +-- +-- Daten für Tabelle `fl_user_access` +-- + +INSERT INTO `fl_user_access` VALUES (1, 'basecontent', 'show', 2); +INSERT INTO `fl_user_access` VALUES (2, 'basecontent', 'trashcan', 1); +INSERT INTO `fl_user_access` VALUES (3, 'basecontent', 'logout', 255); +INSERT INTO `fl_user_access` VALUES (4, 'basecontent', 'options', 1); +INSERT INTO `fl_user_access` VALUES (5, 'basecontent', 'protocol', 1); +INSERT INTO `fl_user_access` VALUES (6, 'basecontent', 'support', 1); +INSERT INTO `fl_user_access` VALUES (7, 'user', 'add', 2); +INSERT INTO `fl_user_access` VALUES (8, 'user', 'edit', 2); +INSERT INTO `fl_user_access` VALUES (9, 'user', 'del', 1); +INSERT INTO `fl_user_access` VALUES (10, 'user', 'admin', 2); + diff --git a/fl/data/access.php b/fl/data/access.php new file mode 100644 index 0000000..639c113 --- /dev/null +++ b/fl/data/access.php @@ -0,0 +1,48 @@ +get('path', 'lib') . 'data/access/' . $type . '.php'; + $this->data_source = new $object_name($config); + } + + /** + * Datenzugriffsobjekt zurückgeben + * + * @return data_access + */ + public function get_data_source() { + return $this->data_source; + } +} +?> diff --git a/fl/data/access/database.php b/fl/data/access/database.php new file mode 100644 index 0000000..c61c24b --- /dev/null +++ b/fl/data/access/database.php @@ -0,0 +1,88 @@ +retrieve($table, 'COUNT(*) AS anzahl', $condition); + $anzahl = (integer) $result[0]['anzahl']; + return $anzahl; + } + + /** + * ID holen + * + * @param string $table Tabelle in der DB + * @param string $condition Bedingung, mit der gesucht werden + * @return integer + */ + public function find_id($table, $condition) { + $result = $this->retrieve($table, 'id', $condition); + $id = (integer) $result['id']; + return $id; + } + + /** + * Zuletzt einfügte ID zurückgeben + * + * @param string $table + * @return integer + */ + abstract public function last_insert_id($table); + + /** + * Eindeutigen Bezeichner für eine Tabelle zurückgeben + * + * @param string $table + * @return string + */ + abstract public function get_table_name($table); + + /** + * Datenbankabfragen loggen + */ + protected function log_query($sql) { + $this->lastSQL = $sql; + $this->allSQL[] = $sql; + $this->query_count++; + } + + /** + * Fehlermeldungen ausgeben und Ausführung stoppen + * + * @param string $error + * @param string $sql + */ + protected function error($error, $sql) { + if ( $this->show_errors OR + ( error_reporting() > 0 AND ini_get('display_errors') == 1 ) ) { + $factory = new fl_factory(); + $err = $factory->get_helper('var_analyze', 'data-access', 'Fehler'); + $err->sql($sql, 'Datenbankabfrage, die zu Fehler gefuehrt hat'); + + /** + * Um mehr Informationen mit xDebug erhalten zu koennen, + * das Datenbankobjekt in den lokalen Scope holen + */ + $database_object = $this; + } + + throw new Exception($error); + } +} +?> diff --git a/fl/data/access/mysql.php b/fl/data/access/mysql.php new file mode 100644 index 0000000..888c215 --- /dev/null +++ b/fl/data/access/mysql.php @@ -0,0 +1,348 @@ +table_prefix = (string) $config['table_prefix']; + $this->_open_db($config['host'], $config['database'], $config['user'], $config['pass']); + } + + /** + * Datenbankeintrag erzeugen + * + * Die create-Methode bietet eine Schnittstelle, um Daten zur Datenbank + * hinzuzufügen. + * + * @param string $table Tabellenname + * @param array $data assoziatives Array, das die Daten enthält. + * @param string $type Art der Einfügeoperation (INSERT, INSERT IGNORE, REPLACE) + * @return string Ergebnis der Datenbankoperation + */ + public function create($table, array $data, $type='INSERT') { + $data_length = count($data); + $i = 0; + + switch ( strtoupper($type) ) { + case 'IGNORE': + case 'INSERT IGNORE': + $type = 'INSERT IGNORE'; + break; + + case 'REPLACE': + case 'INSERT': + $type = strtoupper($type); + break; + + default: + $type = 'INSERT'; + break; + } + + $sql = $type . " INTO ".$this->get_table_name($table)." SET "; + foreach ($data as $field=>$content) { + $this->_secureFieldContent($content); + + $sql .= " ".$field."='".$content."'"; + if ( ( $data_length - 1 ) > $i++ ) + $sql .= ","; + } + + $result = $this->query($sql); + return $result; + } + + /** + * Datenbankeintrag holen + * + * Die retrieve-Methode bietet eine Schnittstelle, um Daten aus der + * Datenbank zu lesen. + * + * @param string $table Tabellenname + * @param string $field Feldnamen, die abgefragt werden + * @param string $condition Bedigungen, nach denen die Tabellenzeilen ausgewählt werden + * @param string $order Sortierungsreihenfolge + * @param string $limit maximale Anzahl von Zeilen + * @return array Assoziatives Array mit den Daten. + */ + public function retrieve($table, $field='*', $condition='', $order='', $limit='') { + if ( $limit == '') { + $sql_limit = FALSE; + } elseif ( strpos($limit, ',') === FALSE ) { + $sql_limit = '0,' . $limit; + } else { + $sql_limit = $limit; + } + + $sql = "SELECT ".$field." FROM ".$this->get_table_name($table); + if ( !empty($condition) ) + $sql .= " WHERE ".$condition; + if ( !empty($order) ) + $sql .= " ORDER BY ".$order; + if ( $sql_limit !== FALSE ) + $sql .= " LIMIT ".$sql_limit; + + $result = $this->query($sql); + return $result; + } + + /** + * Datenbankeintrag aktualisieren + * + * Die update-Methode bietet eine Schnittstelle, um Daten in der Datenbank + * zu aktualisieren. Dies ist die vermutlich die häufigste Form der + * Speicherung. + * + * @param string $table Tabellenname + * @param array $data assoziatives Array, das die Daten enthält. + * @param int $id id des Datenbankeintrages + * @param string $id_field Feldname des id-Feldes + * @param boolean $all Alle Zeilen verändern + * + * @return string Ergebnis der Datenbankoperation + */ + public function update($table, array $data, $id, $id_field='id', $all=FALSE) { + $data_length = count($data); + $i = 0; + + $sql = "UPDATE ".$this->get_table_name($table)." SET".PHP_EOL; + foreach ($data as $field=>$content) { + $this->_secureFieldContent($content); + + $sql .= " ".$field."='".$content."'"; + if ( ($data_length - 1 ) > $i++ ) + $sql .= ","; + } + if ( !$all ) { + $sql .= " WHERE ".$id_field."='".$id."'"; + } + + $result = $this->query($sql); + return $result; + } + + /** + * Datenbankeintrag löschen + * + * Die del-Methode bietet eine Schnittstelle, um Daten aus der Datenbank + * zu löschen. + * + * @param string $table Tabellenname + * @param int $id id des Datenbankeintrages + * @return boolean Ergebnis der Datenbankoperation + */ + public function del($table, $id) { + if ( !is_numeric($id) ) { + return FALSE; + } + + $sql = "DELETE FROM ".$this->get_table_name($table)." + WHERE id='".$id."' LIMIT 1"; + + $result = $this->query($sql); + return $result; + } + + /** + * Datenbank-Ergebnisse in richtige Typen umwandeln + * + * @param string table + * @param array $result + * @return array + * @todo Funktion fuer MySQL umarbeiten + */ + public function convert_result($table, $result) { + return $result; + + $table = $this->get_table_name($table); + $converted = $result; + + $sql = <<query($sql); + + foreach ( $result as $row_num => $rows ) { + foreach ( $types as $type ) { + $col = $type['col']; + $new_type = $type['type']; + $converted[$row_num][$col] = settype($row[$col], $new_type); + } + } + + return $converted; + } + + /** + * Tabelle leeren + * + * @param string $table Tabellennname + * @return boolean + */ + public function clear_table($table) { + $sql = 'TRUNCATE TABLE '.$this->get_table_name($table); + + $result = (boolean) $this->query($sql); + return $result; + } + + /** + * Tabelle optimieren + * + * @param string $table Tabellenname + * @return boolean + */ + public function optimize_table($table) { + $sql = 'OPTIMIZE TABLE ' . $this->get_table_name($table); + + $result = (boolean) $this->query($sql); + return $result; + } + + /** + * Datenbankabfrage als SQL abgeben + * + * @param string $sql + * @return mixed + */ + public function query($sql) { + return $this->_query_db($sql); + } + + /** + * Zuletzt eingefügte ID zurückgeben + * + * @param string $table + * @return integer + */ + public function last_insert_id($table) { + return mysql_insert_id($this->connection); + } + + /** + * Eindeutigen Bezeichner für eine Tabelle zurückgeben + * + * @param string $table + * @return string + */ + public function get_table_name($table) { + return $this->table_prefix . $table; + } + + // interne Funktionen + /** + * Datenbankverbindung öffnen + * + * @param string $host + * @param string $db + * @param string $user + * @param string $pass + */ + private function _open_db($host, $db, $user, $pass) { + if ( !extension_loaded('mysql') ) { + die("PHP-Erweiterung 'mysql' nicht geladen"); + } + + $this->connection = @mysql_connect( $host, $user, $pass) + OR die("Keine Verbindung zur Datenbank möglich. Fehlermeldung: ".mysql_error($this->connection)); + $this->database = $db; + + mysql_query('SET NAMES "utf8"', $this->connection); + + $this->_select_db(); + } + + /** + * Datenbank auswählen + */ + private function _select_db() { + mysql_select_db($this->database) + OR die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error()); + } + + /** + * Datenbank abfragen + * + * @param mixed $sql String oder Array, das die SQL-Abfragen enthält + * @todo Funktion überarbeiten + * @return mixed + */ + private function _query_db($sql) { + $this->_select_db(); + + if ( is_array($sql) ) { + foreach ( $sql as $nr => $query ) { + $output[$nr] = $this->query( $query ); + } + + } else { + $this->log_query($sql); + + $output = array(); + $aktionen = array('UPDATE','DELETE', 'ALTER ', 'CREATE', 'DROP T', 'TRUNCA', 'REPLAC', 'OPTIMI'); + + $abfrage = is_string($sql) ? trim($sql) : $this->error('Fehlerhafte Daten', $sql); + + $result = mysql_query($abfrage, $this->connection) OR $this->error(mysql_error($this->connection), $sql); + + $abfragetyp = strtoupper(substr($abfrage,0,6)); + + if ( ( in_array($abfragetyp,$aktionen) ) ) { + $output = ( $result )? TRUE: FALSE; + } elseif ( ($abfragetyp == 'INSERT') ) { + $output = ( $result )? $this->last_insert_id(): FALSE; + } else { + while($row = mysql_fetch_assoc($result)) { + $output[] = $row; + } + } + unset($abfragetyp); + unset($aktionen); + + } + return $output; + } + + /** + * Feldinhalte gegen Hackingversuche schützen + * + * Dies sind nur grundlegende Schutzmaßnahmen + * + * @param mixed &$var + */ + private function _secureFieldContent(&$var){ + if ( is_array($var) ) { + $varvalue = var_export($var, TRUE); + $this->error('Array sollte gespeichert werden.', $varvalue ); + } + $var = mysql_real_escape_string($var, $this->connection); + } +} +?> diff --git a/fl/data/access/null.php b/fl/data/access/null.php new file mode 100644 index 0000000..e583b40 --- /dev/null +++ b/fl/data/access/null.php @@ -0,0 +1,46 @@ + diff --git a/fl/data/access/pgsql.php b/fl/data/access/pgsql.php new file mode 100644 index 0000000..e84f21e --- /dev/null +++ b/fl/data/access/pgsql.php @@ -0,0 +1,379 @@ +table_prefix = (string) $config['table_prefix']; + $this->schema = ( isset($config['schema']) )? + $config['schema']: + 'public'; + + $this->_open_db($config['host'], $config['database'], $config['user'], $config['pass']); + } + + /** + * Datenbankeintrag erzeugen + * + * Die create-Methode bietet eine Schnittstelle, um Daten zur Datenbank + * hinzuzufügen. + * + * @param string $table Tabellenname + * @param array $data assoziatives Array, das die Daten enthält. + * @param string $type Art der Einfügeoperation (INSERT, INSERT IGNORE, REPLACE) + * @return string Ergebnis der Datenbankoperation + */ + public function create($table, array $data) { + $rows = array_keys($data); + + $values = array(); + foreach( array_values($data) as $value ) { + $values[] = $this->_secureFieldContent($value); + } + + $sql = 'INSERT INTO '. $this->_tableName($table); + $sql .= ' ( ' . implode(', ', $rows) . ' ) '; + $sql .= " VALUES ( '". implode("', '", $values) . "' );"; + + return ( $this->query($sql) )? + $this->last_insert_id($table): + false; + } + + /** + * Datenbankeintrag holen + * + * Die retrieve-Methode bietet eine Schnittstelle, um Daten aus der + * Datenbank zu lesen. + * + * @param string $table Tabellenname + * @param string $field Feldnamen, die abgefragt werden + * @param string $condition Bedigungen, nach denen die Tabellenzeilen ausgewählt werden + * @param string $order Sortierungsreihenfolge + * @param string $limit maximale Anzahl von Zeilen + * @return array Assoziatives Array mit den Daten. + */ + public function retrieve($table, $field='*', $condition='', $order='', $limit='') { + if ( $limit == '') { + $sql_limit = false; + } elseif ( strpos($limit, ',') === false ) { + $sql_limit = '0,' . $limit; + } else { + $sql_limit = $limit; + } + + $sql = 'SELECT '.$field.' FROM '.$this->schema.'.'.$this->table_prefix.$table; + if ( !empty($condition) ) + $sql .= ' WHERE '.$condition; + if ( !empty($order) ) + $sql .= ' ORDER BY '.$order; + if ( $sql_limit !== false ) { + list($offset, $sql_limit) = explode(',', $sql_limit); + $sql .= ' LIMIT '.$sql_limit . ' OFFSET '. $offset; + } + + $sql .= ';'; + + $result = $this->query($sql); + + if ( $result === false ) { + $result = array(); + } + + return $result; + } + + /** + * Datenbankeintrag aktualisieren + * + * Die update-Methode bietet eine Schnittstelle, um Daten in der Datenbank + * zu aktualisieren. Dies ist die vermutlich die häufigste Form der + * Speicherung. + * + * @param string $table Tabellenname + * @param array $data assoziatives Array, das die Daten enthält. + * @param int $id id des Datenbankeintrages + * @param string $id_field Feldname des id-Feldes + * @param boolean $all Alle Zeilen verändern + * + * @return string Ergebnis der Datenbankoperation + */ + public function update($table, array $data, $id, $id_field='id', $all=FALSE) { + $data_length = count($data); + $i = 0; + + $sql = "UPDATE ".$this->table_prefix.$table." SET".PHP_EOL; + foreach ($data as $field=>$content) { + $this->_secureFieldContent($content); + + $sql .= " ".$field."='".$content."'"; + if ( ( $data_length - 1 ) > $i++ ) + $sql .= ","; + } + if ( !$all ) { + $sql .= " WHERE ".$id_field."='".$id."' ;"; + } else { + $sql .= ';'; + } + + $result = $this->query($sql); + return $result; + } + + /** + * Datenbankeintrag löschen + * + * Die del-Methode bietet eine Schnittstelle, um Daten aus der Datenbank + * zu löschen. + * + * @param string $table Tabellenname + * @param int $id id des Datenbankeintrages + * @return boolean Ergebnis der Datenbankoperation + */ + public function del($table, $id) { + if ( !is_numeric($id) ) { + return FALSE; + } + + $sql = "DELETE FROM $this->table_prefix.$table WHERE id=$id;"; + + $result = $this->query($sql); + return $result; + } + + /** + * Datenbank-Ergebnisse in richtige Typen umwandeln + * + * Es werden die Datentypen boolean, integer und numeric ausgewertet. + * String-Datentypen muessen nicht ausgewertet werden, da PHP diesen + * Datentype automatisch annimmt. + * + * @param string table + * @param array $result + * @return array + */ + public function convert_result($table, $result) { + $table = $this->table_prefix . $table; + $converted = $result; + + $sql = <<query($sql); + + foreach ( $types as $type ) { + foreach ( $result as $row_num => $rows ) { + $col = $type['col']; + $new_type = $type['type']; + + if ( $new_type == 'boolean' ) { + $converted[$row_num][$col] = ( $converted[$row_num][$col] == 't' )? + (boolean) true: + (boolean) false; + } else { + settype($converted[$row_num][$col], $new_type); + } + } + } + + return $converted; + } + + /** + * Tabelle leeren + * + * @param string $table Tabellennname + * @return boolean + * @todo Funktion fuer PostgreSQL umarbeiten + */ + public function clear_table($table) { + return false; + + $sql = 'TRUNCATE TABLE '.$this->table_prefix.$table; + + $result = (boolean) $this->query($sql); + return $result; + } + + /** + * Tabelle optimieren + * + * @param string $table Tabellenname + * @return boolean + * @todo Funktion fuer PostgreSQL umarbeiten, VACCUUM + */ + public function optimize_table($table) { + return false; + + $sql = 'OPTIMIZE TABLE ' . $this->table_prefix.$table; + + $result = (boolean) $this->query($sql); + return $result; + } + + /** + * Zuletzt einfügte ID zurückgeben + * + * @param string $table + * @return integer + */ + public function last_insert_id($table) { + $result = $this->query('SELECT last_value FROM '.$this->_tableName($table).'_id_seq;'); + return $result[0]['last_value']; + } + + /** + * Datenbankabfrage als SQL abgeben + * + * @param string $sql + * @return mixed + */ + public function query($sql) { + return $this->_query_db($sql); + } + + // interne Funktionen + /** + * Datenbankverbindung öffnen + * + * @param string $host + * @param string $db + * @param string $user + * @param string $pass + */ + private function _open_db($host, $db, $user, $pass) { + if ( !extension_loaded('pgsql') ) { + die("PHP-Erweiterung 'pgsql' nicht geladen"); + } + + $conn_str = "host='$host' user='$user' password='$pass' dbname='$db'"; + + if ( !($this->connection = pg_connect($conn_str)) ) { + die('Keine Verbindung zur Datenbank möglich. (Fehlermeldung: '.pg_last_error().')'); + } + + pg_set_client_encoding($this->connection, 'utf8'); + } + + /** + * Datenbank abfragen + * + * @param mixed $sql String oder Array, das die SQL-Abfragen enthält + * @return mixed + */ + private function _query_db($sql) { + if ( is_array($sql) ) { + foreach ( $sql as $nr => $query ) { + $output[$nr] = $this->query( $query ); + } + + } else { + $this->log_query($sql); + + $output = array(); + + $abfrage = is_string($sql) ? trim($sql) : $this->error('Fehlerhafte Daten', $sql); + $abfragetyp = strtoupper(substr($abfrage,0,6)); + + /* Asynchrone Abfrage + if (!pg_connection_busy($this->connection)) { + pg_send_query($this->connection, $abfrage); + } else { + $this->_error('Verbindung ausgelastet'); + } + + $result = pg_get_result($this->connection); + + // pg_result_error gibt einen String zurück, wenn ein Fehler + // vorliegt und FALSE, wenn kein Fehler vorliegt. + // Es scheint aber auch einen leeren String zurückzugeben, wenn + // kein Fehler vorliegt. + $error = pg_result_error($result); + if( is_string($error) AND trim($error) !== '' ) { + $this->_error($error, $abfrage); + } else { + $this->query_count++; + $result_status = pg_result_status($result); + } + */ + + /* Einzelne, synchrone Abfrage */ + if ( ($result = pg_query($this->connection, $abfrage)) === false ) { + $this->error(pg_last_error($this->connection), $abfrage); + } else { + $result_status = pg_result_status($result); + } + + + if ( $abfragetyp !== 'SELECT' ) { + $output = ( $result_status === PGSQL_COMMAND_OK )? + true: + false; + } else { + $output = pg_fetch_all($result); + + if ( count($output) > 100 ) { + pg_free_result($result); + } + } + unset($abfragetyp); + + } + return $output; + } + + /** + * Tabellenbezeichner herstellen + * + * @param string $table + * @return string + */ + protected function _tableName($table) { + return $this->schema . '.' . $this->table_prefix . $table; + } + public function get_table_name($table) { + return $this->_tableName($table); + } + + /** + * Feldinhalte gegen Hackingversuche schützen + * + * Dies sind nur grundlegende Schutzmaßnahmen + * + * @param mixed &$var + */ + protected function _secureFieldContent(&$var){ + if ( is_array($var) ) { + $varvalue = var_export($var, TRUE); + $this->error('Array wurde uebergeben, kann aber nicht gespeichert werden.', $varvalue ); + } + return $var = pg_escape_string($var); + } +} +?> diff --git a/fl/data/structures.php b/fl/data/structures.php new file mode 100644 index 0000000..c974704 --- /dev/null +++ b/fl/data/structures.php @@ -0,0 +1,97 @@ + + * @package federleicht + * @subpackage base + */ +class fl_data_structures { + protected $libpath; + protected $modulepath; + public $built_in; + + /** + * Konstruktor + */ + public function __construct() { + $registry = fl_registry::getInstance(); + $this->libpath = $registry->get('path', 'lib'); + $this->modulepath = $registry->get('path', 'module'); + + $this->built_in = '%%builtin'; + + $this->load_structure($this->built_in, 'data'); + $this->load_structure($this->built_in, 'image'); + } + + /** + * Datenstrukturdatei zurueckgeben + * + * @param string $wanted_structure + * @param array $initial_data + * @return data_structure + */ + public function get($wanted_structure, $initial_data = array()) { + if ( strpos($wanted_structure, '/') === false) { + $modul = $this->built_in; + $name = $wanted_structure; + $structure_name = 'fl_data_structures_' . $name; + + } else { + list($modul, $name) = explode('/', $wanted_structure, 2); + $structure_name = $name . '_data'; + } + + $this->load_structure($modul, $name); + + return new $structure_name((array) $initial_data); + } + + /** + * Datenstrukturdatei einlesen + * + * @param string $modul + * @param string $name + */ + public function load_structure($modul, $name) { + if ( $modul === $this->built_in ) { + $file = $this->libpath . 'data/structures/'.$name.'.php'; + } else { + $file = $this->modulepath . $modul.'/data/'.$name.'.php'; + } + + require_once $file; + } + + /** + * Datenstrukturdatei einlesen + * + * @param string $wanted_structure + * @deprecated + */ + public function load($wanted_structure) { + trigger_error( + 'deprecated, use load_structure($modul, $name) instead', + E_USER_WARNING + ); + + return $this->load_structure($this->built_in, $wanted_structure); + } + + /** + * Pruefung, ob Datenstrukturdatei existiert + * + * @param string $modul + * @param string $name + * @return boolean + */ + public function exists($modul, $name) { + $filename = ( $modul === $this->built_in )? + $this->libpath . 'data/structures/'.$name.'.php': + $this->modulepath.$modul.'/data/'.$name.'.php'; + + return file_exists($filename); + } +} diff --git a/fl/data/structures/activerecord.php b/fl/data/structures/activerecord.php new file mode 100644 index 0000000..1e36249 --- /dev/null +++ b/fl/data/structures/activerecord.php @@ -0,0 +1,229 @@ + + * @version 0.2 + * @package federleicht + * @subpackage data + * @todo $fields automatisch aus Datenbank auslesen + * @todo validator in Basisklasse instanziieren? + * @todo active_record als Datenzugriffsklasse (und nicht als Datenstruktur) im richtigen Verzeichnis ablegen und von dort laden lassen. + * @todo active_record sollte auch das Interface data_access und data_wrapper implementieren, da es sowohl Datenzugriff wie Daten selbst darstellt. + */ +abstract class fl_data_structures_activerecord implements data_wrapper { + /** + * Instanzvariablen + */ + protected $db = null; + protected $table = ''; + protected $data = null; + public $id = null; + + public $error_messages = array(); + + /** + * Konstruktor + * + * @param data_access $db + * @param string $table + * @param int $id + * @param data_wrapper $data + * @param boolean $loaded + */ + public function __construct(data_access $db, $table, $id, data_wrapper $data, $loaded=false) { + $this->db =& $db; + $this->table = ( empty($table) ) ? $this->table : $table; + $this->id = $id; + + $this->data = $data; + + if ( !$loaded ) { + $this->load(); + } + } + + /** + * Daten setzen + */ + public function set_data(array $data) { + foreach ( $data as $key => $value ) { + if ( empty($value) ) continue; + + $this->data->set($key, $value); + } + } + + /** + * Daten holen + * + * @return data_structure + */ + public function get_data() { + return clone $this->data; + } + + /** + * Daten holen und als Array zurueckgeben + * + * @return array + */ + public function get_data_as_array() { + $data = array(); + + foreach ( $this->data as $key => $value ) { + if ( empty($value) OR $value === null ) continue; + + $data[$key] = $value; + } + + return $data; + } + + /** + * Einzelnes Datenfeld ausgeben + * + * @param string $key + */ + public function say($key) { + return $this->data->say($key); + } + + /** + * Einzelnes Datenfeld holen + * + * @param string $key + * @return mixed + */ + public function get($key) { + return $this->data->get($key); + } + + /** + * Einzelnes Datenfeld setzen + * + * @param string $key + * @param mixed $value + */ + public function set($key, $value) { + return $this->data->set($key, $value); + } + + /** + * Prüfung, ob Datenfeld existiert + * + * @param string $key + * @return boolean + */ + public function is_set($key) { + return $this->data->is_set($key); + } + + /** + * Einzelnes Datenfeld löschen + * + * @param string $key + */ + public function remove($key) { + return $this->data->remove($key); + } + + /** + * Daten aus Datenbank laden + */ + public function load() { + if ( $this->id > 0 ) { + $result = $this->db->convert_result( + $this->table, + $this->db->retrieve($this->table, '*', 'id='.$this->id) + ); + $data = $result[0]; + } else { + $data = array(); + } + + $result = $this->data->set_data($data); + + if ( $this->id > 0 ) { + $this->load_additional_data_parts(); + } + + return $result; + } + + /** + * Daten in Datenbank speichern + * + * @return boolean + */ + public function save() { + $this->prepare_data(); + + if ( $this->id > 0 ) { + $result = $this->db->update($this->table, $this->get_data_as_array(), $this->id); + } else { + $result = $this->db->create($this->table, $this->get_data_as_array()); + if ( is_numeric($result) ) { + $this->id = $result; + $this->load(); + $result = true; + } + } + + return $result; + } + + /** + * Daten aus Datenbank loeschen + * + * @return boolean + */ + public function delete() { + if ( $this->id > 0 ) { + $result = $this->db->del($this->table, $this->id); + } else { + $result = false; + } + + return $result; + } + + /** + * Objekt als String verwenbar machen + */ + public function __toString() { + return (string) $this->data; + } + + /** + * Daten vorbereiten + */ + protected function prepare_data() {} + + /** + * zusätzliche Daten laden + */ + protected function load_additional_data_parts() {} + + /** + * Datenprüfung + * + * @return array + */ + public function validate_data() { + /** + * Prüfregeln durchlaufen + */ + $validator = $this->get_validator(); + $this->error_messages += $validator->validate_form($this->get_data()); + + return $this->error_messages; + } + + /** + * Datenprüfungsobjekt erzeugen + * + * @return validation + */ + abstract public function get_validator(); +} diff --git a/fl/data/structures/data.php b/fl/data/structures/data.php new file mode 100644 index 0000000..c00a2ec --- /dev/null +++ b/fl/data/structures/data.php @@ -0,0 +1,165 @@ + + * @version 0.4 + * @package federleicht + * @subpackage base + * @todo Datenstruktur "abschliessbar" machen, also hinzufuegen neuer Werte verhindern. + */ +class fl_data_structures_data implements ArrayAccess, data_wrapper { + /** + * Daten direkt ausgeben + * + * @param string $key + */ + public function say($key) { + echo $this->get($key); + } + + /** + * Daten zurückgeben + * + * @param string $key + * @return mixed + */ + public function get($key) { + return $this->_get_field($key); + } + + /** + * Daten in Datenstruktur setzen + * + * @param string $key + * @param mixed $value + */ + public function set($key, $value) { + $this->_set_field($key, $value); + } + + /** + * Daten in Datenstruktur loeschen + * + * @param string $key + */ + public function remove($key) { + $this->_unset_field($key); + } + + /** + * Ein assoziatives Array als Daten übernehmen + * + * @param array $data + */ + public function set_data(array $data) { + foreach ($data as $key => $value ) { + $this->set($key, $value); + } + } + + /** + * Pruefen, ob eine Datenfeld existiert + * + * @param string $key + * @return boolean + */ + public function is_set($key) { + return $this->_isset_field($key); + } + + public function get_data() { + throw new Exception('Funktion nicht mehr unterstuetzt. "foreach($data_structure as $key=>value) { $data[$key] = $value }" verwenden!'); + } + + /** + * Konstruktor + * + * @param array $data + */ + public function __construct($data = null) { + $this->set_data((array) $data); + } + + /** + * Datenobjekte als String verwendbar machen + */ + public function __toString() { + return 'Datenobjekt: ' . get_class($this); + } + + /** + * Methoden des Interface ArrayAccess + */ + public function offsetExists($offset) { + return $this->is_set($offset); + } + public function offsetGet($offset) { + return $this->get($offset); + } + public function offsetSet($offset, $value) { + return $this->set($offset, $value); + } + public function offsetUnset($offset) { + return $this->remove($offset); + } + /** + * ArrayAccess Ende + */ + + /** ====== Zugriffsfunktionen auf die internen Daten ====== */ + /** + * Daten aus Objekt holen + * + * @param string $key + * @return mixed + */ + protected function _get_field($key) { + if ( $this->_isset_field($key) ) { + $value = $this->$key; + } else { + $fallback_method = 'get_'.$key; + + if ( method_exists( $this, $fallback_method ) ) { + $value = $this->$fallback_method(); + } else { + $value = ( isset($this->_default) )? $this->_default: ''; + } + } + + return $value; + } + + /** + * Daten in Datenobjekt schreiben + * + * es wird eine Liste der hinzugefügten Schlüssel geführt. + * + * @param string $key + * @param mixed $value + */ + protected function _set_field($key, $value) { + $this->$key = $value; + } + + /** + * Datenfeld aus Datenobjekt loeschen + * + * @param string $key + */ + protected function _unset_field($key) { + if ( $this->_isset_field($key) ) { + unset($this->$key); + } + } + + /** + * Pruefen, ob Datenfeld existiert + * + * @param string $key + * @return boolean + */ + protected function _isset_field($key){ + return isset($this->$key); + } +} diff --git a/fl/data/structures/deleted.php b/fl/data/structures/deleted.php new file mode 100644 index 0000000..b90d0ce --- /dev/null +++ b/fl/data/structures/deleted.php @@ -0,0 +1,8 @@ + + * @version 0.3 + * @package federleicht + * @subpackage base + */ +class fl_data_structures_image extends fl_data_structures_data { + protected $src; + protected $height; + protected $width; + + /** + * Metadaten einer Bilddatei einlesen und speichern + * + * @param int $id + * @return void + */ + protected function set_image_data($id) { + $path = $this->_imagepath; + + $files = glob(ABSPATH . $path . $id . '*'); + if ( $files === false OR !isset($files[0]) ) { + $file = $path . 'dummy.jpg'; + $id = 'dummy'; + } else { + $file = $files[0]; + } + $extension = substr($file, strrpos($file, '.')); + + list($width, $height) = getimagesize($file); + + $this->set_data(array( + 'src'=>$path . $id . $extension, + 'height'=>$height, + 'width'=>$width, + )); + } + + /** + * HTML zu einem Bild ausgeben + * + * @return string + */ + public function get_image_html() { + $html = ''.$this->get('alt').''; + return $html; + } + + /** + * Object zu String umwandeln + */ + public function __toString() { + return $this->get_image_html(); + } +} diff --git a/fl/data/structures/request.php b/fl/data/structures/request.php new file mode 100644 index 0000000..30552d6 --- /dev/null +++ b/fl/data/structures/request.php @@ -0,0 +1,53 @@ + + * @package federleicht + * @subpackage base + */ +class fl_data_structures_request { + /** + * Referenz auf Routenobjekt + */ + var $route; + + /** + * Postdaten + */ + var $all_post; + var $post; + + /** + * Konstruktor + * + * Es werden die Postdaten und die gewählte Route in das Objekt übernommen + * + * @param route $route + */ + function __construct($route) { + $this->route = $route; + + $this->all_post = $_POST; + $this->post = isset($_POST['fl'])? $_POST['fl']: null; + } + + /** + * prüfen, ob Postdaten des Frameworks vorliegen. + * + * @return boolean + */ + function has_postdata() { + return ( $this->post !== null )? true: false; + } + + /** + * Getter-Methoden, die übergangsweise Zugriff auf die Werte des Routenobjekts geben + */ + function get_modul() { + return $this->route['modul']; + } +} diff --git a/fl/data/structures/response.php b/fl/data/structures/response.php new file mode 100644 index 0000000..8bf4d0e --- /dev/null +++ b/fl/data/structures/response.php @@ -0,0 +1,15 @@ + + * @package federleicht + * @subpackage base + */ +class fl_data_structures_response extends fl_data_structures_data { + protected $http_header; + protected $data; + protected $layout; + protected $subview; +} diff --git a/fl/data/structures/view.php b/fl/data/structures/view.php new file mode 100644 index 0000000..4614629 --- /dev/null +++ b/fl/data/structures/view.php @@ -0,0 +1,78 @@ +_raw_output ) { + $data = htmlentities( + html_entity_decode( + $data, + ENT_QUOTES, + 'UTF-8' + ), + ENT_QUOTES, + 'UTF-8' + ); + } + + return $data; + } + + /** + * Ausgabe ohne Umwandlung der HTML-Sonderzeichen aktivieren + * + * @param boolean $raw + */ + public function set_raw_output($raw) { + $this->_raw_output = (boolean) $raw; + } + + /** + * Zwischen direkter und umgewandelter HTML-Ausgabe umschalten + */ + public function toggle_raw_output() { + $this->set_raw_output(!$this->_raw_output); + } + + /** + * Defaultwert setzen + * + * Es wird der bisherige Defaultwert zurueckgegeben + * + * @param string $default + * @return string + */ + public function set_default($default) { + $former_default = $this->_default; + $this->_default = (string) $default; + return $former_default; + } +} diff --git a/fl/dispatch/dispatcher.php b/fl/dispatch/dispatcher.php new file mode 100644 index 0000000..d9a9d95 --- /dev/null +++ b/fl/dispatch/dispatcher.php @@ -0,0 +1,154 @@ +clean_superglobals(); + $this->lang = new fl_lang($lang['default'], $lang['all']); + } + + /** + * Route hinzufügen + * + * @param object $route + */ + public function add_route($route) { + $this->routes[] = $route; + } + + /** + * DefaultController setzen + * + * @param string $default_controller + */ + public function set_default_controller($default_controller) { + $this->default_controller = (string) $default_controller; + } + + /** + * URL Analysieren + * + * Die URL wird versucht, mit den verschiedenen Routen in Verbindung + * zu bringen. Die letzte Route wird bei Misserfolg erneut geprüft, um + * die darin gespeicherten Vorgabewerte zu nutzen. + * + * Die Sprache wird danach versucht zu extrahieren. Entweder aus dem + * Feld 'lang' oder aus dem in der Route dafür vorgemerkten Feld. + * + * Zuletzt wird der controller ggf. auf den Vorgabewert der Anwendung + * gesetzt. + * + * @param url Zu untersuchende URL + * @return array $request + */ + public function analyse($url){ + $url = preg_replace('@[/]{2,}@', '/', $url); // gegen Unsinn + + $route_success = FALSE; + usort( $this->routes, array('fl_route', 'compare_routes')); + + $request = array(); + + foreach ( $this->routes as $route ) { + if ( $route->try_route($url) ) { + $request = $route->get_request(); + $route_success = $route; + break; + } else { + continue; + } + } + if ( $route_success === FALSE ) { + $last_route = array_pop($this->routes); + $last_route->try_route($url, TRUE); + + $request = $last_route->get_request(); + $route_success = $last_route; + } + + if ( isset( $request['lang'] ) ) { + $this->lang->set($request['lang']); + } else { + $this->lang->set( $route_success->get_language_key() ); + } + + # $request['_url'] = $route_success->get_current_url(); + + if ( $request['controller'] === 'defaultController' ) { + $request['controller'] = $this->default_controller; + # $request['_url'] = str_replace('defaultController', $this->default_controller, $_url); + } + + if ( $request['modul'] === 'defaultController' ) { + $request['modul'] = $request['controller']; + } + + if ( !in_array($request['modul'], $this->modules) ) { + $request = array( + 'modul'=>$this->default_controller, + 'controller'=>$this->default_controller, + 'action'=>'defaultAction', + 'param'=>'' + ); + } + + return $request; + } + + /** + * Superglobale bereinigen + */ + protected function clean_superglobals() { + if(get_magic_quotes_gpc()) { + $this->arrayStripSlashes($_GET); + $this->arrayStripSlashes($_POST); + $this->arrayStripSlashes($_COOKIE); + } + } + + /** + * Stripslashes verallgemeinert (Strings und Arrays) + */ + protected function arrayStripSlashes(&$var) { + if ( is_string($var) ) { + $var = stripslashes($var); + } elseif( is_array($var) ) { + foreach( $var AS $key => $value ) { + $this->arrayStripSlashes($var[$key]); + } + } + } +} +?> diff --git a/fl/dispatch/lang.php b/fl/dispatch/lang.php new file mode 100644 index 0000000..2cfa29e --- /dev/null +++ b/fl/dispatch/lang.php @@ -0,0 +1,55 @@ +default_lang = $default; + $this->all = $all; + } + + public function set($page) { + $defaultlang = $this->default_lang; + $all_langs = $this->all; + if ( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) AND !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) { // Sprache aus ACCEPT-Header herauslesen, wenn möglich + $accept_header = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); + if ( is_array($accept_header) ) { + array_unique($accept_header); + foreach( $accept_header as $language ) { + $language = substr($language, 0, 2); + if ( in_array($language, $all_langs) ) { + $defaultlang = $language; + break(1); + } + } + } + } + $temp = explode('/',$page); + if ( count($temp) >= 1 ) { + $lang = ( in_array($temp[0], $all_langs) )? array_shift($temp): $defaultlang; + $page = implode('/',$temp); + } else { + $lang = $defaultlang; + $page = implode('/',$temp); + } + + if (!defined('LANG') ) { + define('LANG', $lang); + } + $this->language = $lang; + + unset($temp, $lang, $defaultlang, $all_langs, $accept_header); + return $page; + } + + public function get_lang() { + return $this->language; + } +} diff --git a/fl/dispatch/route.php b/fl/dispatch/route.php new file mode 100644 index 0000000..e60c5b3 --- /dev/null +++ b/fl/dispatch/route.php @@ -0,0 +1,366 @@ + + * @version 0.3 + */ +class fl_route { + protected $route = ''; + protected $regex = ''; + protected $modul = ''; + protected $defaults = array(); + protected $priority = 1; + protected $language_key = ''; + + protected $default_regex = array(); + protected $partial_regex = array(); + + /** + * Konstruktor + * + * @param string $route + * @param string $regex + */ + public function __construct($route, $regex='') { + $this->route = (string) $route; + + $this->default_regex = array( + 'normal_item'=>'[-_0-9a-z\.]+', + 'last_item'=>'[-_/0-9a-zA-Z%\.]+' + ); + + if ( $route === 'regex' AND $regex != '' ) { + $this->regex = $regex; + } else { + $this->regex = $this->compile($route); + } + + $this->set_priority( 1 ); + $this->set_defaults( array() ); + } + + /** + * Vereinfachte Objekterzeugung + * + * @pattern facade + * + * @param string $route + * @param string $defaults + * @param int $priority + * @param array $partial_regex + * @return fl_route + */ + public static function get_instance($route, $defaults, $priority, array $partial_regex=array()) { + $route_object = new self($route); + + $defaults = is_string($defaults)? + fl_converter::string_to_array($defaults): + $defaults; + $route_object->set_defaults($defaults); + + $route_object->set_priority((int) $priority); + $route_object->set_language_key('lang'); + + foreach ( $partial_regex as $part ) { + $route_object->set_partial_regex($part['key'], $part['regex']); + } + + return $route_object; + } + + /** + * Route zu regulärem Asudruck umwandeln + * + * @param string $route + * @return $string + */ + protected function compile($route) { + $elements = explode('/', $route); + $group_count = 0; + + $beginning = '@^/'; + $route_regex = ''; + $end = '$@'; + + foreach( $elements as $key => $value ) { + if ( empty($value) ) { + unset($elements[$key]); + } + } + $elements = array_values($elements); + + foreach( $elements as $key => $value ) { + if ( empty($value) ) continue; + + $is_last = ( $key === ( count($elements) - 1 ) )? TRUE: FALSE; + + if ( strpos($value, ':') === 0 ) { + $name = substr($value, 1); + $transformed_route = '(?P<'.$name.'>'; + + $regex = $this->get_partial_regex($name, $is_last); + if ( !empty( $regex ) ) { + $transformed_route .= $regex; + } elseif ( $is_last ) { + $transformed_route .= $this->default_regex['last_item']; + } else { + $transformed_route .= $this->default_regex['normal_item']; + } + + $transformed_route .= ')'; + + if ( $group_count > 0 ) { + $transformed_route = '(?('.$group_count.')' . $transformed_route . '?+)'; + } + + $group_count++; + + } else { + $transformed_route = $value; + } + + $route_regex .= $transformed_route; + + if ( !$is_last ) { + $route_regex .= '(/)?'; + $group_count++; + } + } + + $regex = $beginning . $route_regex . $end; + return $regex; + } + + /** + * Versuchen, Route in URL zu erkennen + * + * @param string $url + * @param boolean $last_route + * @return boolean + */ + public function try_route($url, $last_route=FALSE) { + $treffer = array(); + + $host = ( isset($_SERVER['HTTP_HOST']) )? $_SERVER['HTTP_HOST']: 'localhost'; + $parsed_url = parse_url('http://'.$host.'/'.ltrim($url,'/')); + $url_path = $parsed_url['path']; + + $result = preg_match($this->regex, $url_path, $treffer); + + $request = $this->defaults; + $request['query'] = (isset($parsed_url['query']))? $parsed_url['query']:''; + + foreach ( $treffer as $key => $value ) { + if ( is_numeric($key) ) continue; + if ( empty($value) ) continue; + + $request[$key] = $value; + } + + if ( $url === '/' AND $last_route === TRUE ) { + $result = 1; + } + if ( $this->modul === $this->defaults['controller'] ) { + $request['modul'] = $request['controller']; + } + + $this->request = $request; + + $route_success = ( intval($result) > 0 )? TRUE: FALSE; + return $route_success; + } + + /** + * Defaultwerte setzen + * + * @param array $defaults + * @param string $modul + */ + public function set_defaults(array $defaults, $modul=NULL) { + $this->defaults = array_merge($this->defaults, $defaults); + + if ( is_null($modul) AND isset($this->defaults['controller']) ) { + $modul = $this->defaults['controller']; + } else { + $modul = ''; + } + + $this->set_modul($modul); + } + + /** + * Priorität der Route setzen + * + * @param integer $priority + */ + public function set_priority($priority) { + $this->priority = (integer) $priority; + } + + /** + * Defaultkey für Sprachinformationen setzen + * + * @param string $key + */ + public function set_language_key($key) { + $this->language_key = (string) $key; + } + + /** + * Teilregeln für einzelne Routenbestandteile setzen + * + * Nach dem setzen der Regeln wird die Route neu kompiliert. + * + * @param string $key + * @param string $regex + */ + public function set_partial_regex($key, $regex) { + $this->partial_regex[$key] = $regex; + $this->regex = $this->compile($this->route); + } + + /** + * Modulzugehörigkeit setzen + * + * @param string $modul + */ + public function set_modul($modul) { + $this->modul = (string) $modul; + } + + /** + * Request-Daten holen + * + * @return array + */ + public function get_request() { + $request = array_merge($this->request, array('modul'=>$this->modul)); + + return $request; + } + + /** + * Priorität holen + * + * @return integer + */ + public function get_priority() { + return $this->priority; + } + + /** + * Teilregel für eine Routenbestandteil holen + * + * @param string $key + * @param boolean $is_last + * @return string + */ + public function get_partial_regex($key, $is_last = false) { + if ( isset( $this->partial_regex[$key] ) ) { + $regex = $this->partial_regex[$key]; + } elseif ( $is_last ) { + $regex = $this->default_regex['last_item']; + } else { + $regex = $this->default_regex['normal_item']; + } + + return $regex; + } + + /** + * Sprachschlüssel holen + * + * Entweder ist der Sprachschlüssel mit $this->set_language_key + * gesetzt worden, oder es wird der letzte Eintrag der Default- + * Werte verwendet. + * + * @return string + */ + public function get_language_key() { + if ( isset( $this->language_key ) AND !empty($this->language_key) ) { + return $this->language_key; + } else { + return array_pop(array_keys($this->defaults)); + } + } + + /** + * URL erzeugen, die der aktuellen Route entspricht + * + * @param string $route + * @param array $parts + * @return string + */ + public function make_url($route, array $parts) { + $elements = explode('/', $route); + + $url = ''; + + foreach( $elements as $key => $value ) { + if ( empty($value) ) { + unset($elements[$key]); + } + } + $elements = array_values($elements); + + foreach( $elements as $key => $value ) { + if ( empty($value) ) continue; + + if ( strpos($value, ':') === 0 ) { + $name = substr($value, 1); + + $part = $parts[$name]; + if ( !empty( $part ) ) { + $url .= $part; + } else { + $url .= $this->defaults[$name]; + } + + } else { + $url = $value; + } + + $url .= '/'; + } + + return $url; + } + + /** + * URL zurückgeben, die zur aktuellen Route passt + * + * @return string + */ + public function get_current_url() { + return $this->make_url($this->route, $this->request); + } + + + /** + * Vergleichsfunktion zur Sortierung von Routen + * + * Kann mit usort($array_of_routes, array('route', 'compare_routes'); + * verwendet werden. + * + * @param fl_route $a + * @param fl_route $b + * @return integer + */ + public function compare_routes(fl_route $a, fl_route $b) { + $ap = $a->get_priority(); + $bp = $b->get_priority(); + + if ( $ap == $bp ) { + $result = 0; + } else { + $result = ( $ap > $bp )? 1: -1; + } + return $result; + } +} diff --git a/fl/federleicht.php b/fl/federleicht.php new file mode 100644 index 0000000..cd1669d --- /dev/null +++ b/fl/federleicht.php @@ -0,0 +1,260 @@ +ABSPATH . 'fl/', + 'app'=>ABSPATH . 'app/', + 'module'=>ABSPATH . 'app/modules/', + 'helper'=>ABSPATH . 'app/helper/', + 'elements'=>ABSPATH . 'app/elements/', + 'layouts'=>ABSPATH . 'app/layouts' + ); + + $this->import_classes($path); + + $this->registry = fl_registry::getInstance(); + $this->registry->set('url', (string) $url); + $this->registry->set('path', $path); + + $config = $this->read_config(); + $modules = $this->search_modules(); + $helpers = $this->search_helpers(); + + $this->registry->set('config', $config); + $this->registry->set('modules', $modules); + $this->registry->set('helpers', $helpers); + + $this->functions = new fl_functions(); + + if ( count($modules) == 0 ) { + $this->functions->stop('

Fehler

Keine Module installiert

'); + } + + $data = new fl_data_access($this->registry->get('config', 'database')); + + $this->datamodel = $data->get_data_source(); + $this->functions->set_data_access($this->datamodel); + } + + /** + * Federleicht starten + * + * Der Dispatcher geladen. Nach der URL-Analyse wird das + * entsprechende Modul geladen und gestartet. + */ + function start() { + $this->start_session(); + + $this->functions->start_flash(); + + if ( !defined('DEFAULTSECTION') ) { + $result = $this->datamodel->retrieve( + ADMINMODULE.'_options','value', + "optionname = 'DEFAULTSECTION'", '', '1'); + define('DEFAULTSECTION', $result['value']); + } + + $dispatcher = new fl_dispatcher($this->registry->get('config', 'lang')); + $dispatcher->modules = $this->registry->get('modules'); + $dispatcher->set_default_controller(DEFAULTSECTION); + foreach( $this->registry->get('config', 'routes') as $route ) { + $dispatcher->add_route( $route ); + } + + $request = $this->functions->factory->get_structure( + 'request', + $dispatcher->analyse( + $this->registry->get('url') + ) + ); + $this->registry->set('request', $request); + + $modul = $this->registry->get('request', 'modul'); + + require_once $this->registry->get('path', 'module') . $modul . '/modul.php'; + + $modul_name = $modul . '_modul'; + $modul_object = new $modul_name($this->datamodel, $this->functions); + $modul_object->start_execution(); + } + + /** + * Session starten + */ + function start_session() { + // Einstellungen vornehmen + // 7 * 24 * 60 * 60 = 604800 + // 40 * 60 = 2400 + #ini_set('session.gc_maxlifetime', 2400); + #ini_set('session.use_only_cookies', '1'); + + // Session stored in Cookies + #$this->functions->needs('cookiesession'); + + // Session starten + session_start(); + } + + /** + * Einbindung der autoload-Funktion + * + * @param array $path + */ + function import_classes(array $path) { + require_once $path['lib'] . 'tools/autoload.php'; + + $interfaces = array( + 'data_access', + 'data_wrapper' + ); + + foreach ($interfaces as $interface) { + require_once $path['lib'] . 'interfaces/'. $interface . '.php'; + } + + return; + } + + /** + * Nach Modulen suchen und diese einbinden + * + * Das Verzeichnis modulepath wird auf entsprechende Dateien + * untersucht. Die Liste der gefundenen Module wird zurück- + * gegeben. + * + * @return array + * @todo in Factory verschieben + */ + function search_modules() { + $modules = glob( $this->registry->get('path', 'module') . '*/modul.php'); + $installed_modules = array(); + + if ( !is_array($modules) ) return $installed_modules; + + + foreach ($modules as $module) { + $installed_modules[] = preg_replace('#'.addslashes( $this->registry->get('path', 'module') ).'([-_a-z0-9]+)/modul.php#','$1',$module); + } + + return $installed_modules; + } + + /** + * Nach Helfermodulen suchen und diese einbinden + * + * Das Verzeichnis helper wird auf entsprechende Dateien + * untersucht. Die Liste der gefundenen Helfer wird zurück- + * gegeben. + * + * @return array + * @todo in Factory verschieben + */ + function search_helpers() { + $helpers = glob( $this->registry->get('path', 'helper') . '*.php'); + $installed_helpers = array(); + + if ( !is_array($helpers) ) return $installed_helpers; + + foreach ($helpers as $helper) { + $installed_helpers[] = preg_replace('#'.addslashes($this->registry->get('path', 'helper')).'([-_a-z0-9]+)\.php#','$1',$helper); + } + + return $installed_helpers; + } + + /** + * Konfiguration einlesen + * + * Die Konfigurationsdateien werden eingelesen und deren + * Inhalt als Array zurückgegeben. + * + * @return array + */ + function read_config() { + $configfiles = glob( ABSPATH . 'config/*.ini'); + + if ( empty($configfiles) ) { + die('Keine Konfigurationsdateien gefunden.'); + } + + $config = array(); + + foreach($configfiles as $file) { + $config += parse_ini_file($file, true); + } + + /** + * Spezielle Behandlung bestimmter Einstellungen + */ + // Konstanten setzen + if ( isset( $config['constants'] ) ) { + foreach ( $config['constants'] as $key => $value ) { + define( strtoupper($key), $value ); + } + } + + // Sprachenliste in Array umwandeln + if ( isset( $config['lang'] ) ) { + $config['lang']['all'] = explode( ',', $config['lang']['all'] ); + } + + // Wenn keine Datenbankkonfiguration angegeben ist und auch nicht + // gesagt wurde, dass keine Datenbank verwendet wird, abbrechen. + if ( !in_array(ABSPATH.'config/database.ini', $configfiles) AND + ( !defined('NO_DATABASE') OR NO_DATABASE === false ) ) { + die('Keine Datenbankkonfiguration angegeben.'); + } + + /** + * Routen einlesen + */ + require_once ABSPATH . 'config/routes.conf.php'; + + return (array) $config; + } + + /** + * Federleicht anhalten + */ + function stop() { + $this->functions->stop(); + } +} +?> diff --git a/fl/interfaces/data_access.php b/fl/interfaces/data_access.php new file mode 100644 index 0000000..8d330e8 --- /dev/null +++ b/fl/interfaces/data_access.php @@ -0,0 +1,23 @@ + + * @version 0.2 + * @package federleicht + * @subpackage base + */ +interface data_access { + public function create($target, array $data); + public function retrieve($target, $fields='*', $conditions='', $order='', $limit=''); + public function update($target, array $data, $id); + public function del($target, $id); + public function query($query); +} diff --git a/fl/interfaces/data_wrapper.php b/fl/interfaces/data_wrapper.php new file mode 100644 index 0000000..bc06f64 --- /dev/null +++ b/fl/interfaces/data_wrapper.php @@ -0,0 +1,18 @@ + + * @version 0.2 + * @package federleicht + * @subpackage base + */ +interface data_wrapper { + public function set($key, $value); + public function get($key); + public function say($key); + + public function set_data(array $data); + public function is_set($key); + public function remove($key); +} diff --git a/fl/interfaces/response.php b/fl/interfaces/response.php new file mode 100644 index 0000000..1645fb7 --- /dev/null +++ b/fl/interfaces/response.php @@ -0,0 +1,21 @@ + + * @version 0.1 + * @package federleicht + * @subpackage base + */ +interface view { + public function execute($response); +} diff --git a/fl/mvc/controller.php b/fl/mvc/controller.php new file mode 100644 index 0000000..07dffbb --- /dev/null +++ b/fl/mvc/controller.php @@ -0,0 +1,251 @@ +datamodel = $data_access; + $this->functions = $functions; + $this->factory = $functions->factory; + + $this->model = $model; + + $registry = fl_registry::getInstance(); + $this->request = $registry->get('request'); + $this->cap = $this->request->route; + $this->modulepath = $registry->get('path', 'module'); + + $this->responder = $this->factory->create('responder'); + + $this->view = $this->cap['action']; + } + + /** + * Datenobjekt (bislang ein Array) holen + * + * @return fl_data_structures_response + */ + public function get_response() { + $response = $this->factory->get_structure( + 'response', + array( + 'http_header'=>array(), + 'data'=>$this->data, + 'layout'=>$this->layout, + 'subview'=>$this->view + ) + ); + + return $response; + } + + /** + * Verwaltungsobjekt für Antwortobjekte holen + * + * @return fl_responder Iterator data_wrapper + */ + public function get_responses() { + return $this->responder; + } + + /** + * Gemeinsame vorangestellte Abläufe + * + * Falls ein Modul gemeinsame, bei jedem Seitenaufruf wiederkehrende + * Aufgaben hat, können diese in der Funktion common definiert werden. + * + * Diese Funktion kann und soll ggf. von den Modulen überschrieben werden. + * + * @return bool Erfolgreiche Abarbeitung + */ + public function common() { + return TRUE; + } + + /** + * Alternative Abläufe + */ + public function alternate($e = null) { + if ( $e instanceof Exception ) { + $registry = fl_registry::getInstance(); + throw $e; + } + } + + /** + * Weiterleitung zur DefaultAction + * + * Wenn in keine Action übergeben wurde, wird die defaultAction + * ausgeführt. Diese wird von jedem Controller selbst festgelegt. + * + * Außerdem wird der Subview automatisch auf die im Controller + * festgelegte Action gesetzt. + * + * @param string $param + */ + public function defaultAction($param) { + $this->cap['action'] = $this->defaultAction; + $action = $this->defaultAction; + $this->view = $this->defaultAction; + + /** + * richtigen Wert in Registry speichern + */ + $reg =& fl_registry::getInstance(); + $request = $reg->get('request'); + $request->route['action'] = $this->defaultAction; + $reg->set('request', $request); + + $this->$action($param); + } + + /** + * Speichert eine kurze Nachricht für die Darstellung. + * + * Es kann eine "Wichtigkeit" als $type übergeben werden, diese wird + * als CSS-Klasse eingefügt. + * + * @param string $text Nachrichtentext + * @param string $type Wichtigkeit, wird als CSS-Klasse eingefügt + * @param string $namespace Gültigkeitsbereich + */ + protected function flash($text, $type='', $namespace='') { + $flash = $this->functions->flash; + + return $flash->add_message($text, $namespace, $type); + } + + /** + * Ruft eine andere URL auf. + * + * @param string $target + * @todo externes Template fuer Weiterleitungsfehler verwenden + */ + protected function redirect($target='') { + $target = ltrim($target, '/'); + + if ( defined('SUBDIR') ) { + $target = SUBDIR.'/'.$target; + } + + $zieladresse = 'http://'.$_SERVER['HTTP_HOST'].'/'.$target; + $this->functions->flash->save_messages(); + + #if ( headers_sent($file, $line) AND strlen(ob_get_contents()) > 0) { + if ( headers_sent($file, $line) ) { + if ( error_reporting() > 0 ) { + $backtrace = debug_backtrace(); + $html = <<HTTP-Header wurden bereits gesandt +

Die Ausgabe startete hier:

+
+Datei: {$file}
+Zeile: {$line}
+
+

Weitere Informationen

+
+Anfrage: {$_SERVER['REQUEST_URI']}
+Zieladresse: {$zieladresse}
+Backtrace: 
+{$backtrace}
+
+HTML; + echo $html; + } + + ob_flush(); + $this->functions->stop( + ''.$zieladresse.'' + ); + } else { + header('Location: '.$zieladresse); + ob_flush(); + } + } + + /** + * POST-Daten holen + * + * Die POST-Daten werde geholt und zurückgegeben. + * Wenn keine Daten da sind, leite den Browser auf eine + * andere Adresse um. + * + * @param string $target Zieladresse, falls keine Daten vorliegen. + * @return array + */ + protected function get_postdata($target='') { + if ( $this->request->has_postdata() ) { + $postdata = $this->request->post; + } else { + $this->redirect($target); + } + + return $postdata; + } + + /** + * Parameter auswerten + * + * @param string $params + * @return array + */ + protected function parse_params($params) { + if ( strpos($params, '/') ) { + $params = explode('/', $params); + } else { + $params = array($params); + } + + if ( func_num_args() > 1 ) { + $args = func_get_args(); + unset($args[0]); + + foreach( $args as $nr => $type ) { + $keynr = $nr - 1; + if ( !isset($params[$keynr]) ) { + $params[$keynr] = null; + } + settype($params[$keynr], $type); + } + } + + return $params; + } +} +?> diff --git a/fl/mvc/model.php b/fl/mvc/model.php new file mode 100644 index 0000000..45d8fe0 --- /dev/null +++ b/fl/mvc/model.php @@ -0,0 +1,270 @@ +datamodel = $data_access; + $this->factory = $factory; + $this->modulepath = $path; + + $class = explode('_', get_class($this)); + $this->modul = $class[1]; + + # $this->translator = $this->get_translator(); + } + + /** + * Übersetzungsobjekt holen + * + * @todo php4-Version des Ubersetzers erstellen und ggf. einbinden. + * @return GetText + */ + protected function get_translator() { + $this->functions->needs('localization'); + if ( class_exists('flGetText') AND class_exists('LocalizationDB') AND class_exists('RessourceManager') ) { + require ABSPATH . 'config/database.conf.php'; + $db_config = $config['db']; + $locale_db = new LocalizationDB( + 'localization', + $db_config['mysql_host'], + $db_config['mysql_user'], + $db_config['mysql_pass'] + ); + $rm = new RessourceManager($locale_db); + $translator = new flGetText(LANG, $rm); + } + + return $translator; + } + + /** + * Daten holen + * + * Wrappperfunktion, die entweder direkt aus der Datenbank die Daten holt, + * oder die entsprechende Funktion eines Model aufruft. + * + * @param string $modul + * @param mixed $id + * @param string $id_alternate_name + * @return array + */ + public function get_data($modul, $id, $id_alternate_name='slug') { + $model = ( $modul != $this->modul )? + $this->factory->get_model($modul): + $this; + + if ( is_numeric($id) ) $id_alternate_name = 'id'; + + $data = ( is_object($model) AND method_exists($model, 'get_data_from_model') )? + $model->get_data_from_model($id, $id_alternate_name): + $this->get_data_from_db($modul, $id, $id_alternate_name); + + return $data; + } + + /** + * Holt die Daten aus der Datenbank + * + * @param string $table Name der Tabelle + * @param mixed $page eindeutige id der Seite + * @param string $string_field Feldname, der den Speichernamen enthält + */ + protected function get_data_from_db($table, $page, $string_field='slug') { + if ( empty($page) ) { + $page = $this->datamodel->retrieve($table.'_options', 'value', "optionname = 'STARTPAGE'", '', '1'); + $page = $page['value']; + } + + if ( is_numeric($page) ) { + $condition = 'id='.$page; + } elseif ( is_string($page) ) { + $condition = $string_field.'="'.$page.'"'; + } + + $data = $this->datamodel->retrieve($table, '*', $condition, '', '1'); + + return $data; + } + + /** + * Einen Datensatz zurückgeben + * + * @param array $result Datenbankergebnis + * @param string $field optional + * @return array + * @todo ins Datenbank-Objekt! + */ + public function find_one(array $result, $field='id') { + while ( !isset($result[$field]) AND is_array($result) ) { + $result = array_shift($result); + } + + return (array) $result; + } + + /** + * Mehrere Datensätze zurückgeben + * + * @param array $result Datenbankergebnis + * @param string $field optional + * @return array + * @todo ins Datenbank-Objekt! + */ + public function find_many(array $result, $field='id') { + $result = (array) $result; + + $many_results = ( isset($result[$field]) )? + array($result): + $result; + + return $many_results; + } + + /** + * Umlaute in Daten fuer HTML umwandeln + * + * Es wird angenommen, dass ein zweidimensionales Array mit + * Datenbankergebnissen umzuwandlen ist. + * + * @param array $data + * @param string $field + * @return array + */ + public function encode_entities(array $data, $field = 'name') { + foreach($data as $key => $value ) { + $data[$key][$field] = htmlentities( + html_entity_decode( + $value[$field], + ENT_QUOTES, + 'UTF-8' + ), + ENT_QUOTES, + 'UTF-8' + ); + } + + return $data; + } + + /** + * Checkboxen in Binärzahlen umwandeln + * + * Die Funktion verhält sich standardmäßig unauffälig und übergeht fehlende + * (also auch falschgeschriebene) Indizes. Diese Verhalten kann mit dem + * optionalen Parameter $strict so verändert werden, dass fehlende Checkboxen + * mit dem Wert 0 erzeugt werden. + * + * @param array $postdata Array mit Daten + * @param string $checkboxes CSV-String der umzuwandelnden Checkboxen + * @param bool $strict nichtvorhandene Felder werden mit Wert 0 + * erzeugt + * @return array + */ + public function transform_checkboxes(array $postdata, $checkboxes, $strict = FALSE) { + $checkboxes = explode(',', $checkboxes); + $data = (array) $postdata; + + foreach( $checkboxes as $checkbox ) { + $checkbox = trim($checkbox); + + if ( !isset($data[$checkbox]) ) { + if ( $strict ) { + $data[$checkbox] = 0; + } + + continue; + } + + $data[$checkbox] = ( $data[$checkbox] === $checkbox )? + 1: + 0; + } + + return $data; + } + + /** + * Fehlermeldungen holen + * + * @return string + */ + public function get_error_messages() { + return implode('
', (array) $this->error_messages); + } + + /** + * Ãœbersetzten Text ausgeben + * + * Es wird ein Text zurückgegeben, der entweder eine Ãœbersetzung + * des übergebenen Textes ist oder der übergebene Text selbst. + * + * @todo Achtung: Funktion ist auch in fl/view.php definiert + * @param string $text + * @param string $lang + * @return string + */ + public function translate($text, $lang=LANG) { + if ( is_object($this->translator) ) { + $translation = $this->translator->get($text, $lang); + } else { + $translation = $text; + } + + return $translation; + } + + /** + * Array übersetzen + * + * @param array $array + * @param string $lang + * @param string $index + * @return array + */ + public function translate_array(array $array, $lang=LANG, $index='') { + if ( $index !== '' AND isset($array[0][$index])) { + foreach ( $array as $key => $value ) { + $array[$key][$index] = $this->translate($value[$index], $lang); + } + + } else { + foreach ( $array as $key => $value ) { + $array[$key] = $this->translate($value, $lang); + } + + } + + return $array; + } +} +?> diff --git a/fl/mvc/modul.php b/fl/mvc/modul.php new file mode 100644 index 0000000..0cacb4c --- /dev/null +++ b/fl/mvc/modul.php @@ -0,0 +1,242 @@ +datamodel = $data_access; + $this->functions = $functions; + $this->factory = $functions->factory; + $this->registry = fl_registry::getInstance(); + + $this->cap = $this->registry->get('request', 'route'); + $this->modulepath = $this->registry->get('path', 'module'); + $this->apppath = $this->registry->get('path', 'app'); + + if ( $this->name === null ) { + $this->name = ucfirst( get_class( $this ) ); + } + } + + /** + * Controller erzeugen + * + * @param string $name Modulname + * @return object + */ + protected function create_controller($name) { + require_once $this->modulepath . $name . '/controller.php'; + $controller_name = $name . '_controller'; + + $controller = new $controller_name($this->datamodel, $this->functions, $this->create_model($name)); + + return $controller; + } + + /** + * Model erzeugen + * + * @param string $name Modulname + * @return object + */ + protected function create_model($name) { + return $this->factory->get_model($name); + } + + /** + * View-Objekt erzeugen + * + * @param string $name Modulname + * @param array Daten + * @return object + */ + protected function create_view($name, array $data) { + // @todo unsauber! verbessern!!! + require_once ABSPATH . 'fl/mvc/view.php'; + + if ( file_exists($this->modulepath . $name . '/view.php') ) { + require_once $this->modulepath . $name . '/view.php'; + $view_name = $name . '_view'; + } else { + $view_name = 'fl_view'; + } + + $view = new $view_name($data, $this->datamodel, $this->functions, $name); + return $view; + } + + /** + * Modulausführung starten + * + * Die eigentliche Ausführung des Moduls wird gestartet. + * Es werden Controller und View erzeugt und der Standardablauf + * ausgeführt. + * Einhakpunkte sind: + * + * $modul->prepare Vorbereitende Aktionen für das Modul + * $controller->common vor allen anderen Aktionen + * $controller->alternate wird ausgeführt, wenn $controller->common FALSE zurückgibt + * $modul->clean_up Aufräumen nach allen Aktionen + * + * @pattern "Template Method" + */ + final public function start_execution() { + $modul_name = str_replace('_modul', '', get_class($this)); + + // Modul vorbereiten + $this->prepare(); + + $action = $this->cap['action']; + $params = $this->cap['param']; + + // Standardablauf ausführen + $this->controller = $this->create_controller($modul_name); + $this->model = $this->create_model($modul_name); + + try { + $this->controller->common($params); + if ( !isset($action) OR !method_exists($this->controller, $action) ) { + $action = 'defaultAction'; + } + $this->controller->$action($params); + + /** + * Ãœbergangsweise + */ + $response = $this->controller->get_response(); + $data = $response->get('data'); + $layout = $response->get('layout'); + + $this->registry->set('subview', $response->get('subview')); + + $this->view = $this->create_view($modul_name, $data); + $this->contents = $this->view->render_layout($layout); + $this->output_contents(); + /** + * Ende Ãœbergangsweise Code + */ + + + foreach( $this->controller->get_response() as $response ) { + $view = $this->factory->create_view($response->get_type()); + /** + * Der folgende Code muss von view übernommen und + * mit $view->execute($response) ausgeführt werden + + $data = $response->get('data'); + $layout = $response->get('layout'); + + $this->registry->set('subview', $response->get('subview')); + + $this->view = $this->create_view($modul_name, $data); + $this->contents = $this->view->render_layout($layout); + $this->output_contents(); + + */ + $view->execute($response); + } + } catch ( Exception $e ) { + $this->controller->alternate($e); + } + $this->clean_up(); + + /* + * alte funktion + } + public function start_execution() { + $modul_name = str_replace('_modul', '', get_class($this)); + + // Modul vorbereiten + $this->prepare(); + + $action = $this->cap['action']; + $params = $this->cap['param']; + + // Standardablauf ausführen + $this->controller = $this->create_controller($modul_name); + $this->model = $this->create_model($modul_name); + + if ( $this->controller->common() ) { + if ( !isset($action) OR !method_exists($this->controller, $action) ) { + $action = 'defaultAction'; + } + $this->controller->$action($params); + $response = $this->controller->get_response(); + $data = $response->get('data'); + $layout = $response->get('layout'); + + $this->registry->set('subview', $response->get('subview')); + + $this->view = $this->create_view($modul_name, $data); + $this->contents = $this->view->render_layout($layout); + } else { + $this->controller->alternate(); + } + $this->output_contents(); + $this->clean_up(); + */ + } + + /** + * Vorbereitung des Moduls (Hook) + * + * Das Ergebnis wird nicht geprüft. + */ + protected function prepare() { + return; + } + + /** + * Ausgabe der Daten + */ + public function output_contents() { + echo $this->contents; + } + + /** + * Aufräumfunktion (Hook) + * + * $modul->clean_up wird nach allen anderen Funktionen im Modulkontext + * aufgerufen und bietet so einen letzten Einhakpunkt für Aktionen. + * + * Das Ergebnis wird nicht geprüft. + */ + protected function clean_up() { + return; + } +} +?> diff --git a/fl/mvc/view.php b/fl/mvc/view.php new file mode 100644 index 0000000..5409e50 --- /dev/null +++ b/fl/mvc/view.php @@ -0,0 +1,244 @@ +datamodel = $data_access; + $this->functions = $functions; + $this->factory = $functions->factory; + + $this->data = $this->factory->get_structure('view', $data); + + $registry = fl_registry::getInstance(); + $this->cap = $registry->get('request', 'route'); + $this->subview = $registry->get('subview'); + + $this->modulepath = $registry->get('path', 'module'); + $this->apppath = $registry->get('path', 'app'); + $this->elementpath = $registry->get('path', 'elements'); + $this->layoutpath = $registry->get('path', 'layouts'); + + $this->headers = $registry->get('config', 'headers'); + + $model = $this->factory->get_model($model_name); + $this->translator = $model->translator; + } + + /** + * Ruft das Template auf + * + * @param string $layout + * @return string + */ + public function render_layout($layout) { + if ( strpos($layout, '/') === FALSE ) { + $path = $this->modulepath . $this->cap['controller'] . '/layouts/'; + } else { + list($prefix, $layout) = explode('/', $layout, 2); + if ( $prefix == 'comon' ) { + $path = $this->layoutpath; + } else { + $path = $this->modulepath . $prefix . '/layouts/'; + } + } + + /** + * Content-Type setzen, wenn Header noch nicht gesendet + */ + if ( !headers_sent() ) { + header('Content-Type: ' . $this->headers['content-type'] . + '; charset=' . $this->headers['charset'] ); + } + + ob_start(); + require_once $path . $layout . '.php'; + $template = ob_get_contents(); + ob_end_clean(); + + return $template; + } + + /** + * Sucht den zur Action passenden Unterview heraus. + */ + protected function get_sub_view() { + require_once($this->modulepath . $this->cap['controller'] . '/views/' . $this->subview . '.php'); + } + + /** + * Ein Seitenelement holen + * + * Es wird ein vordefinierter HTML-Baustein geholt. + * Er steht allen Seitenbereichen zu Verfügung. + * Variablen können als Assoziatives Array übergeben werden. + * Sonstigen Variablen sind meist nicht + * verfügbar. + * + * @param string $name Dateiname (ohne Endung) des Elements. + * @param array $vars Assoziatives Array mit Variablen fuer das Element. + */ + protected function get_element($name, array $vars = array() ) { + require_once $this->elementpath . $name . '.php'; + } + + /** + * Teilbereich eines Subview holen + * + * @param string $name Name des Teilbereichs + */ + protected function get_partial($name, $forgiving=FALSE) { + $file = $this->modulepath . $this->cap['controller'] . '/partials/' . $name . '.php'; + + if ( $forgiving AND !file_exists($file) ) { + return; + } else { + require_once $file; + } + } + + /** + * Gibt die Flash-Nachricht zurück + * + * @param string $namespace + * @return string + */ + protected function render_flash($namespace='') { + $html = ''; + + $messages = $this->functions->flash->get_messages($namespace); + foreach( $messages as $message ) { + $html .= '

'.$message['msg'].'

'.PHP_EOL; + } + $this->functions->flash->clear_messages($namespace); + + return $html; + } + + /** + * Seitentitel ausgeben + * + * @return string + */ + protected function get_site_title() { + if ( !defined('SEITENTITEL') ) { + $result = $this->datamodel->retrieve('optionen', '*', "optionname='seitentitel'", '', '1'); + #define('SEITENTITEL', $result['value']); + $title = $result[0]['value']; + } else { + $title = SEITENTITEL; + } + + echo $title; + return; + } + + /** + * Wrapper fuer Datenobjekt + */ + protected function get($field, $type='string', $source=NULL, $raw=FALSE, $default='') { + if ( $source instanceof data_structure) { + return $source->get($field, $type, $raw, $default); + } + + $this->data->set_raw_output($raw); + $former_default = $this->data->set_default($default); + + $value = $this->data->get($field, $type); + + $this->data->set_default($former_default); + return $value; + } + + /** + * Wrapper fuer Datenobjekt + */ + protected function say($field, $type='string', $source=NULL, $raw_output=FALSE, $default='') { + echo $this->get($field, $type, $source, $raw_output, $default); + } + + /** + * Datenobjekt zurueckgeben + * + * @return view_data + */ + public function get_data_object() { + return $this->data; + } + + /** + * Ãœbersetzten Text ausgeben + * + * Es wird ein Text zurückgegeben, der entweder eine Ãœbersetzung + * des übergebenen Textes ist oder der übergebene Text selbst. + * + * @todo Achtung: Funktion ist auch in fl/model.php definiert. Sollte besser nur dort sein. Entwurf verbessern! + * @param string $text + * @param string $lang + * @return string + */ + protected function translate($text, $lang=LANG) { + if ( is_object($this->translator) ) { + $translation = $this->translator->get($text, $lang); + } else { + $translation = $text; + } + + return $translation; + } + + /** + * URL zur aktuellen Seite ausgeben + * + * @todo Routen so erweitern, das die aktuelle URL ausgegeben werden kann. + */ + protected function current_url() { + $registry =& fl_registry::getInstance(); + $cap = $registry->get('request', 'route'); + $url = 'http://'.$_SERVER['HTTP_HOST'].'/'.$cap['controller'].'/'.$cap['action'].'/'.$cap['param']; + return $url; + } +} +?> diff --git a/fl/tools/autoload.php b/fl/tools/autoload.php new file mode 100644 index 0000000..685fe83 --- /dev/null +++ b/fl/tools/autoload.php @@ -0,0 +1,40 @@ +$id, + 'name'=>$name + ); + } + + return $array; + } + + /** + * Dropdown-Array zu String machen + * + * @param array $data + * @return string + */ + public static function dropdown_array_to_string($data) { + foreach( $data as $value) { + $string[] = $value['id'].'='.$value['name']; + } + + $string = implode(',', $string); + + return $string; + } +} diff --git a/fl/tools/factory.php b/fl/tools/factory.php new file mode 100644 index 0000000..68a6a35 --- /dev/null +++ b/fl/tools/factory.php @@ -0,0 +1,318 @@ +registry = fl_registry::getInstance(); + $this->structures = new fl_data_structures(); + + $lang = $this->registry->get('config', 'lang'); + $this->inflector = new fl_inflector($lang['application']); + } + + /** + * Datenzugriff setzen + * + * @param data_access $data_access + */ + public function set_data_access(data_access $data_access) { + $this->data_access = $data_access; + } + + /** + * Eine Federleicht-interne Klasse erzeugen und zurückgeben + * + * @todo verbessern, indem die verschiedenen Klassen mit den entsprechenden Parametern versorgt werden oder an passende Methoden deligiert wird... + * @param string $class_name + * @return mixed + */ + public function create($class_name) { + $class = "fl_{$class_name}"; + return new $class(); + } + + /** + * Weiteres Model holen + * + * Nach Möglichkeit wird das Model aus der Registry geholt. + * @pattern IdentityMap + * + * @throws LogicException Wenn keine Datenzugriffsklasse gesetzt wurde. + * + * @param string $modul Name des Moduls, aus dem das Model geholt wird. + * @return fl_model + */ + public function get_model($modul) { + if ( $this->registry->get('loaded_model_'.$modul) === FALSE ) { + if ( $this->data_access == null ) { + throw new LogicException('Der Factory ist keine Datenzugriffsklasse bekannt: Mit set_data_access(data_access) setzen!'); + } + + $this->load_module($modul); + + $model_name = 'app_' . $modul . '_model'; + $get_model = new $model_name( + $this->data_access, + $this, + (string) $this->registry->get('path', 'module')); + + $this->registry->set('loaded_model_'.$modul, $get_model); + } + + return $this->registry->get('loaded_model_'.$modul); + } + + /** + * Klasse holen + * + * @param string $class + * @param array $options (dynamic) + * @return object + */ + public function get_class($class) { + if ( strpos($class, '/') === false) { + throw new InvalidArgumentException('Klassenname muss in der Form modul/class angegeben werden.'); + } else { + list($modul, $class_name) = explode('/', $class, 2); + } + + $this->load_class($modul, $class_name); + + $instance = new $class_name(); + if ( func_num_args() > 1 ) { + $args = func_get_args(); + array_shift($args); + $options = array_values($args); + + $instance->set_options($options); + } + + return $instance; + } + + /** + * Activerecord-Klasse holen + * + * Nach Möglichkeit wird der Record aus der Registry geholt. + * @pattern IdentityMap + * + * @throws InvalidArgumentException Wenn der erste Parameter keinen Slash enthält + * + * @param string $class + * @param int $id + * @param array $data + * @return fl_data_structures_activerecord + */ + public function get_ar_class($class, $id = 0, array $data = array()) { + if ( strpos($class, '/') === false) { + throw new InvalidArgumentException('Klassenname muss in der Form modul/class angegeben werden.'); + } else { + list($modul, $class_name) = explode('/', $class, 2); + } + + $this->load_structure('activerecord'); + $this->load_class($modul, $class_name); + + $data = (array) $data; + if (!empty($data)) { + $loaded = true; + } else { + $loaded = false; + $data += array('id'=>$id); + } + + if ( $this->is_structure($modul, $class_name) ) { + $data_structure = $this->get_structure($modul.'/'.$class_name, $data); + } else { + $data_structure = $this->get_structure('data', $data); + } + + $identifier = "{$class_name}_{$id}"; + + if ( !$this->registry->is_set('loaded_record_'.$identifier) ) { + $instance = new $class_name( + $this->data_access, + $this->inflector->plural($class_name), + $id, + $data_structure, + $loaded + ); + + $this->registry->set('loaded_record_'.$identifier, $instance); + } + + return $this->registry->get('loaded_record_'.$identifier); + } + + /** + * Datenstruktur holen + * + * @param string $wanted_structure + * @param array $data + * @return data_wrapper + */ + public function get_structure($wanted_structure, $data = null) { + return $this->structures->get($wanted_structure, $data); + } + + /** + * Helfermodul holen + * + * @param string $wanted_helper + * Weitere Parameter werden übernommen und an den Konstruktor weitergegeben. + * + * @return object + */ + public function get_helper($wanted_helper) { + $this->load_helper($wanted_helper); + + switch ( func_num_args() ) { + case 3: + $f1 = func_get_arg(1); + $f2 = func_get_arg(2); + $helper = new $wanted_helper($f1, $f2); + break; + + case 2: + $f1 = func_get_arg(1); + $helper = new $wanted_helper($f1); + break; + + case 1: + default: + $helper = new $wanted_helper(); + } + + return $helper; + } + + + /** + * ############# Funktionen zum Einlesen der entsprechenden Dateien ###### + */ + + + /** + * Datenstruktur einlesen + * + * @param string $wanted_structure + */ + public function load_structure($wanted_structure) { + if ( strpos($wanted_structure, '/') === false ) { + $this->structures->load_structure($this->structures->built_in, $wanted_structure); + } + } + + /** + * Klassendatei einlesen + * + * @param string $modul + * @param string $class + */ + public function load_class($modul, $class) { + require_once $this->registry->get('path', 'module') . $modul . '/classes/'.$class.'.php'; + } + + /** + * Aufruf eines Helfermodul + * + * Der Quellcode eines namentlich benannten + * Helfermoduls wird eingelesen. + * + * @throws OutOfRangeException Wenn die gewünschte Helperklasse nicht existiert + * + * @param string $wanted Name des gewünschten Helfermoduls + * @return boolean + */ + public function load_helper($wanted) { + if ( !in_array( $wanted, $this->registry->get('helpers') ) ) { + throw new OutOfRangeException("Helperklasse {$wanted} nicht gefunden"); + } + + include_once $this->registry->get('path', 'helper') . $wanted . '.php'; + + return TRUE; + } + + /** + * Moduldatei einlesen + * + * @throws OutOfRangeException Wenn die passende Moduldatei nicht existiert + * @param string $modul + */ + public function load_module($modul) { + $modul_path = $this->registry->get('path', 'module') . $modul . '/model.php'; + + if ( !in_array($modul, $this->registry->get('modules')) ) { + $common_path = $this->registry->get('path', 'module') . 'common/models/'.$modul.'.php'; + + if ( file_exists( $common_path ) ) { + $modul_path = $common_path; + } else { + throw new OutOfRangeException("Modul {$modul} wurde nicht gefunden"); + } + } + + require_once $modul_path; + } + + + + /** + * ########## Funktionen, die auf Existenz der entsprechenden Dateien #### + */ + + + /** + * Pruefung, ob Datenstruktur existiert + * + * @param string $modul + * @param string $class + * @return boolean + */ + public function is_structure($modul, $class) { + return $this->structures->exists($modul, $class); + } + + /** + * ########## interne Funktionen ######################################### + */ + + /** + * Klassenidentifikator parsen + * + * @param string $class + * @return array + * @access private + */ + protected function parse_class_name($class) { + $common = 'common'; + $builtin = 'builtin'; + + if ( strpos($class, '/') === false) { + $result = array($common, $class); + } else { + $result = explode('/', $class, 2); + } + + return $result; + } +} diff --git a/fl/tools/flash.php b/fl/tools/flash.php new file mode 100644 index 0000000..fa53b08 --- /dev/null +++ b/fl/tools/flash.php @@ -0,0 +1,214 @@ + + * @version 0.2 + * @license MIT-Style + */ +class fl_flash { + /** + * message storage + * + * messages are stored in an array of the following form: + * [namespace][][msg] + * [type] + * + * the array itself is an associative array of namespaces. + * [namespace] = array(); + * + * Each namespaces has an array which contain the actual + * message. + * + * Every message is itself an array with the following keys + * [msg] message-text + * [type] message-type + * + * The type could be used as css-class (at least I do). + * + * types and namespaces are saved lowercase only + */ + private $messages; + + /** + * default message type + */ + private $default_type; + + /** + * default namespace + */ + private $default_namespace; + + /** + * constructor + */ + public function __construct($type='', $namespace='') { + $this->set_default_type($type); + $this->set_default_namespace($namespace); + + $this->messages = $this->load_all_messages(); + } + + /** + * destructor + */ + public function __destruct() { + return $this->save_all_messages(); + } + + /** + * set default message type + * + * @param string $type + * @return bool + */ + public function set_default_type($type='') { + $set = FALSE; + $type = ( empty($type) )? + 'notice': + $type; + + $this->default_type = strtolower($type); + $set = TRUE; + + return $set; + } + + /** + * Set default namespace + * + * @param string $namespace + * @return bool + */ + public function set_default_namespace($namespace='') { + $set = FALSE; + $namespace = ( empty($namespace) )? + 'global': + $namespace; + + $this->default_namespace = strtolower($namespace); + $set = TRUE; + + return $set; + } + + /** + * add a message + * + * @param string $message + * @param string $namespace + * @param string $type + * @return bool + */ + public function add_message($message='', $namespace='', $type='') { + $added = FALSE; + + if ($message == '') return $added; + if ($namespace == '') $namespace = $this->default_namespace; + if ($type == '') $type = $this->default_type; + + if (!isset($this->messages[$namespace])) { + $this->messages[$namespace] = array(); + } + + $msg = array( + 'msg'=>$message, + 'type'=>$type + ); + + $this->messages[$namespace][] = $msg; + $added = TRUE; + + return $added; + } + + /** + * return messages of a certain namespace + * + * @param string $namespace + * @return array + */ + public function get_messages($namespace='') { + $messages = array(); + + if ($namespace == '') $namespace = $this->default_namespace; + + if ( isset($this->messages[$namespace]) ) { + $messages = $this->messages[$namespace]; + } + + return $messages; + } + + /** + * clear messages of a certain namespace + * + * @param string $namespace + * @return bool + */ + public function clear_messages($namespace='') { + $cleared = FALSE; + + if ($namespace == '') $namespace = $this->default_namespace; + + $this->messages[$namespace] = array(); + $cleared = TRUE; + + return $cleared; + } + + + /** + * Invoke saving manually + * + * @return bool + */ + public function save_messages() { + return $this->save_all_messages(); + } + + /* == INTERNALLY USED == */ + + /** + * save serialized message-array to SESSION + * + * @todo check save success reliable + * @return bool + */ + private function save_all_messages() { + $saved = FALSE; + + $msg = serialize($this->messages); + + $_SESSION['flash_messages'] = $msg; + $saved = TRUE; + + session_write_close(); + + return $saved; + } + + /** + * load and unserialize messages from SESSION + * + * @return array + */ + private function load_all_messages() { + $msg = array(); + + if ( isset($_SESSION['flash_messages'] )) { + $msg = unserialize( $_SESSION['flash_messages'] ); + } + + return $msg; + } +} diff --git a/fl/tools/functions.php b/fl/tools/functions.php new file mode 100644 index 0000000..9f65043 --- /dev/null +++ b/fl/tools/functions.php @@ -0,0 +1,50 @@ +factory = new fl_factory(); + } + + /** + * Datenzugriff setzen + * + * @param data_access $data_access + */ + public function set_data_access(data_access $data_access) { + $this->factory->set_data_access($data_access); + } + + /** + * Flashnachrichten starten + */ + public function start_flash() { + $this->flash = new fl_flash(); + } + + /** + * Federleicht anhalten + */ + public function stop($message='') { + ob_flush(); + echo $message; + exit(); + } +} +?> diff --git a/fl/tools/inflector.php b/fl/tools/inflector.php new file mode 100644 index 0000000..35d9131 --- /dev/null +++ b/fl/tools/inflector.php @@ -0,0 +1,189 @@ + + * @version 0.1 + */ +class fl_inflector { + /** + * Speicher für Ersetzungsregeln + */ + var $plural = array(); + var $singular = array(); + var $uncountable = array(); + var $irregular = array(); + + /** + * Konstruktor + */ + function __construct($lang = null) { + switch ( $lang ) { + case 'de': + $this->plural = array( + '/^([a-z]*)(ung|heit|schaft|ion)$/i'=>'\1\2en', + '/^([a-z]*)(probe)$/i'=>'\1\2n', + '/^([a-z]*[^aoieukgh])$/i' =>'\1e', + ); + + $this->singular = array( + '/^([a-z]*)(ung|heit|schaft|ion)en$/i'=>'\1\2', + '/^([a-z]*)(probe)n$/i'=>'\1\2', + '/^([a-z]*)e/i' => '\1', + ); + + $this->uncountable = array( + 'daten', + 'bankdaten', + 'cover', + 'musiktitel', + 'titel', + ); + + $this->irregular = array( + 'account' => 'accounts', + 'land' => 'laender', + ); + break; + + case 'en': + default: + $this->plural = array( + '/(quiz)$/i' => '\1zes', + '/^(ox)$/i' => '\1en', + '/([m|l])ouse$/i' => '\1ice', + '/(matr|vert|ind)ix|ex$/i' => '\1ices', + '/(x|ch|ss|sh)$/i' => '\1es', + '/([^aeiouy]|qu)ies$/i' => '\1y', + '/([^aeiouy]|qu)y$/i' => '\1ies', + '/(hive)$/i' => '\1s', + '/(?:([^f])fe|([lr])f)$/i' => '\1\2ves', + '/sis$/i' => 'ses', + '/([ti])um$/i' => '\1a', + '/(buffal|tomat)o$/i' => '\1oes', + '/(bu)s$/i' => '\1ses', + '/(alias|status)/i'=> '\1es', + '/(octop|vir)us$/i'=> '\1i', + '/(ax|test)is$/i'=> '\1es', + '/s$/i'=> 's', + '/$/'=> 's' + ); + + $this->singular = array ( + '/(quiz)zes$/i' => '\\1', + '/(matr)ices$/i' => '\\1ix', + '/(vert|ind)ices$/i' => '\\1ex', + '/^(ox)en/i' => '\\1', + '/(alias|status)es$/i' => '\\1', + '/([octop|vir])i$/i' => '\\1us', + '/(cris|ax|test)es$/i' => '\\1is', + '/(shoe)s$/i' => '\\1', + '/(o)es$/i' => '\\1', + '/(bus)es$/i' => '\\1', + '/([m|l])ice$/i' => '\\1ouse', + '/(x|ch|ss|sh)es$/i' => '\\1', + '/(m)ovies$/i' => '\\1ovie', + '/(s)eries$/i' => '\\1eries', + '/([^aeiouy]|qu)ies$/i' => '\\1y', + '/([lr])ves$/i' => '\\1f', + '/(tive)s$/i' => '\\1', + '/(hive)s$/i' => '\\1', + '/([^f])ves$/i' => '\\1fe', + '/(^analy)ses$/i' => '\\1sis', + '/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i' => '\\1\\2sis', + '/([ti])a$/i' => '\\1um', + '/(n)ews$/i' => '\\1ews', + '/s$/i' => '', + ); + + $this->uncountable = array( + 'equipment', + 'information', + 'rice', + 'money', + 'species', + 'series', + 'fish', + 'sheep' + ); + + $this->irregular = array( + 'person' => 'people', + 'man' => 'men', + 'child' => 'children', + 'sex' => 'sexes', + 'move' => 'moves' + ); + break; + } + } + + /** + * Bildung der Pluralform eines Wortes + * + * @param string $word + * @return string Pluralform + */ + function plural($word) { + $plural = $this->plural; + $uncountable = $this->uncountable; + $irregular = $this->irregular; + + $lowercased_word = strtolower($word); + + foreach ($uncountable as $_uncountable){ + if(substr($lowercased_word,(-1*strlen($_uncountable))) == $_uncountable){ + return $word; + } + } + + foreach ($irregular as $_plural=> $_singular){ + if (preg_match('/('.$_plural.')$/i', $word, $arr)) { + return preg_replace('/('.$_plural.')$/i', substr($arr[0],0,1).substr($_singular,1), $word); + } + } + + foreach ($plural as $rule => $replacement) { + if (preg_match($rule, $word)) { + return preg_replace($rule, $replacement, $word); + } + } + + return false; + } + + /** + * Bildung der Singularform eines Wortes + * + * @param string $word + * @return string Singularform + */ + function singular($word) { + $singular = $this->singular; + $uncountable = $this->uncountable; + $irregular = $this->irregular; + + $lowercased_word = strtolower($word); + foreach ($uncountable as $_uncountable){ + if(substr($lowercased_word,(-1*strlen($_uncountable))) == $_uncountable){ + return $word; + } + } + + foreach ($irregular as $_plural=> $_singular){ + if (preg_match('/('.$_singular.')$/i', $word, $arr)) { + return preg_replace('/('.$_singular.')$/i', substr($arr[0],0,1).substr($_plural,1), $word); + } + } + + foreach ($singular as $rule => $replacement) { + if (preg_match($rule, $word)) { + return preg_replace($rule, $replacement, $word); + } + } + + return $word; + } +} diff --git a/fl/tools/registry.php b/fl/tools/registry.php new file mode 100644 index 0000000..ce4da01 --- /dev/null +++ b/fl/tools/registry.php @@ -0,0 +1,98 @@ +values = array(); + } + + private function __clone() { + } + + /** + * Instanz holen + */ + public static function getInstance() { + if ( self::$instance === null ) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Allgemeines GET + * + * Der interne Variablenspeicher wird erst nach dem Schlüssel durchsucht. + * Wenn weiterhin ein Index gegeben ist, wird versucht, die Variable als + * Array oder Objekt zu verwenden und so den Variableninhalt direkt + * zurückzugeben. + * + * Wenn der angefragte Variableninhalt nicht gefunden wurde, wird FALSE + * zurückgegeben. + * + * @param string $key + * @paran string $index + * @return mixed + */ + public function get($key, $index = null) { + $key = (string) $key; + $methodcall = 'get_'.$index; + + if ( isset($this->values[$key]) ) { + $value = $this->values[$key]; + } else { + $value = FALSE; + } + + if ( $index !== null ) { + if ( is_array($value) AND isset($value[$index]) ) { + $value = $value[$index]; + } elseif ( is_object($value) AND method_exists($value, $methodcall) ) { + $value = $value->$methodcall(); + } elseif ( is_object($value) AND isset($value->$index) ) { + $value = $value->$index; + } else { + $value = FALSE; + } + } + + return $value; + } + + /** + * Allgemeines SET + * + * @param string $key + * @param mixed $value + */ + public function set($key, $value) { + $key = (string) $key; + + $this->values[$key] = $value; + } + + /** + * Prüfung, ob Wert existiert + * + */ + public function is_set($key) { + $available = false; + + if ( isset($this->values[$key]) ) { + $available = true; + } + + return $available; + } +} diff --git a/fl/tools/responder.php b/fl/tools/responder.php new file mode 100644 index 0000000..c3607ea --- /dev/null +++ b/fl/tools/responder.php @@ -0,0 +1,103 @@ +response_list[] = new $class_name(); + + $response_key = count($this->response_list) - 1; + $this->set_current_response($response_key); + + return $response_key; + } + + /** + * Aktuell zu bearbeitende Response setzen + * + * @param int $response_key + * @throws OutOfBoundsException + */ + public function set_current_response($response_key) { + $previous_key = $this->key(); + $this->key = $response_key; + + if ( ! $this->valid() ) { + $this->key = $previous_key; + throw new OutOfBoundsException("Response {$response_key} ist nicht im Responder vorhanden"); + } + } + + /** + * Interface data_wrapper + * + * weil die Response-Objekte dieses Interface implementieren + */ + public function set($key, $value) { + $response = $this->current(); + $response->set($key, $value); + } + public function get($key) { + $response = $this->current(); + return $response->get($key); + } + public function say($key) { + $response = $this->current(); + $response->say($key); + } + + public function set_data(array $data) { + $response = $this->current(); + $response->set_data($data); + } + public function is_set($key) { + $response = $this->current(); + return $response->is_set($key); + } + public function remove($key) { + $response = $this->current(); + $response->remove($key); + } + /** Ende des Interface data_wrapper */ + + /** + * Interface Iterator + * + * Wird implementiert, um in fl_modul::start_execution() die verschiedenen + * Rückgaben einzeln zu bearbeiten. + */ + public function ¤t() { + return $this->response_list[$this->key()]; + } + public function key() { + return $this->key; + } + public function next() { + $this->key++; + } + public function rewind() { + $this->key = 0; + } + public function valid() { + return $this->key < count($this->response_list); + } + /** Ende des Interface Interface */ +} diff --git a/fl/web_start.php b/fl/web_start.php new file mode 100644 index 0000000..85a0033 --- /dev/null +++ b/fl/web_start.php @@ -0,0 +1,72 @@ + + * @version 0.2 + * @license BSD-License + */ +/** + * Gesamtzeitmessung + */ +ini_set('precision', '16'); +function getmicrotime() { + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} +$start = getmicrotime(); + +/** + * Federleicht-Objekt holen + */ +require_once 'federleicht.php'; + +/** + * Der Name des Objekts wird nur in dieser Datei genannt + */ +$federleicht = new federleicht($_SERVER['REQUEST_URI']); + +/** + * Get fl framework object + * + * @return federleicht + * @deprecated + */ +function get_fl() { + global $federleicht; + + return $federleicht; +} + +function needs($wanted) { + $fl_framework = get_fl(); + $fl_framework->functions->needs($wanted); + + return TRUE; +} + +$federleicht->start(); + +$federleicht->functions->stop(); + + + +/** + * Auswertung der Gesamtzeitmessung + */ +$end = getmicrotime(); +$shit = $federleicht->functions->factory->get_helper( + 'var_analyze', + 'Allgemein', 'index.php' +); +$shit->timer($start, $end, -1); +$shit->say('Anzahl der Datenbankabfragen: ' . ( $federleicht->datamodel->query_count ) . ''); +$shit->sv($federleicht->datamodel->allSQL, 'Datenbankabfragen'); + +trigger_error('end'); +$federleicht->functions->stop(); diff --git a/index.php b/index.php new file mode 100644 index 0000000..9bb073a --- /dev/null +++ b/index.php @@ -0,0 +1,2 @@ +#hoverNav{ left: 0;} +#hoverNav a{ outline: none;} + +#prevLink, #nextLink{ + width: 49%; + height: 100%; + background: transparent url(../img/lightbox/system/blank.gif) no-repeat; /* Trick IE into showing hover */ + display: block; + } +#prevLink { left: 0; float: left;} +#nextLink { right: 0; float: right;} +#prevLink:hover, #prevLink:visited:hover { background: url(../img/lightbox/system/prevlabel.gif) left 15% no-repeat; } +#nextLink:hover, #nextLink:visited:hover { background: url(../img/lightbox/system/nextlabel.gif) right 15% no-repeat; } + + +#imageDataContainer{ + font: 11px Verdana, Helvetica, sans-serif; + background-color: #FFF; + margin: 0 auto; + line-height: 1.4em; + } + +#imageData{ + padding:6px 0 0 20px; + color:#7F7F7F; + } +#imageData #imageDetails{ width: 70%; float: left; text-align: left; } +#imageData #caption{ font-weight: none; } +#imageData #numberDisplay{ font-size:9px; display: block; clear: left; padding-bottom: 1.0em; } +#imageData #bottomNavClose{ width: 66px; float: right; padding-bottom: 0.7em; } + +#overlay{ + position: absolute; + top: 0; + left: 0; + z-index: 90; + width: 100%; + height: 500px; + background-color: #000; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; + } + + +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; + } + +* html>body .clearfix { + display: inline-block; + width: 100%; + } + +* html .clearfix { + /* Hides from IE-mac \*/ + height: 1%; + /* End hide from IE-mac */ + } + \ No newline at end of file diff --git a/public/css/print.css b/public/css/print.css new file mode 100644 index 0000000..0109130 --- /dev/null +++ b/public/css/print.css @@ -0,0 +1,37 @@ +html,address,blockquote,body,div,dl,dt,dd,fieldset,form,h1,h2,h3,h4,h5,h6,ol,p,ul,li,center,hr,pre,table,tr,td,th,thead,tbody,tfoot,caption { + font-family:inherit; font-style:normal; font-weight:normal; + font-variant:normal; font-size:inherit; line-height:inherit; + text-align:left; text-decoration:none; padding:0; margin:0; + float:none; border:0px; display:block; cursor:default; } +span,a,img,abbr,code,em,strong,b,i,var,tt,kbd,samp,small,sub,sup { + font:inherit; background:transparent; padding:0; margin:0; + color:inherit; display:inline; float:none; border:0; } +textarea,legend,label,button,input,object,select { font:inherit; margin:0; padding:0; } + +li { display:list-item; } + +table { display:table; border-spacing:0; border-collapse:collapse; } +tr { display:table-row; } +th,td { display:table-cell; } +thead { display:table-header-group; } +tbody { display:table-row-group; } +tfoot { display:table-footer-group; } +caption { display:table-caption; } +colgroup { display:table-column-group; } +col { display:table-column; } + +head { display:none; } + +/* Optionales */ +html { font-family:Verdana, 'Lucida Grande', Geneva, Lucida, Arial, Helvetica, sans-serif; font-size:10pt; line-height:15pt; color:#000; } +ul li { list-style-type:disc; } +ol li { list-style-type:decimal; } + +/* unwichtiges verbergen */ +body { background:none; } +#navigation, .kopfbild, #buttons, #internenavi { display:none; } + +/* wichtiges richtig darstellen */ +h3 { font-weight:bold; margin:12pt 0 0 0; } +h3 img { margin:-12pt 0 0 0; } +p { margin:0 0 6pt 0; } \ No newline at end of file diff --git a/public/css/screen.css b/public/css/screen.css new file mode 100644 index 0000000..c490eba --- /dev/null +++ b/public/css/screen.css @@ -0,0 +1,180 @@ +html,address,blockquote,body,div,dl,dt,dd,fieldset,form,h1,h2,h3,h4,h5,h6,ol,p,ul,li,center,hr,pre,table,tr,td,th,thead,tbody,tfoot { + font-family:inherit; font-style:normal; font-weight:normal; + font-variant:normal; font-size:inherit; line-height:inherit; + text-align:left; text-decoration:none; padding:0; margin:0; + float:none; border:0px; display:block; cursor:default; } +span,a,img,abbr,code,em,strong,b,i,var,tt,kbd,samp,small,sub,sup,caption { + font:inherit; background:transparent; padding:0; margin:0; + color:inherit; display:inline; float:none; border:0; } +textarea,legend,label,button,input,object,select { font:inherit; margin:0; padding:0; } + +li { display:list-item; } + +table { display:table; border-spacing:0; border-collapse:collapse; } +tr { display:table-row; } +th,td { display:table-cell; } +thead { display:table-header-group; } +tbody { display:table-row-group; } +tfoot { display:table-footer-group; } +caption { display:table-caption; } +colgroup { display:table-column-group; } +col { display:table-column; } + +head { display:none; } + +/* { Optionales */ +html { font-family:Verdana, 'Lucida Grande', Geneva, Lucida, Arial, Helvetica, sans-serif; font-size:11px; line-height:18px; color:#808080; } +a:link, a:visited, a:hover, a:active { cursor:pointer; } +input, textarea { cursor:auto; } +ul li { list-style-type:square; } +ol li { list-style-type:decimal; } +/* } */ + +/* { Allgemeines Layout */ +#wrapper { width:927px; margin:0 auto; } +#kopf { margin:18px 0 0 0; position:relative; height:186px; z-index:1; } +#kopf h1 { position:relative; top:29px; left:696px; width:173px; height:103px; z-index:2; } +#kopf img.kopfbild { position:absolute; top:0; left:0; z-index:2; } +#kopf #navigation { position:absolute; top:165px; left:134px; width:515px; height:32px; z-index:3; line-height:28px; } +#kopf #navigation p span.separator { float:left; color:#c8d200; padding:0 4px; } +#kopf #navigation a { float:left; display:block; padding:0 4px; } + +#kundennavi { position:absolute; top:24px; left:523px; z-index:4; width:150px; } +#kundennavi p {padding:5px 0 0 0;} + +#subnavigation {width:113px; position:relative; top:-27px; left:9px; z-index:3; } +#subnavigation p {padding:2px 0 2px 0; border-bottom:1px #9A9A9A dotted;} + +#content { position:relative; z-index:3; } + +#haftungsausschluss {clear:both; width:760px; padding:0 80px; } + +#unten { clear:both; padding:50px 0 0 145px; height:33px; } +#unten p span.separator { color:#FFF; padding:0 3px; } +/* } */ + +/** Layout-details */ +.description { + padding-left:10px; +} + +/* { Links */ +a:link, +a:visited { text-decoration:none; color:#808080;} +a:focus, +a:hover { text-decoration:none; color:#c8d200; } +a:active { text-decoration:none; color:#c8d200; } + +#navigation a:link, +#navigation a:visited { text-decoration:none; color:#fff; } +#navigation a:focus, +#navigation a:hover { text-decoration:none; color:#c8d200; } +#navigation a:active { text-decoration:none; color:#c8d200; } + +a.symbol, +#kundennavi a, +#subnavigation a { display:block; padding:0 0 3px 21px; background:url(../img/icon_pfeil_off.gif) 0 2px no-repeat; line-height:22px; height:22px; } + +a.symbol:focus, +a.symbol:hover, +a.symbol:active, +#kundennavi a:focus, +#kundennavi a:hover, +#kundennavi a:active, +#subnavigation a:focus, +#subnavigation a:hover, +#subnavigation a:active { font-weight:bold; background:url(../img/icon_pfeil_on.gif) 0 2px no-repeat; } + +#subnavigation a:link.aktiv, +#subnavigation a:visited.aktiv {color:#c8d200; font-weight:bold; background:url(../img/icon_pfeil_on.gif) 0 2px no-repeat; } + +#unten a:link, #unten a:visited {} +#unten a:focus, #unten a:hover, #unten a:active, #news_spalte a:focus, #news_spalte a:hover, #news_spalte a:active { color:#fff; } +/* } */ + +/* Navigation */ +body.about #navigation a.about, +body.design #navigation a.design, +body.coding #navigation a.coding, +body.portfolio #navigation a.portfolio { color:#c8d200; } + +/* Kundennavi */ +body.start #kundennavi a.pages { color:#c8d200; } +body.contact #kundennavi a.contact, +body.start #kundennavi a.start, +body.sitemap #kundennavi a.sitemap { font-weight:bold; color:#c8d200; background:url(../img/icon_pfeil_on.gif) 0 2px no-repeat; } + + + +/* { Klassen */ +.hidden, .print-info { display:none; } +.required { padding:0 5px; color:#c8d200; } +.aktiv { color:#c8d200; font-weight:bold; padding: 3px 0px; } +/* } */ + +/* { Farben und Hintergründe */ +body { background-color:#fff; } +#kopf #navigation { background:url(../img/navigation_bg.gif) left top no-repeat; } +#unten { background:url(../img/seitenabschluss.gif) 0 45px no-repeat; } +/* } */ + +/* { Allgemeine Typographie */ +h3 img { margin:-2em 0 0 0; } +h4 {font-weight:bold;} +select, textarea, input.text { border:1px solid #c8d200; background:#eee; } +select:focus, textarea:focus, input.text:focus { background:#fff; } +b { font-weight:bold; } + +input.text, textarea, select { width:260px; } + +form { margin:0 0 0 0; padding:0; } +form p { margin:0 0 0 0px; } +form input.knopf { margin-top:10px; } +form label { display:block; padding: 0 0 10px 0; } +form textarea { height:162px; } +form select.dropdown { width:260px; } + +.description h3 { + color:#c8d200; +} +/* } */ + +/* { Einzelregeln */ +#content div { float:left; margin:27px 0 0 -9px; } + +#content span.separator { color:#c8d200; } +#content .page_navigator { + clear:left; + position:relative; + top:-21px; + text-align:right; +} + +#content #inhalt { margin-left:41px; width:468px; } +#content #inhalt h2 { font-size:20px; color:#c8d200; padding-bottom:5px; } +#content #inhalt h3 { font-size:12px; padding-bottom:3px; font-weight:bold; } +#inhalt h5 { font-weight:bold; margin-bottom:18px; background:url(../img/punkte.gif) 0% 100% repeat-x; } +#inhalt h5 span.separator { font-weight:lighter; } +#inhalt h6 { font-size:11px; font-weight:bold; margin-bottom:27px; } +#content #inhalt p { padding:0 0 6px 0; } + +#content #news_spalte {background:url(../img/newsbox_bg.gif) 0 0 repeat; width:290px; margin:-5px 0 0 36px;} +#content #news_spalte p { float:none; padding:0 18px 0 18px;} +#content #news_spalte_bgtop {background:url(../img/newsbox_oben.gif) 0 0 no-repeat; float:right; width:290px; height:21px; margin:-18px -18px -3px 0; font-size:15px; padding:9px 0 6px 18px; font-weight:bold;} +#content #news_spalte_bgbottom {background:url(../img/newsbox_unten.gif) 0 0 no-repeat; float:right; width:290px; height:25px; margin:-9px 0 0 0;} +#content #news_spalte .link {background:url(../img/newsbox_link.gif) 0 0 no-repeat; width:244px; height:20px; margin:5px 0 9px 18px; padding:0 0 0 24px; } +#content #news_spalte h4 {margin:2px 0 0 18px; font-size:12px; font-weight:bold; } +/* +#content #info_spalte, #content #news_spalte { margin:37px 0 0 9px; } +#content #info_spalte h3, #content #news_spalte h3 { font-size:11px; background:url(../img/info_spalte.gif) 0px 1px no-repeat; width:192px; height:18px; padding:0 0 1px 9px; color:#fff; margin-bottom:18px; } +#content #info_spalte p { text-align:right; margin-bottom:9px; } + +#content #news_spalte p { text-align:left; margin:0 0 9px 10px; } +#content #news_spalte h4 { margin:18px 0 3px 10px; background:url(../img/punkte.gif) 0% 100% repeat-x; } +#content #news_spalte { width:192px; } +*/ + +.referenz_bild { + margin-top:-9px; +} +/* } */ diff --git a/public/css/screen_ie.css b/public/css/screen_ie.css new file mode 100644 index 0000000..7a727e3 --- /dev/null +++ b/public/css/screen_ie.css @@ -0,0 +1,37 @@ +table, tr, td, th { font-family:Verdana, 'Lucida Grande', Geneva, Lucida, Arial, Helvetica, sans-serif; font-size:11px; line-height:18px; color:#000; } + +/* Allgemeines Layout */ +body { text-align:center; } +#wrapper { text-align:left; height:1%; } +#content { height:1%; } +#haftungsausschluss {border:1px solid #FFF; } + +/* Einzelregeln */ +h4 { font-size:11px } + +#kundennavi a, +#subnavigation a {padding-left:21px; background:url(../img/icon_pfeil_off.gif) 0 1px no-repeat; } + + +#kundennavi a:visited, +#subnavigation a:visited {color:#808080;} + +#kundennavi a:focus, +#kundennavi a:hover, +#kundennavi a:active, +#subnavigation a:focus, +#subnavigation a:hover, +#subnavigation a:active {background:url(../img/icon_pfeil_on.gif) 0 1px no-repeat; color:#A0DA44; } + +#subnavigation a.aktiv {padding:0 0; } + +/* Kundennavi */ +body.contact #kundennavi a.contact, +body.start #kundennavi a.start, +body.sitemap #kundennavi a.sitemap { font-weight:bold; color:#A0DA44; background:url(../img/icon_pfeil_on.gif) 0 1px no-repeat; } + + +#content #news_spalte {background:url(../img/newsbox_bg.gif) 0 0 repeat; width:290px; margin:-5px 0 0 36px;} +#content #news_spalte p { float:none; padding:0 18px 0 18px;} +#content #news_spalte_bgtop {background:url(../img/newsbox_oben.gif) 0 0 no-repeat; width:290px; height:21px; margin:18px 0 -3px 36px; font-size:15px; padding:9px 0 10px 18px;} +#content #news_spalte_bgbottom {background:url(../img/newsbox_unten.gif) 0 0 no-repeat; float:right; width:290px; height:21px; margin:-9px 0 0 0; } \ No newline at end of file diff --git a/public/img/favicon.ico b/public/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..734b1d0087f245ccad6a34361c63b1d3f0b2c5b6 GIT binary patch literal 22486 zcmeHOX^a#_6t3M-ATC+Z#6KE!Of>NqA^!4*2}Hq|NB~1n5j7}6Rv~~9Au&WZiYOq) zBk?v70bK<_TtyZTheJTJupX$e_kG{9?7dsQuV!kdyQaHmdZxE$)qb1W>Z*FL-uGTt z*FB77unBDHR7UY6mUAUz%Nb*Se<+brA?5wFEGPNRPs9Dq>Ga(B}*I zIM2}#K+j`^{ZGRr2{i&v3b|! zvZXoCv56$NaMg-Pf4pYdG6KnWDJA8*r*1b{P&Mpj=xSSx;pl&KPbi6=O-%6_$|o$~cyrx~QmtWQ)c^ zz;HFFLJ!MW2}G;aJedk8>&J))tt$7!R0@cQK6N44eGn?Pjyu)O?fSU1gJL zgSm+;GKfR7lVN;yGdQR98m*c*uS7hN^8jM(6(gp-Ul}7A+B^1QQ$L9Pb@Gpl$&c_B z{3>Gdvxv#>`g2Ra$ewAipH63%6DVw>&_IF9aJ0Lemav@nj12Ow;eHYK(sS$3W$=I( zGLU_hLPSnJuc;y4nK1xMDZYsrr^Lt^7vIyM_3hrHmRsNxZ?~0p2;>#~-Qq zS}P}?O=V?Wkb``1WPm?jxlhX3iXSTfO4to7COG2Ox3KI>-c9o51MP8nC3ZD_qv;eM z934(b{!mvb-`##e$GfunJKi@kq{~xv$TXdo2;K(>x6C_Cb)r4Uv{k&KI$y~5kl#-R zt9TjNJxc9qSKDt1$)j$xm!iw{ym2Tf{I;#}=Y(agu#Ka#xa~I%R>N;EjtqQQOJO60 z3AWGcl=D6Pxm~EA$;E{Ug-Dk;kAqGMt0@F1n7+^Ltwp?gppy@ej*52FKRP7ZKH9%g z7@^kHI2e@moe1lIE~yvs^%Q=mAo)z=9c{mgb|*SP`UjoO)c2t;>7@Qp4QS_O{cUP} z&;^~)4J--iCO*+uebRbPsuw;$`@g^J3+jXR#DqtwpIcPETh)&=bV{Eam0RWk!vNV1 zY9afdsrkW@AJ`27-uEekd?VhNyw}NY_#cFR{FR1dF+6eVhVFqlJeG9=1KJ=6@oNny zEcq2(K_zWRHp2Tt-H*b4U_d{xhhbC0aYyR4gK2&3A@MCn{czHC z3>Zr>E`j=~ZN5|=a2>;{>hF06^+%wlp`N7YH+Fol@@{Mh@S)KWfnk5g->&-rcn)+G z3;mk@-&GvX)*KZ2(GFDqB%8+kc>{g#=x^^U*=bqtW7PL!oODuu#XyI!3G;Wfbt^kC zPaCB_C-q~Mu8kMaoa?Qo)BKm7 zT3$&wfTgUzogeHf;TVhVDc(M&`n6cRXT$lW=YQjQxAaR&b6*GA9M)qJOFH6}Y1A** zU+J*Bi0qc@Pq*}=tzm5spJUxA*585fogHOcz>Or1jePohJAR=zmww}+lEkaTvnl-n zg+dAm`!TQm5AAT3(lf@`ux?-g7GM&-wTN$_vZTK~?A19%;eBIigN%U<7>(?>lk(dr zNM76VP6PbdCju7iWwZ_TCKNEgyV%!arXLt*C^o>R&Q!2N7W>u3{jIuJfH~LkU?s<# ze@W$D!2`Z{0sBK1cz{*=9`OBI@h4n{J$&qoX$gB5m|r`kBU}$KqaEGlaJ_t4)qb%L zt+fHqSa)E4>YzSgf7ikKBG~4Ye$LPI)TkzKtXWXzkWOI#)1kUzFwG~NnD47}ELg!& z=78Q3sw3s^)(Qu3;ygs9WAsfsV1q03yt$>jM7vRK_^I2m_u$04w5$VbHne?}aPH~A zd$81P)jsT&8QE~8yUfXNddzLXIiIx zF5e^WuE;iIaJD<{?b)Xp-<;f=ckA7(4WFyXci@&@sb@~xHD(2}gz ztr&aNm-<@8`U~qVyZhA3(~Mv1JKRUIiywRQT5`+pQjc~l#T|-=jqhie_9Hl7kc9mT zS+861X=SaI-+3`%3^BaZsC@CwlBeKTXB{bjjijUY=j43q!JcfgN`paCVK5Y(43aLz|I) p|F__`yg$>A3qdz|zgG?2iwggqRQ%=(IVq;)?^b23{(hDG{tqZ$Zv6lN literal 0 HcmV?d00001 diff --git a/public/img/icon_pfeil_off.gif b/public/img/icon_pfeil_off.gif new file mode 100755 index 0000000000000000000000000000000000000000..f1291f6508a0fa805335a6eedeca23d5f073d24d GIT binary patch literal 158 zcmZ?wbhEHb6lD-&*v!E2_U+r}&!2z!^5xH;KX2Z=`T6tbtXZ?3K7IQC|9=K-K=CIF zSXc){g3MrG@fJAgxq7d~>$5)vTm%FT9S}XRaGk?K-j`a;YHBCiYB(etpKCj*ePEVj rI{b*M^W$2cW6c-ZE`KyIkX_y8m>DfMq2tKg8RuVYsao5|z+epk8s|W0 literal 0 HcmV?d00001 diff --git a/public/img/icon_pfeil_on.gif b/public/img/icon_pfeil_on.gif new file mode 100755 index 0000000000000000000000000000000000000000..d16dcf9e2e535efa8dbe077ac526d00c820a7914 GIT binary patch literal 524 zcmZ?wbhEHb6lD-&xXQrr>({Td*F>Mc?*IDr>y7&!@87?_apT65Cr{qId2{R5tw)a@ z-Me@1>C>lo9>qR;_U!fR*DqhbeD&(pojZ3vefsqH@#BvlKi=g*(tzkmPt@893Qe}Dh}ec}?s|Ns9Ps0tK+vVhIg0g)g- zF|hqVFlmDbSEt$HB}K|weC@}0A22`SVUxMQet^fecQOC+$C?=?tp4qvB~4os1k##* zcDN{m#HpOnJK`kD^%I~Dj7bmU~b}Y(uh2y z;?mR@v)iTN(*(uC3l)X*A|kG89Z}|yk_l+Ipy=7k%*GS(;EARmJFldOj>iO}gG{Vl z5<3-@Jo?x*StKQ7EDk6z%iA|R;1F^?#v^5#Gs(%)Xz8h`I?=mgcv@UMC+WqturM-M F0|4tf%~JpX literal 0 HcmV?d00001 diff --git a/public/img/kopf_start.jpg b/public/img/kopf_start.jpg new file mode 100755 index 0000000000000000000000000000000000000000..44dee313f8c37a2dab5a6935d75ea2da080244ae GIT binary patch literal 36393 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 literal 0 HcmV?d00001 diff --git a/public/img/lightbox/loading.gif b/public/img/lightbox/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..f864d5fd38b7466c76b5a36dc0e3e9455c0126e2 GIT binary patch literal 2767 zcmeH``%_bA0*1eHPVNawNVtR;Fkp-nQj8edfS`v<5L7TgR6wi;WfgH-0}4fE+c_uU zB6tf6auF}FAcDdgg|bMU&H)LR5jARM!8$tuwd$nHqS?K-=JNZ+yGvz=Iegxp{+qWGZ9j{-%9vvN>n3$NJp6==CAqYaF(LfM1Z{EEA{{Gt9 z+Ba|B7z_sR+xabl|E~mm-*OXmhLq??y)HONjX>1ze1D?RIn=G1`RR-%fb}zgSh6^a z(}Zw20U1L^Cs9UcyJfc+al#}J2xVlYUoR{`gd&QDxAb1w4>I~5gc?ccq(G+T!I;H};U_uyHR0@hr>Qk1P1=6fvUBhR zb|&^^cEQtu&W}=-=YR7o5UI)AD*~%J7bkVd5`xrdw{bHm;|Bf^_|FG$9l}`ruhnVF zO%=6X*I#yro*pmfB;-A0cVjz73Qy)`oa=df_3Bx6!M3TNALf9BwI*di`jhdovR(I= zFT31zui1Xw??+Ym-lWNq=V6~8tt012$@*hy3So0QNJ#eIJ4Yh{qJ+aTY>ng8W1p4BrwB_>i7AY-xmGrA}hAeq`aX(yx~=c&|=$w&*&PpKd;G@@0oXK@D0x=;tyY&Eb|HKPsM z71v`PO)na3pfO*xUD8Z|CQju)c+RSAH=5V^4vb9Q2JwHwt|-INt|!nD?AlRxF5ZT8 zaA9~hGb$~rMhQh_0+31$tkzyLi>X3c7>F!|Jyn`+5{LG=E`sIQbHA8!=`uday6D6Y zNtVL?j^`6A%UuwO!`}j#s~H?w=P<5}Z2)*PPx|5q$MM+1K6_d_cie9JVArbrB2sRy zOl**1Mc+|zLM>munG#O|##RApuODr^1+pL-?SHX+D6Dz_@%-Oo(fM&hHYZ-jWU5jf z&nBYG;>F6&Y`veoLdZ@0WyrDsuXOP)9g*C`A(+R`Ryc2+9w_DJNaf@Dzg?~N{uI_} zjV(!yygvrGv#KF*Mt{6H^v1Ve=hQyF2^E~bd#&iZg;(%dS^nM;oGSF1Y^&rY}Ian zFrp%SBGPyN{Z?t%Mo#!qgLQ2)k{>KAv?=zezKN*qPRf>^4QjcWgyxiC}7Vb6vGrBLR(1J&B%*gb{`!Jljb^2%jB$ zFBNUHANC6Q?0~M}cVtgk_;_DAB-BE?2dP z(C9OIXza3Ao-@UyqX%`5cjg#cHl!uHq;&?~JO{eE+A2KSSD)s8v&CiV$kV$A=DG@i z;6JY7z*8oPdj@bbJQoTAENW#ls(ucbGA#yhN>zbWqBTbLl>rGqOAY+` z=psSt8VQE=9+X8^$l@oeDzRvja79ry3nvLcOR7+)bIFyJVoz4}URM-47_u>V zY*^e(o`?|l++*Y0uQ#&dKapW1o?J{jx+*_gKV^cW+W87KI7hZ5viXv$$=1IR^Z~yA XWBrHU7iSEP8X8hQyAJO{V6g1pwSv80 literal 0 HcmV?d00001 diff --git a/public/img/lightbox/next.gif b/public/img/lightbox/next.gif new file mode 100644 index 0000000000000000000000000000000000000000..1fe6ca1ed04d715412072b417070b58edc5e24cb GIT binary patch literal 305 zcmZ?wbhEHb)Me0RI3mFC<;$0i8#g8;CB1z4^3tVCEiEm%xw&`m-d(zM>8x3^_Uzfy z-`{`y`0>ih%JA^;|6ssC3Q+vX!pOiNz@P)t1hSKXb)5o>ZA#|6j8)4XzuH%zbG{_^ ze#N@?HShl)xWpjPqbSpNWWf$5g^5iJ#;z51ye%s;6Sk^#+;U&|yQhtj`_twE4q>S* z6($>Ajz?_AECtI&rbV$QXQd@_u@!PB@-r|NMs_n7#0DiY*Q87>El*)8ab)Renc&FW zoK@`FTbtv;S7B32 z+1uI8UZ>8MIm2{Ta&2e0K(9J?`4S&4E{$4_v}q<~0$e=Hc$cwrrk_fm8=%5)`V{*< zv$U|}B<|>wtlHbp$7x+zQ@Fg0VGhefwT<@=1*#r=Y+6|^P+RP^Jd!2<-Lhmanb}{u z-5S{EnB;bvXE(?Ry%VwJSl)WsMrzi#2?-nCaW8c|D{|2Kz%#~%29~ArD`Grd8ct6) fh~3m8xOrK_OpD@IcTNgF@1AGm!Z1~kiNP8G#1*0o literal 0 HcmV?d00001 diff --git a/public/img/lightbox/prev.gif b/public/img/lightbox/prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..aefa804ab4417b3c3e27733ffd8f07603fa41f99 GIT binary patch literal 307 zcmZ?wbhEHb)Me0RI3mEXapT6Mq@*ujzU1cSUb=MY?%lgBEiEr!zC3>X_^es8mM&dd zSy{Pf&z}DN{_ybd|6ssC3Q+vX!pOiNz@P)t1hSKXb;ASYzLd;)FE|}DU++`mK3|f1 zzhd3{n)m+?D6Cbe;bdSuzG#LMk4yl2Q>2x|qCkeymLqPG(T6T`^K#5+VzJz%Ah!E8 z!;Xj@>twq&2Q1iO&6DTkSI!*l!%)u1Q026EfN*V=QJuUx%$ P{l?8({6^Qb6&b7n50-It literal 0 HcmV?d00001 diff --git a/public/img/lightbox/prevlabel.gif b/public/img/lightbox/prevlabel.gif new file mode 100644 index 0000000000000000000000000000000000000000..112164f3f9aa893fc71f0c529ebfdde7d80173c6 GIT binary patch literal 427 zcmZ?wbhEHbv}aIYI3mb!{rdG!pFS;LzWm9PCkt-5T)1%I(4j+n_Uu`>aN&<1Kh~{V zck<-P*RNl1-MaPe-Mh19&H4`p3`7IPpDc_F41x?gARQn(8Cd@(h&ZNX&dXS}ZjEMN zuFiQKpZgW--q*bUe_%m@hmKVLiJ1o&3^~#o*%c&v{8rj)^L=uF}!wWy-)uZ5#sUpN8P6!Eo81qWK6YY_6{t8J?i4;Z^YVG~IR5Nlam+6jxCG1rKz@GylP6EM zx3?=QDkdi+4x8R(5uFPEO9k!a{dUy}d7A zzAzXJI-OonP{84E%F4>Vefw5aRJ60R!{_tgzkgp-Q}goW%h#`8*VfkV?(Q};H1zfL z_4M?7`0!z3Vxqjfys)rvYHEtfWDX7v&d$!()z!Ut@uIi4x2dT~BoeK!ufKcu?#-Jw zA3uH+3Wc9Pf3B{sE-fu>YipaEn;RV+-P+pf?Ce}!U0qyUeD>_wt5>fY8ylZLfBy98 z)3vp=j*bp4m)q6VH83zxQc@xoi$_LAmX?;r$H!Y*T6jEOe}8{-b8~xp`||Q~adGkd z{QSzw%JA^;%*+g%%@zm*J;TZy8ymeN2gk<7KCiu)o}TU*R%~r;?H&0}y!QOlDmN=D zYkz+q`2QeoBmNgK_|N}60VMXLDAbtPSQ%4qO*wrln=U}XM6vET1>OZi2p1c8O+JfOb_a&nxT>}?4WKc8eHd#mFj8>~YzDxKvt2Wm z#T9;9*PECR0YRk(6<%oY*~0B%Zrl+tRoyF1pk^7bGXz}{gxVw|n<%)Axt(yb$XHY6 za7;OxhBU5nQ3N_Jr@`AXL)4ZDZzpI=ru91k`R;wU(VUd;j}0<1n9}?wW3-t3vl$Xu zEXkHn%Z&)neJO8m2WvE18D|cBBh{2$aB|^)af-6;h*vtKp(Y;ulPA}_M<2-KvVCilq6|Ms8mK`tZ4e_fTxaYqaen%a&Jb^uyu=^@ z)O8bInwGpp-F>8}Lt|lfyKHHFLV~?GGf=R8;4K+7Pgdoi5Gi?fCNLtXcNJdDjkH9wZY5eS86DMyYlocn7$_wi_d0S4 zaRJYqC6h!ui4|0_YF1^F&)Wq4MB}bp_wM6oo*(SS_)u|$$#JHTJU$Ui=>Ae z*I6$8ajCP{QfY{PLy?zkGY>KEHWN(ty@3H%Jz^@g6!2k5*#08xKlVdu;H56O+FxIz z>I<|C&LyOs^-DsIY&b16sdCwI9VSGMZCD!Lq=GC96|WYnG)$857DU-uE!|#t%cJ0m ziLyScec%ktR6dDirau}LQGD`3cSQGhgX0fU(w)Ty^_fR9uZ5p~Fdo~o#um4*Y0kuK zGrYyMYZXEM+2)TA8`n}LPO>;{XkFiWKE5S$<*1ps+uGN^NZG}8ZN&3eIUYZ-~%hrV`F zid&fw@_-irFYTSC@?H%yldMi^WlU;^L)9E%6jDvZ13jP^%>sW6<^&yd0uHZ*tlaU| zwcfOX0n01pcW$&2j+icFyCmUaHS8p@=39x398Qof>9y42XV@acBuSO7Rq z4|;GbKqZErf*6>hf<_jw4muv;NRiu5cJ!Lg!F#)cBecTbA;j|EWkjL zI`YZ#vMoL-Cfe)l`AGJ)dx*z=r(|cNv}6EbTo@rEgbtCP)|c7Tcd8&dVjU z%xa;$V|AyZTuQi#R)T}%93$F3O9M{eu~4{Y?rBz?DEaeox0ytkVDfjhwn!d2%fBdh z^%5O_9=zdchgC##ptk)JHuh2}AP~7x<||$1@yZhh6!dtac@QpqOn`wzUPM{g zfHx#9BO9uM@>^^18cqqae5od_F;IvEcu6m{^83|H;EE^x`x2-Y4xB=I@CqO(D1rwKt z#XC*DJ@6Ouw~Up5b3Y8vS#H+%xSU5(0Jyw|63So!lAVjYN6H|erO=g;?M`o2?`}%U zi>)a+QiTR@G=jQx4gMIrnXgOgq7*#*6u#I^qHG)EJC5=6*969u$^6hE9KFEc^~oYWJ-@y4w{hRT)1V`pO` zZ`;6)JZvykDM-aAUm(rd7Fk1@RoM@sobiK@dg6(@qy1JN%vRTZ#zz|DnH}!G^dfYI zT<~lUS&v?FNHVV{$N{?Ln_QLQs0rvTa}FH><`st;=Y)g4=PZsv(#~>omjBGb38`f|%kus-jaI!Cg~2Nu!6Tqp1=D*6eC`Ax?5FJILjO=fuu%U2koLqaqsk;a}txZm|FW literal 0 HcmV?d00001 diff --git a/public/img/logo/sideshow/logo_corpuscare.png b/public/img/logo/sideshow/logo_corpuscare.png new file mode 100755 index 0000000000000000000000000000000000000000..15781dc364ba660d0d909db6c1afecacaaf1688a GIT binary patch literal 5485 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 JkjFNl{{hv33BdpW literal 0 HcmV?d00001 diff --git a/public/img/logo/sideshow/logo_dao.png b/public/img/logo/sideshow/logo_dao.png new file mode 100755 index 0000000000000000000000000000000000000000..266b1a7c5f282dc50907fd433190597ad45f68e9 GIT binary patch literal 5045 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�IbL`E_VO!s5)XK*e@dlG~0AVf&Td$ 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 b1sn|w!wHS94f)?6FgO)O4TTyxi}3#ip`sBg literal 0 HcmV?d00001 diff --git a/public/img/logo/sideshow/logo_myhotelvideo.png b/public/img/logo/sideshow/logo_myhotelvideo.png new file mode 100755 index 0000000000000000000000000000000000000000..9693f2f3a45a40f332863fab0e88b9ed82445646 GIT binary patch literal 7870 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 Uw4fS39!R5nlv0!|7dHg|7mfr_8~^|S literal 0 HcmV?d00001 diff --git a/public/img/logo/sideshow/logo_nanologika.png b/public/img/logo/sideshow/logo_nanologika.png new file mode 100755 index 0000000000000000000000000000000000000000..d7e97fd01d10118f02d51028f83e6c13a794fd1c GIT binary patch literal 6669 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 PxCYc!bd*aTz=Hk@ZU)Qz literal 0 HcmV?d00001 diff --git a/public/img/logo/sideshow/logo_nobilis.png b/public/img/logo/sideshow/logo_nobilis.png new file mode 100755 index 0000000000000000000000000000000000000000..b8d6bd4b87a6c027ab31542155c8ac855112cd8e GIT binary patch literal 7715 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

I*lyw__ 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 G$^QVb_PEpl literal 0 HcmV?d00001 diff --git a/public/img/logo/sideshow/logo_rampenlicht.png b/public/img/logo/sideshow/logo_rampenlicht.png new file mode 100755 index 0000000000000000000000000000000000000000..3992f964b03f77224e7cb28475052494d1137700 GIT binary patch literal 4406 zcmbW5XH-+!+Q$8Jr0J8B#C8f9-;V~>AJw1JWef=wDjI@tzLm<~TqwY4W9Z@Lr3wJ9j;Up5N zv8lPHwr+4}_&bsKxxarBhwJR>#!me-J2$_yynK92M6Mpr%*&jQSpMcn+|JqEtvWm$ zjv68ok4{$Cp<9Hcp9&UpruG(=O&q(n=J%+>gd^dyWoZ9*leUejh5e+l9hvHH`mO6L zt8S+48=c+VsLoD!bhZ?zUhVE)L&+Rzad9c4sPXXdaP{E0e16}ruw{COy0Y@EZt(!W z^gz03^7QodNiQL9hJ+p%(5sv{K0Rx0Y2Dr1+u4OvDEPCpW72;6!jf_G!tVS$Ua@v{ zeFG-+apLUk%w$V*0RUi2)YHCa9x}Bx%MhM%pQhJ0|MK%^cLLC#B>RG%-WZxyG@K@Q zx2hkkHMGuB5ypr!u165Mk!Y!8P8amq;giQek%G7!2sd5w!7raMxW^m-1Ar)iBbotq z$&p6pq5;0Yh=B|M_Q_!pqs!9|BF1I+RatDgz`#f04|l8WkKSd5?Tyn!6*mYAo$Mjc zMwp^}eC{ERhl!DeT&IW{;hd8rHlzf|)*fQSGDou=G<}k}8;VBxd;uWEK*ue%9POOs-U)mU zY8u`l^cHwp&Ad(RiRm)1x`mZ@qez63!Xo{q4N1?8EZ;w=RvPUWqd7L^!Aqk7Q4Obe zbx-cIu#YL(w=v?adGPJBs9rcQZOh*0^w4{F+_a|uLn$^jVkZNOa^o-^ zxfh7#!s53HSjY6WeHHK~5W8wlO%|o}@{1ZuNo6VMBg;ev9Foh3OUh;P_o}V6I!OM?&ek)h<3a?8mqHeE%jauvI}?+8Q(ixW^X4dTq()32{I4oYISD7(2V+uys*itZa*Ov5wR zXxhZrTgoV`7#_bCmThkmJgkf|HRqC@xdLkA=tGoIAT}<#Lr;Nia`d{9aCN~i&7vq( zKd8K&)pZyi(8ffs+wnSm<5!9xs_{g_6q{weEm7fnNMpph<=OQ6~3 z$4@g=(ABj7tUgeGHr7{LD24S(;8$9$aK9b`;IiRAmtt3H-O|t+?7KWi&0WrJ9NJe{ z0du_DX18|&t~i2~(sB%w;~oHfn8-Dmld3krM+w@E0K_OtgjUU(_K^TcQZ-|wZ0lEU zJP*o^%X!hckhkKXbM*Ge{yL^7tAZ6}GfnUC+bcBmx+Ct_v*RQ#>ol(*RSiH$c>7vk zv9w^EI8A&C1y{eq^ttAX@THJ&ln!g=Dlk5#Ovf|c$C8%@W)q|3$qt37+uxYc!_yB! zM6%rF(+5-N{TVf0zY{1hdmJH_66=0_N~K=DTPzWxvA$M-;}=T3q`}v&tlrLV2+C2{ zR2Og!b2*)P35;6$kN-)l11w_ zysuT3(CJTdG=r~C>9rlDc3dj{J3}Hyr|&k!{NBEva!y4-PH7KY{kV|Z#Hopcq7)-6 zEccB%7HwNpD-BNrh6lmgU0*a-nbX5yV>tlLpRQ2{ztvQf#ewmU4U0>U?gvUS!6dMs zgc@nBEmA#8vXq9|4C=TM*wu_u+UyKg&H57l94*YSoNWjQ<+93ljO-NTe+UgnrYcgAJOil@l&UjO7#RJ zX+K>o{kO=kp&a6R+~ZRz!M@o??vjAS;7`W(w(;2$7>vYr3Rk|VtuwJ^<8{K@oioJI zH;4R!!&F#`R@I^nsvI=5^~?U{UJ-$&pk!0nN0FCuTs_vhDRh);nDDABbKJt6(J|xQ7+haRznoDm{e6b&1vFE^;Q1tnodR?knY9(ArVP(c zT}&l0m|1L5`jPQ~FNN{3R~27XK^4$An{>B)e=la(TuaUE<5H+{tvMrquC*j`H#WZ# zpyZaQv_-`Fp{TXu!3QbAf>=^uR>Am=vMw@5R*@vehb-@vbsRU2ta*BEQxEdc=vb6W zD{)VC#tT0K#f*j;YVukGLo_wt^`&)21o;j_)nkGk*^UfiN?We z6F`lu2yW(W8pqq5w@Y2bL5E#4zS|ZmC4q=Ljta>N5wwD+y_i})iid^c$?+The%|6G zu9MgVV4Mf%E;tk)-^v2}NK~@|!3A7;^Ek$>A<_O`cntaZDVPDDMk`e@w-QkuB&aJO zQ%R@h#J?$ir&+1^jXeulLIW4Ivv%YzAGWgw20D(*wJIlknb*UYlb#bs7upq~i2`M* zwyu3GE9(m<1whR^8ek@6Shgy`20)f|pdv0Ev>7g^E#R3;I(xnj7HJZ{Migg(TA`nf} zsP)u@KHY^4)MyU*dC!9K;j?v%R8y<1rWz@z`6~=MNJ`L-3&2`MoWF(Vx#J-(q{wO+ z5u`Hmcd3tp!)=u2+un-#Y06V0)Ce_|gx%woF%BtRx8SQG?FLCY=hcet+!g&#Lk{A4 zG;^T-(kD3P_u~3jF$}R(lS5RZZ)4l26Ej-`oWJGjKZ3yv#O&EHe9&&HZ){-HQXVfJ zwGEI;MOj37Ytc*%LoF2U>Z z3pyZv*DJs(vc16#_wL477(_b#wmVL;-~EG8Bi1x8HqonI3$3U!ahH>@-(n;oyT;vc zrGxoe;;ji+>s;KY){RZBJl)aso=*3`cK9kd#tB?x`!yaNV%L1?9yr?iB(&Ko&GQ{f ztDFV8qd29+UnA5Y=`iMwS^KT3Zk;a6-TE`1dLxI^KjN}3PY68^awG?dGuusXG$Hb% zZ4m5}K@X)}1sY!)IR-MD{v5Vtqu$6R831b>XKZUA@HVI?i+j=T>c-G}k9^7l7mYHh zNMgO*9PHp=09zRafwN(o`5SU+{ng<3yUIKQqlDG*_g57U5oEw;;&5=cTZeum`*rU; zoe#NdAJ+{7=pIc5S-eWz8su5b$(_><*3s)DygJ19rOy7;P&DIjV6RT=ZFL|=Y!sa2 zbhfMMP<{DTHa`^6P?exqm+q|-|5dV_7~9j;}xdHWeGRLVVI1bim#7 zMy^7w+TD?0ZgXl=O-E08^F}0{QDHQj|8LFr*zu@!i~S7#R++1WgD}6^A}TUuvn<={$@9S|oIN z`;(#yyalAB(r_hYXTpmoh8R?f>T-{|#oktuIJK-nTwA5_LD4YU$2s%M%bNf=%t4r!ep&`NH`*djm(7yTN7Gi`xg#a`ml^%R@ctjZ z_S{+jFMj%m#E*XZ|6{a80e{;1|N1}tZ=-#_AivGMC?Fl6Dnp!oFxH#q{2&CNr(>iI J|HbjyzW|G}ct29i+H3yZ{PR5nQ!LJeDnQr@45G!-#usMp4)ym{hF<%XJ$*jk=mEY=(Tk`<$K=@zLY;*w7Iz`SnS{prEM0<3+dAW0eg$j zVzS6nIHZs|BI3}Q#m8~8#S4qgA|`q9TPx>7AiLe2^C^_a+nB-?OwYU)3i(??u5b;{ zDm%^Xjby%2=6;UjaOupVW31YX>=q~H+Y@ud8WDGm-Efup`Uvx#4soG=6M2ADZG@XG z;&$KX6Hx5do7{nictRQP%X3zh0jJB4KT{@RuguM(*4Ag)b(cge$}$DR>AWQra(Q1e zX7Qz4A^~sgH&)FB?&pNfd|7tAm55E9oXTZY=<|ltIi22u`IaeMAz`kHIA65M7S#sarDiaYo-b!CvnrZ9_C1SB+mu3We>CRk|Y zpaXd0FWB{$*-h7(uM|m3o!^!^x!g4x?JI90cZ<&!Z7lLo|JgD=_GoEI##G2d!%y8L+~Prp+Kc;mnGMxKc{G$CbRiTr`vm$<$` zDkEVfG>+cMCb;qHZ8Np*IcKW6Wmat_B+aTe z{h-E4H(ot@#`ViC0tm6o3zP#m{)ag5cPj_5BL~o=@xw(tX+wc_G%aI7k9xauo0rgeiM-U6LbW{EBGNm*HNYv&kkVYLPLrziWQ;;>P)1){ z#qo=wpEZ3Bz0nGg_x>jBQhgNCL@10oifYqWLWR9paP z-3jyWk505MOjcHDBsCFI;%m>=0c>d(EWP1TnTi;R(JY8zOtvH7ijP=fmjcMVo*!dre*ii7DoNWEv z{QNGiRQvKW>w1569@erG=nkL8Sp)<8(}o+0;y_I$QLE>0XTyAqz1(6q;#Iuto~GPM zrr+I=0}RSYo&sJ0=>9p4=4a4ir+|N{Bu2aUN&HXe|6#8e+fKk=ZvM)~wx{j!e;%vcbkTCQ5^=CVA?o0rgUmgMv0SwCUzN(6>atnALn430fsw>q#5M$s=AA;_8H8w zV^C;T<8+X`B8NrD7WwT#zXZd0agaj2`A0G{daHMp2^7eC=y8VpVOX5bwvoDrDw=-3 zD{KMVyHnV~C8Fl64Nfxrqo4?+U@uw$48tA%*+^D<@4{yT&ekE~ z(_|CP?&(SL%*w8M-hry;UkZG(n_Z9+;P`?)(Q4>vFuYmbFYcp$DC7QVEI0m{Ond5% z#2)c@F=BYEN7{@K`yr^dDr{fTf-JUCivld=Vn)% zRr&JE_}kdCqWnD^Q-s5JO)SNX92^2yTSf!PkEkg=5`?xY%S{cc#keQ=r)sqd{4sWv zC!LXyjW6DO1ZP4fEq#2Z_oq%)gtt6VVnO!TXCX;5dyg5fY<+4+n3WH z9pWR6zDs@Jyc)O1>rZaq5Qjc1w;#2?@z`GVWJs;sIJvbg-3@8q2HSq56w={Cr6Vp` zLpT)<@Y2syV>|)$kjENwvo0t$NRuU*WX0&7iqI3F%{E~E# zW%OabMd}R@lp+YP0|xU}4rw^pt3+joeFI0IJWLcZ@0P(?_FD>SCC-&r&-S5J*PQvr(rfF5dj%eiZqLTJf6aZNOjy+*J;N9r1OtKU=d%$qJaQK za?%r#d`Q`TL~8YK++h3V!YHfX6*IqTww2ujka-tUx8Rt)8Vn+6>F4{e)K89~+0#a%b9Rs(@1qF1(Y>kFW+ucbmGVhgU?N zHYNHM&uIq(>|j&1q6+o3CW9tU&z~P92-Y0|@JP%=n zdmQ>9gDdpax~cWZM9uIZ10?+q2f+63kN$xuf3{3bZ&h|lp(N|>Zb(J-bg{x&(kzhS zj7X|5Nf>Kc5LpX9CTyBHlplD6BfB8mlsxP@P>m(|Yb_sz28In3ml`nctegJ^; zL5wTch19{_31S5~Y{D#G$ zy2RnbWVL6GYu<_+iN;n}NBM%T&>qXDx+&S*u6JAR&kv5^eG5hB$yq#dMOPP2%(J08 zdZ{9h>2kBMYcKIiaw!jC;L$KGK&>ybkgxZL z!5E$m?9dJ0l~~K}H@0CEd@qt1m6fP8ioTXc58ee#bo7{sBbD=1>F1-zttUVD>=1>k zquvH3%*IU(7-8vy_4Y#s&+x}CCR~~0w2cGfe?8Y&4KO@T?4nj+kdHv^QsJCIW;V?_ zl92CBJ7U0kC|@t7q=RajH2i)VggQ>wl`hCht&@Wlm16~iwZE2hqFj-jUf2K2WR4?% zf3lmuNY1~YJO3W&PrCGXkbe>GpFl{F4jPbQ|0Lzg9=Gi6uLgkCMO%w%Gp`5#1>5|A A4*&oF literal 0 HcmV?d00001 diff --git a/public/img/logo/teaserbilder/excerpt_corpuscare.gif b/public/img/logo/teaserbilder/excerpt_corpuscare.gif new file mode 100755 index 0000000000000000000000000000000000000000..0ef5f46702504f4a75e67b396433f37a5fa10750 GIT binary patch literal 3575 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 literal 0 HcmV?d00001 diff --git a/public/img/logo/teaserbilder/excerpt_dao.gif b/public/img/logo/teaserbilder/excerpt_dao.gif new file mode 100755 index 0000000000000000000000000000000000000000..0e0ee762d83210dfc1927a0be12e48839877aa10 GIT binary patch literal 4384 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 literal 0 HcmV?d00001 diff --git a/public/img/logo/teaserbilder/excerpt_myhotelvideo.gif b/public/img/logo/teaserbilder/excerpt_myhotelvideo.gif new file mode 100755 index 0000000000000000000000000000000000000000..0115b8dceb9c0efd0cf9861c83ad00543bf30474 GIT binary patch literal 4235 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 US9JSVyv#0qw^lKu3BeBhA3R#(HUIzs literal 0 HcmV?d00001 diff --git a/public/img/logo/teaserbilder/excerpt_nanologika.gif b/public/img/logo/teaserbilder/excerpt_nanologika.gif new file mode 100755 index 0000000000000000000000000000000000000000..c6c46714c81ae3dd69da4b49343d25058ddf567a GIT binary patch literal 4442 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 C4VA(G literal 0 HcmV?d00001 diff --git a/public/img/logo/teaserbilder/excerpt_rampenlicht.gif b/public/img/logo/teaserbilder/excerpt_rampenlicht.gif new file mode 100755 index 0000000000000000000000000000000000000000..b6423e158c192b08af39bbb3112ba41183dca48c GIT binary patch literal 2656 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 literal 0 HcmV?d00001 diff --git a/public/img/logo/teaserbilder/excerpt_travelclips.gif b/public/img/logo/teaserbilder/excerpt_travelclips.gif new file mode 100755 index 0000000000000000000000000000000000000000..138d7e3c4c8f5352898c4e334ae903483692c995 GIT binary patch literal 3755 zcmWktc{tRGDEyrKrfJ8778&Ym`d6wsdT3?bfO!`c-DI3}ME&Myndp zX1fesx`a`UQjOa<$IZ9~b6=ld`~LC%^FGh}zR&wSZ*WMEkMFTJperCX2sAoYYf{hX zzGNxOoTMW)y4F0MZds$5)4q#Wt7jC-G0m$ZiW@81IyeUDQ-i^zph z;}A(Nzi;3l`C_lW_pb6bX<+c)?Ce){?Lok(*S!5jS+Pbx@Bq-OCnoF1C+dbr9{2X& zUM>KeloQi3(NZ>OXjm{c)wHY_*0mKFr$p*!^w~MF>i(9w`F4|5-alB`(Um_o{z^9U zNz-^**I6>Z&?OzNHmT<{^}osGlKF)W)dOF{givwIero#NZ|T9(RY zTC|^1bX}#b?K#u34+_P|$mlcW9ryOGe4RLVLEfV%!KfbjkB+@C%0AD`ei@WLR6pHg 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 literal 0 HcmV?d00001 diff --git a/public/img/print/sideshow/print_corpuscare.png b/public/img/print/sideshow/print_corpuscare.png new file mode 100755 index 0000000000000000000000000000000000000000..2c5fd3005ee692f3c02bd534a8cdbf4448fee455 GIT binary patch literal 109650 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%0D>Igl+>lE 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 _>+@IfAmLxxR}gT)fkS) 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 h^;)k#1M6Q4FaSIhg4A>^ literal 0 HcmV?d00001 diff --git a/public/img/print/sideshow/print_dao.png b/public/img/print/sideshow/print_dao.png new file mode 100755 index 0000000000000000000000000000000000000000..0643bc1f296acd46ec76c8a469213675639f6e3c GIT binary patch literal 22300 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

@nADgV3#&iae4$C)}#=}MBRnIJeI%`3+% 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 Cp*Y9@ literal 0 HcmV?d00001 diff --git a/public/img/print/sideshow/print_dao_plakat.png b/public/img/print/sideshow/print_dao_plakat.png new file mode 100755 index 0000000000000000000000000000000000000000..84e3fc540f729d76c6a91581ef486a026ee71c6e GIT binary patch literal 8435 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 literal 0 HcmV?d00001 diff --git a/public/img/print/sideshow/print_giata_berlin.png b/public/img/print/sideshow/print_giata_berlin.png new file mode 100755 index 0000000000000000000000000000000000000000..3cbac80ce5ceb399ac5f538dd66a50454ee8bb9f GIT binary patch literal 28623 zcmZU)1yCJ9(=L3F;O_43?t}z_yK8WFcMb0D7Tn$4-QD5f5bWR%m-qeZ-up{eZEa6? z*VOd(%+tLyyWt9Q;)rl~Z~y=RQBvZU5&!@O{JP>`Aig9&X+%uFZn(~(8qUggrp|5# zjwXPg#&(7#B$74;W+qA|2F4x^VUzzsya2rC{^7#08 zE;{1s>WafSxIQ6nK~{3s&gSEMe|%)rMn>{te_NEE<~TY6jL$gA*>RbNg+jygaBCyG zX|Ropwbs!tsiI>$(Azz^EF&W$jD@aFPRcSgGeK4=jgDevd^9+{^dC1B&i&6|R9taKwR40D?Y zcPsK{EDR@Ytr&T#?o=ert({vuY$J43)}#a@OWRzuG%8-Hnmn>AZ7u7?1>+7ZSTYV{ z?QJ8)1zt9`8lob`qFkGY|J3PeFK-|AoE;w4SCJ49OsUD*iiXTLXdU?KLp!0gXbJN+evaxe;c6E1oZs3(5!NKwP`Z~wXoFXWYR9I6% zMk4MIGn1PYi%W7{S{#Xw+4ML2#Q3*ud}*!0?{I$~eiFim$JgVW%)OOGmzcksy*;z! z1TqSC8*|fdhX?obvzJRt=XKTR+bfiUdcS>|%kU`MXjnj9LdwoDsRr7n;q9Kq1AE7p z#T}c4g!mf41?ykNXJ@CgliWf&&U!kLn!1}DjO}$b1Ojn88!MyqO#UIsswVEUL^KQE zdEN55JqZa4nOGKPX2KX)mR43rYHQMJ`wW~bqH`-@6-}{l2?mG>)`Wing}6t5Yr#v} zEO79O=!9f33ckL+K0ZF~e9^{#==O^qzg++Pe0_bsy?y!o{8Ic!^mv<{81?!3cwAGv zv9a^=C0$wBqakPeZK24-92}pS>>sbk$Y94nH_N~nnm=Wi((!nG!Bo~T7=7kz8#oBO3 zHVTS%&yPi6ZB7bOM5#Ee4Y>P#aIIQ3n9|3^a*S&od2POyCEOBa?M9IuH}~KLzL*hY zQ&N#A_MS zS{kz6{4hWy88}14|7rYxn*XEwueRsc-X76$=I6ZCUXHE*ejLIEk*oI;Cb=syWG#r` z@u_EZm)NQj!W*+EcQL36&-XgH?{#e02Migx_82~*Bl8b=cYFMX5j1cIC9nq1p%db2 zSlka%^Llvz9D&X6c?RO?Qg9V7fJ^8FmN;^+Gi`WlczFjfvUL{sXy^Go{Slh~&LiZ) z{bS2vtY#c&8&Fjs00#rza}NR_i`jnM1Bfp4HfwI)5#Qr^c4Egn-e=`|^4*=UyCkAC zI`hYy*s8>ZrXebDrxu~$N|3RxG~aInAQU%97U(y?me5_0 zr~&!JJq5gkPS8-9lTSdrM6m%S9vKUMS@g=MAznV+Tib8WECf0{hB01k-(*I-UsRlY zSwFD?2)J)LIv%4uHUoPuTKV-*A1T1@(yZ-AjGFsmQGwJ^0kLCHu_V_DJ@IJQ>BhB&4QODpWGFgI>^O9$Ip!q+ zm6q*o3;p`7$M?Y&VGX!J@!;;rIB0HT(myU8sfS_JTe9X-!&zgR%x_>qMBaYEfb z8nXC#?YTH7b)pZv2~zJp>%oE0xv>P{!ilBRFtA62Bt&tg+xT-OIM`626h zzQ0)%^t_)e1tSv}gn3zBKUIx&QN8W|^3MhL7k_BL`5ugNJkitIfOC7<;*o{OGN?C6 z4kkc`zfTHZDh`(Br$zPY%MU=_-wg8@fCdvt7$)mAO6w!%H$mKJ^Q&GirF&roXZSFD z%gf&<3OgU2`7^wP+qLBz+>=P~2Qz}hw>zp=^5Y=zG@)JEs5IM&Vag&iqR@fkpaV-oe5fKD( zjxtz4a3GHq3vJnI)ssg0h%qI|kN8lB@V<(;?4WvjhHg2)xfjiUg9qzoS3I7cGVtNN z+(mFfrFM4O9x5!|iK((s2k_fDxTUK*-(7Wt|R`ki%zsJk#JzvjL8^g|uLoV)TY%I7LpHH&YVW(X%r`h~!*I8dg4?QH zoS)UVqM4u#ymc|Lr`+o8uQIU6mUX9RAR@9k8EP2^| z6U4ZfKdsE8#Rk?i*DVL4TTzWH{`|FwA(v1m6i1aX@1NSs!aVDBm>e$W2#T1E%j%kz z%TL4*Wk-mCo&T9wC?%SJ6{5Ov;VO5Cnb7FeEL6{+gKSqu=d|XdRN~(ffE_PkZH%j_ zW_m^_v^!6UsvisH3+Z2EB17#jtPe`wV4aM>y+-N`TtWflW*2F6Y?Y$|ieX|7c-{n% z0EvYme>t-05KC$ydND*5IELzU{aI6tIsGvpo;EOD#fs)jRit_ee2H-SShMZhLiB-6 za64PJW}Tq^3W@qC(utQ5;#~XFvOG&p`ws z49p#0$E-a`MoX3GaQ!W!*)ZY_K#=t81Igby!3y%%f=p4v(0VtS+0Z!!}>>W4PXf-(=j*CR96KU~U9U7*e zx1CKTGAT$+OXYC)dnn8?+`E9JC?ZWFP5Or`CAF}l-HiSgbyyUdtl5ZQ2Eo`a2)-V$sFzYP^5{P?MD#}G;nbP21SpjIgfk`fZ`vR=ZN0r zfj9lF+-!32+!c&~l9s{mOd@qb$x?bfxSPRK3NF(!vAj*q_9TZdQ0F~o>aAM zXLkFx3o{^ks5 zFauej`t?#KTc7!_FtI;WRtvk2d}i#dsrezXqx5ODn&`=00v^keOH~Mm=2{yd#IaVT z{y-NiVjU5KcJV)L^AZ#_G(mMr%FNzZg5FhQ`vyOQRLn=u zx0CEpr{)dcdtpIa92gTUeP|xA6JM@ zF=5o6b?92C$->|iciK=W7E&at4pyoC#UP?buuVyJhFWZEmigJn2sI0azuqRg{_x3# z*~2h{1}wm53lU-;<;4D&5YF9dligSXlS)klJZ@B6Z)W^+2={C=w|Z=#=)4#B8-qy| zc_4(u7I{aNE|#Jy#B(aB(-cEz~C za+Pcb(Q+_g*>`_cf@9nvNcl_~KKs`OGj5NN^0^;}q24od-U_P>r6+RneaIvF%)L&R z1N!jpGgz|2D+E>4EFl7R6k82}K7fi|G4S4%t~pSqTrBpMY~7Zpm+|(e2d~^eHKFiCRHzV< zXg%AN7+>e;TxAtkc)-B3Hr|%Jsy6;w*B`%CjviqBvYdjsc8fXJG56NQ5;|*ABW`xS~~|MGclbLhXJG-8)s$n_=W zTOisDs>n=Z5%=O44b<5poL%Z$_)rHhfLNePRR0>tq!ji+8{wYSa~ON|-1xkWy9u)Q zg&aS%z#zIG`?FfuoS@^r=|k0I?mES9@3vFuU%0CF>B*lzH~I;s zSB}FemH48qJF);3xep$kVlL|fr58h-#CwhfYfjQ!0J3?KZM8KL{1Q#n8%``BPlJI|KX1=`3Wi$sO)k}J>xs*$}_Q;vjIw5*kHhT~6a zA9SOz^U}{$AJ`rmizk^JKVBWY?wLp8Cq-#CiiO6s9t5CgBZq7lLU#>f^=D)#v6Cs2 zmK%2WcYp4gv8n7tdY(yuJ$2s5hq*)fc$9vij{%xoIYvYmk+&5Bhq*a(4G>l4(Za=_Lg^R=PK`Aw1R39TIh(7hr=Ki1>3w09_Tdagi>k|KB4 zG|5No?m^69b8vf(;@z$>+a8|Ft|WB&;rY#JW7(LL6Q=}RKEt3=lb6W9N4x1pp#nr@ zWkmz0yrv*VG}wpp0~WBOHiuv^Xfcgctx7FTiY-k7>c!TDvdZf?QbA6GV#_}f)sv&{18|#9JYqsdYKvIBlj`k z48Q#63E>sKj=bn;ZCD=<(j3yN>F}iy=)=1s*#I`F@*9;(uvnc!eS_+$35ZarW&?mM z8v=U!^!g2pAawj?zOf;~6h&dcpnCAv-DrJqro$w7phX(bsBV&cqXF zctJ76#*u+XktP>uXigywyC|kC8rGYw3%+rNGX()ggy6UK*u&Fo&h}LysjYs?6@GWk z9R)(OKRsaM*faa%l9!CaR*6g=LJ2&z-)#rPNYnC^-RIx!aN;&*p7g>H6p(J4@N^iC zLg8!JSF;i*qXt27aFE$&Z%KWJ{0ca`_h+;}U{D|YoLQ||DLDva(lJmiG|-EKEn`vaiGLK(a#;lq1|gQU0v&2 z7JH@Q@OFNPvs9BMZ|}nSiqb(4aZI%7{4JAAR%K0^WBq~tw*@w(NVOa+wZA0qY6xgE z0O)>)og1APGLx)0J|qhyo`#b4(c8(I>pH;>O-RJ#b@}5rgqkE3e_~XdNZGWu-E%8= zaa5^>nmTuuNT~f}_0J3tV8bf_NMO(jQy$taAzJtJjpi z?Yba~f_44Vk?kvV=RNo5Duxd5;Ql23A@1K2V1ZlPyb!*2-$e9VQA=14er==%BYDiV zvY;XECbDJt6(P}{@W~ZDJD!~YW0ncTBSfuRk3B67=uohK`Tkj?ZN zNFc#HIQ~#6#B9Gi6KBXX&O*8!@!eE3R`POP16FV_YeX0KeV`m^9$K0#cJ+Y?D8;3k zFT_*L6WM>4eHe+Kg0Q>|%>QSJyJ{m2v=ByMiF@)+7>|3-RX%nojJ01dv0e#@Dn)>S zoJoFaA0k4aIv5h0@$_-c0)AW1K))6~-gloHpZx^lOb(LE6k7m(Cc5ml=V-#jKgg(6u0^ZRp<^b z&ocn)?RzcGSK(|1THd8n|2I*NfTP&HCmotwf9YZuZL54@@>lm8ppuMLrio$EsZXen z&WUc=a&`Yz`D*Ht#dTILL#6Eu%3CyGj!(Xt@<9_%$59##QZ3PBzAtinJRQ|JSO{6D zy~@q}Vyp!Ws^+vJZR3?k*Y+)b{FnwSA-* zKVeif0MkiR|CV-@Z&z*7($r*9^9)C6ufrFACG4Q|`}ax4#P=3DhE_1JO6j|zHebEl z3}|3cUUIkatdL#onxAt|%Rd!UH_au>VQ@ccH}h)q{g*rz0mt092zzV215h{mF8*04 zAjLQ8PxJTqKDSkUi-RnBH@z)(GwlQWkE9+wzu3o%CNHi0#@|G~LvB|TbU&S}(7Oth z-j-^S@Xk0GTD@bhd=tT+tPHw43-Gq~AtlJ2Lbp48pY27WLR!2Lpyfctg{1@1%kz&kuQMzOOJ|8Iky1XS@-!W}J-z0HvYtAkJnt!IE{d*V zz6#5kwR8iTgD+}|ZMol!Xr+Q_w!_iEw0b;_sPd@63aewAsj&&Hwcpm;MqZD!J5 z6CwiTVF71K$`9%xoZO)!Gu+yS&y6A#A^G;XYq6 zN5vJ;A|Uv#RQTBHF(cK0;U=B(*jI!zizA;i$WPm)#>w)RLb8hL-fD>raZb{L?>;GI zLY+>M(L&)=g)YJ$Us6$vyK~mWg5>~*5lx`kzc&!hpTUXWds$16SO6@=8~e(ERo;iwt(W?n2aS>Cw- zB~2dtyX_{GFq50O=O%TEAL#1woJ^k?d(m2Nbel}rHp0ZL*ZnrG7ehGl+t=ecX0wMu z$n`v1x@#ncc*5s+HD;o%Z9kUSugtCg@Y+xC`|iJ`2?;7|sC3YDklS{8t#`kPJ9s+a zX8I5|b*JqGsofm>4ShPls%0Au3GUHtR`1p1M*bkC>qK{*iR}pqDll|hK9l|8u5N1K z2vnD8M7o|`|9sPp>(o58TO#{YQTjdU@b+|SMI@qo5cR?yZGlxnf!q-B- zcREVCN@GP9oZb|0I?M9V20OL^s{?CGG@C3t_BxW?fF3RQd1AxvmSi^-o&D%*``o#i zp7~r=_ZH<(3%23tbZm_e50GXw^a0Uuxj!G#w`JDotY7SZ)MJ6>iTwx#xD#%(xRkGwj$-Vt22-E6sShr9?1 z?(}iJy;g5`tSDchuHF#&L+`>}$<4U+zbmF-g8*-p8oNSL1OnH)hiWJ0EzRyfnJDrJ zTd9{jJxGZ@D5;2Ke^Cp|QxHY(){@OOtKD4#PP!lV{*TC#Yg;H_OBD0lnv_GOIoYH_o z1MQ*zPf0~77?-j{YI!9(%VtaeIm@JR6_al5BB5|2Iw>K2lO!p|!C|e#A5YBK1~QO1 z48whH>`%L*2E=%6Xk4pc!TrjOhGr5_0G%?+1%#jOF9X-^46QmD5C- z^3IdZX68jh4$S_dcGwOBaG@~-uv18yb5KO?-+2&_S4PFFz{7Kr1gTn{7J$DMX+;J4 zu?7~^yk=CVUBgMy&t1_8n(8DYg!Cj}>WSEV>B_CxI*IN~gtF^moF z6ZH16?M+&}N#(ZPe0TIXPx9ZUzc;e|RxNH^dpESv+0?;PQBxZ*fCDa~+AZu72nQix z0X}<9!qN$Wz+S#Zt%-N2T5rBZkdUVs>X*^$KrU;fHr(NiG*)jyNG#2a^rwZQ&_O5Y zII@<%6~=ZnxcwxZtKEH$f8-z?0!fd_3hL1sDUEk7Q)|yhi^JilkjS$Yi%_kKuj&(1Yv{~#wVmM-!za8 zNnfqp?0)Kexbl&Wpde~ro88&+R^&Luk*x3Y-XQL6vs@0V$xT!= zkU_jZe2fGP?5rqoH@-xEWEy6b>%^q4z34yxG3>_j*y98eRqrf&85vMqWAS|B9QK~6JuW?ABbF$9*v?17wQsTJbe_CyQl|s%U^2I4sV+Wh<^!IcF78Mn9Q!^Swts=Ry0;Sug@imFN#q-3PBD@<+ zOiZYMM^+7X#c*f4G%j#91_pV{fL%7ZRf(@m2yEBzjhGEHA_Hgi#xLhitghLi6TN;x zNLr!a(u!S%ht2I_6{y!8oq^Ny6O{lZ`<_~ZDiAN%+7(OVuW!`w+Pq7D`R);bJw$6W z$6{i|_5-(l*ol=sW&%(X)Y4P1&{Mb?@e@i!rO$cz+CzywpAzpPkeG`6vHRSc z5Ps`j#RCbYmvL+a5};iLik>Y8UuiRg)}TQIwX+NXb0776>|iS%%>gLnhM_b2NQ5&d)DEoCtr-l5EE-&Dl!h;qx62gX%B zI7A*pW`W0nh$+6|7Nby~2cnPXB0U+Niw)?L?-*C^(1yW*J$tl}YX~v^&ijp?eFAz> z*(?T;2LsHeV>0#C+xw}V?E7Sab`UzdR-4z zB(oMBqMne6{oX6sAEe)n9vLbxb;%UJT|W1bp`a1$oa{{^N;s~nuE46&kZWF3TsNsy zxa6Kj)*8%iZ*C$YBb(M`M0{DT!AI@Qtoqf6J~2ZpN4Nq@dP49mIx_3pbups0hw~2g zOhe$QxE$y5qrvX$l=6(7A74gC!?leD2HbjtAlCXkzEUoMKH64?Rd2ziV$wp1Q~as-X=Si%YE6ga|*ILMlgi0`2yKB1ITq zmS~i2siOcVZLIJ`7wg{Tu@d>*oMuk6Xi@o`PMhIIpFpM4)WR+K z`#wSTs}m9uiOEeNNOWRf6ygS;$4r2bAI^e;R+?s1FGitc&5Xp9IG+~JB4m*5_{7Bc zHt6h!z%Z@=euE=j!Y)>hGj1pK&NM=8+N|2TBe8#%sJWZ1m*@FY$pT>-bkdMs53ie?f6Hy( zrXXuBWC&P4YfjT9*8xWEI5!P@vS-BVt*ei#uJRYef0T62V@{P}juJrZ3Hl)xFi=CD z>1-}0_3RCdOzqW80V$Acy75{;{3K23te0}i2XVtGK@0&;Av7!%p3dVxZ|GII#8i9ad@3>Xtt>S zIYBhP@3d3dO-zcL+RI<&_jRD;B-Q);9H;oGI#$%9(M%aBDVLyt&rDj)&3K0JFq3AC zc1e9c2cDIskLE%_={@VJ;%&Oo(=*dImbK;!iz|lLk7SUrERW>F5*W=2yY*WFXSNMO zNio)2nm%%BKAf(KxkMBH<`XYLc^%`3k-fbI%Y&E5-^`Mg7D}>IwzQ|Bi={+syp1A!Tpn&z$p`O7Ynq?@`={;gM6&L(_%@~hF2!@z>;Ca0 zTrIuKiA(2spuQ7rsm1KJ`ud*Oga@$~xYt<;YnS`-TZ8ruP3qw$A#5>`8a{LSs42SV zZ54%RpDT^c&^6f;tB$Soqn~cEeEcc!bOrw6~!ys}l@|8<-G1ggRF?1xPhaa>vB)rJ9@y<*!< zc}Kf ziafiyaol5T8uvah$tLvU{AgNRZx|By;8k{r@N7Zzu9Hbt8)MM?a7VbtF{@1(ngb^! z&U+}Iwjl>Mn==zBAL~x_2Yhavk7)3~f6D6YJTE9p?kq^Btp+MQWtyd3EOL>Gdv4DuV-!u%S09l}-E#W* z)r6-0Uig=ko?iY9od~|)$cG_g7lvE`$0gR3r(&HlsHw(}A=&nw7t-2mFe)a;C$jl@ z8O}W?Z1*{NO1m1O*Uvq4=e4>|pJvLVk z`onTNv!B{yY?!#Q{fvyo(~#o~!~ABie8!y9UlwmnXeOoIvI4Y^K;^6Ix9=iW=HuYv zFIt{RPl_G7(y&u<8?Vak*4K;4PN{FX=h~WPw^EIZQz5eIPw45-l$(!lRQ4@QBdIj( zoYXUZ{JX5HyR1aeJA-xgVEWAe@MENMaqy+lImGn`p@oip>WNvIwbCTvQZJEE{#^FT z|6uP~is~+Q=I~TC)L#?v))~7KS~N~d;TZeJeMnMY4sq^Y;86Nd#QO!4Hn zfAeq_j};|bzwhvdjH(b@U>5{EdWnDWWq4k-&?g#RH{U31f%*_-3Ep->ZG=RfH`M z-hpsA&&DFRue5|jyg+%&4gsZuLMx zlWS_oB&FRL5A{ymU&D-DXKptOanm*GHluS7FiRrOZ_Foa7)#2G*62(XQc5U%QF>l!y6J2PLJ2z)t5x zoMeq5TPo%;Aa4M@FjOoozUmkdvgVZgyN3>3(kHw9I=KU8!qTVOLL0PtDcj+iK9CKjh-`C4`cz z>2XOcPRG+~;R55L6;zX^h#Q0a{G3ovUT^A9p?9d1IM?U9s(?J1 z{{X;tAv>u1PQQQu$imkUATK*mN!ZhMEjYi8wi_?~W?N-VpF|7SG`zG*t*MG(dOsK5 z+&g`B%ciS(&e^GF%hxDT85VzDLx^=?_T)M>ol~F`acZ_jFtGah${}rEiSG0dEl{_t zC)V+!Tz1R2g`ML%?5o65Cxgb8?cN7|C?#JvN!jmy9k|PwIn{T+Nh)TgtG$cZ#1Ak) zhnCkcOA#qi#Pd&nk|TeiCKK{$GB)NCmZT-+yJC|lsnz3bk;mtK$qXCYJkz!E#EopY z-->ek`1ObC{8whrM1V9BMMp#kfWPh6;D(xE2pWP6HK5qHtsgECr0&Ta6&x}7xn>#M zKjgrK=e4+AnDdf;RBpU)C%$XSnb+dMbu&ee&bW_Gw&SUOVXev0l+k(6sz@nb%Fh2FJCksoqIaB%_hVQ;i9~#an(Yg?6uMe)6d1vLU}o+ zy|Y0tnp-@8N7z^rsOfUS&dEjeJXJ)!JKs)Be+&WplW5#QfjagBK`cR%XMNYQhZ;OQ!<6-SVHTfR$SvQe zQjzO*RVTy3lP~BmU^l-E7FP1`kWoBA>qBvyt*5i-5Hy`#Cyu724E!oL1m# z-UWJme7ZO=drgJjrDo5{K%?XJ2+$KeWu4Y9LM^G%9IZ117}pQbrs-vv@(dfgwJ~I= z;u&*NqV&G|9d~>Ixw}c)Z`~CtSSdbp#ERt`$uC+6 zJqHbM$HJ3}{w(z!il#8GCg0wV;!x7ZQ1{|SDM?8jXD87@Ax_Q0Qt~NG#T7^U>Xkn` z{-~AYYz9-O?2b|2vLkxMyv`*OZ6ItHa_%u03^MeJB@tXS&p}!oOC%_JEk}zdzv$BqMYq__K_V!wUA9Os}>)$^xqPTo@b_~@ERu3>bC zc3*?rtgjx;Rc#L|@6Mr3b z(C6*H+QmulKs{Q4;eCCGa4oalpoxD}l37~K2pG=U8{aZ;Dy_4Z_c=0h4i_20qFe9(P29g7;l#p@+ur5KGBLgriw^)0OOVqTf{O%Pmw@sltD$Q9>|l>3YpVI#*XGq$kKA+1C-=41`Tqd_KzOne-rY-M(p8 ze19pvNm9$~8H~jsI$H`>n{QZUSgTb*_1jY`jnKz=tb$QDchxSn@~4nIGB*$E-OjRh z*{GT=;4Aqs_Z9;M!(-neD5J{+V5+qd`7B}n1!3%DcwEi!M?-N<$HZEVYdgN(HhG&^ zjD3)Ww>6jYoyrI=HD({0C1~}YG&c?wb2pDp!WKU>+7B)!$JI8_)8?@nxLGS%D=Ar@ z%Q;C@X@01gjCHIdKMARzjrnnVo6t{M^RaIGVG!Nwa=-=lSuJ1MFiq*!Q?um472|iq z5VV4JBQ&kk*U|7iX~+yMV6VSX6xmx$(XjNmy3);IWUMu`9!@Yn z1n*PzQmS(o*pKhtM*Cc#L?pL`+!{y8D(chxY642V)0gHjKjFOU!AY>G~@GjDyMhh2xHA`>LZBBmN3e?HUu_;IR z2+Hx~@6PUXC?9aQ;u`CH(_vjJ;Pf$%r{FEss>%dZo{b*hZ9;Q4Y7hn8 z4IN};R`0$UOr7SgOa@mSb^V-q$N7}HYiapM)YVT+^X7Umm>y4aFQ-+qM3>I#lKJoX zddDIrh@V@b>=u5o!>50=(ZMLlyWfy~K9#l_{G z{^DZk=-;wh?T}&u*>g&pAM)#VTzphA7Swfk*%%J$Nsoqm)C|=r>!#^Xq=n!Dd^MSj z?atz-AFJYtYEbyXLZu!b1+nAH9A=eSjW;KovGZ{ILK5lt=&J-+8VlYRx01x)E@8_B z9BgLx6f|QPs;7~^663ueV(Uqnho{4jaEb<=;|if${Q8BNBmb*SOR)gPAF$t5i2Z*@ zuHt?}J}M>qOG`lW#|dZ=T=~ro-rFLafG{3nu;NkgY3oY^^;5u=&4VkMXWMQ- z)98Bv1et#GhU72wWG||3YGPI*fpmc-B?{D7gM*7Yv9V!u+&wMFgH3-k7P)ImAjN9J z(z|^`W%Or1dQZj$H^`SO!zb1jQwa0Aum3Yc{uY*a@YCSmB=Z%qsj4e^OAp_!d1N{k zna744!Zv>wyygYGhgTfe^N4KcFC9PAStKO~w3@(k#EcA?`d z7-S=e=d&W(r)pv^p<>~zjxjWp;XF2RT6Ip)(7n}z^U$15B!0bfH_Fs-&@^fNF0XE^ zz0T>ea(^JVhptjr4 zI9_5oob3+|ReHC|7}AQl+^77brbLx*DKg()s#te$TKaG`Leb5BbMVab7*Q%BF^YUe z--y@1c>Tzf7i)?SCV)AMd=&~)I-hGeqP;zj>&~|n`GG{h01qw&hP=p4NlK)op3Ftv z+j*?``W;}OQ~;Fl=pVirCO>5S4J$r9N=0=p!!y6+NRjs~$L(^vOS(Ax~$U7bI% zT}xMT)x)&p99m(mNm0oAhXwU-_=-6*oUAb^hPAY`GiE};VY9?W8raA~3G&NAO?nZ3 z5gYsyDx3-%0HP^MVYX=RJoqN$l%{41fxQP5L)SoxZ#nWq+OG7KbvDgAjuTy7qFBVd za(X(RtU>25qNSCUZTcEMcFa;fRjRXcuCaC`@N|=6wRFjch;w^B0*M~d#GedNR3Ro! zphXk96FRyCX-liA3UzO_`m@L2hG;2Sw(26j^ns80IU^sg@L^cAGaQoIcaGWQ%VndW zO#jw2WqZi@(tO@|cJrdVJ@xq6@uMJ|3eAGD7eGASc? zSr`Sd9~w(s#3n`Kzz7#3*PfFlV+KFgG<02*Lb*Y*F9f(Wbe2kh_p!AjK>lQKTjc9a zPLT%u<2J(w8B=bmjwSuHg1JdWCE6#~#I;2_V==TIYB5OkRZnc@c3+C99T&u|hE`*0 zbs;(79mj1w5?)RCp>(aP5O=y>Wrb?B7{QgEFX%j_&RZQe>}y08G3kYAp&c?*WV%hoLGx!uQNqg=RH9KcQ7?4|+pZ z9W8BVfulmXL>ZhPKaKEAd_NSQkv^kbqON%~B%L@iNIA|CGdFb5Tk}j`gO84eUe)Ux z`X7Y2Pd6e4+bq0N&VNtR>V~y8TR3d&LF@!^nM^ERv^eIIWz=J@+=syFru5)2tnM<> z;zi_hNP!C2+1U}lYM26!EV4FS6DyLiSN~d4n(<(twly#vCb*vjDUXr|K0b=QE*|_k z%iFOh2-w0&I*kubv(sscRx-<$h|kaId0ivaI-WPUog@&@%(zJ$E{w&z4DPRa8K?Ay z-#;Ht?lXJfrJtLh`7C;{lDfE0sJ#}NAgs8$W*<~HzP95Y_QI@~hMKfxp|QjX%(WAP zwRk!&dSb2wtCC3gfXt$_?1(cS!wkJiA&q~kM8|PtDT9J4tD*Sexjm{n@%Ho-#x8bx z!|{I@wb^(24fK_gx&K53ddK}h!YZCK{z`vP3HPa~oJafmctyhdTPDupEJU07(s^r7 zP||Q>gNgqXB9~NC3rdwM0t$G6s%4D4(p8rC^8__k$ps;aa2D zK^hV;A^$2}m^!v74_sPx+^Y5u^q}nMm~839B9&AQkP&dCVwTCgBaLBW*!l6%wa~O; zC}7uk8KcDwjbaCLB;y(zu?Q@98`urp`rm?Xf}R=q-Go`ZDM<4=?~_wfg0g@A&7(|M zf@Vwjd1`exhH`De-WUD-GF7;!&NdKC8|hHQh+vmO!4}%=IINz5A8!a$Z2z~-PemOL zhdeEm(sPsO1VkQqR^yR@kt68U+{!~=!9!N4`p5eizlv>SMp7hL$08E66ubDeIfrm>n^7%E&R-HJ9HRI6 z61X~5O%-&`L49Esi4G<=9wv@XHGahiBc5_<+)@$44pI94{q7?G=uD1%DwvE$vib5Q ze~0Xe?-?}SJg>=p%&K(Be1b*Fcyx3b84;1((N`Cd;AkTLixJkWJUW0f2wBQJjWVo$ zgEoeR-}DWI@){>v1NBX~(gjXav+rTDWO2yN_^BBhdDm?p}~Ve`kghZnP2$EaiD zQw4lVZrKKozB~u1;UVyNO*x5@h6F6^SsV!+ZY9A?J4dhi{?hFo~Zv}tF`R2iE;dO-zWc9!XFROb#c6aLh&eW{ez}4 znx#1TxCz77UjtTp*^=%ZgF5;;<_gLTI!!O+hZ7)kb($Phd5Wrks6knLEq>?pwGB_Sed<_HQ_p!bXK%CEXL&vB1!Jx7s|}9UW@?p6gHor{YAA~SLXM{R zYaNa0uT&pC+|@3Vb={~+msF=$byb-TcAZJDJ}7(T@GIuN-mVtYh7GcUYFSr$)rP+G zg2PeiN#J$Kx~fqqTvW3wnb0Lu6gboH_G!K2p8^Ii$Y*H5gC^p`_NQStohn9!>GfEC z^!5uYVnRtQBW6W(;-tN6HiasDlBLM8dm4EN#J0LQ&SLZD%4abrDaz@jC=3iSrY8Vk zN0ICw=JM*K`3Yx^v?RpBb9%x2a#>YX*UlD@@`Tugou;ZY-|Vb5YhKMm=RbdHw?lGPwtfOb`c|4i}`Gst*?w9DW71%_bS_n$io>Ax1j9Ve5vf zX;mhOjtUA2OeV?U0#iYHI_w;*5=^qArWB{N5GolAhWz}Br-Z>eD*+Ccg*1L&lkr^h z_7z8EOKLt`(ZNQqYQ7%xf}v)5bJ$01b89|YaeeXrS(SSir>*&RaobcI%eooB6-88N z+L%g-@?#tvm`P#D$$9`8r;?M;f8d!Btd*=q#S0-@ii#X-9Y3I2!rBnW5357uKfF~G z60-J(zP>)W+2N^cfa`v6tga3DVM~a-SMmxtT@VYuSz@Tj)MzL@MmQ-t@Tp+%rhF?) zV@8&p-5i#3D5W{9;oynjRUP_<{WU9^!_qQqwoecIsBQ7lA0rMOuuN?Te2xx$;n4o6 z7TRb--8_UG50uQ4^0z+!G5B|y670MYsb{5@(y5+X8-?l^z(qz5v;(4HG_Vx~?iKQ| zisbU5T1io@+}sad7Fg@Pesf5a!~ur8wieZ?_4T2s3Y;uSaH-R&OV;a*I^{`9y9Au9 zr(h(@kVT^=4vev*rY2Mu9ITvlv|~~SPOk~pU#MZ1vC$DHj^-Rq+#eqwQMMwbBj((N zqm$09XjsOOtdONea4afcN%7+f;Q##gR8tdZ(M%L0DV2rKg&@mvYt;VrIcD{r{HJlmCrpL zUi8f}4mFBKZnTr3ofxZGM$E=L*kvk~WH>vc)oPS36-HrBEqN1MYNsY&@6>~vZTIAC zA%H<1xi)F|7c@(wJEcXFNg!W;ojQFj;xF9I2w%Cm7G=(&$s|W@NGZq}!w0boDc;2t?aQ3fTIkwIlpsk+Ys z*8;RMh8LVtd^UrCFUDoehV7AZfw}F;YQbtbb0&1_8Wk0fyq%_ z-Co_gq4k>$)z!6Uy3CTb|C?HJQln4S=^+}%mA1p~Jba4=h2vKp%A4$9eqGf^+Y%dOemW$Kq35F%$mq7f@j|{$=0_4q9Qc5KW zE^p@19~@^)vYkl~{>1J~icN~Gf>5dDOj1G;Dq)edm>YMS$`e}3lh8yGT$5mq?J6j! zN@$5qNZJ`&-f{+>5|SM6G{37&R^mo2Zd5vxwef%RlhZKPdsVU=!B|Nv!!X*mqnb{a z%0*Hbrr|I=ri04Iux=;DX;f@yd^AI|Dptj~NzmRZa@l~290-kItPC*T*5JoDxaa*z z8l|D4xGAei0so3~`pl*cvI0|jRh6j`;-4zms4^AEstT&A3JPjvMW)8ag45|qQyL4V zoUTewIud27hLZ(dvZ}_G^rQmQnF4s3JY>Zw_|2T0tvrco^;BVW|5Gs^yhIBKv5ehL z2iKg7xsJ!%=r(m(Vp-@?t}HDvv5jTf_;_{VQ5zdQwM^Bpzo8*9wBab3n3!leaa7e1 z^lb$I3}XA6ALHPjHN|JoW(f=96gQPr$V^cZaG@pOimjCe$kA|h$Xd9lHoj0-_{>7(DV@?lYPCU8NaZ~73|^pP z-573U?WrF%Uk}`~;!s%3ru}h z4(yHlsZI86#NKP)R@hwwWdN{08Qk+zQ;A{R!Z)6IX5lkhtxCCPt+^e!S19i3mxM@) zQ296b&}N4Oo8rFBmenZ^ z$l@Y4*%u#(+qCJcwy$0|u=v1NO{jZ^n=9+}pAAM{R;rG0zKXr^>A#^bK2P zX4zpsg~4Nj;5UXzo3ZB6K!HMb62JD~8U?D%mu2`CV%R4EHnKK)ds(_@sf;dx0vVlHUi zCYJtQ>wOgW4O-nljNRB8}{oe<=x(`%#JKW5|v@i;w5&J{pGqg%w%B$l( z9ruir((do~SAF4F?{uePj5x$T>380ZP;9>>O}9XXB(6r}JG_s}=Q7axKdrSY}sP zEd%*(`!XwgQ^t+cpDJ6J>NKYQZZ$A;wFEq?012v9 zd8O8Y# z5>;g~&5xa#5Ze;_kEF(ygvOQ@)6^p^u`MlC36jRCrt-$B`Bi6Hl3J1qYHL@g?a~=^ zuP$7;@VrWus#6^jOz_jdU^GyHGd7^DN`ZzS84|;sm<6TMItMtn6(HsqaHCWJFJoZb zbtsL;ZB>s4|NiQ@ zj*QIsxBX>;$9iqj*BpU&<0Oj**Ickz85|pEcr*A-%ne7e;1j{|ZJZWpi@3`rs!z0W z42p`FL{zX+H!QWouMFmUUTVhhlZMP!KTTHV<&|hpO~9A5Jny8ElNbKmtN;GY8%y(=GMuY=J=I32j$9L|N*CLTS ziX3Khtt1M51mH6}ghWduXafbst--SkD;5%lvT>hg?xM7RoZ9QRCLLqFU$mR0S=P#? z2G0F)QsvyxC3|DGuZW5H_M?uBRh60gn&y~85qtIn!VQ5xmPQ}4bER5a)0Jrx?LF{98^bO$)F%T*p^rC5&_n~Se zhtLvDC@mBY!{hPh-&3bj7JgIvzAt>nEpe1QRL3*ts~3%o z@Z5?_Lt){rQ>A};_iSEXh2g7SgeaQym7_}G-u8ZQtbw<+wJ0xI=o($?fS9Sa2o;l} z<|}YYm|+BdOFkr0wV&YQY`bp$$1~65=MVh&_G4_qGPYI#U&dnHI78w$!xp4f?g=D* z3=N%L8CV(gd5Zqcz5Cy+nO^g)A?#>SBB_cFO#3{IF{B0UO$$m(TXSvGnrwx)*`dA8 zzYGQvyc23jot={M?+c$9_XZ$b914+bf3L~ZD|g8I-Y$?u^+rjGy5u2_>H-;__x1P2wm>}87<;39TP!%s1xW`@GI>J!nW{5M5GcW+ zGX-aM!cNzj#)31A;BPm!Q~|!LuYaa2#6D#|d-c>W}^7$NR05;n=SaM$`HTNRGu(Ct+>&zQRm9Gri#>8{|!wWeu~U+Ufm58 z_=2w$Rg2I??Nw0Uh7jaR)z+GOd*!trlZ*N~IM9refb{W6pXq?VEcYLpH$GjMp)H)$ z?@t2%20Go5XfzsUY#44tIC3tMTJ!)MHlvZ|DAXOgKMGZu31?6pM6J-r!y$Pm z=3U(<)VOgJ>Os0tSE!^G|IMES9_tL&8&NNRq=`M*l{mqmY&#d2Wh-ICoE;3RRYE5) z+=&Zg)TmdQ9j@W5187{!!U4#BXE17+l~z$vs!VzH-Ic2Q^tLoQkrQPQ0jDn{&b8fjw*!-09i#5Do&BbaWDxVHIi2lX=Goy_Hz2owM475{F(tGZ-QK zPVmi}r{4Iq4DcPdR45A1c^g%dno+x?qL88xps7jF)eebigFK`NEt-U;e^Ik{K}9=4 z0!vTnPNlq>@?Q`msSNoBo#0{lb6uS=J{CQjcCmtPra>RG9M<79(j4WaXa;}-w|T&A zgYbw(d3R3Ca{(A;lI`%MRx)6jSsUY0`<=l+g!gArz_?dmD}LkCvtCy^r)xaQZ;$Hh zE$EUpRyC$4)Ium!RgfOrB1wn92~96ZhB&-dGU+pIiFV<*Pl;W+luutR%ycu)`I*3D zeI#o($zU{rF`SS$OXD5qI!KbG2tC#5a=AIiW`nrM#@SUgopKIMO6b8N6BZW3Zs*Km z7+2QkcLpOrYY(1mG+5pkceXe$uQ(sA@SXM3cu>=QeZ5HmQ+BtsBqX#Z>`Y2Xh;2+b zSe4My0`XFd$z(#~(~{b?UtIW1w@WpyK{;;Wf2F1_)ajI&d%h7yp`V(S&!%@;vGYcZ zwbLjgw(O%0d{z81qN9_z>AXp~8Lp!3&>z85=G2T$Te(1K(VUwEnw;=tN@GG=trPzF zwYqSapLKbK)=*;qH0zW;RimVYCEU**=mio-ndS284b^6IdsI|))Q$cP?NO)!cq`cF zR(KZ1ptpR^Lexv8j2oA~5KB!>J*E6a7cD60$Gf!M*s{SDWQWmso?(cUVa|cX?^oPh zwLd7V=A-!du;z0MUbs*hv^aF{frup$*Y>8ZS#lySy7JJ4z~;{XpS^DZZreK31<1e_ zZ0~jLQzC?E7Fsh`1Ze<~Xg(xISuQ0lWD|+wxZcQ`O*)Y%>L!hqmEdY2Bfa*FSl8*T zOs(jo7Mx6WJZX1Zt*y;&lQdQAW<9YgZLWDIT~qYN&)L_E=gw}c)>3x5xfj0YfRrDx zoH&-83o7`*5dne^h#$ZIanAq$r_jF=W2P{=zpHU%s99b=&v9@O;YAY_j_qyn>YC}A z#LJuCE~x3>ha^6K&pkgv3l%iwTQk2+^P`K5b}zeaN9Jx~0_suG z!bk!We|&DyqPx8~rKuQv04ZqbNnx@7v)I$R?3KOgy_X)}I{I&W)@;0gV(*KWK3aD2 zsh_=l>A;qgUp{&1xlIopShv6JFAg?EjAbmbmd26hJOM?Qo}YgPBZM#hs5}}9?6P%+ zqix;8_JSe)#iqY|3soUK`E69gVl?kCrW6dn3U$J}_e)RTvxFHNOAN&0UjG{bn=Rt= zgaay0a_a*p(|siOzW|9tSHRrl{)x_0BH4I3st+Q06=fuBqq zYFqNu*Z=RO=hi)U>7fIg9$vTMwN|Fh7wH-qg5VaHE0dp}e;Zur0e>Int*LX+_PA}A z?GGONMZuf?#Y^A+)|Z|vv~&3Omwto-U^MglWN{Aof84XNd|+&B`^)wR5@R;|3sIXb z7!HR0hl(Eb7ij(97pony7+O9w7o)k#(NTYSOJwP((OiGm(*AybB}T7l!zwFjfAnWh zt>~+Ir0S8$&5vyEVz|Z;;u^XJz;}beNJ)S7eypx$pv{)sWgG5!>@iz+dy&PD|IQQN zy60XL1V8!TzFnC2MU%l#KmGJi*Od=`**8k9jc{ji%;6*!P z{z(Q^a<}@?fEKgGkHLtjmOhpadTVO1(aw)B~2?s@uKPkj6F{d;`d z2kHVxVDM|V*ALqczYveV(d6;^H{2C`O<$W7i`3GiTpP{Rj-p7Z)<5d^V{IsE!u;cY zuh(BY6&a5(Qw&#Yv^Q-3M)SwOMRIp+u<>o3y?9@rC*bwMI5zO|aQD}j+rGZJDpcbQ z2LhhTt&4wh|DPd`84~yp@B3)~?xpk_bpuUfm^Waf1JU{@H@q|+4}?R}as%J8`M*Y! zGx!*WrUtRr$yORtH^vm^ktP|31C3h+y+MDFs~r#ey?(eG;U*!x2BLXA|9LRj7_uz; zetFD2UM;7av%S zvCd9^czaLC8+BA4t4n+@@W%F+o9bUU5;(H9SSjyLb2BzvSq_Rm;kEulp-S zkd+LnDY`D=geu5MElJ#E1{b^h?+$t$)sA@FKHPb@+g4E#OxSF@I^)mQM}rj=>A=9@ za3T?f)U|hadi}$8&K8Uh@ABB=p+qPY3M~GU8GJtnfX$WBF@?oO(LhJ;57##JJhcDN z#Dgn$9{B#wz5jdVi(h_d_v4F~J^0|ngR4(Iwf4b-4Jw~v1zZzwN(UmYvl`F4DB@FW z@R_*_G{awg>!F?1$0`zS(4Yo~D=Qpn+E#gZm)#TI?#XoyRK`(uPkq8Z9B;D4pM?># zz0DK1+2ULxlt`>O`9BSOFCu{FC|Ayu7=vr*QAaGo_)?Nqu4*d?usMpAf{zdv(*(;U=h=?VaAZ&D(AFctg_= z+y45)aa#iV%wzUpo9*x$J+|)6@ZNQy-1iw++)aTjjIeHaoYyXDpH6`trnlUV>V7Qy^{j zI5>x<^dW&`T!cRDNOP?WgPIefl^l#2L?(u{4Hds6a7!{scb~xq#LbONT^Or~J;6LM}(tuG&UMz z+F}lGI+l*KqEf<0?NpnQ!&B>swH3Z4NLandSpt0gAOBn!Z0PBso9oq%3fpmO-~_Gq+;>y8H!iJmBwsj0^1{Ct1Dy6C1h@n)}0YNcbb7>03E$6}79 zs|N>{kU0IF)}Y9YOCKt8(--Z$?6BZ&3J zmS}Z#G#m;;1?{otrX!v4pgnHi-qRGFiXJ`^4nZnURgLJx{C_%mb7v2;_o{^WLId2k zW!cX3=;H_J!Bd0f%a6WRe()&w+M3svugPta-*k2mluF>dPWH+Yw8NB=P4W~;%FyFd zWy9y1mBDAu+y#IQjGG(#J=?v3aP;`}3ke8wT{!Bg@0se^-UIgs5>4&j7|IiOVEo(jnl0 z=y36@lGWfbOZI9h+@0m~x3Ixy&ZxS6mmnsZhg#aW`h+K3zdcZQ94!~#6ir08*N?x~ zIMS@&9e8ILe5RDVXvklzjdR5Il&44k_%$rD`~J17*M9H7whc=*^so7;oMBnP*+H@? zEh~1A4YEYITo7O(C9*h)ODU%$uBV94m%-P8JknRy`UjWC$KPX^EtfA>^?jrHrirfk zXYh^xrpdeP)WmWq<1Xho=AfD7TL&vwuim<6Yu&OhzqDpadCOlBNlkzjmq;p-LJ~j~ z$-Js5@J^vLjS^%zMX5>Y7B+Y;3?^=bk|^F?w?kapX-0w$^Tj7z|H`6Uh_WD)^z`W+fvL&MEzKy{HNF@CJu0FQCjn6Svd}|@Uk&Eb z1_St!pc%zoy53AQOGXGrQA6mVkw&yZd(b>G1UK~1`|p#~$PhvlAtg!0DK2Todmb72 z#>fbIrc5D`bveX*6?)>KxMP(-_zH8G^{$x4{St z^!)?$gCTT-MAFQN2`D68!JT)1^AAT~{S8$9(mVg_A2*!%0K$5DaA!qD#Rx$x--Tp3 zp}+rozqjuPr?BS28^81JrFY(W2dR?}Km3mmKm1F`>?0>mEj@93hyeffKhOU2+5dC{ zo%;FD|K{g^^CmpEG?$)EPa7dVyq-KjKVG7sE%JGy@S7n@p1~WV4CBZ_M{6`vi^bAj zZ;VE*`h)&pkSUH?6%-tC?QS-?T?RvI4P-sVi=vp3BpKdhDlhYS*&r1$^a7HxW}SHT z;OdFpt02K3z*qL3_y8g@v9e+i0SsOm-u=J>5BwS+fUo>cuBP}y{O*AVetqfEuLy#A z{q+yCum3gtO&nSJNB1v1GNcpaUm}4ao_gg9{^Kh+Kmh;pm%pq=00T8Ezzd?}Jlx;~ z0ZoAyq|16<0;SI27rnI+219oEvLiM+xMz=l(nqJ$>6$b>l#~HU8K#cPpdA86M(B7p z({-CR7?A6ES1-u2E@w8&CdJ+?%i~$z<>YZ5ewV~Zry-D%ukKzpvHIx9Re*J(dFRTU z0Wk4hn+*c|k^%6){2+%F0Dk}7UqA5DOE3Kj=;Z52+=#)afB4`j$WmhDgGMML5X*0V z^Y!)noDkq0zeG|17|*(#(0QbsY}V<*c_+FcDz#qxjsi;Fi)J_#siiA(ujU0=&!!;X2nv_UB%pwscPWI7?3pCx?~K9u-xXC&Pq|ZWE#)F*UP%e5 z6wkYalpFn$el=_e+f&luJxG zH3d(0q}UEAFFM^q%B7@O6;GvHs&t1o80CYYak1hNm>KshDuuix6@EMt`r@VL;$y~r z^H9-QZZ3Mw$eP1*Gx!qu_wyffp07R=?Y)CWE}`y~3-;jJIpeZsY>{zshWRy|$vYV6 zFj;k>m*#vv&hJ>cEM2|#QhDx`KVP--@xiZA>jfw8a;I1~1(e>7Y$}OEnz^)Ik?hsw z^%-!N#-gu9F*o{U*Zl~Lotb@txbB(6tS%jK!^vxr(~Ym4zoANV+2Al1^K;`qCXzmu z_8(Zib#U#AyAQ5=%|!}gDg#xr!b2`;89t-A+=`$jd4+OGKqHCUu)$Z(Xru~-{QNg4 zw>~w8xBcBkZxu6ds9HD&>ZklVnY6OYdE!%Cz!A3&l#j*t@XK%{PG`Saj48vlMT!itU zcESDSYiR#eIaM6@g8_$x{7(JTVZKFPG(>pc*@Y$hJ~ipiWLcFC2r%Za^?5=}_|Wdx zj`q--L^QyxH~~QjBp^r}fh#4i4c^T%7k8_?=ri+?Hft{V)U;WXjbu46nhs(#cW7}a zv0?wwH>3T}_VUjQ+C zZBnGwAB#cPc}r;A^OJRBr+q1!6 zNPx{{gPU3-Mh`oTYh}j${Y;k(-K#vMOOy=VEZLYh{>@W)!}+opTnY?+ zIEY0IKbrQnwlY4CZ|LfX20_dW=M@L_2>sgq=T;wVF?fzD`dG{#K|PUZA2Zp)_`2>e z!^UE;S#5B2Eavk&FpOb*wSBdoq5Q29qx3t8gDnRC{|DHS!#Mw_BNFv6t=nFb1!I;B z&Fbkyhg35+q5AB%HX@vcaVp2iHJ+M`L~(BFr=zZF35h-2fDB1)obLNy`S8CWAdO z)P%)>mLT=rdY&KXmKR;344%RqIY%zWa2UqvpAZZID-JG625*c;ayblo(oC?Xk&XU+qzKCfmmGuFhPg?!V3H&EgOdQ@3dlQCZd{;vTx3&D(V0~nL;-iF1YE>jd5giN z$KXI@DwczOmSga@1Y~eN!@5%n4tfO%LM-4;mF;l%rm_OA^-`7%EO>gG-RXScJ);P{l(JatOoR!=HpA~o(2Eb}VCdHF5E*5bCSPU*v21kQl zn&u)E{ir!VDg9XGQz?z)d6vW}T+H$U%kzQ@ST?v+z38Y9QJ9N$5kQxcKqUpm$!0V+ zPdTY9siowUOAs|++29go@WuoK8BB9@W1(LZ^sJ*Wx1FdWKXo!l?h zeP0hEJS*Q~^50^xX}xHlZ`|wmMvMgsag9ZjzDY^X0}7XjYmJByd2zQ>U;#AJNy`S8 zP8=K>_XRPG_Uo)009=3$v_Li_-IS>HQd)}Q`IHOZldhBmaLuW)YDy7%Nx@|?xMUbS zj*M_5Zvdi~D_B%5Tjq7yz5ST?vM7`zPu?4@h^ zjcQR`>`-~0#8uQl5>K)?$-4Qhh^r(HwKT4DsLm9dRoP^3MzR=O5)9rp#rU9(u4yyE zU`o;nS%x=C*GU=GfXh&j?}eNzS%#jMOvySW-!wRF*v-K0U7;I7oKevTrppM4c=D3iBWrI!1;OADfKpjn|ivUYEw78p5zc(sl zYb2|b7<^zwYZv45Llq5xE(v530Klsq$rLb_G=q9tR>+Kzn`JD^Aq(h;C?v+K*ZQGb zHrT8qSv^&d!a=N`a3=xvs36G#<;<$0lTs)$LnTQ-KB`EhLXv_ob3_T0npE8}D>jILP=3ri1()Vx z6_ymTz_P)n&*+#$6!!XcDG$gD$!B>0kyV_0Dy!lmp9Q3<@+q8GvUmm^Wk{DR#S2bc zY>)&euo!Ii9vvPCFvkS_&1fc=Bqd3d(ejg|oRKMbM*(=4S5=jQH&P}fmCVZ-Nls?+ z8ImHcIN1C>I=J>Kj`7jWGiy>5I_wlv;6WjUwwU@(6vJbqJ{+xr1}rby{FMz%dsR!9 zj~*hdICvp4cx}Kx)z{L(ct?m^S9=31qoZ_faCMA^6z2Sm#!`ZXvTs75ii=VjH_Aww zy>>iXm6BzHO>2W=qqUP&t&v8RB6LdCVeqS~4J4q@ayZcI%2O)Ukd%l#S{=uDf;w9% zxW!=eGB}2;u&?bqSs?MfBdnFf7cb%|H_n5PuTyE+ zVDmCK=0`fZA2L|Vt|y%^5_aQi$D3KF#wJ--X^<&At98hDif1)vO2Z`qmyJcDfW_d_ zV6X#5N-g8ffS}wOsfY^Yc2huAl%zmuZc0&PLCF9~ODX~-!UIZ9QK)(44U1!0HrTWb zb~uoZt}2v|&QyErMJKCJ_ie1@T&M;&VqYUn283mUOCb&p`}|m>y}gQQB&;}i0W$dE zu$T4*FZcCvU2_E3Vz4P0j9M9L57hJJMGoOHBhgUxD#>u81v zVs!0_KHpq)w8dbPGI)Q8@iELe0(ee=l4XNU%V4iJ=o|Odwzt>%=b)o42Ag#xYsYCU z9rXFQ$@W(79CWm0gU!m|9n)A17W8p_E82tomJMEb44yuYVYD~mYhBU)vAiA21}_K( zpFsEqgFdEx#Z<71uo%417+i;WX@oCxc||RK=ed=Z4K}S8U4!t20CVlF{+gR84DvcC z)(sOg>nB}J)*&ngUorn|lHZ3SVTNNS+nJjwEJD%66ogqNK}K{d3W@d#CtVa_*Z~GDfGw0H5qXvb`67)i2Ag#x zD-aw<3Yzile|yvJ;KXW;a_MTuCGjLh0JlAITv0FXkj41iNH_7HOkQRyWqF(nh0 z4K_1_!^p$p7++%dSC-#bK2iC#d@rf$IF;2%8Dx41g6gFpz=TGzS^;2zbh;s$*&YCYAV_e!F(gVIO=ClJ7JPwCZ( z4k6XyRB@`%+|aVY=C#4dfrj|DY&o#$xBJ7vW!sva5|CM)&qyhtWJwjz3pjAA9r}6^ zKo)Ci2hku>8r3V}YN{bsaI`E2o0Y*+h`-}pOH1qKs`eJt{=E^oSrQ@Xc~wUhEV53K z5-IC>65dgIVNWIjl_B$bvbZw1WrI!1;Ehcjbg-BzD6OsSD}1!qi)z6OL9US=O%w`( zjnZJE&^)V<9!*?bgvVmAi5c9~$N9Lbf=sTc_0nGYP6jM38*EYrZ|hkxS=CxKIa!6a z_Q{~v@4b^b2aCZbW$?D9_P)u!zR7k2ELwEY0=S6qS%mOHlefw)?)xI*I~%}f_FXJ1D|>4} zNm<$1FD8L!0T>~C_Uy$4ww>Mg#l&|ufFZ(A_ARIl$rTIWYY;EM?TQ7kB^JPzSO8mM dD*1l`3;;*~vS+3;SA+ln002ovPDHLkV1kXKfiD06 literal 0 HcmV?d00001 diff --git a/public/img/print/sideshow/print_giata_fuerte.png b/public/img/print/sideshow/print_giata_fuerte.png new file mode 100755 index 0000000000000000000000000000000000000000..e09e53c29da81bf0017b04953b40152cff2c55c0 GIT binary patch literal 27301 zcmZ6yWmsJ?*Cu?>;_hB3?i7dO?(XjHUi{!LMOxh5i~GUd-QD3(+=u7+zIm^i`H{VM zR&pgPcIRFz*^x>LlE?@I2mk;8Sz1a=1pt89{tO9lP@fWE8c~bS7rvXgmYb@hg`20b zi#b5p%+bW0OxoVq(p<&d*v#8`#GD@hfC4DVsflkIaZOFRl&bT)#G)sypSuy@;5-*#*oL;J&a&z~H zkxs1?i%pko> z`KaK0n~jaGnP0XR=@`rz)DT%eI@vthuy*CBV&z$=Of9MBPIb?&Xe?X(lQL;85?OP8 z^>D0Fxf)(mKT+r8Q}qyCDq2d*om|P?HR4$vC*#xj+&m&V70;VgmE1CB&%$4=u$&*m&HY_I8-mWqAE3;xyqP0!Dk&9;{!6Y*? z^Q2g0GB~WtS)^)6!}0e-NvX*BadLQy6EJ(JZ}Ty;MJ2sVZGFFmTUCBzxc~WL^YH3% zZE31m+2HBwl*gjlRrnUYn-fnnewnTW4 zTS%Xu`K?*gC;PjF`u8Mu?!yX=ib3=3_U`cX(6pHiXonpCW$Un zyQfkefs)gO>;nBjhB&)W8D9VJQjOznr}H%1{?T5U^zO(K+N}&_-nfeNjL6NcM9`wu zV$83nD1o)fxy(U@L9ZX*SjXchoXLW_ZzMYN9#j&&!rkF;tsLX_u zFu6freUFI1fkm&9uM8hmA|H(+M@L5w4-Z#YS4T&i4@I96nTLl@$<@Qh)yKzw#8+3F zA0H2gpU=Zw{b)!=!^eS`Q{I-+1AB7#;MCPhy1m0tw( zlL|@;x>rW191{VC5vmCecQs;Kr^Njm@y|83Mq_?wRh-O%4_RdA9gh1gSvjuMkwB z(CJthMk@ak`G2DSf7*Ytz6;blY;3&lZ9SyBKXCP&CCF)K*ZZBKb5;5i_VmBBwSNpK z{HSV00q3l5k=^GAKAz75`G&fMU6{KQuQwp>eTC18Rl#93mxBkbP+-)E-YqzmBueUH zBK~(qkn1K%&)kyH3GCmRi4N0X@w1Nf>h`z`JE)FJjf{?*6Q1u^Fnrzusv7))T*Pdi z01rXG-FDXW1oez7;-2qsmF?79Tl?Xa87-w9V_Q!bB%{rc=LRls+m0|^nVy6I#m1Tj zXmF?63`sh*{6rh!@Utl7^4qyRfPd445Gfl4EKk(Y`=G-$!M}wW=vb6rLdFRdvE(lW zU~VN2^lpX+#}3{MhSJt>U8F-Hy;}qZC?WYjdjJgF`HW|=*1RnNTjJDbd}YUuPW9Cr zxwTiV$#?nyk1dp*J;A2LO7{kTZg?>2gUO?Z$EGc0GT>u56xvIHR_%W}UY#ADWyA=> z2xHsvi`T}*Nw0fz1Y-&F#Gfci_1gzXuZ`HPjjHd5XI*b=2A(&Ll`pIiVvw(l0b$UO zqzK^o+3=CNr;PaDD!k72|1_ymsZ_C5(>lVp*q;Rtn0+505mm$k1PNdD|5=|o$Q2l7 z{ISov)^wmrY~}oc9&kaL)7c&m(ZyQD3A0ToL+zljAa4_t0nz1QUo0pO`HE@|Zq#Lc zT)pc*8>jKc>|1j99npR72SN3z8B+3MRr|d?ozEYYPEO)}LhuW0pfv19AE2u!*}XI0 zbVL3%;~)K*!+l#Z)8@IE{M_Y3S5Gj}$RAtaL}ApsFw|=S^=HFfa)ENV@3{w{i(eDf ze>&^6RW1`5TC+f&o0ZsI$u2efD{H^oFgR^hHKnlqruI+P(tSNH{@KY3P#k2B{4VLf zxt+0Hdhf7FEsjrex!Uhfy5fZ(>VJy0SZ2rU@`MDp{R9&VdSJ(%gOjE#BpyIXmLFD4m|hpr!`vSjNd(zj)jsT`yl)8DjW)oHMx<%^~xFOSjY+wCb9s>X4My0`npyv#?U=8 zLCP7hHss|m`O(*NX)GqvJ%-ZXNqfe?@31z02Whmt5Pv<;u( zTTfvW)&DF{@nodWmHH?E`}jiBzU_zxB4G1U*ZOVu!zP}fB-qb%!7S^h_z!ENIe0NlLMc$iA}=XLT( zF5OKw&~e6Q57zQ@l`)G!<#1GJXdU;T%~K+j90EKGJWE-=^#6t!wVBWMBmj~{%B@tS zV3R*TAmz%f{*UQD@?Qx0-`W2!MEZ<;X7qOh)KKIIE>n*fCH4NdD9HcR@}GYCPq~nC z|4;OP(zccWo(5;Hb?~o>-+ByqWG@JgPfwrSwtw=Mg@~c#QYV>?m5uFq$MA~Nl~gNH zbWTZKG5g@O6`$YR{eDK|dV}Ak*hZcts6rb9i1>E7?b%lEI_5>WafmbYZvOdlm z5V!V57|R+|zU8|m_@XbVv~loI(NKN07#d`w{YobsK59sJcQov-*QJ&_xASk;#I&a{E6z)q0aOLZ^UJNSUENuzeZWryZZXhyty&N5M&)fU>hJ!&w(c7*>&-hsD+II2x~uhi0? zKUcvG83~R1X3&ovDTH65%E0UD?9-4Ledd;riFi!$s$f3y)Kv6uisifYZ)j5$sgO>w6kSCm60az z`ID^4n{;yk-`pB#V5nl$r~^ltMLt>&r{RO9ut_7{gd0&Jf^}b`3=s;W(iND?LN-1D zQgy0;wyT$$yZ}f6#n&M#ZnuSHQb{ygdG&BZbvxkBS}70{WD=tIXjHaqX=wTF*HSNJ zN%TApF7^jrhvv-LewX4Q@rTw!Jf7`|QbJ@88nv5lD#DkUL*zEyz%AW4tf>&{w8Qi? z;noL&2rF@vW`~iYZ%wFjqsbHmRQ6c=-XlO9@3XvQH8OOyT26_jcri{mlgPzNZtKzr zU!ZE#dyHjL`^R>YXb_i;qXFkmYFrHe9wCe>m! zH(ojz+qI#POR!`_4S+-~m?%AQT4ii?+^^W3{(XBjFGS|WW9|cxQ83`Ur&-DBf+VD_ z$lm)mxOHzgALSWQ)E~bHvYX~Ru?(I?XAK${V-2@kLgPGuj0*E zIQ_6b!TaSbcwy)2er*@`b}P8|5|XJN#7an$+D!F}eU1>3IuJV* zqZ%iiS=<4KDRCH{o?!>FUyoc3Bn&Y&XC8tLD>yce9SI*Ij=?m^c;F%n&_{$}4?$Tb zCczAm>aZ^nr`w=n1ZDe!&tk881^mN0+#)-Ek^4W44n_>U{c|fS`UZ5gaO#GIi}A8C zeBQcAD{eX%2xH*KYUbUaK27-hw*|&85Ey=Hf*FDFca|Mh9oX} z-(>hkcb8{xk2?#{et2rp+`JGZB~^Kh1)Tk6b;e?~GB67b0_wvGKklt%Bi%BpGnEm64io;B5bdD1A>IYX<~>@ znw|Vu#M&_6!X~nn;L)%nxpRxEKBqd$Uv@HIrOF1SN)w__BO1$<@+-8-u6?Gx`i*}V z%UzMAZ$j`FU(Eu*$kdP>=N>G63c-`%=O9J^5qrnV-PaHywhS+}x*s*WwMTu;?`Dgx zYxtp<5hu5zdJ%hx7rQAVci# z@;QMU$ebV%GSEZk5-+gDiJ?(kQ82S{XJ@hE(&?MZ`+Wd{B*=o{(6HrAl(ffXvLsI` z-_rKHO-4^+HJhFTfiSl9ZW|?q$XzSZ{-tOyCyGOdUws2yzd2ny8m>P%=&gr-NJq!= zIg&_Cj3D$JDezirLkiY5&Aa3n}og!qihZfu67srxpm zv{1}aqYSWR9>|QjLyvhT#q9GewI~{jYP<)xIS`Hef#W~wf0M!H6cHt_Hh)1hO`$gTaWW-@b71_={b+q#^r0lGF~wQ}H5!b4+X zlu8WTiRB%K2<$~sbkgFGL6@eXi$=l44uJ}QkFK zsZVWIr8GWf=ZjG7MZxbl+kWQPjt;*JCy3yg^_w7`#En9mL7onY5&sgg7ZsJfhI|47 zuAIII8!JtkbfBy=RBKUBQIE4!;})rYGcgNA2dx_=iWx%gfN4bVT0YSi+($`78(N{M z-TQlz87{u{pU1Rqf%uCyDs0Jq(Nfu?wXkODzzZJIgm;_8Z!J5X`b;zMt(}Uog2IBy zH$m;!wJiq!Yp!nLDO}tFPp>T2EhATEU9yBvfaLd@#F0(q7cAQL1|{B0AwUVZIwjep!)`BSQ)N)XIbG9JFJZZQiODX>kMQS zLQzE4Ssi%FT7^ReN-QyBa|cBh9avydsN{8;Q5tAj4ZRRwW~Et3q4cpv7q#8lU!gnj znwtk$!bIn)WVw}b@NM<1AW161$R&<$rrHjl{R^^L*r^_)X8Yx)`5zs>hDlb|J$8{9 zH+Zwm__`Uq>ty2A8T@=jl;kqCn3==0wAgo~eh$$G^#x&w?a&b^YmGLOA(R|_Y>Mvi zGliP4jzu}U(&jtih-j&q!0_3@D7A**3owK^wdL|sm*jy%aVLjrxYg7)?ze#gCcQGh zFyp}RB*vpo(^DAm9~bn(g}6VUfZdAXLmt~!u|m~f5U#|m3m0l!qHlsgKAl`R3S=rM zaHc_cj3?7Zl1Xl;ql_boIiVC>JX&&j$3oJ3QnI-FXLlI6_r@sUt_e^?60OF1npwX_ zUDnP$+{#u`nefj@`@0%4Nyk9Or-v zZ|(KzREQsEvHVrQTZ-`&Mf2eS7~DGZUZ9SJV;HGrBJ?8trpV#FONH zgyaD<_@rTd5FvMuA`!6|ySIAE&Z9R|iYnX|bxQ~pP6)?V0<$wNK{oN#SmO@PU3&9D zv%%gzBGMEHX}kHph@-GT{6ivsxGr`ko8xYE<&kdRCcl-%G+#4{dR}mi8_vQry=H3X zs|v0)&@#05zOWh7WHa>{QLM#)ISLS%JQoOhq9va(uEAEIg5?8j3k5+BcOWyTNP+pC z8pe4eY4o!VV}AW5!S>X0N26Q#-CE@3lnN753&)%r;}STqaH*SuP{(oh?G{?Y;kti z5Xg5*wK8{MOW^)pn#%|k0)v4tis0!c7kQN76EB&}R4xabZT!+U~cjg{-0OVJDW=%O9zs201zj9d-I|^Qvn`0W+yN{ArJ7{|1Q~dFyCs zOJts=6sf-aSgF=P%<(}G2i+{#c;SvKs#PRMl}F8A@cLRNq50Q9b(97N+uOKft1ecD z8Jbrt+*G)%V!Dbkh?76laEnqvWks$*I6B$j@hMmRo?rK9(_ySF-9_u_F%%SJL&>%P zUN|)ICUV#{KQv%_{LL>$#f(Z!83thcVRTtdNGrw4P}(*1IdJ22E%w)kklk~#)XR%B zYW;N&2UCxXSl=u}O6L|zE(=1Co=blP#8f)v3h9Ts{ne^+82TMVp)L}naC;>V@JuNc z{SwyPnMFQ@dHDK%GqsbCCbhZSgo}*Iw^$y^;6`x2On} zKjRVzm&k$&iW1K@R3=6k@G6o)aRm9HeZEx_Kq zs?>s{BSpA%LZB9J)~edto{B6Q@T(J&P{wq{5!zqqjpuYykL0v${u(WnqSyCKBy+lIo|yjq*g55v))w zorp=>O|RQP{A;*x)}<}t%Q$fP{`zF2EGeCb?)M4}yr^s}b%Dzo@#oVEkF>e3#Wjk> zh+`x1S?Mz*Esik*BO%?_&N`Tpp;6Ea6R)j0rK?A6%u#W_DlK0CJsoeg~f6z8+F^5UfO2g6VFsojej85?KTXzv@pCqAl z;scs=lr+k)@bt3CPbI1UVe59L9<p|k&ZJ53A&+J*UWKOOe`7;Asu|h^-AZN)kZFixQ zXL-fahSyW2j(cKQ^h;k_3hvfX1+m$gGF+1y6G@{+9Vk6TyBswrkPS^71E>a35~Cpq z!gy8NYf{(a#>S+(t7rV1khU@2_3bDqm2zxU*%vZi&bSQ@&k7wT@UmxFv!ZZ|)G;-q z?M=yM>9srmhWJi1=CL_sWJIz-Xr8Ciu8@e7J!ynRRh4A~W+$v<5WBA3IBTq5D#u)F zsQ;D5t%A&9`cM41x_V7CZq$JuBn2!syTr7V~6+ z>dqV3l{5if1X8@$PYz%5b0*hA(S(cjv7*s{5XmstK0Pnph@}(F&Q@I`RUA7#p%xwV z4WJy@{pZlRK3gv}$M9F5I2MY`JN)d7yrQ%$Wg7#w35)LJ1jhK$3oG)3_>Fk}k3({B zQ8eI;Cbw3bDo4s=K9hK*Ekyngr+9bJ5P1P^+XKvKVHJ$as*$RH!andJHsT}3CGZP!I@a>K2JnMRPV z)2x|xE*J?(5hm&S5KoVf7gj|X_af+xfdDtMjgMEESr{8mMMAm|R~PByHbEYMbrILS^iO*MsxWq46LKc zC|^rUrPV-$p)wy6-Slr|v%>5xS`0+zdR9)P=%Ap}g$yx1cSqahWB^H9x!;&gr&_tBy%1q(bA!OqwRM zdB%&9HS_CmQivB`CYoBNV8Htg`f$9ziv0P()r@otoe|60^!P!SI%5piW9L>}Qm7ZJ zOHqZu5b#a|yXcV@_~W`7s)&!sHWGlsiq~!gRWs^3u(BdEh2Lk11%jH9A~pFnD& zXc$bFnpvI%rVYSejSk;K=XjWG566j6AQOyWl{Zjeps6qT)PfL`xO|2xxYso`F%>ji zTwL^2OcYXMa>1@PSTtpBynf*@c>WuXf2hkaTfmE*aw}!XQ2E8_Cvjkk*Dg-sv{Oy{ZgwhNRqA~qG^KuKu%I9ek zA)ee23oNvBK^{JM83m`XOf>?^lPZ<>YH-GXo{Fz|($H ziI7skugrYv#Mgal#V#$%U5kUDjFj5zR`ckf%_1BS&cS(A{C9+`$gmxJDs$uh$lAaPhA;_Zv65IGBN&RwL~}zQ zE7Sh8Lgegh`TC!jr^(V9TKM<#E#3|12G^AY-N!GS!sX@`j+d4JNfP12SgGan%pYospy6_g#+^0H_z613EFz0{7) zt!Ng*_^<{eLr~nnEKOoI{@!mn0xjUWRka++F|#?_8W$k7g-kvH3;#gOa}=V zFR$8`-oq}ax`UJ7|3$c--)r6u@=~xmu$0Wnk(;AF*fW2}xA+u`)aqGR8eD_AW%^@9 z^ukl_-Z==}i1kFT!|MMmO!)gxSU5<6hx08$8U^%4Xj8B=CQAF+9-9;opE2L)7bZ&c zfo9-XBo91cEs3d$BjV0FDo%xSb8r7uP6a8QUgKWl>%3S(!`p`dgdc_FNywXiXU$KV zDMZyb)%G`<@X$qa#bmXI;<+ph)nc`-mLbBmAf@m$wTegg6L(7YqTpHBy$9U=e}b`e zy#IB1X6Tj~wBsBQgxHZEkm<>GU}hK<5nrtLQ=y>Ob5)r;+H659db|`L8ATIt!mV*} zlr3D?xMO;?UWiPIF2|*YVphnDJf7JaL#$hUwF?s*!-;D~{CXUWDwMP1_t4=RPipdb z5gboy4RkbN8D+B5NnUQVT`KMk;JjeFkWs5acd+58)5Y|xS}D}1;6g6vYlwarq;h-QF3yv0CsR_X2o>3#pjXv&Sawcc_nEqgw49ceSpCG;%$5pq zD;w-fI?Wrjo(vri`}``1X-|mi(|-K}5iQtU>#Ea5{SJhNBD(U0}f z?=v2h3XqhUzFtfG(U=w4FnONRrCrv@j|^%7-CxS@YF9kiK0SDfrcQjQ!cCFQu-hES z4y!OB_QdOAc4$-}dPh}yKqtHqOg4p?e1^_SWc#L+uj$e@Q}9gWk}>vXQWL1mkt8=G zWbQW-VfPdTI%WGa>4!G%$o2^*-fu&e^pJ%OXb<#G1g<;|4z`kW50;c#bWVGff{Toh zj1U{Mq&4H9NB!Dv%q{j;NFRuTb8U*IzZIRb@|b)xIKg$$wri2NVqVLSorRG~GqO^I z{2S4n^;-6o8T)w|Tv$Gv<*3nHl$mB%Q-h+)CeE*ev5Gz$$M&-&YF7%+Gm1gfos$js zW=8rO3Kp*l3%eA$8Z4S({Y&uB*TE5m$k#iye_bMiQ4PdbJ%*h_cqHHAoE*LQk_v7dZPy@Ak7N5dL;air z6iu?vAwhbtHZ0VIdHrR1GQGj&k(=rP&xheriOc_C^SpT0ml9YTh?gg~Da9^Yp?eYZ zasf_Ev;clJY~-c^#kU?OcCzW=GHB@!J*?61$^4U%2m*P(&7paCEly_u)2X@YHducX zK-`_*J2b27em2JucCBLC%|ZRW!aCO#hz5ddO&3B}TAs^FvJ#?8A^Dbs#405z`v&9U zXj+sKX3-a6$Xj$iy4We#-5LMrO!<#Lg*2yim~3{hmncpvHEvXb-Hsi8(tc>#ti?Dq zX+nd09nVh9id|+Lq8#sHrDnR8RSl^}$;OEIM(@jgVY|-E49~&!o@womg*hP&vRMc- zp;_Y6awZyYR?@ozsZSyw4*K%M3irN$2j`}4@aN06d33rYGVE`IHvg3=38eVT4PAyo z!;%n0Xt{0^y`1oP9a&%`qC&FNFTE93H4md93}yXD{X{8JiJP58jAiP41k_mA1(ybG zkM@i%4e4)O_B@O2zfdpN&)3-0a;({YvlUn~TE>6)T?YAvBat{H`xJdU+XykcBGwSn zbi8HevD^Ifx{pO%MSj_Xv1iQD@N0S*o(~8A6$usy=XP80^LO<9`?-4-Q>U6zN%?p7 zXeTja8D8ETLT_9wRF)sv{k&K$xeZvBPrfyNBv^z3@&~;52Q0N>3}O_;`^TAn2$e}& zR;f^GW{JQh=RFL#@N;vgd}RLtlaFQ!664^E#x#1`#A{?afjP3H(^**w9=-hijcT<3 zb140)Z#H?30K6)?P5^Mr&b5>yo7|=yx9g6?DUk*{IeM=>?47^lvfjfI z>0M6!d#_O$x2=15A{_pHavMPoiiao&R;$j!r6svn?U0j zyy(mLoV%zvBoZ_a$TBeYmcliIbq+xAG)vt5Gu@8NJ^5_d@nWNurm zyOhR$vFxYdQTj7mq1PGZ_kv%R5gWqhwO?z6>Jz!0e)l@ofr1jsUl$ACrafb zJQfxB))Be6`JB*{{9!44vrUOe#{4CIj{|X@g^I-cC+@IPei3_OJ~#KxpJqbcH7x5-*BDp%Q`X8f*{3C!&r11jJ4LNV;%H3egF8`x6^k{$h=&*>+ooJ1c z&=*FwsHejEwVMOfD@|GjBF5ug+D0XI-P^?Rl=bf%nP)4kl$-T-#j1Go1UsQhBPw1{j+4;n>SJ ziu*-V@fR1N^E(heP_b=;8eR0_-ai(tDMxJ0Zrj9|THB_HaN*9xspF!d1O0H=?g025 zLeoy}xUtu&U$@M8jTmLERz!Nd!N_}eS1$(T>Mu{v4iAb`7yghT?u({(-|Ew*uqFFO z#^q%RJ?07?l&THFj2BMj^od*S9}YXyx)mfG*J23Gf&?QL zwhxI6WvIcWV=@hGI0MQiKYI!xJr2km&E zHQ?d7eUYK#jik0Xk>$-VFC!L40=fqo=u`UG>!>lZ(zXU6Zk?*IV2fQ+tbLV>;wA_YQ`qKWJrd(C*I#II9mMfpNa1h zC&F;wEU%W$n07`CyO-BZTk#}3y&O%9ztC~1sbA07=eZGeL2nd>j1_GUxKyJk&Ny>p zTpr0m?tPvc+R{HsW*oE(hwr)59py&y_zFu43k!?7=S`BMZfff%kz>TTFc9++Su(k75)w=~!@7QYru7`0vgQSk zekwl(qXs{0+wB9t4^r<^9Nd|eL2=XuqLrnJBlRxZt<9Mj(u#6fK_gVSg|6ISg&Iy& zm}CDcoE)3fz$(W2rmjtS+=NM4gs%Spxyv(Y6mY2gn~2#fa*z29MP}9GX5z?RKn|g2 z?Dr?upZrUg;7L6r-UYw=*~v+Vqq3W{${_hU?MyCj)a7+oT|d;=?9KmzFR$aOqfyQf z!MZb`XmZMfm8E^mf|O>WTwR-1V=5;3bOwIrGL=X=(Y+vC0su-co{o0-f5i+kiJ^Tk!dyn(eIC<uYKr{xUU zBxSW!OAFE>-DE+ThQiM?rQcOwJRX6B$A%>X2vinL3(Z+^Ag_T^Er*v1Rka*K8w>QB z<4jS90Y7)R4Pg_{>~WDJK{#G=7YF91qZlVoEGpr)^?>BjPc#iB*0f0J!huD}^e@k~7u_QdW>)YSYISQg-Q5;y_%QoAMa{X>sP~Zpzl0pEf#g?|tSBbVL|C3tSk)wi-j8kp3t-i<_OFWsLd6Krj*ODSA&&?wLBYsqEA`9-X!LSgiLE41$i}5v~N-6cfv>*SqC~NHtAvR>hv|O||kw zu0i*D=A!;-$1C@ew)aGj*ht zQhVy8tM04irkgkT#J#G7G(Ag@9ImM#hFm-Gt$*HUn95AFptpLh)i7y9fZ!xUntVIRKtlE05;a`5 zm@AG&94A>dxE)w?3S!f5W!#jCNb5ym2d*9YP${+qaRm3HExrDw1gc~uTL1Wov8dIY z=6;dh(sc-Atn+d4ICt%!G)M;w6V-@sV>~3dm?G>}W8WvcQG%L*H*3>9_MywG4|_w0 z#>nKggU+a|_Z3af3pNk+-}gR(97rdzbY;yEKfbt^X0!Z-Q@eVB4qby!Sfd^x z_77hv6ufr9Z%Q^;3#1(k!Gm0_4(w@B`em-2nTo*Vf8oVh?5$eI5{*wlh^woyM~X*M zm$JIHwo$R*;rYPbSn_di#of>fmBz(>>{K0C0NPZ;+D2~0D<=r>l3vmm_WInxKA=mJ zR}FwUiVghSCSPc*yVhk`aRux5`E`F-Tm7JF9sz>IdiF0cx4omgMG4mv7L$doxwcgjF{Au;jq0M!$s;}G#;?_VUXmkiI%;Gl$sa4R-1N0om}$h zi!7t_r#e5vIp?FbCwukP7{h|u_J@}u`-2i9jHeCITkLlV$f{wDXzx!zF99}ZrG}|t z+YhtGQq!+~BpT|f8cB@40YxH-NjZ(Y9z#$irB2GNZFCUp220n`of|rTr#BXk+$1Cl zqrbJCZgCtI%eaTO?o}pibXPs!O{Muhjpz$`#jS0psgvXPNqWanF zgH(SM8c;&K^}(Kq=>I*<+;fgKw`SwQX?a(~RCMnMyUYB?KZB<7FvY2XSrO9=($3>b zKv`iG{AuUIN*=8&|jZdOx5Ya$4=jP0ic|U6Io&OAO z$~myWciPRQSdkWxdD+16wa`vCuY`NhphaebeJ1kk8SMZ%g*v?1NZDOUrqh&pRn$0k z29wG<;?Ig`UR|B;VNi(~d`ut9NBI^<;GN<60A^dG78WM{%ml^o%~!5_RY51QS8k zQL^IS96%_9kZ*v;2nC^8?>Jk&QdoK2U65iTx-1$f+Rvo{*Z|{sg*@$WzLi>e%>6gcl zgDh|bf1ftVGgZ0fg=VbFB{%8o1CGgIqVw+Di?X?Jz&xaplihiqx1&WGgA`PtZRNxm zln{?CJOZ<$G3qtQi}6eT_wX>Up>Q_qfWm9G@JWe#cPOB~e&?j*fwFUWy=|QiuWWkf zHwVvQ*`IF~Ye-Y>u+b4;Wr|}Q@A;me_dYya>k~rjLggb*;hjqE7i8@)>N#!^??rkU z_JJRnh{j28VLA+JB9}*XflgL5WR+6tG-@0il6ppdP;?5dfgp&g1O7iFZmkPyj!|)k z?u$1dxsGvtW2Sw}R-cbkf@xk-`|7wgHs%r;*6LT%?hV2;U+Yp`HwO>&>^=7x?)TY6 zwg~@t6=(tf-tY5zD;o@Qkq$|}N*%~wPm9H-$bY5;zc0Y-9{y3!hIg#QS+D4(6Kvq0Py%4m=>7GYEPis6jneg+yla`_8u0J; zM$}IGIHGBrk5vC-n+%asqaRW?KTkw1FnQmzKmMqP9C7vp$PS7BObf!s8Lp(d9!&66O zjd{8u!Xd1vi*-#3NWhkiO<~in%UN~rTy9106z|392z%D4Gp~GyLiUNum5|~fnh-x& z($MJUP>K%k%uoP5Db@b9`KGe2u~o~%U9V+l*$zk{E}EdPRzG)my7b)d|JyLA8#X?<4Q0>Y53>J#!HdSc$cWd_(j*Yy#$ zVX#qmI>q~}+DjI|cV~{Ts{H)?7U#mtM}iyD@S2&Bk#Jzmrmp4j{O`us?sF7w$)Yac zAhmZ@u`uS9knGt(s=j5`9kBQqRWRo8>0j9C_dX`cB}=_H*g)o+Nt^baU?+ELQf+ic zBGMs*y7`6cMr2r^F(>iKCvwE+u?LJSX^xhkZ+eq+u8p^OpXy=cr{sAaZdI~AqT+A* z6NQWz4trBh8`3fEVHs)ZJmxKLpmOVXN=f$JEHkYVY;GUmtR9S2rO9{wrc!;AB(?bG z;{_D$z%GXBs1*!*s?M)!k%QVoT(9q{j+Slu(CMXFo+~!m?}|KNeWSBfmi|PH7w1+1 zW<&46wUpTlPKECSoI^+%{1cv3@m;R4P@(dr(I{=q$!k)~bqw!}UfO6qjA}HiCZ1Pt zS||<+F3?V92WV9XMDDfjxhabxRZ~{*1&!S8eO6GSe-*7np;GRk{vMC!rD7ZF>)3mW zo0)5B?l&mDzMhC!@SEy!4-Wf-l-hRQA<|E%;}PN_A`PRAJz$CX%}vnKTlTQ&ge7Cc zPLRffya|$4FBp&p%28s3*Ka+%c8j+?CyfA)Qx$`*u^trqd3I_pTL>|XH>5B}LLxQt zh_P?tLNIr`*Q#n}p%hR`xmeOah{4W6Jwrc!{78gQI12xP+qfzKm;T&S*HzdFP2$!p zTj8$3P;;K&=9|WlM?bhp^s^@Di96Y(kzDfm-Kl=xAJ%nr6I=Fzf%A}s7Y`*i__Fx> zv0Gb~xMxrBMzQiOAD#n6pRwzlc5PxW%WMh?PTz%5Ejyl{S1KM7Tv`G9R~Z5X*MD0W z&DXYpAfB=~(Y!oE;1JPDQ57Ke1qE6>_)861UjZ!s&6gU|^*cT3lB1jMJZ9vSyv{5$su(lD4FYBa+qUPw}_33MK z`Oy!eW5dIo!pDu%jl3}^I>ee7*X$$uVIxqdOTz4|)2;I3L!!FdT-H$FizZP6aL zW4pp8$+eBSFPnHW$Y0blpZCXqTQ*CW&H0VPQhgXHWXKrhZc+mT>An!_ze4^wIxwo! zw)5!@%VP(jf>IBZ^2@o}2p93}Qv0fBxR0&yg*a`dIi^v+a9c$83hnIOWh;64zh8;R z4C>hliqj3$CN0;@*b2n%QAs*16EPgHCsj*z6Zp#+VGws$-7F zx@gj5Q&o5ogwgrf zfALAOVZHj%J=~(d-0t%DEaJ(L$&D-PEo0s6h3QWPo2$5l z+p>{4J0pcFOAKcraa0%-1;oxohGM2uD`(8%{9^E>H>d`g@cJf$gZM`?L|o6n>*AVY0+DGhD+k6p zwPK;0v@SZ@_G{_Tis$p+ilMU3!ixff(;0)Pn2@FHY{03Irse}Y85m#FF~l9J=|`vV z@3&x)y8e>e1Jj|aFR(T9@HAp+e1uS@)=E{a$gv9OeswIo%SI8t93-U|ZlN1c?HjPp z*BizxLExM;{a9rAJqu|RzdEfyeb<5*JVM;s+uRQ@3?=zCqtPYG+U8~t;!2y7nA;q- ziVxOVIv3&*alN6J<>$eg_D8ffnuTXjO4F8le)9=%ycAOrjrJd>k-TTU;1^&oJuPok z-&~0b)MS01y;*B4$`{0qCShsP!59=AeQQe|A_)qYT;(mERCJ9K3FI*kT)gwTK0cA^ zurMsFV_6Z83N`b0YyFgih&slCl0;Qig5d)C{nnzy(4;L4DI6Xe0$?3ztOGZ*O{ZIKiAq9=vriSH+oIaBkB zD+x==JJzJbLg5r^Luga!t6kx^O?HFx`AP#KLkr`Ig>85ceGIWCLSw+U_XPGrhl^GZ zhW%ZjBgmiC=o(6pF}#FwU6ZjTCL-DwZ$|lpG7T&5S5?)K+8bSb%<;GPIS;DqZ(c7H zufc8p~}|wq=jy?gtZ0U9qN>w`P#mY8pJShPGyKuyxRv2H>?iqiNA^tf|k8 zt^~Jv&@?pE70nw&C3qKCtQq1BMbm~_)Vw@Nkz{hgRlKz z`PHjmFt9^OwT)|Y+X8EjL{cjUy3U=eICrkHvg=qyB}kX6ui{+AF_+8Ld#=LOI{*t^ z0|Nt}xLgC3)XgrJllsnp>yy834ygF^V-N*z-t5}kTPgR!Gzz7rHn&kxpewDsPXJa; z^PVTDY3p~~yu&_a|J`HoFJiBTVAz(2;hO8;zQBJ&B+B^_k?=WcpSEH-a-_8vQ9%dz zRowvrr=5MhT5WG6DwoyvQmI;}v)c)8ecccQJCP54sk^sN`&TA^e`90r7^?i*S<0-8 zydMBgtEsZzGVZ;3%RPvLiSGvhj#I2{%+1w+DhVljmjD>K(G{nFx&aUh?;Fs%kYnA| z-F?w{?wGdA)$Qu;itN%lUEPtDea>#J6CDbX)A2JPmwNkL+TO0fgZtmRu&{ceY@u=C zh~b@M$L<4wx6S~t-O~!xX0zMwVMWIjdEn~Rb=eF|F>kE#&4<7EZTK;2CG~H}i*BXS zS}Q+>@W`~{V=ef_=XkzhJw0!G$9XB>G*w&a8|M4Li4VFj z_PJb&hI1R>e=56Ps$=t(bTCj=ql3X>F&s8;m7VR| zZcaLz4F1zELaxSzhkUWDs;WWpaOf*9BL+wME)OW*MLTsMV{ovXwyPB-7-%$J*bptO zbuc6BK!$d}ml|2V%GVd1?4dAltoF4I4Q38yg#9I>KC`lqIuP0AmzT$S!eAH~8L1Oc ztZCH$x(@*U#p2ZAsW%<9*&J>Ky5%GULQ@=NhwUCSn3&P9*q>h*zx(Ph0AK3B_?nN) zFY~A-8gK9o-k@n$SmxlGH71&=-c zZD7{3F-5A?8a_*b@Eiv?=DgSN0+4iu2GbZ%Vi+phK@3J&eF%Py8U?0dIqnsMJx&(( zFbdX^3gSY4aSRn=T|`b*Kn2xx@e~@AzNqc)1-JV22jDmdfS1*$)n4kQR)QaW(Yc)3 z*Vlc?8BlQ=dC+IzFn||a>qT|({R<0Om{Qo7%CC#)nw>aljsv{xytj`!V2f_UuwTgn zG#Pdy0+^))KUSe+F*FP%gO1%JFZvJfT!k>H7JK;NBnXtkLzkbb1Rd=QFLs`C^$qlDUCu~qBp}&+iV6-i+6^JnnG?>uVXTFDrQyf!3kGlW0_=7;(13HHo8>5kC7Z)o=wP7{=zcU1?Qk27{l@-#!{84W zg@lIC4}I~)7mKC)74cvEg2*8Cxhl}4q;q{*R|U#A0KnRcfK%Pwy{?{$uHMMrzxH;Y zu7ns^yBSf~<^14y#pW}cPn>b~bfbfMwN5{NPO37OasG)s+#=W$K|Ob0FnH2ECNlgs zPa=@;rakF?G`KN*4`w!8m%lGcyBZt6GBh;w70&+J7eao4x^V!511io9QfcKq7e59a z-PQAv^P`H&0BuiZ##zwOs1EB=C(0%DXq^?*zVe}rYag9C@xccleDuj#6b5&@P6v*r zrYixxFJB!7#Ppx{lP5HUEaqyzjt050F4sCh(VJufu9rplO-b&!) zrvU+`)|T?`)7DU#o9sG%tg;qP%|S?9fp8AZ;l6tn*mqF&c!(nPI*V zCPinOE^2%G;2PlzFwJ}5Mk-kG%n_gR$os^}@&X91GUlL9NfDtN$|29$Q``OxgC4e7 zX7IH~v*NBk+?d-4GFF(i8UO|gYlqn9KHj%#AFrOq+c&rif*{)ER#W+|`b=78mW41ZN1JGa^%<8k z_ARHiuBgw<7^)vS(9&Y61a!N*|Hj;zy}b>^Nn?yWX6ZX!$L@nT_*}f#bFyQYon=&L zFgG1zF;K5alrwTD-EPbXUx|awa9|7wiWwN44qH&M2N51)5Op}{*jKX|2UGb`u?Gs{ zLPEZHrG{_TZ$)F!s96$`Z>Vs&T*pxfZSQ8(&Vh=Cp9ob9TtghRo%);fP_h+l|CDf805O66Pm`?^lu2Mm7piT{}d_$0~26KQ- zCKCJoc2x7OL|CIC5QheXhzWMFP~3z{yNn+!f4czAV4NN8y6)z~r>Qy-3| ztxzG*B?939t@EN2yy-{?gtVO%M5PV{N|BL$n|=Sa2M)aG>V^pE*yb~5&z?D>1?L%@ zXl<{v+qsBo0AZT<@Kpjq9rI3G)c-I5KD*>;55U882zUD-6s9W~fTG>aVqqvjj7B`r zFb6=aabTL0fIXXTMAI5H3Jp;N&(N^g^x0(awNAb&D+G;I#$H_P_9z(YymZUS>;A@5Pm)993yvo*B@^ zJGk<9?vIk4XO;Vxeuuht+l43+ms(cOx9KYw}xIfvVJE1VsZsU*jYTW2>8zSbEi z?!AK@h9PZ@`eK3qMch~zX>;ZEy1Q9r@U_mgQ7I(^8R4tH6%^~`%YO0kIU;{VltbT=Rmm%@PS%;qyEx!N&tfrK&Fwg=04~%k|-3R8&wQ zqW$Y}g250Ng_&B{WL6GEXSTKu4n_}U(*A5}JrJE)AC_sNMMn?SKX%61d+gMy3Y01A zg)77PsC;B(1UM|9Sgo9c96t5feFE^~OO{;l=7T{I)0HPN0Mgj+cCd}8rV&jAw<|Q* zevQJx(15l#!2fz0SPOm9U0B`h;+GmyO#<@o_#cyk(<%u*dNmjhzu zSXWYKsiyJ=0PxB~=RM7#>5O3(hQeV516(NvNE3+q_~yqRJG0q&9H9#jg2A1O5O+BT;jdb)d_gI5-~BSf|7XFpn1uMH zlQTkzXBcQLF z02th77XaK@aV!#zPj{nXOl?nh5AojjfwS|>na56?IpKv@i!%ML-e2;qoY7GZhhHk+ z2@jk}yo=27@eO770Ap`((ZJrH{|i$IqkYbsFQa%>$~Z+}%#66aCPLRocb!jUCOf=I0aIAQ1cF}0OL7s2x zE)#Enm&seRW;wh@n=&)&O{N1T)BC%I&|GoqK<_W}@(K!eR-2j35pcCi1^kFv8|9e$ zHuy`Q*JVuk3n{6(WB6a%Iq9Q7R$~;C3kKk%Yoc%Biaj_CthvD@ecGWv(4aZ ze?Jz;(WAl2*wua`3$wR;5qc!TiP}|G?4y=f`ey#6^3#@g&@AuXPs>}%`+R-R?)&s~ z%UNIFjI(F!TLxOn%gbpk`?_4N?rs;;EN@WMDi}}f5m@*Ffo^pr_5NvPD3Z(N%;uf_ zHi(W`5EUsfw;faLM=j4FBxYbrhC)MEDm243)F=%VPb)PFbR+~yMs&QAu3@-sv(4aZ zot-N=x&e4->dn`cUWA_cfi*T+E#r{cdHcLZivy5n9 zLy0+zN{td#>}VJaWg(i+4{UX?F(t&lX#9i0z!U(i67@|RMjg{;ox#^SEBLQ2xC(ys zg2!3ox!Dhe|CV36$k_(~AB*hLcDtMv05H0r-N&9B@R?RIV+ zDcw_&oyy&rTKlG=L?;mNSI?#ep7Q`(RVei5s0uMm!%}Ei42XMy%l!}l69XR_h6V%Z zHT^aQ>PZT`Rv>`UkA{VQh2dtv>Z~&uDEzVx8R5`yhA=l(_H+6MeyLy)#Jv^Esef~6 ziE^FFi%#d}u%WQZKG%s4Iy+AQf6tuh>?8`^yNLmgZr6xlkD$7iA>dmY6pg7?PTA%vH$zipZ=6F@K68rzaDttfp;E= zJafj2E{cHroPP@!0Kj#M+*CeCnp3-9S~mLb>=Jmc_sOCNME{??>w%4{IP-DM_?XSC z$?TfoKiIilZ<0gp^TT^>t?4D{s%xF&mX|wIYh5Mn783#M)i=XyiU%q$@JzF)9f{Y((~ntUo2U|h>jTwk3P13J?+`i z(>1nI{hHKXdEP_wV1k|M{0CwqXBGOiY}4 z{^VJ?W!^bd9wcdfI2w$i;Y{Yf<0Ye`<2Ovzm4;|E8Vr?|mVSF+KB;$mp*i3eCzhPS z65+L5H*Rj3?s}uPr7BJCXspbnDsR8_&hh$^i4&)Ocgut4OD2A|YSk;h8f9PIzhB}j zzoC|J{Y3o)I5{6WH|{9neZ;Z(USTj-_9Nm7Y@F zrHxyk=-Y{N3A+AAnaalPv9ir?-#SrWf8vzfPs33#nttW|?>u@>_2Er>e}3dQ`_I-- zoIUgWndc`a>PL@1`|Z-w=m;4y4)%5vJ)O|H$|~v}T4H?Nu9GGI2D{hnUQ=B?v=~pN zy$oyc`|qC{JNbjRH{S7tmYZ%Wy0n?}Ot&WOKecVupTG0NN2{wh zAKkbA=QPp=!wyp_A%Nw=Cg=UJ|o{snq94H#}$4iut?1m(xy#~J&9y2QiswB(x=h7jc>0B{mXxyJaG~d9?qP7_ftQtK6>=% zqmNeauC9KxS{?G=dH$udbr1XFexISG^(2~3c6Y}oC&LQg^EXs+$_M`XGy59qK3lY5 z!=mtA9tML3`~#PcMEhENvD;}n(Uj>J=_z`9r(byCg@2acr(Zw)!ineiu3ha{p>^G; zg=kgNLxVo8N;}Xp)I1njTcYs2u>fxKL+g#J_;p4w69frC1y>3GD)AqV6bu2Ol{SWC zQUg-{4GS|<4saH+d<<6FvvtLpNJZB)ITC8^sY2~_=qVIT`P*wh^P^4GQ|09wK7G@t zU-|y`|99`MwW}fZsH5Ytj*ebBojVY&ZF!1qPx;tWtD1^4(ZiCz=a(E`w*wrWlvCH_ zU^gcOqIN8ufFn|apgK_7v6*s9%1hhQ4gMlR8VIv6iZn<%bDWmu@-Y|?e(7+qH?Z9G8H_Fwxv-9iU9eL!DzQ5mI@g;CH7nhe;Ha1aT5>=tzemSu> z1v5=Oty8;$4JAu@#!w&t@168VI(lQ3K3ms8K$xmYBX> z3Z;x_3|S!9!pvo4uu=#=>`%pfEiF9>t=nILQDQjc({ihZHgDd%X4|%HZ$0wqe=Ckg zGto?Od8{kq!#zDsnM~!XbkkIDI5!+DHx5*GY&l%AEc|u-VMB3cO?hQ`Wm46zLqtxw z2th3ss!>dkVG5GP>IIP%2!o6kMK+=oLG2aIkZ%zPe_uWZt692!GS=Mi@H4|TgONTB zr|)TP(bMnVvGoaUVSUokBDncW)O8z%Xusxvj&?A?L_qw-5Ljz4nYq_Vj2Mv@4Ng8$a9&AHZBeg`^ zo{FR*bq_5YzHVo5Wrws62iyLi=C809P<`~==|y&FEWI?kcHbpw|MpR~he%j)6@7g3 zrI8)vEsEdUa{rN|)m!A=>%RNYQ13y%Z+hAniKKizX`~$pPYzBV28oXIuz?kw{sri(eI2Ib-swB%}{53jSes@PFTQ(@l`_x7hyWFMscQ|8(=cM@oZ3TF-kZ z{Y=;N^q$A}eHK?e@viaOmbW*pU%#)RTTdV8Mty_+$uO$IlaWZ9WO8@WWc=XGkc=pQ z!S`XTAb9@NlWOF;MVuxC`OiHV-FUNd-zYh-;tzI4e*Id=o-NHAoEgkOm z)1*>pLr!=k!&%$$PwA8>XO$++B4%DcXnKAI|9VLQPN#Pa)V$GNyXB6rPUl)%yWhL0 zCte%DkJs*L(OUZasWvT5T8aSREm|5K@<)8(!SFMI^itl#H^)zoohv+m2a=pq%CmBt ztWixP1_a<42-#W4PSU8fb_u-2KcX*si5U!4D?6KO_ig&d*H_`LZI2j<9-l9{J=L+Z zqo!Q8zUdr^494T(ZuxKUMN*GdHtIW;6yMx!*Y4EZUUelj5H0VL{MB_(oCPlik$)ad z)mpJkgoHAUr8!J=Vt!Nx|2DVO2&eU-ts6HU8T#(Fwr+hi(mmLPCd$*GwcwnkpW z5JM}FrLhkIczy=|dZ`%<5byZb=kINh_>NqVlS)gAR#{wG*%6CXmX`-xSG7*{L^o{*4T3SE_(atdMjdZl*F^Pz?KTHvs8B??eYVbtF!gd*Wlmga?1g6 zj*X0rY}>Qv>(PPEdnA?+as+L6Q)e(*UfI$6@H3xEFULpcZo5|5!{xhZI9Q8!Us<(b zW=}PzykZ&RLsOGJMg}{rDt$LnET8&R=c4qb^<~f$cij)!2HE9+2Rsm+eCfj={V9 z{&3ho%UjF10%_9*=3cI*;}!Ur)HZi%aIA+d58{D;-6SI4_AfQ*uEihu>;S4vzK zd>y7Vj3lc;Ls(i$(lkcdMKgF>{`DBvG}fa}=cW@0eOk{UIZS_&_#&h+ttSCZ-bzA8 z@*$DabJHt;!I4O0(C1VDhoBrPxe8@S8D=^*DWiCpscbVyLSve_SOycy>}iHc3&esX zFb35ogmDYOpCpatZD2&O&J4I4d2{eQAvAi;T@@UI*Oo=fV#)k5u+1UUn_7_IEevYO zd7B#Y3(BxSqjb@0@H9)vuF1wUmSe03E)fj+C&*w;-4RM8G#xGx+?@tDnkaY%*G&bd zrjoNuYu4F7D}mX3SnOqG3$uLjyXY!)wv%?g(>d3)Yj0&j=>G3rJ;ejbWy%wEv2hW<9Qi;?r(0pdxf=c7Md^ma82Vu-weD0VS{jK z_hLkqzK&^9EiW@`5~Kvfk*doA0k-`541V?IU;p^WU;FXbR!;j~{X2zqnsirfZL@Ed zy~D@=0e^%wLIoC7K4BI%Kz3GWNbbE1P;HQ#Ef96Mg6#9J!LN^vkB^Slm(-80n6L8% zb{@R;OR;q-Ad4f$O+&{J1C69@WKibBzf(=xNYZkZwy=hg1;Nr_Crf~@&tQm$ln{@P zovQ03LMf5#;VGSY*14Lu8AD5!0^-}>P`70*ur8# z`N3l=trc3>tOWSb6)B-vGwVdaJMr&Xt^(nex~!95nsvhB%?0NNkG+3R#S|C(c=}Jj zoadkCa)48*j-1gWGu+=fAD#hDmNq`re9?0|8+G1#>LXKM25 z4REy2kWDZ#WT%)4f*CRxTq=oScn}Oz9UJIs%gJM~O95^uEsZLy;5^u*NVg$3Sf^kH zYXZcIl1{cf} zJ(nlQXLYf%Fv0*Qh*^r9qeT9J$NwIKT?_E;fdvFknw}@CKmmT>XFt3D!sT`_zuF?^ z-g$6A1N_A=e&N6jh6Wr0gAFV#UV)`OtQqQpd#6bS3vfxpzI_*F0^fzfD5Wazn^J6J z!Dtdw!YTC_T&MuwRa^8&C+H4oHqS!EE655aDmq#jL|`hh>z)XE40b8NYx~!&QwiW4 z62NVpLf$tqm;_iu0yOUcagBNmE>M7XRir8o&F-TtY^c0%0TOf;GOz&uq)n)|1{W&8 zd;RgrZgIIeq{^F_SuEsW+F27WxVHuuEWnrPy}PgixCii(0?cPpzPXp#uwvHW$w`0P z44$y`f*lMM(74Col>x9n9^W!ktx!-#3}GRPp~5%!7`zeyZl8RvNTsU~sAb0t0;bV0 zWlV67!7BmavQ%Uc$f^>+xo$9N{TdoxU}C?=VAnf3Iv$HTg5XeEMIcHw!%6+--Wt3z zrs(G8@S)kAbJo!WH|?yqi(VN3*JX-}`}??O2d`9s8;%`2HdV8DfISAgmBA9=W1Sv@ zS1yA~gTbk&%{>OMSb$4Ip`fJ#>P$zg5?op8!Q>u;3m)LZ(KTyAYoyW3F~P#Z#4re_ z7-K<%9Jt5e0ta~SA2+Oy*By}75yWk1nCe1D0(2Y*WyZn*_89C|M@P-NitTMa$U9>i z)sv=9u|8}NWMZ2!;jO_14{(2Fe}8`$2ib;U#E8%hECLimu@ytdrpMqy2e_=PA_ghK zum;-0saUZ_%+=5cU&40b8Nb(#KHtSt5KK5kH3AR9C}5FJJ~hYTf(kOX{K6>rGD zjTMWmJAB*vvtmEC}`lBxu&SP)5Pu8x^BYH|qpfVy|`U8332jIvECOfGF@?lIWK0N+(x zROCCjvoqS6lvrv^sHk@+)F3z0NXRE9VT{U6G)96Fq9fbH%+Qna9UW7Iz(U7L>R%^R4w!ok zb}zui{r&wl{p;3Mba9xXCBFHZl!8&vV6jZ3A*>Lyb4;Ds*I(uk_NY+&~Q@iw>$>B z72sVJWo2b>B%JE7xT8locVd(;ZpZm$5Zf$&Wp-W@)+z^ zfCmS|{xBQ~N49&Otd$6G{xoSaJlK3;-nuI@6ZY)vJ?G*wJqEiT;Jp&ypT@&K4TlGv zG~p}JH4O@GtGrW-3Sk&?_!`*q7+e5Bcd5a4MdNraSGh@Cr75XL!H6_^ae#1B8o|;u z3J}c}y5qVu$&NXVG>^e zO%qEFiyI}EQ~yyEFKedg7YlF@Mw;2D73 z(@JD}Red?_Y{{!m4zVib- zHtv%4&iMHG@poQwM%fqftHwNlFGqN6+!cLn{N&il{0My!zv%|WcV2)2VukXGY41b# r0QQ;(u-80*z2*VzwU4j;p8x{@b8`;S!wmCm00000NkvXXu0mjf#P#j| literal 0 HcmV?d00001 diff --git a/public/img/print/sideshow/print_nanologika.png b/public/img/print/sideshow/print_nanologika.png new file mode 100755 index 0000000000000000000000000000000000000000..85fb9bd02d9569d80596acbb4f3a45adafe8d63b GIT binary patch literal 23615 zcma&M1yCJ9w=TLj?hpv>?oMzE8VK(08X!mrY~0-)f(3VX-#7%f;IOgauyKdWf6hDg z?t4|Y>W+0yub!D&tG{pc>RuC}q9lusLWBYU0MO;WNT~q;K*;+Uj|BT(^O-@?>b)Rz zmDX`pceHYKH+8WDe70~jv!sx7FtxT+voy8va2~Z31^{3IDhe9X0Ph~A;AWfp)z0Pp z)6-KL`&97y@zvAo$=%EN$>aL^x^>$wO7dStMMYE^?uFBPs+?7({53j{GOdc0`T2R6 zguhx%J3l*j#>dBVTKY#1@6yMQN=wTIcdy*~5BvN3i|0=XwLqDfnZVE?-jq=S{Xjf9 zOU|P8g3jUO@+Ok3<*u%-@bK`;;W2XnX6ca@@LLkSy?qUHtt+LVe!ZTBIjhPx3XqVaU#Z$i0R&S{~nf%^I3muYwPIf zh}0~yZem%XZrd)o{8xQfP~Shs=zdb0#Fdqm<(++OAvKnyapZtbc6DnQ%QT?0)yV$M z=-iTcwJSQObmZW_HRxkZL1py#N%QPxALOjGcS7>_JYL2!0uC{o zjKJhEUm&QBdmq@+!Ev9o8s%ad8nX zehx>;ktk#Ne18kz-!pXdO61qHytWZPda%8>?_ScEG<{mz-b3k}^WENo)F9yK_*7g> z%+SCPJ8cm!ZSn5u4I_0CE_y0GJ)O5?L-hBeuaA#k_ZBG$iE`<}-rin#Y{JXS%Qr`7 z3{Cd8ySx4U{g=15mzTHw{llG|oxQz%7boZYr{~|fxivL4H#c`z zS66_jh4s~SK-%Wj&5dH-JldvSh#zPGdY^7M3bb@TS}HuAph-vJVqkKaLjd>l7(6&DvbJw5YxbDJVz8XF61 z>ilJMbF*%0tERQ1wY4=lI}Z>y|MvD~-;YoL0O%~pNqyD;t(z{VR=A86F z28WM(7K*K>?ai+lZ&}~n4TN&11j43#>Bg2Fienq>T{iC0oYc>x;2ymwM$be4r8(y8 z`{dlcAL|flOT#gQYie;|K_H9_JbW|?3IXm%4kiW@4HfWzT}prZtA769r2lCG@|Ba< zn{m%=oVQC<0Y{Y}VbXV9E3+a0Ap&|^^^>^J5@vGVn5k}%xR~0xO`;+`WAlJ05B@Tl zFu415iGx+BQ1DPd63EXrQ|HP?e0z^&nCA_ijb?O$w$D|Rt8#K1`;JzBV$UzeX)6$+ zp&~s-{E$xSAXEfl-0ktWWo1Qg8FtxBdJ0AFh38dNU)@mz7o#>IkBd(KD=Iux5W+$h zK6GHTFbxib@{i{H%AbC!5*bX4jSu8!_jUH)_Z)`>g^*M)D_nmx;}*ZJrUfJ7!Sb8I z1H9;e9j2A`{(v=7C+f83^p9hil2ZQBp7_tbUMnIZr+@TPiF=9p%z_mT8afD=^fDzS zWoHzYN4ei)fV7b;YOY<=36TYXa6%4dD@p#ZzO7(uIMf>Px&CB==zQTqI=1sa;bL^{5p8B zm@=ESii2Zuz)ML96*!_;2Qqkos zTWNq?s@Al)=4jo20iu8wM%m9M%X&=b*x1666oB^zs?Z~@$YV-2Wnqpeyz>Xai?%3o zneqHVS*mU8hykmh44!`L3?5lU5vB^B`5aBocW@o!I?e9NsLfs%MwbO4y`s{|%crOI(k+sAw=>1|LlyR?sb#%{uYQDU7M{pArGRj3On z$i4jqd^TtwidOoYtbp!X35o$4F$emV{T29ctj|jo{14I0Kbd>hZw(X{vXod#GsV-{x@;{cd5pIAo2eG{}&VgCzkEO!zxMmEuOHye+1$G zmXs-Nz}3Y@mV@roV@*5&fzjV{or2jOiUGSvJbd>%Zs3_=KNrB!#TVRltZvo%gwE~V z;kEcZYL3~3%^&)!dr*4g#S_+mW83xF2{`3+#|=0$9`pA?m4bb_g7F2m*tiQKYVE8~ z0ha1gf%}+!>=)h~Mqt)k8T<7nqI2IaAjUbmuYi9)`DRBm(K#7B3B~B9=Xoz`dzrZ@ z#_$isf*ir~0)K4)6#7Z@((~;Cha9pcdjae!QqUYGe_OtK+pT8LC(H9U7B=x(=@MGJ zq=Zx{W8q}a{dBYgh=IRUX)w{g4B~g6$J%TUZaBIF!LhzId`nwR1^&kKtgov#^s+hj zKEsEk%bw@F99fHTBpxo-EKc4+g=B~9qkg~&wO3kJp(nRmcSy&{N#ptD51lhvqrYq= zPkL^*+P23CwQ~`gb|fZ=mMwbv%PnCJ8ENcKso|N3_Z?RNEVLi#sY z-=GDJe$L)MCvsBhj{I70{QPb>jykeVN`e**H+oOP7clRwEVeI#Bkw(a)dUXfOK+UW zGGpE=IIEvdv+T=suRiXMW*_UHO9AF(s~ceM%Sarrp0SO$ZY01#%U|ZkWQhV1PdEPw zuRnqhU$*sY?`jscg&^hX7IBTIYSP+^!qrDz)bJZsi`ryPIwW1UEe&rqE#%|^E{MXh zQo?8lEjia;%g}vmC?MX!Ck0{Q%zsMOBOO3#yqjATJ$tPH= zjd)M24>)u{q1m&w4tM$q#JJ6$=Nkzp0f=BMOED;{mHmVp2=RMR1sQ#etB3)U$p>mI z(vj$6_umoSu+N8$5buQrpNdvj}VNg&Pb#=)` zf+iaO?36as4U`TbM0Gj4rW$uiMX^@|Y6nz%?vEfU zC#J&ix2_+Oik?6tSHjYMA{H&4347Gv%>1QZUX}$9wXlC1@AVZTIxnW<&i*(fl;aNyq3L0LI2j>$J)NsY)K36(P|%C6 zbyxxDDZGpLxDrIfAc0=5BO<38Z~I-Zt($&MBu;L6WWwY*``T+^Ut!T)`Tv}{wM3;} zy^?;oixrL_AU=;GlY{NPP7-gMeXg!Xn!(qnuHJY3X{da3DGF-5H}X$Ig(NIEjJy0pHIST z*aeRslh{=KMYHd#&Z-Nms>2L7zyEafx&N$JHkuIb$rJEeS$l;@IjE=J2O7cSgg#BS0pdgsj*cGj07l?Ns~cb}4;2c@0~+LY z__aIwIPP?#(Cc)>Z8A71<<&6xbzN&uX?FN*Quc_ zIBk*4Z+|11gAu*`?}bMkWWw9ou}tZ2r888;XU9!v|aVmvbprTxccN$LXiWyH)M&9fQoBUfX3+c0Q)_t=aE0 zPnV9)_l{wz;0BMn>Q1ElP=mOR6FWSpcnuD`u%>~bZ1cb9^IEda)s>s2Fpn4*BT8Lv z|AI5arALcdD!)Q zH(#ix_6Cl%)W%I~BKiPF9{KD*wdTNQbYO z<8hBycHB7-%yRDTagHWD*^zb^T&D+k^P&@t%F(^J1Xy2BABr^D;XoxFK}K#GWG7ii ze~A5?A1XS}JA*o?s++vDQ6ZFc&1l9?t10*5CzD$lk4oHs{@i*jvO$h}@6N70S98~h zV_P}G0T`v3b@t#lM*|uWt~2ROo2LIj^#Q!FcE_~bYfIUCL_PTn0rny6UyE?ExVT57X43M9&OF4c7Sm@-?mG$VJpyeDi1nMLF_xgDRp?*wmf-^ri zDNfHfZAS3%D}4t(d}l1ctBY#n(;pxHKNBV-XFuVN&Q!q_vVp6FVR@~&7;tC*xs^Mk z_6~#fxMP4UP`|v9gxEM8BB6jtVVdy)n}kdpHj!!ReIYPLT`l}@L?#FYq;Ovzg21_= zorP8e@SWdwOcKO+V4R^o=i>ZpZRg^^8hEg=R(4ssvEQnpxGgD;VG6ZMwyX-+4(KG% z%;o-C5lYz2wRh2N^90$NrThr}hInG-(WM|c1q1MUq2);`ko%h9Lj>QM-!dZqc-wIw zW=-Yi^JB}8`wGN?0vZIc7Y8j})Y=`lL`A!kgc)uzK++JFL}xp~>$h$jj~C|*qMpfL zA71Z;6>hT_K0@VTUrS0M(tz(%a(}E@9<&}?L?wVVJSO`iV6$k~UN!n|;%@YA0{xyV z3|gOeH8Dv^r~a4>B&#_QI?f4cZkEvGeDj*+xWdG+mkLJHlW^Sk|k>D{)h(OR3Hb4kb_AKrr%l&2M%{|AtTsvQyyx}JY=)`*SLG%sUeRPjd z4`}M{)w10M|LRQ;ufg7Fu&uuSJ@8$-)6I~qfOAT(R9s1I%K`3;dADe{?LXyGfetMv z*v}kt1hQ{l?sPkP3<5fgu^^c%yk!Z*9kIa0v*m`cm1r9$-IT@Eo(}sdx^II~Ub&|8 zB3`w8T@~=q3tmP-HY`EaS)>A#lJzsVsaHYQFj%_Ro@k6be?Tl8`F+m0mrEYPzNcL# z*htr4FiIVAe*RbexF-(Pkkmi!qL2@~xI*kL($VOCU%NgE;y7?BZc4L?I@@%+NsYWj z^-M}6DWdN99wsD}&oBet3jBnybd27H`rFD92EDpSa%r%Q{X{XR?Zzi7dqrKfjUFsx zR_1>vS2VnJY%HO1}aw#n{;ZHL?Xq@34v z?`h*I`Sa?ptNbu*$Io3auTSSdBl}%c?D=;O`cd80Z_DbgW@DcQsz*7d3VD zH4XKSu<81`E#!lnlfL`enB6Y2g+YP{%t3GF%aIA~2N|?n{Xn)JjSH}*+Xprw`y_GrkS(p5^%{uu9+bwV3dusfG zYk^JByO??WY z16iQgsax2OLKCNTMyLr;ba+;*@5kC)sQ-_bQSc9MzgmCF?Hl?R z=#UC{Cw#F;*sDNH11v_6@d1j30`h@nlLgk;f&FCP3rF#=9n*CONIFrt7dq53&6VbDDB^QI5OSKfq3{TZ6HD z*LTWKo!Vyp=6ONryk#Y)^Y2cC{-?fiCDxZY#Pbtoj_sc5Es2aJ>N6z$DgRTqihb#* zpDWOg^^K?PbKgAJSEf4am~!Yh7?$)@@dhe?{9pBwQMaJKR?M9y;1^~9NDn2e%MTvF z&U2_l3pjUF6r8OYvUq;xwRN!+0V|1^01=Rx4)$L~M9NFM+-4avq3*Ii5&6b@y&kaLyscZa70ju3jg z=l(11JxSnqLMqCf^Tx5S`ep{e`AvL!@g+p^eGo#rk519QSgd>!*kIr8GRNF;Py*FW^retFIx0mm)ZAtum zXY6?zB*${TMYGvn_7e4@e!w7ezN8QI5y}Kd;w!>>+S_Efd>)--Sc!jX3;on59(I@K zuT2gqb)TKB?}=o`WrdtsBiIM~=!T>GkbEC1F>1RuiJ$$JpYUDpxM5Sv1)rHZhaMYz z862Q}=e|~8Gh+8OnVPEWcR<4c-J|*X$QU08Q1~JKVMbggan_w5jLdVcR{)*4YtQw- zubQ3CxVPcle&YUv6r$HRK(KKg$PD%SeU5k73*wM_G3hTvr$AY)n|ff>sKnub$Y$wd zF92_Kk{1L*hojD0Wx^t;f<#P9P$0pfufv&3M$N29P&K-`^I*ZzNVvOyb#DQi?|neh zl7NlFVg>juOs_kf<`6p-?zi6IUzoG;_3v5XauBfiCUzw6S=AD-J^jhB0Xj$oiKsaY zV#0IS#Mzrs<_x6RHZc*#Ri@as>2WRf+R4%2#*~DFg>Y4=NK?<)ILU%>zFA68q8n6g z{~6J%?ad~JYJM)|yLVeDFkJjzBGURc8Fc>L`0LlFGdH(ecUxFyL>-09OXSLI9ouEP zl_kgp7LrWC2Zp*29-o`Rlyx5jzSHRX>?6^@VAayn-486Gv-`)j0mFJ?rw)PYK-Eb*Rl+#)}Sd8{SiMJ>9?B66)vWqaZ{)JKvdm>go} z)1%hSG}>;?HYMaW*@M@cZIt;;OA;Wcp?SqbBH^3}%G)-%n%s}M0YV`p97H}u4r`2| zlj)%E;1^NjWxqbrI^C_RdzZ`m*5Hk6Pe&t!?4V}Cs0G>5%%#O|2fCnEq{bl&mmsabpXXqDP#=wd$9%7~ z&C|ESN!*898*^{r&R=6o6JlZtyK#-*ocy*iZ2yXBB{Ot>*0EMy$}pVlu6IK|KCSkU_d(S0`s^5&^6MM8UT zkZaIlFZDWr-DFOt-YtG)Js1IEn()PfnSZb$u~q9J@IsIXw2Q~44Y);yfjC|LgFA7; zTbr6XCuKR9m~u~x1naZC6vSw1Y9=ITigle^h3tnZlOhQx>EpVw@KrML-RbC9=xA!% z=zPcRfb*swYr`-#LW92NsJ~9Kci5J){Ik0rCLxg9z=RLh zwO0@Bx8tu9wbSJz=B5+FOntGytYL{>>XT^F&d|_*p?g{yn(O1}SAI%Su)m5Jd|?c0CH}uy0B^S)UBGcF~iSbl@YyPT3^p<6WSzF6iU^W^@8;%V~VK= zVYe;d_jg+f%`tT`3k(EQueul3bgYKDb*!kk-N?BcvXIf-1R6Yy2^uT(?2f>;AdnC z&Hvc!Ny`!!!0t+~KACd%A9&q6R;^b;gO5w&Wa6M@9zZ@%>}KV)W`xp{YH)z zZf3{(zQ=|PZKNzh?yCzJB$jJwX0813d5!L04!Tcofn1|OeY(O~GcVM?VnN&nAj;jA zm)9>(^-0G=i>ocjdJp)PVeMeM^;4&f#vHaa8P59*LG3GSfD}an(p7WsR&UTGbYm+p z0RjmO+z8l$NwDDnsc3L8ps=wbVN7DWMQP<1z&ba4nZm)a5h97;YmUghGM8-u$+XxL zl9KxT)sinNtjJ^kSZhx%H=fe_0iHPAT8@H?q}~jPZSR7q+#){Y^IpgG_Y!I81WsG&$6D=fb%vNwDnrIhsR!` zFH$dC5#)wcx&^tC-nZn&_UXHn1Rd})FujYK@LmE zGIZt_VePRnxpN@{vTjecI5|1nULk?uoOt}>&=R+up_sa+rn>Q^c%9l&I0trqfbW>O z`IeIXNj}hPppke=2w%yqCnT2 z=rBa1E`-Ca-12L}>kF&;2QTc{_k7$895c|(k;l~?wYBqm;O|~0fAveGO4juuJYWPW zh7R%&Ev#GkD;WUUx8D@5Jw4*L{7z)31NW_g$~he&bLv?TvP`UuGoZQzoSE5fnl$n-IB^Ng&kqF*AovO+=l(QSPv@VLnTi8f;+f?oL{i1)G^pNLK|R31ke=g?hfSQb4E zrPZI43)BMuvy8B_rtkZNrtzf^3^+G@l0D ztqpPkj{Nh(MIQbfLW?4TkWg-n-ynBmxO(IfFJwRHi zj18_?u!&BD7B{kHIh*b);N$|*VNK>%$4U=N(a)6aR4F>uH+$jQp0_J}qgAh)t!doH zo5`BITd9AYvwlr?^ngA7FhKV0;?T_VGLBAcl2>yniom}1)Da4ehQl6jKk^sQ0gDoM z#01-zH!h$kVIi?{oR$Mg0<5cGau&iZtOA(hvsjHzwN;#0i)5zFJ@t@u%W{eFVzUVq~OxGboSC!NCC-_lPm6o&Y!SlqT4v|r- z>yM0|CRN<(3084rYlgGH*-PAcTn^lpaqL10`Cblckl{It6$CCL=HvtoaFtqFt8iZQ z*Wv(^Q3R!B3nn(Fc92D03?elRAyRUy0UI*NnkFw&p%@uC0KQXPHxa=L8mOyA9{ts| zDHOVsov1$`8{q=~?{D6fv3e zFC|??4|iU=4_m6IU8-jc5YaIF;Fhrcu#N}S?@vt=8Foohs77$is|S? zib^?1L3)RWkQR*ZCHQQHL4!QU_M!#Jo%g(bKC*E}txkEWN*c9{{LLW@oQyQz zq6OLxuiKPZMA~Qwjg@<|3eAZw(&PS`__a|en% zCbu}x_HokCT*$fl)Hw3uqPoH0IN$J7Dk6&^!DgO*zDmd2()r@Mch@7_pm#n^)VJRoeMAf& zBV8H@0SLa$K;?Dr4}WO70pRY{8%zBUZn2Bhl%KH^D`;h~>j%D~Cz<4?Ac@`yolL$G z9<}Cj&g|7P+fg@o?+m$EeR1$`@UZ`J^0DE?3tDOz8WGAQ>=oOhQ?8fHCn9B+$uZ@E zo;i_#Ma<5_3nTK^Nr5OPB8YjE>tk+g0evo{HU;k!&!5n%n=1auUoo&i&QKWFw$W)% z6=C(%QO;+*Qnr)5eU5u`?=)h#uhsXUznw~24mTV5*RG}IWnL8t;fzg!#k?j;cqa)t zJF83%at3fF?L99q3t=%aQW&ciYS*IydEMgk>0`-)IHC2+1`@2X$CW${0(88qW_1vb z&=(4>=Gx_Nv}eH?5~F?ToV4l6F*~|+NiV5SBMx@JT63M<6Zgo_Fj9FZjz1q8t`ovtMzC(4mY{okh#O@DnI>tspXFGb z6G>^W4^apL6y85V3L@1IAw{ZRrmCao?q}YcA+CewD}eHQmk#}&%bzq-;9*zJe$UI^ z0FO8J@gQ8}IRv#4(i~oUJFR%De%9|l^WZ9ueIhwv)&59=g9wufJD3eXGoy17$HYAR=t;W9 z!D#Xkp7-gRNCDY;)hm4$R^zB_JSy|65+43$K7$x(Hc62&lSvuN{8zGdEDl zcv`av^(WynoA$<~_iWAARtekb`V}rkv7p2&|V4T)M+@EVa^3Ja`j+&iD`V_5B&u z7Jb--6f5RBEvFnY?~oFCveN*MAyvo#&J3JVg+!iy^)| z?F!)EKzcd8!)w`1(9S`aW6z5xjL23cWkB=WHyBYu(VzvChU89^oTf-`AJY(%TIvwA4*pV9ihuYvC*%@En%h{;RM3 zcY1PPdwTmd0icntkdBl?Nx2M`J>*l_=cuy-fS_;{DPEE->WEKrq-6tT_tDdpv5y3t zBKx%Z?`Ehh+YA=)TQ-c;fRkiC>;zY*gwn1KzZ5dv*X1xdaC)W_{XvSZhW%Qbl;Ch+ zn3@x@D511&pFdgOqs5*48!+w^te6F z=nZ;PkQ0=PSc*o+w5&ND-drsq31kEs_Es1H!OZ$?J%h+A; z9w+lItG~l&Z@}27jA}>dIKr5|7?X|{(FlJ=U556dy5<*{!!Gi=0+_=?I+bD3Vb8by z)pcQ*x)4NyLr%VJi%;y^)(HzCyV156&?0yOTR$~}e-rz!3vhn;d#h4QZqVG``!QF(5&IGYRCj0*O=vi(~sP|K>&!`IhKZb2(I zx)!*lsAi$~Fwz`1Fps=ftt6c0->ri?!Oq@(H{F7mH(IJ4XUgf*gwZV0}rnUpD|i$%fATRb03{cqL3%!jVAFgS|^ z3QB7}{t}9X#y)AK+|K;|HG$@gqvgY9B?wO2O|vtUF6c5Bgwbk$x9aNZHXA$6I}9sp zhSto#4-xe5xrkYkemCxm7K&msY)gp9mDiy)ICw^wnJ`jK>dokDy#|rjlrwBsB zD&AbZENff~Ha#XLb{1n)$KE62eqjkQB*$O$q^RR(j>_>k%Us;Wj+LR_Dpfq+XuGS38L52orC5a=Gr@Fy)lslj#ENU3WE-zCIO&{-<#5nP$!*^r@$39U%oc1b9 z_r52ou7bSQ;d{5>VeeKSin^3hR}j6tNa63a0kyLBYuOw{Gz!t@I!?%VHa+&*KXO$e ztg?A_A&uSmmlWG&CVBg4&DT{tXtEn4Y-3C_SONsz`^{skQFTXJ_Ovf-T|YLhvAdKC z7Q32v7POnY^mGjf(?H+zM{v`#EcY!gY?xBelnb)^$b>=A1A0V1i{pd$<*iX+ey>FI zRIj8_8Zx;r+X=+MPElW}n!tUCYKY2TsIKt7jl*BCW*g-b=bL@)esDhh!&dz|qnrBtJJFnh7K zEYoSR<)gw)8Lu%u;_NxvXCrZ*`#_S5#`ti#07ljR*sr8}-h@gsONhb@7^*=JkHY$r z0*!_*w(4}LMDA<_VFg|j*DF(QomO(irOLe7h4iWTPq-x$sgwq8N~x@$r3 zy)TDWW#fFy9sH@EEU*`gaaUTuL`24~iigVSa3#ht(=2P$wudN$(zns{^+ir)Vg4XE zRjnp*Pxgu)bO(k-^_qoDU3dQ&yW6uG;L0GJFs&ne>PydP(|qEJ{lup&Eh90^L|xe? zz~w&bA3(Lu?f8YB8)_5vD_Djlg;#uN*xN%xpKWXpKU_X?HaMD7obu1jqYO=5kfBzn z>Q{h?C39%LZSs$$Oj;kQG2|?%yvp-6qtFR35f_)3`higy|5c<+Uhm8iGD&$TiCd#EAA!qX!tz>?FA2E@hGt2eA z3G)s1xb@2P1GKB3KUv45p4uEDq7L`nh8bM_j&9D@y`#)* z9X?s7m_$Z-xy{)clgRE?o$`zW(cGaw1#*^j*W;76${M~_;FI~V{@=nXKpPa8K;Q` zPgE-_-`eiiX)nbB#u@nfEaRs%%EUQ(LxhCg*bkOr=CGtC;MRvZ{Zyw+1$3x2_@Rpk zOaIk{i(@if-MNE#V)bz8G(9oLXCIrJdDBn&;?+*@Do<+l2=YA@{%A@Q+D8kI{T!7mnx@g;kgt)#z25X7{q0h5kj=%6DIb}%RZ7-g%$ z2yI*%(iB2^2FLEt)PI|p?)zc*$y|NsVh-#MQ&TXrw)$RyJ47k!Lkur;HVs@ zCTPZv$Q&wx_AlvXl7SQxlY@Rv#*cz-IYjWb3gn?6B{gHtpz(j@ zB5WO?VT-GjaB2ovXMC-nX%$Yy<=4;y5P;@{tK(PE8`ddx*`6i&EmPyin|#-#oXIizq6I)+P&o?%5FvPr)pLq`pdL3Ic^?Y68sQPSZ$ zN#{~QdTJdCL%lnVvi!@H;pAPLs!OIn7A%ko0mgDCaz>DuO8K z^>!iHRo67V2R_dBF}#rAAi2^TMUv}P1*RJVO?o-|>xt}kd-SvT(N-rm(@ce8%}?<* z^%z*>&JMhpDj^ExaJTjp8Zh{_qdZlAhBTKOnRNPLssrE$gbC9c<9kE1I4Pd9!q~c* zH}@pk3#4nkJflDOPX4XITZOAaMEzZn93$+Vw3oxBKHDZnH7T-!NhGFwz)h=%xro+*<(@ zAc|5pUK*OhwVFR;K(weXE*$Uf)DOxq79J8AfB#Y#F>I?gBj1mrn1ns~M-|=aTIMUk z=ow8Dm>-Cgl=6ENNOh4$m6(^=w*@-@CwYg1^Q=vh>NNV>)BVS9yummcj5uV-8!$rkG)9 z8F`5`a1LDdt(vB3dv(4wfV+bseM4|6c5b1Qn86Xz7CTQM7 zy13#a7}@;`sg@BU7`Yj2s)kzj84RnPB>2T&%&Aik+(!HK|ly)ulyPjA;(@>@s(9x4u~gE$WY8yg!TM!aQf6T|`V$ z5V}hYeA3T~L%cyM$6ZJ=9xr5!v+Nj$yTy|5VE%Me7f}gs_%wFRTeBep7VYz&M!skI zBjrpeOj$e&h7?J38juvP++H|Ok=E`*d9X0V1h^Pkxv&DpKwhyv2ux^o(nPG5XAYv% zx5Qy#D==q4ycOrZXB#4j(j+=_N%^-6z>n(nBoMoWnlcu+V?&4HkK!uCUin3u1aU!H z3*e>|Vs-R=^RlPbc44d{=BaDD(~YS?`Y&>gc;5eXiRQQ9;fM4$Y?8lVHQfM1U4Vjm zzdvm`|%;MwHk%Hyn7npALxwvJDU+uYcyTVDbpp0qh*YkAsE{AmJyf~V+j zlZ^ry8QQ0chb3lR^iEN$DfZkvv|Gbd2? z%L~SnKfcuoe^&mM2^4OPwZswXM`c;k%u6GJ^r#E230z?QG`)vXjxLWGfzEHD^WAMc z)9yxjE1v(#-j@4b$C2+5y}^-(fL}|n3x>g!Tw!W9WBkuw9C?g{CHk3khL)qLo%wV+ zPlGi+E0p4a+9@Z0qcxnCw@khWlGww`y+fjB^T~fKM`U$a|J>j#7E<8J4Tt>2g0|e! zWZDYy2~&dav0r69J1RpoTpo_U;K|zQ{EBQPl7#S+T{Dgyfh` zRMFD~h6#SG8LGX4>E&%54!kAFsvrmU?pExM42dH1x?~*Muu1&8>+9(Ygi7FBxj}&n z!$!^q!mvRxN%@Uk z<(|vtwl&M)o_m?KjozI4>FmDBM*RlzkAa)0 z+>=`0ljyju)98Ow5xAVH+j}u;0%YkLk&v`re_oT;B98MeKsDIHIWRP9kI%gyn9N2n4K-6VN$%g-?{#19Fp55 zwDo8iKupkVMqrH@*jZ`itRo)&GZf!8Zkv?I19TIKY`_06f{hceWMy%L+oQgK-q95A(T}VZh{)z)eH!}n?dsN|7grs^ z@pkQgm|o;sl!dIom4pnFr}v(Nx5rw8tC^^cEaDB7F`v1CfAp?ow1|)?t={u(9@w<&R@l#oRzxJssYx<~;f{1Nsn$ylEV6(f)bI zsdhVl!_K#B-lFZPSNn6jFN7DM6b05j2XufzbH=wDxMKP!J4q_aJeB+5J_O3Nfrc4- z3+ya2Jd%3kfXhFvTGeO+3hxQsZz;}Ooeg@#qs8#Qs%Td&m}b}faoTW=KID?$I7Ls{ z#4({eie;ULUa8mXJR2d12{VOcXElKZ_7V!0{#G-);BHp@0)Y}&SGLT>i^D&C+2)ujtT$AX`MB@O54 zW2yz(tzBed;8r>do%|>(EU7a4&=!O4wG<1yY@1!H-EZ@Ns@ICQ0-Is_DmwUot$DlK z9j0vwPqps@rE*DaI(yCnru`GeeJR!$O-0v`0rQNTJ|w{s-MutT@0s4=G_m` zT1Ht{vbKqZG94bk2! zg0nv$i3n~D0nijM?EsIZk0hMqKTk!GP^AT3o1He>O@O1pKG_I7K8*hkB?7qH4Wk=t zomy!B&2n}MVCVrqTpv2s{;+UrCCA_hf6VTUg(*4cX3*Jn#oG;2cGE0|C9f#1r7Oh~ zh844`kEeAryR8H__maVo(E-4*mAq$X0}Ul3+aABRj7g;-kCc+Q2oqH`S+!GYaeUKW z2MFKrveiP>%@V)X-`>%fGm*wonS57e zr2q4W1uxd!lM3mwmW+QtCeDb0e1GL9uUTbpJeg9=rXCu0IZoza7fC{DJ1*@Bmi zL^3&Gj$<%UK}X>*l6e@{j~`_+cYcz*W6Gp0-++SY`xGN7+LURVA&alDIgHa6PZTbF z%Wn!t8}rxc`G6@`zMXyX-({814wQV9viRb5&s3`v`TdhJ``~{9Q|B`Mo{l;kC|AE} z|6N_@wDLrQ+4V`qbZ&vfjN9!QY3{kFns)))=NoRTHeR-+@_)G}K zXzD4g5)RXqOXR>V`p21L%xF98KS?KA1d+oV!yx9s@Y<1)ca3m|QI9T^u?m^giXCWRix!$@rs zk*HTFOX`8!+*3^N={flmwO+$9u_^V~xCHvP&)y9>Tl^m81O{^mtG1}s7753U!I&>! z{0xiJa84XDgD=DTKfCyrPJuHACh5*2fGKux?4Hae!>q~{xR4rv?xQYgICsAt`Ji%g7xx zl8vS!fmpa(t5T6@S{avQQ}G(KaEVfxN@W9avQ}#&)3{{qco4kK0K?)^JW@a+l^VJD zt7nhXAmmBPTMim_WH8o%vwS(XN<@&!38X=pW+)YCDTQx{=%zr?iTvvbVy z|LEboEm2S?W=d;G7KY8%NRZq-jfMl9FEu6^zwJF>s6ia8>m!;hmq!Dm!G!K^WY%D~ z?21ufGTzj3&Z{_vEUM+TL7U!@_c3GGLEXfEW6gIgm=NLI8O`UdBTx z!#bZ$NcFy4&w=x)Xf|gZpp+d_Diq*opNXTsb+@Gc041xbRq@u2kBk1S`c-OAWn$d> zM4|$d3>5Z+lA|!`<#5s^VCgj`6Gw?Dsn5b5$ji%MgXi#Na zXn39t?x?sbE)B1;+VCn8R|`k}X)?S`hF1Ya=Yp%aWED-T0)YjHrBpm{_7b@5wo9`B zK1-_bidZ@Bv4>+htoSkh7$Y3|TduK(IXQfA!o>o|!(FZsap&pZ z6vt)O{m(0Jz9xBlbA4Rg?zp#rI0AC9Q zNBJ~R8ccv0IhR_D4L}!Lpt^$R8&-mqY$bTCEdqkrC=gf$gc}_Ma)Ut7ZS1(z057$Y zcn#e~YeNe`3L0v%O@&W5H4ES~kx+w!hxw`QU@Me*TsOs2fp#`Gh(dk4ZlD zjkzB4*84kNeRXf@A2MS0zWN?b30$#04aeNnQ?yCw5t*99Kzvt@c80!UIw2N{0X?uQed+%WH{o(uf z!^54dQc?KR@Pen|jQn2vs%nG%1>-6eLHg_fI#6aFSM|-KkN5sh>R$k<{-4yMqIWYg z_LT>{`-hCWv|T@Y<(reYOnRN-1V*8O^C#ipMBv*>&a)*7+=&v5rB8mr7djK63kHWI zOzOLFiHSW;C3-ombC4-FL=(-H*~1t=CLzKCCOZX+u;ljE*FEvYG<`GN?q-}e1@CVJH{#~ zWwG2*?cpqB8l@?vD`E4?3kU2|;+fWF{pIL~aP9_3=;v>}_10_eU)+w5i^JBR$6o{y z)8+5W)cVUD4$jP0uysT>23Tc_5`*6c2M@~*C3A?r-Y@8fOEemw!KM?3D$m88K9J1j zC{1ik3H$Q^O~PUn5D36&GG2l{mVj_cATV|}2wH#*ZUDv`g#K0nh>*o_Owbn?`{QP5 z8xOxPtfJz~l+Syvyy(GxugEJZm^w`85W!qa#{lADO_Z)=WHd8_km?lhQVx@{;OutH zkl5N9cr>Ioq#QXF@Q#kzm6+BdooPT=j{qK@%8q^F7XGxMo}OTVGwfW}NZ2@~@&x4s zhl1h2^h=3iGexycrvMHZ{-l!Vo902^r|XkwBtV04n0k8LxyoCIl%^AEjY+wA)DxgE zNd;mf6-~(1s>oWIimU>Az@H+^v_h4ZCKJkRWaCVe8E~)W+HX$RvR}-Vll3jD^c}wY z3z%3L&u8)7rL3q@KJc^njBoj4tU=e9(?8%((?*6=r>3M-r`A=&i7EGf98;H?QvGpE zI?^>AlM+(|^DJvu3NT!62d_0guf)-BLqh&}lR)qboTN%BJ&w*+D2R=6jmDzJoxtI6 z7Bj`7)F>nxwvtk2;apa1K2U6+=o=-v#tS-=LL%WPBnmbKLpgvguEgUp8U@=#)Li~> zOQ19uE~SD92|gK-sK@AAa0Mtf5--g(anv#U^EPy@(WGIAL*(oa7CG(1`Gd~jLC0{v z-Rm3~8E}kxtP)!Jv35!{R0#UlM2zT0s zCqHMWw|wH89}D5DQ>brMb{6;SuDpu@Dtm#b;8*}%v&jUkv`KAJsyP^ph0SigyA4NC z9a75Wz{BEbIB;rV4%@6$v$s>J#XZ#RIJO2f+d9ssXiuQJDi_=JES8cJLn~%#B7ZYG z;9>WD(9pK`hUZ5`xf%R$(bK1;rKJU~()+HcsM7Y*_9)hPUvzUUGrce+J*W;mr_|M? zr&Jde7N*A()lM#t)x0q_b_D^$l5rJ{_l%t${SilxOkqdt(@PZUk^}hDadDM~Lx*l@ z0bq^AtX8ru9F2($94L;)VgcKl&D)P>_E0Ehi5%!HyUeWD^$}sStTrXLwiaXQhmw^z zg$_;0537sj!NfJ)pVzqN5m5tWt*iKJcL#eAeOMsC-6#{$OvZo5d>4htYiaj=ro1rkF_70KT}gTLyY( zXD8NRpyRWM7xW4o#bScBq&_DK{z^0)+{w7aeV=J0a*Yy4ph9u@BY>gGjeervVME zPA36wR#p>G^UTbPy33{$=jlB?bVHd*Q&z(6Qz$nl8z{iPGMkXt>GH%>l1l(A7Ly1| z<;&YQbY}Lj^fz-ApY_`Z`iFZR3jtit1R4t!`S+AlZ0GL0X?gukVxeK`#shNajO#@u$yao}=S7 zUv52}2z)XuhN5Si**axbtJ#b(X)G8VGIQy{WdIg8WO&I-TbH3tSXD7sze8a1qG^#K zDMdv^d#elUQVP>yE@ezzN_u)oYHDFoOnORs9gy0W1K6MV(cnkC<)Fy~EHtMzS$zO| z$k0hWM8{+4cPX27jsBW65a+^`8i1(=ezqyO{v`ceW=3KUoxUx(C+>9RX>3-LNv@IT zfSbipV$2+qQqm{~jrOFCT|8hT^JW4;?3FK zV56I`*pqaup|wO!M5+$qe3h^uTn{`kVjr8*dXkPmmzbHjJ1#LU+0av5T#W5$!hseT zgvmOX8?At|hYfm|6=5g-z$rD=`PmnEK+TyFDij)FwkR239EL z!Ky*c_uZX_xu z{5pYl2~+xK8b>#Mbo7&>A073{Cm+25cE$7awa?c*{F?wRj8(gL@7|h?tIo-qIx_%4 zNK^4V;!zOL0>x97sg=}I$xU{ zP^k2t${y_9k}Ne5w7eQPtkfrmeOhJ(vW|jS>LIIW+@;ObbMJ4q^>bh=aF8FW`RgH)rD;T2T=enR)e80{w5-#tPs8v(!c|O|@e?K8vk1(9M)v zSZYa@0s9j*5$3`-`iCK4q@*bUt*f%cVs6T+EXHF`$5nR5#bMvWQ}3PxUY12KVRQPB zD>WL9^1yDgRNMj#1R2TjT%nE*sVsD6zQ-zVM((DO32=IgO95NjZoH-Smj?S9-6;!! zuL{7B@y>4UH$B+**;yq@b3Hv7Q`Xc}mMlR^4&@*MCi+GMiE6XrauankrpG|V8?Zf< zadDlMnC%A40Yg@@nQhU?eF=OL4Gg8409_h)yn1G3082@^p)=yOhno z>@>=CL}X<alXc5T2E~+xf_SA$H&FR(bWgGn{Q#0%Qh>`X1Q-Q56RmK(>6Ly z#+_0dwfqYIHsB17MsL{y*E)kw@Zo_ka9uQT3Q9L~=ve5nW1*p;{)g{nDEByN=T2~O zKq<4sO`A;ov49@af>eO`m_h>B_-PVz9O8LvZZih91%H{`_}; z{_8(K{HH(t-GBe?r+@T!KmF;S{N>;O`MckPKf40{MjSZ6u}CHG#*M$P4FOg;h`ABC zT(uixYk$A7wsvDst-lm4cJ%=Eh}8=AA^bPE9pChvevk4RM}qK0jINxh(aCiR2~5g5 z*`&r{JBzV&EWW2F;WG|Kn`~~ym^Ujpdf<}vz4hjsKYR22_c;fj>4RD>;I;&>Q2No) zx8HdCqc`4w75?z$4fqT~<+tD1aP*Cj-hSh?|1)jZKRmj9d)Gfiq&>?1heu%N(XMN6 zvOj`<1cI!Od_8LcTR%7?B_^giwJ@fxE+)MurMf6JrRd|-qN3{5x{s^(!t&slx{a#` z@aQGA1cy;_6ra@J{rck1-uxiq=Y2&C2S3m$oaa5z8yo)q?Z}a(Wz8=;x;qT z=(0~QUsk^M^R5qe?D*iVKDdbGN1sOr7O;mvHhQiAHNA4>;L(E{HXOWiWdnGp`e*ELV{W~nY^vabh;HoR1M+X#ec~DS# zOigV~4O|1f2DHMU?JcUQtxc~fEJVsm3)6qUdH};J7ClF4HgVLr6L4|hpGSP~!JBVJ zy!G>~L?pKk_*!~3^>k;Y;VwOS4>b{Mpwst%rqH~$?Y)aTUU~Im#Ls^&(IM$SI`*b# zXWd`ElLf-!=xAS43)ez}0Ww??EgA$*;1_Ipj(bC4lMCD3aTyB3d%%@&iBkCN@dOrd zdSPvPN>CvH83eqm!b0F?1;LI>@Kjq@R|8)|Ru5p$mX8|y6dZ-R6$evb<*;5@{_~%| z_U4;!UjG2fYj3^3?d#o{iIrbd?@}u>;&z|QJon1Q9dEw*+FNfa*lc+tu@6~^wo$&} zxh~@XIazSQq*27f8XcX04V*5|=$4(_V-=HZD}2vYfBehERTnOE_QKU z=B&jdnyRajT9%qbda_zhli?pcOVn<1nT>X`MzXP3&a7KkvZ_Ohn-oF`Izn-D;h>vH zr?eC5Mfa%;hU~+Hee;_iMn?N#=icWoU3(?bOmkUM@B(=W+W0c1rCBT`G$rAanNl)uTZ5B(2 z!qtL!meAym*Zaqzjj+;+6Pmj@7kq_YM{AB(tATnfz8MRSLGWbzu;(JJcc4K1Vaz`YBu93?fJ&0~~l%cRnDh~#|=x18VKE0vYVFadNaOVf_WN#4p4KKG$L3(;Xal=K)WzhM$nEpH(M-TS)|P!C_TF{{ZOgI9qt_ zZ>OTd<}7mBs-e_!pju(G*#>MCwlo8nJD5L;h2&6Q1^!DTGR?Po=QC7rh7d~c2tqH{ zmd^TopC8jO?HJ3K%+t_mm?W?>vAb3!L95clJ>K*;2y9FECh)BjUu^9YTkoxSx)sSu zReo~#VgEn{!nUG?*UIX%RTe3#D=JzBY?UZJwn4-9qRQ%Y0~kSkhG`GAGo+xJMbgp6 zD}%5pOj9IX)AJsmORw&(zc_`)ecx7;e!eApBkOx&m>j{(fiozgn|T z-J?K-z- zfK^*}e)Wt|h+cKM-Sij`EX1^;9LpWF{`u0v_4U8kZ{I$;uztP%>cWTdl~|LR$!aO8 zaJKXbQc9J5Mep=g_Eo1b$%-OuvJ;@mf=DsT5Q8|zglO0o2C@wKXcAMl4HcWsg>9Wg z<28Y4Q!GmpuJ}8)dnZ}%bDYi;oY(1O9tf1smj^EM!TI^1jx!r06CK}1E_HNViky7o z(8P`6_~KE?W6}L3P6cRE=H`~|TZQK;n6ZBr4K6q2>c@mood+lZz(AnAdAf8u30Z@cSKr%=L(|sUi9n9BZj3Lz#M1b>?8|^8E}^JGv&3na)`!8h=-7`GMG|6m7r+=_;h37;PwTr(gJKUi|b^EuN=t&yyHr|rt?5^9TrpGyr8{! z3^*31ArQwZ*VGQ(JwMy3S|p)e%jwhVfN5=qXOk3QQ%!-mkYn!6?TRn606)G@8*~9T zi!<`hLha&jBtfYuJw@sL%9)VL=UZ%bEa2MP+Os|&^LQd`LWuKs8u4>j?x0G5}#BVKKV`7gA-nh4czn( zLtdX(g92XGuSbh8*&ZtMSqimQ#Jg-p+uiRT9Wmy_^4>_;Vi(rT9Qpr<))jT-^ICIN#%s|#T;w+%JD3~ zyWVZugv3Ic0bF(Rig*dGGGzfyu}KMV!|{D0fcJHO&1C_8o&bJZoaX4=o?~SJ&NzTy z?M*ySnce^!GS(yoSoMqtpW6Z8M`;Ui23ynWMnV9G59HVUN1ImN&-*qk1Q!q*KSW^Fr@d1Wz;~Otzq-_|N?}rlt7$#|ybSy^ESW@w} z#+tn>_T*QVGt^cR!Z$UO6ptnKuNWU-7)yp)7)HO95W-7gX=fP@i-wYlw>8G>WpO5- z!Iof5k@~UxFSD0zW$n4PEWlZSvzE#Bj{pMzzZvF-Q#TCb00000NkvXXu0mjfQa%AX literal 0 HcmV?d00001 diff --git a/public/img/print/sideshow/print_nobilis.png b/public/img/print/sideshow/print_nobilis.png new file mode 100755 index 0000000000000000000000000000000000000000..d0cba1677d7cadbe5dea636cf0902de90a8d4c8b GIT binary patch literal 16894 zcmafZWmH^2(^R zcF+E}r|zll+tpoNPv4RbS5cBiLncIqfq_Ajm623~fdN3@pIAiTJ4cL8!s49}xJv1` zsykY^dKiBS#G%^1qYj136u4Zm*=H)zOE(8Mugi%q@kmBUzyuQBP+S(!x5Yz$hX`hAs zY>A~85PEoc_)AHB^=~f_8)t28jYmpaSLds#soCM-;rRTafMJQeX3m!c72SM0lOh+_ znh@z!)4+g$8ceLmhwFYpAqfeI?(Xi<;kJG>^uvG09v&X&r(2Mf-jU%EWvkLZs;XE2 zHcZOx$E&N38X7VON**5{ceke_A|iUzQ^V?l($mwQE-&))^0PCuXypVBj;{9h_AC?Z zmk(FU$;cBD66)*f0>j%`{Aiw^AC{MwW!+*nGcvq`f4Y~stpx`U4h-Dg-NkjLPEAc2 zdo^sHZoj_1ezmeVI+(w^z36v!+25O0rlGnxUsL$1UsqG8?q_gucWEEmE*>H1P-sCq5(7&dp+4I`aPQsYonN)*{{DVQN*}4Y;1+bm zBG;&@qVVbQj$BJnP)O)cLEG0cf}PE5wd#Zhwc?(XjH?Ciuw$E>WZyuZ!N%xrIOC&fqo`}c2g zaWOn3V0fTo=Y6+!cT0+k7v|@yn;JqxLwg2?hAF9p*swD*QrMXokB*M2s;Z8Uk2j&v zw^*oJKMagWqO7EthUfB07TRZxg`|6e*nJ_k zfVuqe9W>RI(DBKHmNmCz*Kty0&&gDg!a?@Rt03OvVZcXB;|G1KI)+{9v0a* z&MCE8TeoFY68^DJFmzk#En0fZZ??E|G?@1v>JyUTo9|3Qg5iaNSOYMy$xo)s|Q zI6lyRx9Vbwm{O9A|4Iu5w>Uxc`HWbI+3?U)Q9z@?z`g$mD?!Pof4OLn60N!aK?k^X zLqe(xymLtiZMi$=RDyi#IJNkfr1uJ)dbH^oGuw#gh?(~o?Mxf>IdH%0FG|gjo%iVj zz*J7XAqae4NLdLQ5F4Y?I*NrY`aV(q8$rQ*J6RQ2#Bmxu1zV(MLMjYRhXE*4U>j^Z zqi}O8p=@*TIe_|oy}6K3FYHmip}{!ygunw}vfuos4*&xn)1>Y5F-t&3`#BK2iyh9X z-X7S)3F((H`7dxkR)ih?NW-mGPyM+G1Me%lNO0#T{#pn1(E7U)3N0bF4S=|N@v4vI zCSf*iWj=w4ia@ZQucrW*Xv{BUW^=Q@a4#g&4>uL+iP%Ly$W{Y3us=Yf0Dx>~L8x96W6Jw77TsFb{M(C*-R_Lj=Y@ktqG9r}l zJe!htDh|=}ep7n?8P+)?0tK#@Y6Ron3bvBKP|)T_G#@k!sJ|`jzR#oZZQHNx3tkNF znZ(`WZ#|-Y`7dz_U5c(H0H4vkc~5+cE%q+0?bok4+AT!xF)6>e)CaivT*0=h9Bwu? zLaHr_#8@#%#uIi(+R+%7yxao-mGmoC%6iz!x4FfQ1_9iPhkGu+26 z^qeiQlgkD%O@e=X^RaED*Hw{E9*M_)!l3`)&?&^;=KrSZ0}umE_H{CbBZ+V*H$dD z$?2pgSl!m|d{*+>&Ef7T-zreeE_Js%KI7)Zc>$P2>MRj#FA4B4T8_h~Sjni(=0g5M zc9QO-+kYg+F6Mt?CfnVjFUn}$^cnYRT(5PWMS+yAvfJ0clT`V@I+)B1D>Bg^6Kr3f zdxc}}8?!r{@tN1Fom(A`SBlYo_nj-ZtrcH>es9;G<%GUz?-LU5b^}}>tCBAN3qrh8 z{{^G}rl3(puKx+CZbdG<%C7&}_@8b4FPzb&1NYv)-~4Y1ZVCS{>@|n)b#uR~>Ams4 z%;6oQ??TZ2!}z~Q`+tH~)#m;!>}7)c-HiS>xc?*YKLGzf@c!Q{eFyYKi#q9wMLXgn zL@@pO&-F3}c{n*uO-ER1AqprbCev8*Ivo0a5!n8gGtNiQQZk`%VH|1Wqmwul@QjE{ zw;6fkV|6=kJRs)~JHzKR^LPwKTZ#kvx)xN#fX?R)z{p~Efl$IUN^(Gd@s82FYvFx8 z#Q!nz|1WvQ1UwG|n@|`)#0}ui+t7jRzg^t#L%yA%#0aPP3I2y&%<>i!O6p^E$Vu#^ z0jO-4$D+{t!%>=9_xu_k)z;y+%0QB$@Xz`9vg7NqbDH6wBKrvCc{vGUCpa4?0$KhAv9Q-2L)r!<^?;%_9?nkH^P+O8a^=`}0E^hFR$u@wh}e0pfT^szK$3>WR@qs8 zH&fbAC(G+^V=;cm&76fm!I44>Rh?F&R!Yi87f77Iq%lXAgyHueBag-zgEXXOQcOlP z_K{mat1*ByF|;rg5kx!&24bV90@0(Nzc1J8MeWnpoe(?K0~&p8&YqfRgkeMvHExhA zyHu_6McF;pPY*FZP(07TJLLbyyrA75&q@(_>o`wFTm?x}Lfc+#-d0-DB$>JN(a{y*!*CQ*g~M zaX#4wo_gcjNBhNZJGAQ4?-HIqe+1x4>0)o@Fk$6~UyCJ%e_^%y0#r;`qO70FRfTjW zK4DCS(J8S&szhIsROd-3+ibClgYhgVy!ikI?1)ji|_8lh!n>7NGC#jxPK3nu;J zcU0hIoj+(|nFmkOpg&UcQEA2jUkX?K5q&L<R`h6T%+Abmw6EB|W-={H=bsJ;_ zU@D8)QlToBz$8YOt(E&&y%kH0{F*?lq49_~iv!9Gm`|)>`Az+2swh2om_kY+$2x&& zu(j28yZBDz^1=0!5FQ}m03gH?C*dc!8J=IvvUGpAlAXz6{`S{;rUWHh@Hoi|Kuipax%f4L*^a(#GuwKtLV2BX`M7_vZoK_^wifL?d?T7p0=0P_Up-|@j)$iyam6~M*Pv)+&GMAVZRoeF=M|u=BPZ&nsGy~p}>r9ty z8}k3?arnsn#^Wgdd9*0iQY0+b^M!#VXM>cmqA+*ZLo=H*!kz%Y~28aZ1@xuMF0 z&*UtRX9}zWEzw6bPe!MAX$h6=?ys-?J3BdP_8YkG;JH*(Km`}{Crd0=SZ+Le+WLPScBh@dEwCCbt!)^-|Tgy(>b8$Mkum#GJ#SIM4^c9$*X zljVjc^9^}+2%qgx$o+^q2D{1{c);#2OVP|+_18~+Iu%0E1C)ld$!f%ix>kR#k>^ubF%si_CFs0+PLK0 zM01tS%`dS8S6>CKR|S(um~}cN>GC`7KTn18 z{Qk3q#>Vg`;n3D7Z_Q78dGdUKH=&U;bEV3}p_!tiE=!jjq(D+dry}?Zm5M--9$!7I ziAJpW6C(JJM*>ckk;0nz;TCCIo(lE#k~Ri^RRwLv+x@is+uTKtsN0tC8g{>fQYakgM_pcSDZe<0MCTN5SJM z(Fw(7I+8!}OX82?5{rAnbb2(Mu?Q-+ShJzzq7VFl&iE;f6e`#h2$q%`bds;5I5qg_ zbK^p&NyocaNxnnU5w3zHu_ZVw6?_cyT}~u3K47B}Dx`15{GeQs53<+IO36GGC~CA@ zZ8Ni8?#G^aS| zEz?@JIT)Ypt_+cwO}o2ZmkfG$-{Cet@2|NT11rj4Z^Gby{Fczd;ct#hQrIAQ1~bsX z^^d>-#=~ZbY)|ACVP>4thC$hcOuc{iZ5EW4Z@Ia+PAGP6ZbWmF>knppQh10jVH5;w z*mYTeg1Fd<>ph!s`P**BuuKtLu|>WVkJRP)Md4;@vKKI%ygz0of|R`_+h>%yxa@># zGD{gW@2ed7zMHk8<5PUAX{M!7x1rev+I0h1ACu3ygW=g+6{L6!3lA$fJcW&j%?6Yj zUc1D!s}xafgr7eM$`$v}i4U4WbLac`E8koSimkVQ{0_9OSjDney ze@vULliMiTei*Lqdi8mjueU_nt4BEhMH?k8G8$w!DQMu2a9Uawnod6ozF%u}^MR-4 zAV2~O_Y?zQc>y_y(ZqQ%XVb4na8$~jphjdfmwB5SujV5MuX*>hBFq?`s&1Ps^?MR> zq}WeJUXU;fT%4N|RbugCD-Lp({m?yX24H`$my}*jATfc=dQL~jE0|%1)NVlfSk?5i^TsijZ)mG5N$(#jse6f>9Fqr{zeCrkQvQzB-y02vGEB(` zT5Wt3WP`J~r9R?1gpX2ahQnjC4qU(3Ci%!_Q+*0WT5PrdIZGx(bH}3L3ic* zf{{vSlL|M4%xy%VmZb@b``DE?Jzj=dI+@Br5K=JY1f&`HZ0%>RzyrP4irUcbBfXD7 zlMiEs;u!5d4cO(64Xlmjry0^Cvm06bq7A4F0kJ88`iM{G2l9>2Al%mn@e(sBZwny= zr!0{1sVEevK$|p3hi?~n@1Hdz=UqXHjg0_F&>HKlI&O|_hL`prBaU?&Y zTwan~qfQPRaq(yu4`i|`Ud}-5!sabfbZ_uP=x)C#AMth**|c`sTUV8zjMMU$1!0{% zjV7hVBf~*xn|t${t!piy`nA52&H^%%Z5D#hc1mVlMlmBp$YHw4z6_J%X{q~npHxsH z6KKuH_xWb7ww*|+zTx!6)pDp#dA0GMzdwMMT=nG_o+Q6X6}}%aVwz^ z8`NkQG9fMN%0j}0Gq1|dk@h=V=Y!uN((DFlA1z7v7HcmBcUB$+-hwJDgG&xF`gG7} zZ9*JQ(6swuc4R#WLN!5IU8&&kB__KKlB=_a{5w>V%5ZvQzQQ1&J6<31GIqj4Hpk9k zh;Rt+FXJ8}>gc0*B7^y2)`_WO>tx1;#}enE%Vms%3^xmQ&3dxeT*3{3qVh*z*O#(n zUzL2a`Pu9W;a5T$)0BjcWkTP7bjN2HbfZlX=WZn0OB7QD7StqA3 zZv~y%*ZXl=lbPuDOyGOLu1eT>xo!oK9q9}sKeT3ex}BDAZ*+;R9djP{tW`kwje__h z)x0a-7Y*&nX=r$sdWIib0#q1`55YzoX{vcudk+EKz$rXjCts&Oh_?Kv`(ojryu4q% zO-E+hh%MJXex>Yh5p1Q0E&NN?a znk%y=);y^s9hqJX6L_C?GX=u`r(;~&lpj{c0B>BT68BNZ2-VtPoK-YlOEqqfH?^ji zT2Y@jT$0R4K|5p@5>K2-T@V;z8)+CQiwOA(&m4i{;T%~z1MGf*@?UFJ^FrZqHdOZcaF{GJX1I$1Nm$T8`=c#Wm^ zj+8G@sj>d`RvsR2z!6;GheCn3t9xI1w>SH)n)l*e7RJmR1gc<_%gZ( zD%n5^`9K^kwo;XbH3nlTPP#6Dn;ulEY|r7P4osZJuPE9+{lH@SHr~~1zV|8=Xtrs9eH<>SD`IY zt+~nWFa%IGBs*CU!J{cEpemx`khLxNya2l?{B9zKLB2&1$iAaNKy(2kMURe>+1h}x zY#eT0$79!-pGg5B#SXh>ZV3={t}5n}WfW_(q|{WkGVG2YX*MTcCpUyOq89YO{IzY@ zNClGe8eQbZ7ktH;Ll)8g@X^McT1vA*B~2-=g5jni;^&QAsiPL$Q40JcAxJBx&xE-i zM;IyU04IMKT?`kZEgv{QO1y$1ILW838wn1u>@$J3d0v_`l(PmUIqZXjh|FY18v-fk zNa$348{$of8|!!?aKDyj6r#ah3`2dVq-{qnO-;p;HA?UyAtHzL$|Q~2cFLy1ZH<8< z6-pI4D28|y*IRw%ODFM7QG4K?qaa^Uvk)b{+>=F`k6`IAM+b~2+MKCH^1{JS)d1lu zAwH-x5O=A6LZu^C<{I#63K&2N;n)475~>nn(^Ik2iP$H^g%qiTwH(`l%atuNiSMRG zXyKTI-W$&Of|wd_@zo~{)?(GVpdky0UWqaP@t~g}_B%+BfsXGD?BxmlW(-6Fl@nA7 z!f;Y5L7vqWB@C{JN%H z9IveZ9dKP%C~ltI@Ti;^vof^q@9^ZFB5j|ar0HyG0~pqM-W*9%*2?Jz2^-Jaqw@_C zG6iKbP}m`t5twQQ=5HE({4z@MWk%;j7h>m*zous9)Xe0Lt1}G_so^1|hep4gs4s59 z{;J{Rp0-Ux4w9=19!v-6lEW~C%}#LeA|Dg8xsZ4eX=t_!GzSVBGHD;>8W^qek2K7* z^&0*zc~olnRVOOC+H3&Qj{uh@u_&&zxL7WKWt;ryNO99c?Bt}#byKN=p^tMZucFH! zbk_7ai%FQWcC6ND1s#pT9)}gO8ehiSMR9hWfociW`M7I*JGVTf!B=z5aT}%9cvv=O zay+;Ga6x==57-9(J{SQ0_PE{8?yGsS(J(@8sdv5EoeTftP&P(k=hP#}56w-t0<6+I z#8AtyrNSFG6v)9TK}nO4(QUhmf?z%MPZXn^<047uid41r<*0{T4D&uEqXuV0sy zAZU2sA>;^5wr66s6>&~>hB7#O!JnX1=zP6kO$z#W80-i1xd;h7WF^|4*B(rgbMT`2 zHv3=+R2^)mi|`wNI=y5?ysz9vR$?&$PK+R8Z!+TBq(W<>Jn}s`dc}7ou?;fJ0Zb`K zLBzh`nJ?&-?Q1pUx7&C;LW@xPCmS|Av5PdOZS&Fd zJY_i5pQZk(`ai8Dn@`&6$*HNS|IB4`)SmBxgAjD6(TOvu`bTpM_%O(2rCAH9yJWaC z`@|GNBWlu2cJ8WiJ;mo1@J$c)ruc0X8Qf&aLBuTBXx4lhf_XeyG~lByNf9ON9*a%} zCM9fRfp0xoA;z-E4*Br32fWD}J?nvfHI^KLyX@rp2fZ0TNeVu`|FZnZh-=T{nEML< z()W&kcpBxYzrsTA0#z8tN5LWSOUBlG&O(0RiA@GPhCi8?E((W8nUBIrJZ42S_)r1H ztplk{2!#qv)%+{y;ii9N(ky3NSiR?v^3p_#J@Jpav#j-l1`zHo%oCk1D0AP1DifrenQ;{DR(C7<)cOThS2@LXY&fuq6lNrdmSpKHCVJuVGIj*{{KyoT=rn zI&;Pgpqk8{gy52SSv&XYntY0=C+Ot8(G*FepSUa0zKJd3S~}4S*`3?-Bc~_mw*Yu= zps=_Ffgh?Z!EJ%V$jIP+wyHa*eGmE;RSU(JWv>yZOWA~aP6s2z{nP5^aPglDlTkp7e{N5nNn`XD z*o+bMAuy3x0h%Xls9%+j@3(mHCLWQzqp+h&?T+g`d|?;}Znx+ozaRZdmE@f?P2XEm z?rRyWKHazy1bQzXD0|l|iLWUlQ+3JR`r;0*n#kodg9KpW2IX+g%8^Ci~5DPj?Asq7qywtJ&o1EOYXN>sSrUNbC#Pv z;=(A+j9uOKLlJZvP2I@jMeSdwEIjyE&Woq~-|i;-MRum_T$l{;^I2b~J|vKF>v>~~ zBjMZ8GaYE(v|5D~w#HmO(>+5@tKT@GmRil=5k|8{W+5G1x3oGFej0Heu!Y=OD z1>7la#Cp37&J(M)ox(KdS5FCMap1q#JX&Ly<`g+CeFjILKnU7fpt&CNC=j>_#TBoko(*OZdb*5GBds-EyZfYh_DnsM3m9U6OO(GZzbTy;2th@Ojn{iirM0sGec_aa^Y5 zo8Q4N{sOQu$)~QqC%zF-`l!W;aaR@A^^ZUO;mRYvGs_L@mR>4ayN&F^p@h zGua;(FZS(tFw99HVk1aBH7_cqT{pYECyCzCtenpAuL7-}k75+{7w)xRo`jP51jVMf zJknx0(fy3lZK!JrDVWE+HO}4v%bvUxwo8p?bq3fnI_(`XWlu?U@8rRfj?8T1G{ ziPPZ3tb%SjfI`?|2FCd6CW#|pXQr55Ki9{5t!Qo1%TR!lpPQvJ>L-fRVxcNoE1~(B z-A|aJ_B=8N?^w*6=oWXCf5(15j_}OH^nQq-n)mhfC6vIU-V*qHkuB5+mp-7B!ZNz} zBhg1o_H98*bBUVMvdZU20-KrcT)cKHaSC$KRK1=;H`3zy8G*N=<8Ml)RxFomY11>6 z9Q(wmnM#kj=RIgqbt(KK6%w9+B(@O`_~B0Ux&2~HF(cdCW~Rsyx%17~0OyzaE>7@~;hL|@7vzDpuA5D+UL$1bat^l3CiLzhW9La@h_17u$`6oJYw zT-z}!)}=`N7iY1>WHy_lY$coz;%6o%!r)-@FEj9YxN)zvB}u-=CZ8NQl1G;qq8ZOM zI3M?^Cqf3D=^%P8>64|_2RLt4@GLVNV$v2)Xj}sjzHhU1D&9}$6W`tRmUwbNaK&$& z>QjP8H#beaAJ4x6ImC;!abea2hieO&TvHl*XFg&hv(r)`SsCN&Gsy=xfC${m~okwb#Y5wDx=l zm^Ao$^3t8vY$l5J?Ho!ud&MM%WgX6?UgfLI?xabpjckub;g4E#V!~Cx+iewU#+vRj zxIXf(XSPh-t`i01YQ@f85O6O-h4@&tv~RE zFXSP?G$KoQ8K5q0yK@8{)!98Ppx<0wJv6@S`VMyKG$lN-F}F?p>PBz(OAWGf6bCC2 zS&Cw~Tez9@(Bg&Cy&Gh%bAb{GE^QPauRth#S%UpWv58DMX3s3DhtIV2)lcOc=65(V zik=96aWnyYw8AjsMeKR{$5X^Mc{MrBME8Ua(S}0EC!w{ct;a@6d*iDvqa+eo7Qrt2 zS~z`~u#r0)DW^(iGusF5p@zlS<`h&9h&ZAa6PT1QH>2<&azOAerl6v`G;-2>bjcy8 zYFM7?}p#V0BTJcPwaXgEs$ zn#p*AQj=$=mN6B@v;e?NWjB6)?s4W&$`eAS2>gHD3Zg69=)AL&3;!e#z#%KnkS&hY zNAz^eMx0Q;@MZVa2H@Q`MDw+pnY3V{t&~10CzEG6!R)u_Ht`|YeiWW^QIj)X9VI)> zlZ;sWE(3N%+~7;=obox}FpPhWb#+I9v9*JZE*H>Z?b90IDIg8k7n~OE4zHagZHEoN zXbW=m6(y;Xg>Ux`J$Vpkk0oa|2oU`Hn<=Y(gZ&5*0d>lyOz&U62aQaS6d;o!aTUx! zM5xEY@L7{&by5L~$~!t_982LyLKPHX4kvSsh@ShSS%9$Ly+?rd0hUxNm=ga2l~5Pw zI(m`mIspy+_hbRE(PE&6t~_@$EK#C?f$t8IT&&BDOag1K^N1#mHGa#O&yl`Sk%Xq# z5Jd9?!$Mrt;s5h4s5m|xBosLKn~$><5dYCsr?v+JdTX4VC&dQ6*Esj;K0vQsHs~3* z_N%yLyLq9+cha-zIwqrr1Xo%Ii;L2sy!V=Ew{ z!&~5>^Pq4O4UA-?4UeG~d!-VXCZg?6^zV_|4>qA{duI&*?VaWrT?S6R-l_wt>&Nd9 z$50z*yOp^ghr8km2mA! zfbasJmO>b+NQ3 zSYW}fQ*0Z-uvL5++aGNo(+*osG3NKUJQYZ2c}umf7J5p(Pzr;=X!{dA1Cp<;fLNfV zjy4Qv*FVGPlU2=6kjG8>}rGZxC?fM zDB6UyFmr!`sU%ETPFi-Ss`|yJFjEq!4eLLai`RVm>v94GS69$)I-MFHUO+Z&yZh7! zK&K6%8QyPsN`wa;6ikACaXii6?{i)MXhmcpLb6}QdZnytZ3l>Ts4Hx?ulli0Zj6JO z^$xI0FriX>*7!hSF92;O4B@h4?M8G+r_9+fsupjVMt()l9%AdOY?K0 zS`0$Et#0r^S5*V8F1Iqr!(?EPxf2)U?e`^ges#Yrs6WYf+SLZdD49U=aJ2dc0O4s| zhQ*m4grGu#Dsf|s!?%j&qRD71g8O@8!YQ=B7YC87u-_QsaLt?{4zOM~ z`7nB_-{@cOEe-Xr(&lo!Hl;MnUi+)Qm58MG!!&(|vnCttyf$Bb3QckmnznExkhBS*+*=d9{R=30f6@q9oOKRxCQQ0mnW;GnmB)Qf^yYWwA77eeQxMAYX#N zAWPfI4L2ICiGWU?28vm5Z4T&~1w%g_OYs`vs?J<<^yF?-d>Y_8sUzR`Q*wV#$kPMq z&pDOtYV$>38~`1+EnDkI;TIw4PN895xf|7xrY)V?44?6i|B&IxpNem~iH&lD(`d-zaR+Q1A`)S>WrN_39;S#4cba{*?*YnNZ zedY9S&3i!6(3P!jfK-zZmEeq!rbPmcNoFzNBdNkvocLc0YU^g9=nt^3yY;$t7GrI` ziwl{ntqqY+&`+|PgYd6G=*jUcT(H&>zyaB>946iT%V>K*3&yrD47&=Hn6tYfy{SywSnrcWc=c_qAmGyZr<>}^! z2)al0!zZy&vfRD2<>RN-i}f|#kM{2y!p*Y;w&(xk(4TJQ9d0c46Zn@VYM&;Aj9jdn zcd480Be+}y!0`OK`XtkxaCkAsro-FlaQa|{>U#fm=aRr$(^=&hrfm(WmV$rP=Uc^S zwQ$7?R9OvY{o6Ou+-M^e+GZx^Du_nspiA{2U>(l+oMfZvauw0Q`3RLI8`pjeSCQwAYJ*U z46JDm0 z&61?@CQPOAqiu$Ok+NFXlQsnH+zE)A)P?l=ER|8xh0zR2!e%(KE{ z>lt`_@oI@xb)fGs5=>%_s7YBr;#5X8(!T;3Vp+f#U6Rq&f?a?rWfI0n!X;IY7J`Ij zZFENB7_)DotE45HfN&s#64SxciHs5%YNS^6UTDQbh^-DY;jIKCs(kFt;IMWnHo}^( zznlQ~{LRz;%Rd)A|L5U9VsJmSob5Vv+AC=EupT3WgYXK?-<-^?@_nlh_7xz4rzH+g z!M49q+W}6-U)AvQ4_N)vKCJZcHwh)8|9fTfEGQ{9SZ%HJO=tHbKqW|waW4ltVz_=& z2gM-cacDF=pTJpHmwYxPImpNrTaJbyGRh<2Y0Q8licS;cU}5`NOH$HbCJ_R=#nF+x z|*ng5^5S-)t^Mkz7ICD;V{HvL_ z_si=w{oxb+fwJA{^F=_*jY~1SdbsX}?UrwK$8U7`45@G7J~K#V2S$@0k?@}NmT(qr zwBmlby*b3d&V#_o&|Ye!4OOzYz?-fJv%<3_02$0OPSL`j2%Ew;s#U`B25w@Ujc;Rl zVA14+D@3&4rEcpOu6Lrko&L59k55(;p7X1^O(3L-A+vn4LIxAZY$pg@xw8yDn#92| z_?eg>VXce6lt;7IRP>9((2&=5f_llnK%iedh0;drjrz=9(E@PG2=mPGsKaS%u+fIn`@z(t^IClr4jxu6p%HCyV{A3q5wz8Es;GZZdw3|STc|I}!+CkJ zoXCl4#}#ybF_MWce1ktJ>UN@V=mPL)LF{wk2Wwm*N@%g!(qwQ*x4YnO=1EeNOTXuzkg4!7njlG`u<-|4Gdh47E!Hz_3dV-=?XbR7hRs+t^fUHH%w zr{}#sf4@uB1FXD%MZfln0)c${EZ;|Z%yzqpX&8r!jZnQi$M0yNG0q{@xZ@mBE1yHz z#=Q`mCXijr9RB%5IXtP;xc%I@eSv*-AMe@lx3gD|(S>xDlW5=KN{15O z#>&bKE=&=f04aK8+}ilOX=G0=wsvTU`62>Je>0WNXnyr~Z4N?vwACt!Krd69OlKsD z%2*Xiryg{)#@TpZd+9J zJyTsN>d;?)x*u>(6i~EeB}0|kMznPNk1k%k#_jV_dd%}z7^+^oO8>Upb#EsKKy~Y^ z91m%ga4d?8sNn*t(+JIK_`9gGIk_W?Txh1UjX3706%JGiMQ^mEUDVJaQFyI?otgtH z7A$vC2wv~jr4XRr2Bya|ZbXV>F2V}Jqv?2mF-L|znAKDdwNICXI1nfcy4Y7IS04z> zJ0W+OHZNVwHOJ-cJA^EzXDL1@9`ee```0zQ?qnY1!t2_%v^?B#>}Rwcpj@xmE1&Vs zy5XW#PM4w=pDTwJv-#lvijFUQ%leh~`U^Edh|80yCv#2E8Qdj_0(Vjg*M=v)mGu*6 z>Viv4Og*m`c=}4G#WomG@IhfB!MFm`@b@HXoSEik!Do%F+&@N)HBAE=?JW-qsMm(Ac-Jm3CBP9 z@m1Vt!^OiRyG^X9O2kI`3$oYY@Jw2RdqJ1=R94rmRM?r05SRL<_l!q2?I2$xU?0AH zoLoWgv!aP-fhBjbRu6-j>ii>~CDZGeBk9YT-i9I}`=PL>M3Q-nmsce2F3YHHVklU2 zB5+SPB+Gr-if!hm>wtDC0|a^xw)V>8Ev|B9xil4X!*A6N;)?Gj-CS93?vykuV&EvJ z{`}S zH(Y8j5c*fh6An^R^;yTG=jQre)}Yk-BZ-hVk4c6Tgl!~}GQo}&y(_ItLQpDSV#*Th zCXy*`Ag_4mvje&kZf!nHFZm`{ErW?S`rk-)4c)B|#DSWan#YlyewR5LniVJFKFu(W zy5orI+(qEd5)WTv{UB>*CE`H6b*%{1Juhh3Qbjtzl1KLZT5(zG zYoGvlIXt zofkX(X^;d5IJU+_nqFkjPG$>7k3Mu8R+++f|0_xz-#xCHA$&nmpjEaxZ^SS&g`|$t zarbTUVD6j$KfLkCCO`3}xhH31LP0O9u0Dv?BWHeq?m#-9lme8|6u+wBmrI~_O@l1WnHT3TaAmhDVU83+?qR_}N1-8KV%*c}`^$R}7b3CO@ED8=V@BVZ1EWITaVh7we_ zbEJgmK4@FlYkt7<5N?3v+_Z1chwiBYg>6}EF0?Io_BbnVYa3PH5KL|#z9X}d-%g)h zEfp;;7PXGmC^m|z_j@Jq&5~tI*@>K|tzzPUm*jBE7Hc0329wBqhyEG?vgLvfo_XZv zL?~HUSlkxZ7W}=AeK8b$5U*;B_BkNhEB`EiaD(4tkp+J%oSQbyMnmsFks4lY>e!!# z;@+}2;R29NqJ08{YTqvo@+-%qHSfh9Tz!&Y81R$=i@<*1#w_X7l4$Sfa~ z@KEXuuWb2tYx#C1+WBH{aNA=1O(>~V!jh6NgJlvc0knU zd{wZ-Of1OZ;Oig4m&u*d*CuY}d8OVu z$1LoaKL-k+s{*DV{ea5>#X(+;BbYGEmxAR{M7D?*Y zk!Iye;&tnMaBuOpKX{JdohZwAdZQ{2B6f-e=wmu~osd8mRhwuI3B=B`hUd%IfN9UsgW9$yFw`%-DQB%K)>)jwNq*;j(O3jH3 zOVCT6c~xD{e@-5zytMyKGFY2LW{@}BW-m#sqgt8GAd=xs-uC?Waj*2v$FSXE3oHS% zsFiloOO(>;iXcp98sH|>usk8^U))r9w#?;*@M-*;6F2D|zO^Ht-<*{{AY;hvh*KR+ z>BAvsB;D8av7nT3-BFr4t35(uSjfZspC~V|0F_JHfXmpA&C-_c4NzBYfoX-I#}lG& ze;PH};By8lSRVY|H7L|jU$Z%YJA1LO?2~c$v@nCwjf(DB3tSiS8BpIa-o)T;b?z`& z=5U%Seb71=nTd|SZ=U5p=7-9n-%Dq0aD}A)LXR)zlK7DPb@HigN$_vty;#|jIzMy> zeGw|ZjH0%GuUHcSDi%tzGu)TDS1Mb2zv(H9-n?-$ygFNJ{3U1WDxuWjt->-?FOl12 z&kecx7cd$e$7Jx&Vft8i^48bpkN+q_$$6&Ne%6F2sArn%U=K_QUu}OFO4+#Ky6>`3 z_01#Nr|)IIW)ManX9yfRo~o#63a{_hj|FB*RfQ(%Ki(|4WpvmfwZM6Y`T?Y?ug^(| zK}Ig$zJ0r;+qK-t5NRiR?dd$6>3n_Kczd<-cR!$p2wnr5n{-bEXG9Y*12|^=iEcu>yuWKR3zmeDGXgcNpXEgA9p45h~4= z-mxk$Biua6Z@sxWuurf*z&3kAZ&j5g0;Q^|H^FWjGho8*d~!>GcNpXMK5h1hm2u$3 vJGV{#8w}_UV+fb177myL<`T*B{{|R`1%8FEv%jh?$8203cI+_EZ}HK#1G> z6CwC^M1fb)_LeYtDH(d{xY>I7zV@^M6s+AWZSJVLytcE^ws~#+)}zlx1^{qaUq07W zY6AkUudmb7(>FFY*4EZ8FE2IJHFtM+u~;kygNcofJwHERUtd2tIoaFWL!;4u{`}e8 z+&nlq(9zOO!nZm*JM;8^x4pd`5)2a;mFVc|$w<#oq!M}j+`ySseR*Zg-PPmj>WcS1 zpOT{TLC4b3(b3T3%<8IYBoesbOBuWlJMsf%znQ$lN`_=gFv6o+` zEXq}gpPVfpTppawxz|aP$Vk!%cHfEF%o!r3;65JStO0o!gWb63?+VfKWaBz$P)fcg zQ$kiu!H5iWh*VBbPkSU&e2BFS$mK6CE}{rb_xJaAc6PS5wooXPIibdgdY-!eYsUMc zTCZ%o7{kZ33XYGDFVSaUntScwpdWM}>9`)C508BCjV_QU$lbl2(g{V#^Ka!f+uz1M zJ@YHAtm~=n-r7N)Zyk^2{n*MIHhpQF_pSU5k5vSpeTK~^J6^K^u~ZQ*Xnxo~GY(Y~ zp$!h60p>z4yA)E=>?6O>JAH5p`b_J*J&MTB%lFi$vJu1zo>6)MB{R+)O)<`)pGhm*>O2 zn9QtXT;&u(Y1oJDZWzlxcRdY{X0^k(>!QhNeb8C^**>JD!Wmj|)^MHd^6UnIjl;z! ztp{7&1^cjLf$)U3ca*5N-exH?8a_R@`WM2e1SKA@tpp)Z0+dnzvf5C4)NOQKI&EFhB z(|xf;lOn4vH<#u&4p4YjoJUdqJ~I0V)0fIbjppX>w8N>voW?if+8z#aoRKc@=Ik5n zwP-!P&(gTRX`4+B9bd7@pivlxCl3;r1#@mC=J@64G3wYKpd;P@7DX&Yx2!yJI~i_#9p}BdxHXt)zA(8Agpry;@3jf zd8S62_{}Vn2u(L@?`;<{+(vGtoYCHD6YA3u7NbQVq=Er);4lCA(E_KaBzm!j{L3z0 zqyHom6Rjrql%n=&FeeXM)>c$nc647sDHBh< z(}hI}Z^M-u*H<3^w0pq?c|gqa_g`dAl;`x6Ur)^p%dt0CEQ;;Dxk?IsUidhwozZ*>wHZ*O~8PT^4r4wX7CF!jgquX=K{w}Bc}zYl4j|wg}V7190XM= zqHi-VFpssN<+;zyj2C;;UfO$*a#Xt^r_<5b)Ab!8wn^!An^8TZSEEIVn2U4ll zW$dT*{G0jvJ~4g|@$jXDy1wCQpA>-FQ}7tAMgjH~RbQ)|$sYdp<$>B+4pQei0ZYR} zJt)m`hg@akLB#9sia(w^{cfbFF}knYue;5M&fE`YojqSNJiHlUwhTnimKIN)bv%JLu*N?)8%a&4k#Ef`4k;*?0m{Xr!Vo_53!xwp$EY}H!HliB;8@q%8KCC4hv>K z{H#!!;_AGoLYesL{MulRjFnvg{gej1PYLTd9qpk=H<9eZmpjL<5wM<+OAsPF05byg zBtE%6{wvTe-Ou%pX97-%{d`$rZ<*j`pzt>El5`#1I7Q1I6z8&Ei_)T;h(&*N835R= z5IQv>h0a@H^oKLZA?2Ei5^EnxH6a`rl(iG&fNMhjf$s4@ZDI3l+Ctmy6cZi?)Tn@UB;Xz06GwU9s0pQ zxy=;&wgNm`J1;pmJHz4)y!On$wusQ%25b3Ucp&v*ZJEZwyPpm76J60jYn=r$GxO?js_ItQzyXG;i`o$b{z|WLp{5 zzx7p8;h_D1oV05Z+iTv)z(TrlB<4fgTi0o`<=HxeGhl%PonQbDumg`DQuz@p)#~a$ z7J2xB?cP+TPv~*$h<2l5u0~3}Vlpujv2T@M-Kuj)h{;5niX!n043zjA(z&s#3^xjs zPViR8V!>F{OFzZjYae}QJ&^l!8>0W$g<~%SAyU)vs(#S3ZAx(FeEEE9fVJoPG6tMU zC7|vRblhz6NnFeTOC#I3qTdVbyK>D{Wl_Z8eDQWY_iq;JJ$JVkudS-SGWRm6wJLGk zWYK%{EAJBDhq?J~1uVW99Oq#C`@;N{-=kL6_3Rr}TMqa`^EHfo{VGN%}!#52X^@PcD>$!5Q9Ry7W5qU)xUQ53fuObHUQ&tZt5qk%I(JAJt9crq`7CxsiPJeoVRRT6z6ea)$}2|)NA-G?&MwdJIl7gh^q-va!=Rk#@6re^ zy~KoPTy=M5BXu7zy@roIGnH&T8VJ?9*r&R!0wST~TGEs@b$8edkzI}9;>=_-b;!>y zug?tI(w;pn9v#@{`TA6sc%&lK-T?lm&x8AvReG=CWvVtqntg`u;GG3{vWgTBRwARt$X&wUfHaP4J)i z5J=lf>Q%wBCr1qVK79Mb$}On-K_i&uoE2M91>v`52g1kw0TvvvMJWts6~E6#n>$#F z;d=0&EZg^^*r#JToc_hT!R`?EffY(zF_j|L=#6kN3S3F@N}lJAo^<`mJ#DDfs3816 zQ&zO(4kK#8RUidaISub&I8u|9se&MO_Tv(_?Q0wZ{_z%uIl(&>hPJl}8o5P_5~fV+ zg2d3Iw}UNapab(0LSjwMy$MGaxGCtYj@j4%zHleL5Ggj6Ug`pz;j(H}dQ{H|8|4KX z^D(p0Ajl_A53-1^$l>L1ZK2d5RV9-E!f0bh+OV)7D7l1d$i?7G3U?B;=&gx5 zW&OvNT~?n3xpAmj`11pXER4WjnlHIuzEHt! zr9e!1(|@&mY+2CQTZrWPDjK8}thqimnn}A&hH2rR5re2?{;g&F7|n!3#U@Nzz=ft=n_olM0A=_*?&lug9lJ!3d zyg~PUgV_NnCgDEzmupC-2KnQkIB3H6jtft}%YEk7Vu^M&QiKR9aqm3gVF{dQJbL7v z`jPx<9}nijM;*C-Z(kDci3Y>CPn<<`q@_@Liv(IsTto_y<^Tkw=9yZMzztY27XBaL z1i&e)pMMgZ6;_;(Og=#%niu+1l#OsbstJ}=m@QmaL+#8pM~>^y7VY!S8)l9I`%T0O z6vcKk8-+$Z^^Gd9e2~GbN)>5rlJHE5T6KMF)+-0T#J+wE%K;h{MYC2YaD_hQu_5dh zP6V6Y^yut*Qy0^isDe>Et ztP;Hak~m; zkVJmLZ(;CxfE^#ba;!z>Wq8ZE2iYc($PD94r4%2PQ6)-+wy7JaObU6mtEc1Km$4_ zq_8%E&Gb-TpUgzkyK&lH5&5KTA|1_4jDS2s+VFAkm1Q1_sE)v4*;woO8?ok}#oH!AoSUT|#FHR}aHTl_q8Fd5?K^H;r zxQt0pi%l?q!m`S_4_F?HWP68$P(N43seleJdIZ*HvbU*=uwy-|HMwAu z@P)%UsN6nftbkjnN+spoDady_WnTP}-~|Z9SLsFzS*+3vp4lk9Tp&46hJaqNgt2$O zEcmnj$qH=D9;a&-fbduM5ryBv|AKmKmu$iC$&Q5=eE7C(xUa3YD-%swcU>!K)z0DT z)YlgFBuy!PGyFIwUpc%6AqBmXu6ZM)%loC!roTi8UHEGN7h;kk^h;EcRzLxvWVWKG zxJDPoXK3ZCh9KWZu6^#|qQy)=H-5N+4I<8H-t`tZx z5W;nSD^(1J*S$G#V}@7rvhcelJHeY@qjf*>z0e`5r&Zk2OBBb&e=d(Z%KxoD3?^&( zjRan|Ipsm5k2jg;EMS~hGDgN}C$IFr#5|ebWN?;0BJbFNQfX4#>5&%)T$9BA0=UIV z4o4J2xjn(mcvv%l^6&y(Wp-r>48wBbL6yS;ap*tz`=SwCFT0ApNe-|hyBSW`)`~tg z_4in!=08p8nH_*J#i`LYphmJr=a-7<%tNi6$IZ@+o<^VEBJXrZyoe#PxzHP#?YIZg zR!Iv@|M**KAjL=yD|~{B+KHM3T*3E$Fb?}ald2dgzf>wn|MWJ2M{~*Y#=UHa-QB;7 zAKHHsp%q8OLlWY9TVUDwE8%JavwRQ1Vm3wy8~ie4b-ymzEFQggY?5IAa0!Z3|Hv_h z;SxBl<_v5LEs{0=-ULBR|ApcBo)%~r1)hOen2%S$4$QBiyRKr@I*L& zmZPqoUTC|hm}pA=ThPJFm*!OY)*3ipKYAA=fb%&(gI!ACPP z{dcu$kd zS0lJn9eScuJhn5f-_W>jQBh;+j~3|AEw`>QqX~^i&9EfC06PIf9B7||%aOwkm@#~? z3bD#?w%0&B9(pArl$(AOLRJ<_>vtikR>=czwJF*E%32Wo-E6`pTB^O(zLNaGFp1;r z>HvxuU&~_a9ofJ`Z!H7?@s&S5JR9iIP0Lz@?tU~QuwB!=pE0#UYS_nLQ5C8tmaKx% zGxDg=q^|448EyqC8Q|~oAa#E9$dQV^?|yNr-B6scrYzYZ!-)8cC(6&D_x8_bv~|fw|u=9^GzhDG=iC@x`nFb{>o6e^Nb!-vTwo-a`fN(#Kwt zYq})bGxk74dG%fDv+^8Vq)+j#^2o2OA9J$dn~4708Oq14;WeyAyu!}Ta8=`Z(dr2q zN|}7`qQx~!d1PnAwlp>?OgNm8K4fcKrJmv!I$b-LCoOXzGi#JlB#rp>`?6DD4Q@xO zUZu79g|4>d7!NV{6BIPjf z(VqF^KP;^^W#knPEavzL3t!WTrq$QHp?i1y?FmKYBR_xe_u<~`eIKUqm_>aa`@E7V zWBn%zy%{zl`Gyau;JPNoy7zd?3N7zS_!g(oWlj2!c537KLiTpcTJuK_X$7*zq+J@2 z(fcDbwR6lemS^yu!SW%tmD6Zm-G?%x#=To2c%!cyl0D5BTppMU(*foJxR!11kY>-a-*<6mM@qF;|DK3ERQ>WR~-@#0O6#4yf}3Pijm^@`CEF9t1mbR#vLwhx)c=}j^3 zSRpzj3NA=mLmLqM8Winl{wAOq&$aC5R8q1=&1i5nS=X4C#sKdVGk4@`!9+KChhkb_ zL6-o6>Zlo7n&zOw&DF2sw|s9%iI2a4$#5RzpO#+16I8ai-OJA7ap%*o$9zt;N-x>k zh@%q?kb-4wS!>Cw{u7+QC!Wx6`8-MRbWdQkGiB^`X*J;kQ(bE%1F!d{IwduyHJ$Wx zR9*=e>Ulye%|pksAP!HSU-7e2QM#`d4X6eKXDbI8lh-`WzKT_kD)o;5R|?0l?7ri` zHGc&p0n0;Z^oho``D~@5`VQLJf!^-i$hR}=Vouto-Y`1gZeESzWmvc!_>CZZjWd$vJ<`-_O}{k<%a1Yf$cumN1pL(yuM?4GBX_!p8>} zjeIH7yc_l83R~u%1Mz@i-Oo@kB#nIUO&x$3SfB|0p+Rwd4U&0k!EuHIH(>F@zkM`1 zc*OBk6g7YX>tGE{*K1V$;yvnBAPh3o*>A{Wd^kvMxn}xuA-d?+5Vc1OE*@nod`Ah6{xTo>5X7BK5m z*91B>g9Lu7EBO@im)rZ(AE|xiFHY71$`3*&L-!&xeA#81Z?IjtKQAxi*%urf)+7#c z-rjVVzX+#nX!i@bS&BUCID$9uxN6D<{y{9gTUpK2p0aFJ-#?@&2&0ctFa%4Q-Ts;4ui>n{RM?K`OXCI4A#_wnmX? z3u+&9<^%+`fp4Au5C4U4``Q0f{_oKIe`x)`-~Mg7{%?!_TdPstqGLHHRzfRj0YE3? ze9xv27FYWoJl9PDVETa^IufDa{_c3vj&1Oa2||Q(2RTh0GSvM7@I%3_J$$-;t{#Rt zKGN*?3l#zxf8L@W9CsRSBFh?$c0yv?;{#$ zuSMnq0d~NhKkdk%rjLtm_ecY8Q!<1qGPZ7o}ZsQ(_!20#gF0ZVx{o10b4^ zW2<9p1x-x_-Q7J-(eVt$yijWf?MZ7f_9A~tx-;m{;-^p{z0`VksMMvP(3o5NHP-s` zsr^!d4FJS5q1SrMU0qxT%U!PB_qn?*>%IskYZq9TtPk7h6er1l)}X)sYEsZM8|QTM z)^#`B#3cT@K>OjU+iX?R5g0@5owy2Krh+RHm>EiZ4_=Fnk{Ajua;33ZZR&RXEGGD~ zm?hbojem6a2bR3()BMtuE-U zi$uD%hoF}5(K?k}Jui1d4qoOhJ@ zxA|I89@KQ==@46@*8H}qn}0wz%3t>BQ?^&s1GWq$0!%vm_t%vi?{OFJnhcJ)B=fHp zq&l69&ZGyZp3gAhS?RfCMu23p`TP$bXp18MtF+V+V7IT|Hvs!Mm}~jQB#*P2%L-Q< zOdw)j=b!_#p3h?5V(qbZ3~fI~Z@NTeQ`}Y){$uQvUCyf#3~K7~cWJQ^kVE18VjK3+v tMBp#7|9OOQdoJ={hl@Xj*KSCJ0VQ2IVpwn68gP55Drr9b{>0+l{{cUtW$pj~ literal 0 HcmV?d00001 diff --git a/public/img/print/sideshow/print_rampenlicht.png b/public/img/print/sideshow/print_rampenlicht.png new file mode 100755 index 0000000000000000000000000000000000000000..3d0574fcd5f31c43e8849f47f93cfdd0f9565fe9 GIT binary patch literal 16202 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 literal 0 HcmV?d00001 diff --git a/public/img/print/teaserbilder/excerpt_dao.gif b/public/img/print/teaserbilder/excerpt_dao.gif new file mode 100755 index 0000000000000000000000000000000000000000..0e0ee762d83210dfc1927a0be12e48839877aa10 GIT binary patch literal 4384 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 literal 0 HcmV?d00001 diff --git a/public/img/print/teaserbilder/excerpt_giata.gif b/public/img/print/teaserbilder/excerpt_giata.gif new file mode 100755 index 0000000000000000000000000000000000000000..c99795898a4525def5c2730fd25b17d8813b34ef GIT binary patch literal 2912 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 literal 0 HcmV?d00001 diff --git a/public/img/print/teaserbilder/excerpt_nanologika.gif b/public/img/print/teaserbilder/excerpt_nanologika.gif new file mode 100755 index 0000000000000000000000000000000000000000..c6c46714c81ae3dd69da4b49343d25058ddf567a GIT binary patch literal 4442 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 C4VA(G literal 0 HcmV?d00001 diff --git a/public/img/print/teaserbilder/excerpt_rampenlicht.gif b/public/img/print/teaserbilder/excerpt_rampenlicht.gif new file mode 100755 index 0000000000000000000000000000000000000000..b6423e158c192b08af39bbb3112ba41183dca48c GIT binary patch literal 2656 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 literal 0 HcmV?d00001 diff --git a/public/img/seitenabschluss.gif b/public/img/seitenabschluss.gif new file mode 100644 index 0000000000000000000000000000000000000000..ee4b4fe27dddd44f06f61f77887708151dcdc7f9 GIT binary patch literal 4604 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 literal 0 HcmV?d00001 diff --git a/public/img/web/sideshow/landingpage_03.jpg b/public/img/web/sideshow/landingpage_03.jpg new file mode 100755 index 0000000000000000000000000000000000000000..de34cd84eba97f95b9c1bd78737b09e0ccc7569a GIT binary patch literal 359920 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�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
d6y@ux?A!DJR*I=50Jx zq>IFDF3o?12}$J4J+~&x*$-RMaF+?FMY}nL4!bD$HD9~WcMe*1Gn=4lYh6=2%r0v8 z*Q34pz_7pRtI2#8T6%E6+T#3%nZ@m&oJ`N1aeX*f^@$zI=+@6$T2hFIjY=-VW+{J2 z29s8SE-^Qwel|RNPOjKJCbhKO|6}|)o@-mmUXvpc((4K$eKldg@qhl{IW&#Eh?qmC z@#Cmj-1XeX?Q{9l@Gi+X4a@j1OTo|-jSAEX{NRP#*BT=ce*Up~ih3uM55Fx0(|xHO z_CH59#NYQGt56{OLuW}Isljz*8bWjRBi#>M9pCUT9#=c|l9XtHb8dtd9`&YvBU!78 z%RGrdZu{VWZdM4e{&KKGc4jI5gWhkP8}irIr+^EoK;K*Mci}%}BYZI0yy-ERBD756 zYCVcz>%3kcoA;~#)qi-fD`ufbkNI0!xzH3XE&e#SALXwhs5GvXz`GMk^9Oor9sRAb zu7Ez-RjitWuNC63D{x(3OhPT)=)iQ{ZP$2H{e311+3*GJBK;NdldN4-vV_A-K4pLX zkf_4aVwB-o!Bw*m=5+Xt*M4yh2!9$&*Q%ikk}z)UbpH}s=BS^q!jP&$dT6)bNu|B% zhu(?meq{uHtj^S8pm2Mwlwzf4McT*2>DsE4*iLcnSk_ZI_6L%VD^&TB zuU}RJH$um2NJL&*=y9F!1LKRg9yKUT;f0KD8M{2P{rwRZc4n<-}}Eo*5G9tn{t)={21)-IRD zc9pcY#jS^zT#-Fc{s@V4Z59S{BZjr3PhKZo`*5aX1~}iZ;r1X9J;mE!iN0Xm&);36 z?}oAJnVwHMF$h0JlIPwXdH&P-Ky-!D-F)AN(Ab04gMUay-;1rdao`gM146*>6eM<| zUTiJbV!9vI!{1sTOG$bEXu&z6c^vlrd55)%{Mi@b1k+08!)6HD^iI%fjosjb@qr^- z&@b7zlJ9-b^=dxp1kTJq@#CvZF2`3f1U^{SfjDZ&)r>@Pkc|gw&P44M{*%wb>e1s- z?faE8S7)ZK<)(s2HciP>J&jIn%$w|U^Qo#|78{eVW^~OId8@KR-nLogc`v8jI^|&X zZE(a*wKzY~{^RSE6f09@5YGOqS#T!+eqk0h!gx+%ZzlMfJ#FOnn4K@Q*_1W(_TZY` zi_Y*4RBE_wwA)o%^+v|iAJtCo87tk1px+-8T*-2$RhJUQ+St?ZxeIJna0?4CIpI`;mT;fgUw(}d469)KNI}I2yd_y5q z=P*EZjun9^g=9jrubIh1j?y$uXV=G1N65N@J_O3MJ+ABOUD3GxEA7ikL?2Yd_i>&4 z(80mEfTL92p&z9=>#?c z#@5iWr$?o2g+GEay@5ET7ELLuqa{-pyxo~u>DFmFcCuHJ@eDw2H3N3*r{L8&^t#=& z$;J_Jun5hBUlyAQO_?Gpd%kGE6AiaSl6HLxloqA03y#&JW+OV@#XRwI6zoyT4q>xh zv1l1JL0lxBH4|^KQ}HZ;OwS9?9_AacbV)iG(7QjEyWxNtw)9*KJR%CAi|iX7elfCm zO{>?-7cqLQkgLW9FM1{y=1Ros#{@}lTI{6&wJ>cBM0|_Qm9VvZi<#8uocM;SIX~Hu zyYHfPJuSF-{v?=WiulIkCcnfV`ldw{{ORqTbNUMdK#is3nLa|nk}_yWe~cI_3U&+i zmLvA-J&nb@c(tuEnHl1W8vHGUT#|PR>~m2G%YtXQN`a@#RajJ$v|O=oQ??imc?V4^ z#JWQ3&Mme3nhqBt+lFjy6nA^{QHdjUm4@dl^o)Xv?XTrN-SOy$6*dpDZVKFT#H*8M zCqJ~eo_MoPu{8hJbae?RKL>N+kNw~;7|Cmp85`+gzKpO=Cn^Nv#n}AKKf0u6kE`oU zf%9?%zWa`+d%pK5%Fmq62$)!7i$2wA?2w);2WC6^p@_+DtNl^xQ8E#T$H z@Rc|E00dBy(#&(FA{{%%q`T!OR?_nrQg8*G#G?2gf%OjbW;r{?w1SFouJo9$pZoRX zLpCkzEV*TOfwll@j0eTUqyuzPvhtfYDk`L|C8r5}wfkpH$9X@>!@YVUJ*Jj3f<>+r~^-Cq{ z?&z2I9j|*<^t#{&)Q%bcJcv0RnodbEy>LX`$@J&ncgi6oK>X23n3w}e(2IZm;Md@n z&b;T;NT=D&T&Mk^H@(s2=dAR_bXb(@cq@)#6$C|_y}>K$(-#(dhV0H#X_ZWAHm z_50Kq)SEyGv8Io+-aHP4F zVce4c;(G?N%7N%SXxc@oIQv`MvZ&uj5?TMWW zlavGuEoOfWWs;}h?4g{z{G?+E#YvF#Z21MTE5zr-r>_=dK}*dg023l-65kpg9c-Zp zJhDkUSPOpwlh3moBOer-W1jIoj=>QYRJ~u`^bFjv+M8CuZId|S#ZGJLs6Bee;~I-n zrFy2v3XZSdgwS_z)$2O|i~|AtSwn2Fe6CEm3W;Ro5IDVasTT}P*yw3GE%nEkuEFK; zKB|p`Gs?-t%g*kbjg1TR!1R)kb0ys?)=HEoZ@x3aQ0$vIMP_fdVL!i$u*9gWK;lHF zsF}ac1KPqk_FWvppMi@_%y;Il^!54QZ=&6*x_q#CxBr36Y7R>ZHPIRV=95gN4Yr=Y z)0l3>Tq`M`ty!Z?N;n8j8014FRTpii@(2W}y=7IjRGCA6!aAPei(>vg#OkR?jx1NS zfA+3>#6r*3?Bu~#-LL(F_rAwlfIah)15Z|Hv)*HQC1~)gsioze1&g09U3X9M%5%Fh z6{&DHVK&k5VR6@Cp8x}3_-FOC0YOElDOAtAZMCe4kD$Sn&YmkACQe|#tYmi25{Yj8 zZtJRvpXVZsIGW!9Edw04sr9pxM$M75?%ul@@fug%Y|elswezbY$#1H)mdwdM!iJNc_>ES{$uS%#Gx!Zt{`%8y((Y*rD{g%NB2%10!(E)q|Ep5wc<41nO50Go z<=IsnfE$C*4GvQr8gLqB_+zbz>0lLZsrj62XR7#6-zQF-;?Z%jiiz#f;ZeC)%&fw+ zlFuyf#b4fwk6oN?o~dGbLg{z0L|w2J^5G!YYr?+ifx4p*9wB^!SJu!QnykrgfQNL^CPG&u zdb+nR4$>L3?7xMCA5zZTcU+R z5IY3GWaa1Lhj}!z;LMb!!z?g%k_oUL$S(G-gByVnuHVnC2VgvT=%KW}S$<`p!}Dsi zzui>Cx3&pSmLs`=kUf0u0hHTG2ypdLioO|*Rlv@JkM!ovr>|P1<9pzILm;yq*uUDL zuevjSH@(qUT}ix|xvQdfoH$l<=(q%UT8W*FJmw?yu;hK&c*A1g&zfBcihsmmjC=e{rSARB?; zpxXY@h{eydd)wx{G-2kbHX%Q1tX>6ktt^M<^-Yw@mW*(>Jy)#a{qcieaV?-foVc@B zOCd!o;A^jQbpqwI_F;gr*}yblnb>x=iueM!J#Q`A9CMRw3tP~z4e6D}J>S~HD;2&D zS-C}A-t=15AN=elo-tkz-wOIIjeIPO0t~#{QX~8cCZ7M4NNBPG0EGRI3MN$om-<9!ws4WePS(#_R?;_5*CDj*Ekz|zb_tL zKRQ(hYXsrYRf{?G!6+=tPMbwyvPg^m4$6OZ*aeENSn(<#hYY7?Ohn~T+lM5VWcU!FY`TIA-x3RM484gKv`m3Xlk-f*O!u&f;y$E^MmHD)= z=euLuI}%fmy`)(7{Z?|>$UN`;O09$7QE6HE@oC{*H5P1+X&{ido-=ESm|bxoP(5NW zjE~Ve_dWvofOYYE_<_qfSY-BzM3hef?kBqsYEQ7&%5fsQ^~2N39eA9cADk{LJChnR zfC*Xbd4Ktc=vtb0gKis}mVTnl|9EMA-TdFK>h>4jVQikCP|P^qt|+SO`vfo@tm)8!ha)iN%oJ18})BTMJ z?U<(}A-ldT#V_zj7)=ZzUH``k4#g9t*#Xf17=Abm-Pb?bw2<&&EIBj3QhXVM>-&0V z$Rx5PH%hDSQ)Y`~d~W2uzKrv2nlOp@9KG#n47q8pCsBGuDaMaTyG}Zmin*MyG=CFf zIb5RmVK%}}&?u-thg47{&^DKysCgq2rHeI(ft=KFI##eP~*eTJq<+HZ8M> zbN99OVl$KIVduYDbZD|~-%b*5YJtg2m>RDLnI7grb*&M7=jxc%j>|gMA`tJBK1Zt^ z(9+fWc5i8Nn{pxn*wd}eqrCZb3s0dF?`p07dEXP_iRGS;)eTjl&g#_C0lfp(8jX;! zo_e&g@hw*`ud~MbRTmoO<0Dh9bv7GLJb#d(i+k4pN{vo+nJ^Jm7*x;zAp&5I(HcCop4*vOkNr_EL4s?C(5zVvfbjMZj{wnRgdd;5ZvFQB?sc*2=SU%kK9 zIIzAm(8dS14K3>Gx!{sSGQ~ zw*)LLeEUW-jtP93gNLg1iSE^@I-*#>p8Al<{m*BS4UgPc z(@mxw*k+$R$N5GTxTly?wr9F{4lFUr2KNar|D7?{NUqvA6z;#Cn-X+Vh%Cf9c0Z35l7I1t)rT)c_qo91j?#!Fh`lG-II8yw5|R|KMytdzt284rSYm zti*=~G~|Kk;6o%_Ht|i<1+0l<9a1v-)!5ijndTfSE#R*`I($s)UCJgc1~buyD*2G2 zAuR0%33IPOTZSyVjuBMI9H#F5+HOpp6onnwGUay`n&K$I-W_VYI^)Zx{0g`$h|#i+ z2JhmPxceexe^}eu2vo$In$OUqJr$KT%ZZv2+=(|MwK;Lg4b*%xOX-Y-uh6VXz%KCe{x-KP>7!FY|ur5es6?O zG0xrR*vZF#o_#cRy0Rg4IW;1sb7ud(Mc%8nXu!|vMRd6=)8uiF17I>Iy3|N5LHms# zYWyLuPx9UGH&>(6Qg0!89Rj=<7hsM9r*0K&2(%arrJ`BIB2VEO%d3k2_|u;qnQ-rQ z*zLf3IVWm-LKO~HHDB^?bm@GF_PhURc>Th~m`_a)ar4HKyyzHfkEKt~1j1jVk7+C6 z^Jl%9CmE%F5&3ugJ*GkNT05|B_oe`v|7D%cP72et4))G4DlMXD46H@U&^rCrDpa}T zIr`D{ii^d`gc-qZiyYAX#UDU;j*wb~%`3C)UpwYv9(x*D1lo4WJCN#8ZNV$W^s8Gg z9yzfGHE&(f3jYF)f9l4N4Uf*NLv@#JHA$Ij*X3n2@>_zhf9x|mEWm6&2n7k>$fcuugzu|vb+{)^UF3l8;0epo7jr>3f}|CcecPH&Azl1@a#}?X zF~!5jVksA+4k4eI2D5}$`#tB^_{?# z-5(Yt9PqaO5>Kx(wV4d1HIo3vni_H9nP|g{Av>8}u|Wtd0X?^~+y@LY$)Qb=d6Fzc z{Y^HlxXlZBt8YFSqaIoIwVvu%objQU=lG3(7r)bX?ql4YQ+zYNSG&r`=6R+zuG#e8 z$z!2ftwU>Ipev?p;`toK`Mw69_%uTp2EvJI1uLDSMTK=%bIYB~CF`J!(q+~x|DpgY zE`ZT>ujkw|(vQIlI`QcX9)dk0k0wN81JS<|4>=+DyvV=-JxeO}mqP>ZGtX91qW^3Xd#`i%ySo;0L1?VdsLdKlIa`D& zMNQwpfLP(`343^yM@L6o(__B8I<6`&=pj;ZY|Bj z!|#r|`iaTsV-tqUibum+0~Bx^{f;{Vr;^g}5&>L{04e}cQ82-8uUOj~9L{knKdSfh zeD9+$-zFmGLH(9*=J*seZHY88yZ&Q!c5N={Vr!BGsJG}JUXWn;&yKX%Rx;tma&J=8 z@JnKV$@~)n<5=ZG+!-z{_Sr+~#HY0ka<@elE+1e|yRFz`IwegUCEtsSYu;vAtZb@I z@`~<{E8Q_TC_KOR@u;Qfz{ZZ?edGl)^D(ZoX(5?+y}QQj!n^PaYyW^l@75BbUsFxo zBhiC0d#^p~gX5#pc;~{X3tZB0)9Y%H#%8I*yg5Vz5gkYj5KBmjd5uF%z8^R0E-K(QuI07_=5G@S(#zyH zsu)#|uji4%(^B%|1Lv3CIK54BdN@}j)IN63QZ?sl*X_5)LG7}{@9$g+S1OQ3sGs%- z5a5@Zl+{oW`82*HNVue8&eS5~^tIc`cneXcSDQPhmE<6X+w?pducxFZecj(0MwwQ{ zKZ_}bTwK;#+gt@m@iN!Iv=*$klK)H7t}!$HbI}eiz-TZyapjDI7%1N5ljC&ez)X}S;q2*@ zHs9;wt!~o27&9#~fl3SSLf?$?kFxJTB%Yg@pHr}`(Y9RN^;)fDHqKa(^>*PD)ML{_g+8QURuCd1%;0PD1)& z!P>fKU|ngA!cLVHpwc#chQnza`Ob(b8I#eDmp_>EDR*`2RmTpW56b@V){8^2x0e~nZ>LZ&$Sls1v@U1yz}%H3b) zX&`}!_%swq#VtodA|g=FY^ayr<`MVp!~7wWzlLtYRTgi%LhR-Ek{j;MR$SV89 z2Ta_X6ek@S4acjqeF1w}5q{p~b+4v)Wg&om(f*%2DOYvus^;yE0dqCAR(T_sk z=0o=V=g*E?&{p`nsC$2()fR1c_-m+ZsxFtRIpjxKaSnivZI`rVm@g zbd&Cp!R9zU zplOW!se*NGeiP+NKU~usmVY;=cdtc2K$nR^)In$Qxx1gA)*C{{fYSMLJaR8*?*y6B zE5;iSWgO3yu{$f~8+|Ij=2NI)Nl8R zE6iOObqYoQLO$gU3K}5g#ul?Y;N&J~uWcOP+3Y%~&;i6@m6BsyNMQ(G3xUD~cqwrvkb6ENgV zU_k%(WP1N4mH+AcKZAZ6as!&K9peenjy?q>3C9BZhUN_R-3o!b1{xnWIc;mH6w&B1 zS>k8yWNxQ_YIag zkm0jZh5tPGlLO^xMZMz^BMLf8K#XAx&9u5|hK%9{MuW%=21 z#Es!!w;0_`wTLsl-TuXl&Q7AfftrHrQyk9c02vQIRAJlUv3FO@HpY6JY|XOuN2$eh zKcC1V)&UwHpzvfe{l3*TY@e(3xU?2!9PniX1h8O%2EZBRI%zp(Qz+s^zAL9ce_tSy z=QizLC|nwHZ4C_p)`Kh)U_#?k1>8{w)1mBlQI7p~)5nL(grw`3IKGFR}OK>&ibKbBdL! znql4;8_Q^_1)q2K0Pm6^H#pTt`p()5Xu`Zh4PijaHR1#gcDUJXr3{<0d9YS4nhYAT z-G&seaDU*MZ--I0XeU6)V3ptpNCe8@p*I*@+wc^tf+2^R>=cwQ>ZUk;z!K@@m61jA zjZwB(ghjj20YiPrdHvCP8SW345Y17@(B@0nB$h4nNHsYnr5s6tu7$>B0Z%(c3YtGoWXA})>TTyC z;A3xoh1vIrqO+aX(t-jX289d+#E!}H0ME9uK0l)m*-HP^H~9XhrnO7l`t=~UIL8vw zY!y`&Vh5eJg{#){7h>Cxi_6eAvK6@z4k!&wiaf%Rt?&dj8Kwb(jq@LehPI7&`$zJ8 z51(OU$4#;{8&G8oYw- zUG)R_G^2^F!v*o=@RFwV$%e?66}d8&?|uO?+esNe%{$9~{eJ50@yo8|#3#*dR(JCg z`PYJh8tv^g7j?Xa3gzUCIJEFs=s~mIpl zc7gaNe{retLe=`kvjmDR9nheD8i;uZl&8@n4kt2YaH+lsluWE_dSZmytR>LK4LIaV z_C`svd=VT2*qOj4GVn4n9fhd^8%9u7!+GZqC82upi}(y)F<;=i#A1?D*{NVPaR?!EOn-^c*XeGZ%&&S>*Zpr_t_{^qks(YHmOO}><qT*39n=+FrWa}p@gz z+rD4^=gKuL^9tkGujdT32R2h^&hLl$+DFPQQ^;U;@HDRUAV{t<{4>8e-=`uj4y1{_ zj6fA^2bIChG9XW_!{M%^1<;U;0-k(xQI2-yN?9CV5y25{lcM5moxqrqWDb0o8OsVFZT-6{sSJ@@;E*a{z1*~ z%@yBeF@>+#d4xa}6||uMEY|Vnr`%F-@=V%gPN~=|Cm2D6MGs7a48~=yB933d?i(39 zAYJ4sI#FBlE|ss@ea+sj=*(Tz$$Uu(*9r(ZrZshd8WAS^)?MAA{X!{L$P*qC09`gZ zM_l<)oC}py6O3myRfH0f8GD&H%NRE|ImpSY`=0MkI~vJN6W@PQ;vIMiAmW9GGzo~J zdrZI#6x4&ASBVOFX$CU;z=WfP9+gJy5O=m(&C(<3QYyD((8)`xd70IF;r7LeY|Puw zGCpp0Dih`=O1G{>JA6BzVGy5PmR$oTX~#WO1l)zFb2g~TksDDO^q$^cOxTf2^EZ5O zQ0wYI2i-}+^vW6p9on2^g<5*OZ|N;~=~P?fBnR+^Q>fw+S7RSWUnCxg7EK^)yZxKn zC;y%V&eFODDXBYA8X*@ZE)NbentBtLzimf1ulq2{t`qk^PfuvcgBb%5m(3OFYvTfKN{ z_%O6BqnB%gu?iIactdL7H#97G1SpjM7`4)Zn1#Qw=y}xuDU3a6Zf7lN9&=rGU+|%n zX0X}jqjqh^6+OOFUGJV^(d^wD-o}HX^glbkmL1LB6Cve;r^+`l+`1aft1A5(>_;^n zbQ8t7Sz-eSLG$PHpe((?LXXwFt|mKL%~EE(~}Y5Kw9&9Pq1`_XP;m?d?Aga zE&Pq^d5pmn=gs#ndknux0;(W6@;~s^wTaNR@VTycqn*FFDJwB1aq8!sqbfd5t_}Xy z4X5Yf9#-BCl{w(Jv{rY`PftQ}9oqUXHL-@i0(f6wkKLVJV?@3=xbk17BDZ=jAW3};7Cr6vyW6QGzHq`@{GIRd6hF?#*E**RQPRyc^HG#WvcPuP1Y|Et5xAJ(og?vfbrZ`c;X8*y+95XCf z9JdFC1R$h=>&`AM2LhTM14zHK zp%PYSOIXcbf}P_xFucw`)+cw9MvYuLyGBr0|Hm?`UtXcimRdtVX%>hX3-)CoyrPD@ z(Et5xX7m^3b&NErshrKo$U0aXiBbN*SI%Cm%6Nml?_Yd4G)7;oB8mISd*ZJ{72)57 zy#e$F{c)TF$CGqOOXY;y=DJgl!t7&at(dHV$id-g(`wz}ro3Xu;BKTCIAXh@YSL1gZ~jHwZaG9g`CdqVgu z-&rUT^+9NmvZO$7GaoYveE(~vvf?J4ypZvIc#!%n*z$~`hE@86Or$!+8kyC5fc- zvQLc^Q4oAe{w`{ub+qM@fBB?j6AXt`_T22gK{nLNA+ePk&N;aS(#ZwrmeKhm3lsRC z8i}&I2`i0~&6atizrUSoY5dV)6L=hK{=oopxCwyEU~^FK4HK)J{+JnUlS*n}P((gI z?aFK&`;ad8i`Dv!p?j)h^d)1pQ1nr=t`KB?BJUj={%A^=ROpKPddhoukq&?W64^h;x}ERocxKS_*T`2PM-9!!p9e+>FthUoa8+ga_PSs zUsg^Ab&s$t8koUIMq}K}Rs4;s=%rp^+UB#L!YUMf2j8fh*$}|N-HY<3$9%Xa>;%8; zta0Ji=#xJDW76WA{IkCM1IBJXNQK*&6q;4?cKJ0V1M(1b7y3ajS{Y`xB@vHHe&4?Yq1VW{V zNmb)Wdza)FPI4Qfn|CX2K(B5h%U)aLd9UP1Y%HE?;FteO`%uPdOdZWCMnwcvc1jjs zSyr8^OEhWLfF7L$aZY1fMLo^hJ?Do5JaGozuK3hIwk0KlQ9G4>t*3*x(pL@6Ka@l6 zaV>n*0Fz0jCyXDT?ihAg{e)4gAq6wG)K$CsTMkKv2DQ&=tD?sq5fC6vwtEt(# zEt*&8%a-Z2^~WuJo8-^a6#6}y#yj_5)Znig4c(Gk-wHL6a!5;+SXrQd%Y|8fB)O6o zjaaY^6JyOS0#M%|I2lyC8S4;@m~c8%QLs90QjTtA`FUK9~K6C0f_J_xs zu5GuL$ONQ^5cFCFf?)oUpqTS~P7q)_^crV`8Jh3qv)0G8lx<{&fe1@V4 zPMvPDQWajE)0UqfO0qbqld*4E@tGh(QvTu5{!G}M2O67jdxQz25*(Ezn)UVGU*I2` z(UMfwOcB>+jF{>Lx>?G7v1pyr;ZgtdGx%I@NETKQOcKSel;xaCW7<8|aUsD2Yez-5 z44wg`B!EpZKU{%WCP=ZZMd5meimDsl%==Zlefhp>r8lv?9TY!9K`t|^`vfG%sbbM4>csCAG&Q9@(dCD(rk&>a1a=(X6Aqm`m>^L$fq+&9;n!f?l4Y1$reg^^W}Ds~;lTK)1=>nWu-U zFg4aQt6hPjNB5Et$$sNJvG7vG%s|W!gClwVIE{dC&UvO6y>ZN`q|!HD)S+MJmISLX zB8ndL-{3|(p90JyqF^%?-!(Um|5NlZ%%aN#OO~CLb(+C&n<>dqCHS+bO~_Qe2@s`)r=0?PTdauUiv@e?xlTWj`Us}4(SW7#1+eq2F=c3lR>!U znltCU2S$0if4A5vUzzF3?VDBms`@20A9m8~Iw((L)faoE@o>M?K-n&31Ckvh; zPi%JT!~8t?R`Z^Mag%upclj_jr+xUQKe@pwL;iv7Z^BIOr-IZZA12HAJv>nd1p?CC z&jw@AGvyeiQSox$=Epz-eHb-6gH(CO2s10iO5(EXAQI8;QGm$e4(IXeFNNH1$s5cckg}pk&C&ZPP3`&p%3=`$F5UQY z$Z&|tDfTn!<@f3S2?Nq`G^7AQJ+{$x&|$M2(i>VChcZdP-*L_k&_Qa&LI1vgc+h`oq2^m!g=r!jQx zRDM3zQPEOe{fyiFoo|C&1HW&H({d40e)_VYV!Ye$+dHo(!FKHUv%`VDY`)n^IugL~ z&4|@ty{OU+P!LbGRDNqA5%hE?&}@C@lnERwPag%x--lW54fXz#*x+O{+-I%19=i8r z&coRV@1;4m+1!q0Q{PpwX{a_^f3(ZjnB=Y4GNUA+IM|cIhZ=>T7|im?4O+=2*{kQA zsd6P%6Gjf!n~jS1D}3Y(slBsbRWwtEX7l zxk~^1k(9FWUi^fxy$}4fIYK`)MlNnzcrlRtZcC@eB-@xX=@gzW(nRVilE=RS7*iHyM$kx+j1{UU}8&LFEHlNb1O& z>e+AcL^YnZ7)e-)ik>Um0=i)PJ=wxCkzKl``w~BOtRiM2e7D@^b@v$JMu}a-Z0n zukCXznWi5p4^gif)<93<>N=D5TFxHCOVw_>(Axuq-8!~}S?trla)Byz-*(-13aCW< z?{(e(pDnrar~m&9*d+8iAl&&l&c2OruUV+7Jy95ENXlEtFHOo=5}*HR$1vV=HXzm1 z-Y~D2(5)HF#YeT?Km(H$?Ii>@#`;kp@XJ7*r920Eq9BiQ5PqD6%e0&kngG^*FMpU2 zklkY8Y*mXZB@s7zh(%vo?pKaQ3c~)$l6P`SEBKmvN-Hk~b8>6DTpVzKGM};Lz&&H& z=bunlzs24e@2!Mw^Gle0|1n`6Ll+EK*`>(DjknGuLY0safnT2mU`wWNR&Q>_1YxVO-Ub+m^4!>g^^rx8=nbjjTU5jewLWat3 z4vn}ytfaIaYu{WOhoyaLl=P1g1PAU7qz}e@r^jU=5N3hn>~!Ii_@Xpf$=mPGANUEG1ro4; zDWGl8ag_!94`N#@-%BL9i>3P#3t4MaiJ(DZd#unA%8fdJzad;ob>$IKdKXcZ^%F`? ziZKC(<`RB2UxB^S)3*X}s-jQ;e^~zziY;|dVTqDqh|5zTEvXwNR_7LyNIvRXy&1is z3Z(Bbn^r+UT3P5OwQ9)^N~dpMDnKZwcmy6n)siiO7l7Uf$w>I59+s;mI7K?J7AQ0=Gd7kzA*?MC`Smd`JH(}%@{Qs z2rN7QJ%YvNI~$Z1ZR)#<$g&1sPT1&5cR!ml17%+0b#9do(d7DuHt)}t7}Zw(rSNEG!lrudyRh{S2)G{lrqJmp&v6!Lx} zB}8^6sS?>fc5$pm?>}8L%?IR(5_bLOI%zEqe@AVbU|jM7s+!MBKhaH?{n_QC^4%jD zb-2+7p`M%x;j?ni9;o(fvJ+I#Jm-hQ;?VKWIda*%k#{DRF5G?hY1!pZCu%38zpCoqdFAUVQdagb zcfQY(0mitd*r5GH&J08JgIf#H6(oH8IlWx-Qo9l?Tffy3vQcx{GqNX33^HC&u%s|T z@Gl`$fn#+V*yEa31JfSut{O*V6;sOeg4$nQtTO?&neCS?6~7QP;YdRFv`J z1inR`6CH6!+6wkgO2{1HE+aoI;ooJyfRBg=_GIcAD#wKKKBO(YX7?RWD?)kNLM-d(PrhzRjykMvqq=kUfG4Cl|!N{gwhXtLA zjT-h&5j+LorC7SO$a>q2PWD~k&(1(r88LvKdvnvaTi$@5(E1~GwHJs3xq#;$K-?HS zzQ7|2#=|IX0Vfn1Xxej6ni{~Nv-Oz30IjV0ddwWfYO@=8tdy0pER20ZmXDc?f)=v+ z9&GM)IPZMsta>I!PdbaCI-6(-Z0ZnTgQdB20x{%)XwVM?qwAMIfg4MHhv2jy23kGG zl|`s@$mpBz1tB(<-8`r6)IZpaBB{M64WFM`DpWOYKG6Zy!~`i@ByR#oT}AW=5QV+~ zF&{3i;6N~x3gb;)rpM9gsK+>nBj@<+m!}u8iMGmcM_Ng8%|Y1BTX!0RJ9fLgHUtpw zkh~J^xPSr1d;i(7hh9cKykE&s$q5xpI4T8f?f1>VI34CYh1t^}CA21X0v21;?$`990T6}Cd%x`;w)byp zde=2LFdY6R5x$#kqi*@>NBM8Q6+(M}bPooj&6KegNokv0P6@|-d>)#Ih>*|&t+roA zh7%%(&I3|mMUf|B6&|)9S-qNXv}6#TfQ5+2VM63vS3yD%3+a{d$gVkiVv% zg>q`KtfD((>*1#k_lomYhaJXWy||2NRT5Vi?}~1(^D`zkyWG31_4!##;?rzk0YWoY za^={xvhok{3~U8*#1HJp4or(0axiGtY*u;g1&Rm7Dq&b_L4m>#K>`Jp%}{h9jhi(J zHp>@TqfRQ2Rs`3kYw*a<^dfpRo;=U@7PGsCew{? z2ccyYU?&kiPi0L;-=6&qnmvZ{-sBEgh{P%j(3A4a5UR^%J|&pC7Un?;!yH`7B`y*9 z%_Fld60EIPU3I0ttYrftKE+mG#7z)%t8Rutu?E@?fn+ng$=qTXjHusq8Kd261M4LH zLfDW0VjeE9tP$s{Cs3aL^mlZ7S*UJkelqj(+Jsfq$Y?#1I$`*x<+t#+C21spgu#YHg(hQV~R!Ty7%^*aWE537S zKjr(`X}od2Bkvi7#?xJ!(4YRvIn0FVr)`U^8$@5?>Po2Vs%+J*>5naaKVk`p8~cvg z9^Sdy;%JbRCEC?K`=&Q&+=F5`F*U&WG+(KpBG3}0iEttRnL|IOnH2KNn9+kBZJ_*0 zYJ^*P+`aZ7FFqA|6gsp9wOyP`-hlSutGcrN@PbcaHQl8p++6d1&_#WvJ6iL7JVET; zjZ{85lAiE8`_mxTYLG71xUeg&-N6mjFw`gKue~N+prKy=cYmi6{E?4I`#sF@HQ(xl zhM0fD`!Gjz)hN*Jqn1ZoapW(kPr{eySwo(G*K|b8F$#wn_V-m z7OPz;DeWJyw>{Q~yi3t#GzxXN4wWtz9f};~w)ckzCd-!1K{Wj5IXzQka9Q~LT2x#E zxJH>Uv--aJ*zYCI@ufK9rjYSZZ!-US^VBFp8}v<|)B)~ZFp%G30NS1zH*GlpOv$Mz z%0aSRCRrSE&*+4L9aXKS**D80?x$t6%>BeE=)soc)}-r})5NWySH`AKww@J<@rncl z=rj}~7X?=&<4uynW8smS6Z=T)ofXxAldfIbIv zMV~U?no1z=4D8nFxaF5+%ux(V_WPF%S~pWbou@t?`O9B4$A5tfUYeJ$$>v;*@Egi{ zSeln8HUw;|>z3D`TS};^+c^bAa}ENnvclEm`5@@=W+{e{X8S8WW{K<^YgQ37u!y+) zwQ!7Nd$3+NN%8qU)6T(mx86#~6BAz{%RwXw7yNEEjiD=yG33!}Sbuv*_|7$UX?b|u zr=zPF<|a+1VIRt-i(sm4nVhc~{!L-KC&aB$AHgUuc1o{e4jeVF@(c1SCzvoA!PzV5 zy``#a4SA*NTZu;JquVv!U(L0X(%%MNwW{kh6K{AHv^xyXsY@U1b+)r{)Tv%COGTvK zfJ#AtCtiQq89Y)8y|kk#Woh5y)ge8X5#S;mJ&1xWUlL)rf;JX_K*@Pc#9#3xp|@qs zqhTNz7qheh`o{$R-^QiP<(;PmcVw3pMF%v^3-GLQE2V6H?CRxW>9OUyCL(Y&7k7UCvjf9nKUq9f;U0$XK`u>&SUXzVIo3pB&cn!A z$O`p;2oFzTX&uh(&QFOQ+H?1ut@j6Rm;rBQ&+MbDR-&nD-wN~4jayN(y~vp}1^KB% zVC3jZH>vs~7JAPT3VRtcDy_GdlGne=0eQ;u)Rvj(c>7u)*wg~_3-u~y zbcBb&rC!@gEFy!?S3SZ!N}4zkxwF<|<~cHS{R}=XP1zy*3D6@Wszlf5 zn?I;P;jcyh2A+LJWSgB`ojA0@%s?FkWP5|4tgp%L?IiMpO68uLUd;^uHlHvEO6}i{ zc7bD&M^dq+#avnk1309UC6H1t*8l97p?GcKhxw8A{2c1&CMkuKLJWRIoc`r;#&nu$ zbky1ystrrKDi~!=iR_!Yhe-y7=Y$a>Ud5Ym@8Qk1U*9(@ys2TED&pfA6LJdY)iUzX z9?XkhR|<8<8qFp4rrKrhC_EHoaf)?R#?Us6TK%-ke;pSWcuW!ilxZ7h>F{t=xPA=h z5%mtQBBG|K=#-mgnvQwU%%vR7cWu#Ed&Q2Li3GgN2hXVcSoT~P8(PZ}^2RDRM}E-! zXP*NK#@5aau?J>VI>NkH1h>WVi-m`oi5>TAl#iIIE$Unl7sE;91Wpglz)!`efNPZe z_}xsVO!UK2WqFZY%IFerwzDIBkxxQ3N!5wQSxsfC{?LZAo4$@+sT61bnJmQHG(gXI z`VK&Cz2*SlOp5$hN$_1{jX4f+j*j5+*HY#TFjk?lZS}8X9s5IHTsiu=6eDl<;+}~M zRL!|DNH#xLRijI1*lyTTd&=J4==qp5@cr+FBxYvwywS(J0(IY)+gdLB1c2&1D5Ta?){yXY6C1UGiL(e*3W(xj3KUix$e zxL#dW#D2xt(S7}?J8)RM1G9PY z(Fx3$T)W}h?@1b;jE)qBd<{$hme=ML(C0{fZ`TAjes(u5EUxr%B`fiirL1B@uw&P| zw@1C)e1SOovhZ$5(!@R^i-QHJ-$?^{=WIkukGa4r4hfJ(m1>TAAx|^!7B1J_I&t@o zWRCaz<5rs^G57d+gx2HVdP75lrkx0_yq%&lQh$DDWx$7)dVjtGv8FS$(fOKUoGQV^ z!gz-Qel149<-@XHX>0PS)UMI*8mthMYwgx)^^aIUO=3q)&6`1YLX+1(bW|toBT*Ew zprPP;e8gVAmGpC>D|T<41eR6MJH9ZAuP-B)We7iHMN=U@Q`16Dt?4?&+JEaEQQj4} zx$homciArwq%fJ7Mb|L;xb$JVg@qaBX@0nBVKd`{?QLtT6``2?44yV*4iGy00jWMZ zy#@kLjlj+9e0y_fmk6XIDqLMTDeT#dN{*Q%>63G_OBOOG22jVf4>-E&<_4R|IsceuK;= zK9M)JR0LtSlEQB(xmE7m(t&rvo52RW2hm%Lu;gr%f^VqbJ$u(=AI=dKg;Ut%;7}J@ zDn@E7{Xn5utx+>Yx_mx}t~?X3VsQf?OQhgHLAZpr0R$NvH?U$OF}oE?IIIR&-#L#? z-N&!woa5|EL1g17Bw+jk!z^1>Z7VxVnASz}Q^!GQ4GEzOTJA;%R+Yp6_ z@7?-&BL0@`IetAR8<7@^nbZnd{aV6`0Mk8W4x6pAQyN` zb9{4sZsoVXQou~4zh(eyG6W5OJK6hY5_Jar%#C&ct*_8r=($cXlQ?wapxHp-5<1^K=h z@M1D1w#FcZ?2+`#x-UEQNn5~;+?6i$H|KW36H*Kpqs z#^4j7zRO(r(;z_MSS(uAP=>gDgk7+~eIfST&)m{g%uoa*>U@4|0=EoL@*NgcgsPlJ?DmHPTH z?zX<8#E-34l+@|Y5+}|i;+jkIFNhOCaYnE6k}ke_W%2iE#ejWKG_cA1fG}mh$x3|* zSulZ{;yep*2nbwP>=TZUR}D!VJ^_O~(5HdT4w^~~tI&Uc?HFQ|)x2sa76B7^wU?SJ zpaX_O_-=gO|bj@Uj@g}MBe#7kHhEv}M=M5ku zRY`pVghS_MeJ#JDIZE4WyTR6qn(5dYWJY~Izxp%tV>>U5HN<#E&}k)d1Rmx7mNjFFsN#aGMk z3%|CGz*}sNrh8mye&zAv&kh7I8%{R??UvX(GEl+`kIaG(MsR96;h822q;h|N z)QeXQ!?*OlO>*#S4A>=Ghv>aF&6)Q&)6KZPTQ+TvtzJN1yIksltIJDjMXD=`iLe>~ zP=P$IzE9=}t_XE5M%tHUFZtgTT>V1?T}+*j#tMpwz(q{$p{sXiSa#gEc@?Qc5W^I6y7mFE<#tzhXZp zV*i&ZC$LIYFvk1sWK>e>OSJ;^^6&|5)~VQ}i@9+uVLJBf+qyw&0$6ANOYRf| zq%ZAoCX`tQ?37X$;3fYD&HG~TV7g~!EQ%DUb;!}8n=VgyB|SbOqs9_TX|cCCpf>xp z>gbO<1KeLI%Y8W}mBBg6)vfpE65r^@V{)g$I`LmuTMfi5;nythZhS?tRF{ph?U*@~ z;5*WQez(y*YN4XRsY$^ke}xjwHN7%?CvcYI)Uxaz#Axdmjd6{Oi8;rXQo(*}EE zDIP43WkRk}wQxrvpB?8#LFTZ9#Ck1G3H4$fh-pP*f&=VXB6<}`Qz@+lS}>g_k((G!u=ygbd>FDWo=&D^&p!}#2J z#blM&cfDkOtn(u^IK50sx|JVf(SK@~;gE&aeT*IuhE$kq9uHe{nji#3Ut|Ca>gd(k ze8pMCU+%(-vx^%DG!Z^$xH>z>VDn;GieZA7m1YJwDYsffpXnARunS4I=9`2>#F3|Q zTbAsN!?yLo5#xkt8#(_w@u$w^BuXpyUFtUkrzJlI6B*34IPM3O!r{v(+N~zHJ-t&F zQ&u^q)th9)%AfPKAGZPr6P0R{rgA`o?Lop%Z!EUL71#Mn+TY)zl2EJVl=nrn|xueEBzpi+q05iHo0-()!z4RuXbHp4|1c~x_qQtlprD2 z0Kx)DRMI&<`Eao{=KXaGO?KS~Sv(KZ(x>Wbfd?9Fj43h->sqTBK%GWv?TSE&r+RA?}vm-Lf2GKTrKX7Wx18 z6AL{_yJSIjP4@c6vX7C_lI>9J*U_Rc3erc-)WwV5h9m)cq|`aiG1cHCdj{moG4S>8 zGJap>XsB~Xfj}OM_MIz_S9kNBhzF%(^CP$RylXxBUf1IBm+cE`KNtQ1b76DpKumRw z=x%iCkKgKF5`Es-Ycxh_$Xi?}w{J;#c_l76_@9FV zh;$JlN|hSvos2L7(xUVtARxWB1PBn35<-<;l7K(}DG4N$04d%#`>wOsId|`S?(gh< z&idWG*3UouBa8Qazx8=OPy0OC{l)N=N6ZcS!AAwV;MCLV(Pu0vS{*{Rn6lWZq??4a zii**Zz?x>GMc0#zqSGF+Q&0Vb#4v-}L$~So;z@KZt$2EnpdpmR6lCnc1pf^lj}gAv zA!1nKJ}xw0o`e}{#ARR9QIrt&d#V49UVbfo&E6$4T}5WU9$=y*{z&1?`iQ;hGJEax zMs>;AA`&CdP4a=`%j1KY+SZKvY4y@U1Q?+VH{;(4#W=-pe2o1qQmbNH_I-cY{pBQp ziKTO~h=nM%rS?~W`Iob_!2*DY{o}^gh{s`i&}UQr4-jf#+LLboorhxqKS6+AFJ%5V z`7x(8yq+f3-o*7f1w^ZzOQ2pfTrI1Pe&IqwiEQ9mL|bLD1T(iwgka#=JQDq4KzVF{`KR5NEiKf=lO5+JJX*! z`*02{f4BY7U&a5wt=!-L;rqnDhPC0}n_+df_kKMKp#4ESwSY=K9rXQ_4026l0dXC{ zs=#lJ!PLH_WaxOEDUFkIcBw_2*09OSVZASobj~ZX_u^@*5*~x({+Og9y^<#vKGP;F zct+DXAmbBzTJ9Y(ytLvyF|QiyZDsY<4(29hN0~by!L))s9&G%nU&-EfxP8FUkiv%q zizfwjCEw@=4(hfo34WYGGdoFlLXS42@TCZwN13 z@Zn+SOeysyf{C?Bdo4oA)?gMJ^QkVKDe9hxB5GlD+Gfp{^TD{_Y&TK8_+I`R9SBJJ zb6cdPWthS@L0e4x4NM`IvZsiFpf#ll6Cf5fGY_`$W0^k|RGyCZqLLou2`-m>Tl{s} zYLE=BmMANzjH=y)+gUc~KSWi3KjqEMm%7+@W2J~>srMFG+ck<+diBSGA*Y6^sVt54 zPRELTp%fq=j+VbW^!k1c8ZWt7!QR0L?HbkV(D{H;)=|B@WS3+}us%L`RW>?d5P;xs>&u73LgJ!NV^ z7{_dr!we0TexR25?LaN2fpKKx}*&eT!R=I;Qp04P>X9Rb%k6*}tUWiY%5lFFf0!7ZnVofTbp3cr)ly*cJ`tEl72DV5yIV`lgG)o&M>C%qie23Z1%HqfKxn+=bvJFplk!e@3?3?gXe zue(>(V?K%E@RG+2 zgXjxeTnKfN2_{W_F6aUIb`omsc4|zmXo?UoGp`Xy*i6) zp7l8F8})$iR&T9-sm)c{df(9v*mDtkwX&lv#1KE0j9p!=Gv2S3dh)*{MOEk=16)Ms ze_?ol6w2gt9O@&?y{cnog1=m=*m@ZE5#_fw8wR1mx!w(UoPpz@ZB((x|3w-U z{qp2f3Zxg4Z}CTSHKc$BBpYoph34PglK*#v`EQ2Sf7f4ZKuB755HeA&=~~J93HojE&UQ*Bg&Wq9w@H+=URxFy_?bhi+-zeltmQx| zR2mIyrx0asddP#*EjhErg-+f&CIw#t*t2>ZsQO}LC}~x-k@E+0iR#p+r;s_2p1qw* zXyM8C2m2gvmU^zo57vgx82<;Kn7r{e2fWCVK-`imr&9bk}ks2=>HOuW|wDFX?iKDF{LcY^IBHdo> zD+<4|qNZ$MhsjVd_|5LVsKgO6koR3tY2Nr9%0(dlGt&PPGkGwnScm4T&o2-F6fIALT39hbCJ_VWvT7nX ztcM)!EFc#VJ0IaUjWxs`1rR__T$Zq*4xID6dR!@eJoY`B)b(lKAImmSePL zC-7}qV8i7>s}!=$afLsTRD4`OIu4OpcIj<}3ru5Gh(q&_tBX5AQFyy==w}Z?9j>Jf ztst=|TMyP`tvDUwd)-RTP#X3faIL>h&~g|d5OjWR8$d2cSeQ7@nFxOsJ?go=uz&^f z)*Co+<@v+Q4NdY6yLo|y>mUj`k_Ke9pv8jYuF33Rf1@+4Mf zb*=d12td;Li#Tsu)yq>sthP4MbBIRw18PD#yVp(_Y&1HqRLm+RLu?t{te2Ee!$twx zUQIda`zahfrkx__6cDjF8X)tWh^^KQeMz)k%B;n5Zg`EyF}(m3U-^>n{TY$#^1bWj(CMK=s^)rWVCQ zccrZG6aMD4fyDZGzfz5~+rht6Gs}I<<&8K>?lbVH6`&_Ubr~|H_7kv{tIf2|6RqWG zeC2066^O061X{VS!Va7)wOQV78*OA(kF1aIbhgFwTAL+(*y}a?1$_b3%>E-5*ptmM z06X|s=9H+-%6n{t7YyyN@Wo7MoCcqdD0E z1%6Sc#$X@AN^6RQvEvqf#!T!9Tg1Pn?IRqHe+MUG;3adZ9S9N>Cim7kRJ*Di-}elj zcxA1i7f@uq;2Pw@<&}!;6lHBa9&Js{cH@NFQrj!VIYv)HYyCrH0Z&VXYH5|~_fxRI zl2M=xNt=v7kgZuMhGXG|WZ%k&U;P%fJ$d-2w6Dm6UDOO^NO15txSC+mP!L>UnUq(- z=kKqVbWKlpaTTBt_b)UN$;w`hkuHN*&Wx@f+|sh~?b2EXuu3-oGs}M%VErvubcQEN z{Mq0p>}}H79AEFhbm_MC;6FgN?f5MRT0JHb*6S$E7ocpsKK_TxBc9QNB_=R|b$+loVh&u$+fs7?! zQ>Da>No+H-2f42V=Fz_k-=j(;{Q7`<_KGrdB^wqKA-mNJ^rK<;u9}Qf80S$qT**%G zvUXH>@zmvjb!!hdDStL?*|Z>-3`mqRvK{_sbE`VR;@*yaqWqMxY;uWyKS1f?@7Ey& zEVmECDSW2k1(oYLMAVIen^jEnm7&a(Axh<2yg5>v>J6=*roA-vCwjZOd+$HeUvtaO zc1nmhU}0wE=<;MRIBaNrdlmkLt*i`i6QSLy?>7-C-U$ zs#jZ{+xc%5*Qp_I{`@k?_YPh7J8%U3EEoXZ`rOv3O#|l!z(@>p-tNNC^KHr5a4uM< zPT)_@>~a7js6)oJo5NAnN(<}xTqWlmk_ztXtz8i#0XtOjc>%K93|(VQ|5#Bv`~4J; z=JoB3Vp)2JmkSpLGfXu9*3I>vCU`W&MXk>w!>Y6W~zuM4f`sJCLP=G`I=LX07o0SzJKf2#|n*s(T z%awA!r{V#3bcmB^r{(rV3mt|>yqaq8o*o$w> z+F702Yh-!dV`7ePm`gzR7{9&RZYR&Lf3du>-%)b2?S#ibg6D?4oS|^?&xJp(bpyxd zp6>kxu@`tt{flw>ypd4eg5QcF|AJ(g0{A}%tbaaiB#8pmkJY!KpApe<3$ABO+%H{A zY=>XDZo}~v*K&Agxbxa7ZeNEKbm`@2#&Ku(1In(Q(Ap$Q&g?o z!S_%oJ-ij+y(v!HHKzKETcY&d#caCLoX!EVwu7mynWhADPzD5`9eb_4mwLd+)^JfP ze3~$9bT|u8!v!#m{k$F&>n%$;bN!-klUkj(7+WL;JYnMol)jA~>Cf~-)0?h#;*Uq) z0yg~RHhY74SCXys(QQ`*1+tvxx>;Q5VdutS_uSEp}(NQ_t)OR0DpPW07CE9=k+4}Xwi zF+DXX+|WOMiK$+1GsW)$Q*8fx6Wwg_=n)G|Oey9#)#>u8R<8sdUdOOEHC?$y1?Ynt zrh>v>0ad*$@p&2SthRuSBXR|^onVQDIJ4 zGeXVwQ6TxU^R!-i{yF_*Aa<)(q}IHr_+?0Z*%pa_9h|jsUoWbG9I@^DrHgZNnaz?VT!)2`_O z6RCoHL@r4QjySZq-5(4K!SD;l8_X1?DB?6K8*X_oC_i2U7&XSwVB0ATturW@*`N|e z7gKk&*2Ds^S?5sE;mdSb#&LI}(zb|@8yz`Dcg@13y!pAkX_uHwNuB#5-TZf7Oi>$%94_sy4~ zz_e_Uze8?VA)*yTAqg-dui5_M+u-dTnOL1AZ|{V_-_L z#(VV)0}VymysE+Djg7-a+pwD1#~43k(BzkgcIQJvvfS3TIu2(iIa}?JBiySi_x2pz z@SF-Ov~3Fkz!h1*cpi5BSYuZW=94Q=&L|I5w(>d=CtqBa@M$td!<1{}1uexP?KYSF zy1903XW*q%eDM~B*XmNw-SgoW0M_P57`w}%p80A;BmMa-??laBTINvnrAFC$xURc9 zeslNOz*QV*M_#eb>B*_1tJ!w0-KPiNdjmiUV;@qEQvvHpZ$2%Qm!2yFwDK`HiHob) zmR9xyZyG$AkL$WVIcO!K6e96vXw1MtImI|W-Ue9Mdl=d5Aush@JNK8XWR;=5yWp07 zr$){LYxUf)os-han(FM3xHtVLS;E2?=02RJ)o8tg4lpEed!A$YN&|M}u|Vf=Ce) zd;Dfl((#GCmgt18q`~d%xcm7L0SnuGCQ_U>rNPd^uA9z##!};^Uv!tD{2V0`L7z?l zk?_p!|9PAK=6d~){17kEkoNp#L=iK|eajkf#5(}7wxA=fy&0JngmL8t{^$+)^vm#G zFSB6(^z%H7c3jq*3ln_l#7&druCK`0=}AL|8R$(0uZ0R7%~&=DPN^F!S($N3j5gWk z)7fBGQM?IC#`uWkZ&wDe?J~B!o@5rT@>II-#NPU1GOVB%yV5^OmtlHeE0i0xQjmLw zo8qFj)LkJw{Q?K^jY;w+f4k*{BUR_n*~#@o4JG_%v+~vhv?&YlM7*ZU(&(TkQtIV8 zK*aiIPy2{z&Q6<4z3X`0;)aeC;-xk)qle5aj1tbHUb3!b7T3y7VB>hZw*_?Hs`LA) zeta^B&)WiYnxSjFf@Y#`iF(j^hW(l|$5DQqpb%M+{VP3NGiAHgDM{k3x}uz(07mq@ zYc(UlP-m3c$;(95aG7PmI9YAc@1XY1K8t(6`ZJFZYj;Y?msy0QVv9V+G%{c8%9R?p z_sWeMtNAS2dTH-<6sE4z>cg>pWzKq^3ep0=ZGRLcV zCjIv?-8(ImhpNww6p>#aLYue_`riXv^=;LEh9(?(+yl0VH0rH8F{>0(?OY8+`F@p@ za2@i=tZ)spVPjq8)OmE$le1O^Ai`&HhQUn`R|XNBl`GaPR8Sj@*be!A zs+IzGxUZw|c5`0L3aZ;mnVXZgDh^uqj`{67a9 zhR3G|=Vz!S8zDC{z#Y-}Ua@nUc_v~phx*2QekMQ?Erpy7v;l^6giJ??bk4v}Mw<=~ zjO?)66}IITO_%b6o?W=;HJqQ;4dKBy?JG_`nw~HpH>99;%Egv083fZ;KuYBI?;CwR zG>dv+8GoiS^k^CZGsG=Q6o!5{M`i-f7glGf?(^8rH5hZQoj z%2mn#K}A)gw3d{BSO^9#n;X>#$=q?o1MSj&%=h$a6G)wZ$8({?y-^(QEau~paJVsa zwPFZk=CvG_OiwUHQG&&hK4TMld};DrFj{p0T#42d5T@p%b^n=rjh4&PY3erhU@&Ey zTH27qkDS`EQvlh@{7j&!*taABfjWS3N4I7GvJ48Z4A{edpNUGCOJKklM>(vLh8e zTsdfL#HvRGdSscMsOJGs@~FBqF8xF+519zj+*%k9Lxu-mNPPZ`F|PcE&H z^jKfaKK3ln9jG#*Mxmc*%`+>Grq;uZ8BZ5kI@wUk;J8H|Rb;80b!LxsA{zcu+yp^R zMN2j4>4OlB@{Vx6{aeSe7sE$mHkhI>X&w0QZ+7~B{fBSxu=JyNQqh`b542kIkzYv{ zaX7>HvD{;t(s9@Ls#X-f=hApW-dW_KPv!$?q*wy_0Fv{s(ux2?f;>>P3%4g4 zZM3Pnz(cnRmPa0C%v0H7#NdH7sCmG)7c$tBLeyTgX?Nefyr?&?pF-|E&LI_XN~djX?$TU)gQJ&D-Bkh0`?v?9EL`%G#7pK~Q9#c`)i{)vUsHu9jcJ zg?58I`Pc+~yl&sPp2YLmS0(QJ4fo2gkyqdTAob@QATW!~3`fA72TYy4TaAF82oa%Zi?=0l4JKTI zV6o!{&NZT4MkcJ@^{3I-Cv9ZSdyrm#&2XH?$~--JJ+#IRrxM`V-Pdpe9?$r^+mqZY z45jC9LR^dlOMzZpEFg7A_TnIP6+)(>JrW@3>iF3Crj8W)ikhHwcy5DfW0hTQY7~V>4n!{L3wUvC>uq6QcE}$^v9P-tto~bLWBV6&|IW; zU0K(_p&*PdzNtvRABV^tz0c2!1AdM-q%bjW8VneTQKKY9rMnLiJXtlSrhKf4i zp@$DwDnI*`-tB6DD?2TbOj$Iz$6fE<7;0risKee*OP+3MxN%o zs~Q)(d7aNkPqJ3l>vB%(KH~8n)FO|E7bd>nn(s;v350h&vx$Kr&AFl(IEGb>;If4n)w&hME?ah$A8y_|L+hQ z|MTxSW7|58Gg?$rmY$&x&e#|>z%0T1w(;m^@Q6!LS(bTxdFOO>S#h3Ld(ZS$$ncbD zyW*q!m+s^Be!m+!sOI@u=EqH};W-wT^|2Y5J!M&+ymc^wyl~(RCz{-PtAC+H-ek)- zAta{js^Zz)Fu)!2UW*(7z{9aQ3&e_}$!cJ2Pc=2WI^!8Q_CsY=#a3I}e5+H@7F%Bh z5bOqLpt^2Bxl+=4R5H(YN;s57s=r)gnB-@8SqA-(@*?$6@ayO&fK6ccWctHlJ`qEK z&TFjCLIQ|0zs~y}eAHTzg$(G?+HC-(GZJ?1`>EKTwffk_ir){_FM4jftTGK@oqB@lkbcuZUV{ybl1Iu{g|ar*Uu&RS8Nx1kbc$m{1KdN)VqugSN5 zK;YS%5q{}Z>5(Nd-tv0JJ6XnMv8NH#6W`{VW1=%^AU#l18isZ_L4Ij%)fCRpf5qPs zu>gyth#f@n|Fh@oU!_^bUmafm^N0AKUDE$fJ^v5P_P#BpPRaO%2cdh09uIq|Hse5~ zdFt}|dfE;qlnj1tY-xMvTITckyqEy&zHRvUu^>Ec~`xbUx>mlVbG`|*3tl6 zfX2W?@Ek?FTG`M#?0#|V5t#dcg@z>AhM|z}YsvdXjHiIFm~89aSh9VVG^i6~f@3X%tej7`Lj?P7v)^pKC3T zLodm^Wr@LiZ>@IMtkdT^@EHqGF9JOGGv@P}Q75PM(7u_-R(KPxZHn;_okIh++ zk@5)+zh|Pu-{Z1wvK;a)g^%6lBK4hWci#UxwEp`F@?VB;?SJ!m{s*qW|ISB7wHcg} z2xVsnfM>kAGOK_g2v>?hvA(7cy`3~26>v^@>4iIfJM2R9)=e?FGTe1jtyg-Knn;d# zqp`BnW`-8K)pa3i|N5V1d(|P^dRR%%I@lrD2kUuLGBB{ia2ZHg?vA_00~yi$e(Jb& z+W5#&*m@JXCe%5@-%?rs_=$0X&7NdS-56Jh(U|cS%9gsFTx8odVQ=wXCpprzj&j1g zCD|llh~FU`bP%^miSpF!1Roq0nm+CB2$ zm!!Py@LvBfIvW1wjv)V4DrNtVzWFa1tD~a~P6zEbG3%&@(-TvcgIU!_^-U9!`qI28 z=*Q9`0^1bhvIr{#YUFfpEhJwdke-jxB8~=qKSiu4-J#ySO}`5CFK9TJLAG3g8xzE2 zdu6Ec^k*4B;&Fq`ll_YT=5nN3f&Ec?GKCoHfjBp7L{U+wVAUb*fKzUwU~~enRO>Wh zdiTs_Z4(VIwOTj(I2Gae`~vb5m5ZS+0qL~SB?B#3r^M(Viv8}dhZ^39-QMoBYIu2U z^ez|2O=#khY&z^5`!ti_6(~(Po-H>De-wWdreI>OCme0Yul~owhj{w89au(SdPBG8 zg-)@}^H%hH5C}7ENng_>YtHHr0_Dg^Nnh!7!jMhVC5#?_Q~gstKA(v9$@f?GS3ZJ( zl_=yEH-Na#d`Vfj;}4X*|9@sj{O5o1KakGrHh zH2kSW3oTs}cB7)K@|&cqQ+ggO5|(G4E^hDBD1PP=JMbLhL7t{Zn&oxXO?|m0j>jh_ z+Xfb&4)#;Its4|(hhAFo1$9 z(m<$T4G~ex=)%GxYH3!K7jcwR-E2@{5!X&IH&^`n+^45-$(Rp@U}QQ{84J@wLg3F)~-Q#Q4m(U%0RJI&M^0ik}iaw~{|=B(d+D9GnGvh7&INlP^{-|c+Je|5xy?++bkF^I zM>u_q_Z>j|m=8=gdr=G;BVrhv+?K3f9e(9*XUwI8mm=Y|XC*xRm5i?$>fxzx%DkJo zvu~87{aPgrFp_d#Vr=150jKKUhsN${ z{k1f(dZGn=lg=*+v(4|;H9x(x?Pv(hfypXR!oDN0K-F4?pk5-oA&EfgxfT#v=lDPs z++m@_Q;TUVJL-#Ingex)v7$N6055Cdr}s_(r>MVNl#q7Xn+j4|Q?SIn>i(7DvJX|! z4L?`z9vozP0A!Kk#pyDgy{lzwCFQYmAM&`84AmW(ZsAd2`HfP8dCqT;6`K6_{nKuT zOrloHH{6!W%X(+fceFF&1yhp56PgtF>>K>1Bsu=Le1?SfymU=-3#S4&vj4IKZhiRr zsY<}rJ z^SnH*lvCi4UnzH&{Pu0rm$MeyGcje+ZDf*Kn-qzVxv9m?*Lcpoa;eur!tKe8uIoPw zC(jG{X#C&jWgH^is>C?c?`yp+D%kaUh$tQn64y?WCD36nAnhs}tmeD1bw@JGetm6a zP*$-#t!o1JkiZdj|HnSL@(*6!R!hehH(XGr(^g|+lWUS7!8fH9mC@Nn;voK?0_>hf z$f-DAnz8DR>ocEhGKswRtG-B+E*`jp6L``tzTEqgm8o7@ZDGIFmu0(}Gqsf;dX17w z(0K6|w0v(xHl-qY9ggur&es*o><-sKxX@B#z`HL7Ka0m8^e)=8z%2t=VRZ^;f3SUz zydF>7EGQ`Ev{wJvlxqID5LR=$h^+6N{U|D#DP{`nm1~BvSGTV?u(TacyK}a= zyODChVlku3f2p!a!SGc^8$o{r{*4Xxn^9+e1j(q}8GKVYN8QsmF`uoDSha)lB*Qc>G$k@qt0 zBmhTo)6P%?`gvum;W%Vd-C2xV&+6^Kst>2Pi36$SeUEcL$m5}=xP()jOy_`8CBT>;Yg?MTq4nIMNhR53#Sw8#@D_ZRl@{H71;?^=G*4-LXH7i{exJCc7E<&Ip0dM%HxHpol_4FJ-p9nQwARmRI5OXA;^a z0ScV5zv`!dOVTSDxRA(ZDO%ZQIfgI41Q$w5FN|#9>AzmvJv05hVfNUuB>izGl`Fj{ zJG(^4IWovjMT*4i+EJX-A8`loRX&93@Jhh0%EX_I~6)WIkBP|NcwP}127309&|e5s4HP*(aR zgO$F**oSZwFm?c3!5BQsC+(~VK$h~mAOOcrDt#uSYl%L%!OS=}UI0GpQPuzD(P&a} zRc%pG`H*F&)@5T0D^^8a(@xd%+wCnhN1q{)n%Wr7g!1wiMQ37vOE!Fw2$ZS+_aKUY z+p)h&$baw$bR){Vq%g&vzU&it7C1lm#syh(rCs2po;)Z0?fXR<>pxh#h9 z3w|mhDp{x17HX{&W@|NhgFXUHZb*lpngQ#WzTIjCn3W*MKbHfGffo!*Rj z$ABc$A~C(`tdXSKw7ftyP~KuwR`sHGEK#b%I9sY&S5JnseA_2(N@8Ez9?PKrI45905YyB^<7K|LQL zoubDod|x(5)gZ2|%^S!e8g)NdJN`)Us=#3~xI5(D5)zcrtg&+r$kob^pFOiX2YM{_ zo9)(n4Lgd|%H`_A8{nXN1Jlod=j^ONY^gJisAA^t&I*d4w zhd7Va9G|>K!Z)(O7LF~~qM0i8L#uM-&VybrJ+E<7d)UZ8T;ofNb%7$Tn1zngyxui- z?68K%LH9E-Km2uVzoRiJA>H_gM+bu5Jf@D4z-*)@bKLO}rZ>k2oeq&6gq8NnkiBbB zb1jL~gb}l)23bcndC86!*Q&~o9ij)io4-Bpf9?uoVY(b%>z~xt^AHX?B6IiygSpVr zm(?D?vckYIxMn$b-Y)Jx1~hfZMAP0ZVJx#0wV&a-D#*p<>|OF{OyF&N5@LJ5i|xT+br6Dnr{Mi=MC!NwJMHFmJ@m=di*+K zZ4^VPyz%V>xR)i`!lHF$F8KU>i<{gLVap;GV{%{wemwXpE)>9{6`0*PdifS+p~+`*k!Zlk8bwY^bolvl}ZTn z+;*ROzYv21r%!Wf?N+%t0vvk)$&-{P-xpK9;8KNDb{4>df-OD`WSi!l*2uT9fj6kl zLsz41CH64y*AM#y>*R5td<6v?o75oJtlP>0)-;RU)&csSF?;V$?j6ReIKJ|}5P*Zm z2g{!k5=*CYdf`{Nd;!9Mgc>ZjbV_5Or8ZYw|4bL#Lf@1u{P&^_Cx^ku!0D%H_VK+HLQd zCD$qrgZlcXv4#g|dmrTgX=)!hq(xMg;lD@LU#aY6Vw_tc87+;oMsEW}%^K~8pP!5_ z>#~T`1l!;badJeyz-Oz-x%7N-`pn|vd3B<*ZIrN`N3LF;Tc=jcr2eDZzzax+%AQV* z2*IE7O19@a;Bmt{?N0t4wgt)aL2*VQ4d;%)GoTi zE#5hDPU6;qKlcz6z~k=_EHwy<`y(2-Z@jntZ~;4qQLZ^W+`w#Pc6-ea2`u$^Neo0x zm19k(0y|l}tbm&W7cD96{z1E=q|4#?+ZEX()qa3~4UplEgC6`lZ@&r9=cic@{og-D_f$Jz(x!u$Yl zGpm!uWlhXU<*6ox7mV{3`FPrOxP|3%Wq=P#z^;Lb3O>Dp**vr<7K*RXG}UuNZ#07; z@~XBB*rsGhrg$*y_0S|$&9%N44M2pL%{VrOvlz9k*`dly2iGWUf(>O`nmUJ9y0MQv zr{!|Qs+3{E$xD&!EGrAVinTeLU}ipJK7nsA!$V>w*YMQ1+gsv*n7JalrLkg? zgPB!D?r3=R%y+D2_J8%Upl(UN#oZ=0j?ipzYM^T%0dhIkpFdtBh|sa}uCyfEU~zf> z?u%iSq`18IfOBy?XJtzFXv7mpZ$<{5_EJv=Q;~0a9AA{?sb4X?*rc=|2zFA|{e@d! zClP~UM}}Tv?aJ?U5-)FW4R1~9MGL<<<2UIC$l$Z)bpLr?W6w#`mBUd=q*v9JYG?fB zlc#5wq3pS%+w>X4ONCZjLTW!hy5Y@`r(M&$n%(1-l0i>{whmO%h>o#{qKK~GH2{n} zpn@ya1`y6m;th({?E*)3*~k8k;>wy!xU|cwhkakSBhYgy4?idd$Jr9*5b3A2VY_$l z7ncsMm-cnv6H0C{fHE7>mF8mNcIW^z=YlqC+(M|~5z1#-Zl5Y6-g4`J_j6Izi;#FX z!W=0lpwd3jYoGwL;5CKPd~)A4u;vU}pY=gSaKi03Qtd zu^GQy*SU%ACZ1Qt)y~pGTb1*^F*uq-GoG6`%lbVInP03gO%Y4l(>dG+aIIhhlVYGk zwF1G?5`wrEUpeBnIpDQ6aLDfHh3hhbyY6wWMMQ0D)}hwi>W@6UFrU~PBcHN~s(L(B z&D-sf5J}S4Bo-R`6aN^7H%0tTv>-@S5C6H%nr7G;sE0b)l%4uWV35MY4$4 zhzV@a$nK&=X2toN$f~$(gZ4-Br$x?OS5+6`ixtw`!f_|HRbr1Mp4tuLW(mVqb_X4e zW^q_fudJc)o9KCZ`fN>WpO?nCWTm@=GC=XYcZ4oC@=L)t{215pWKNT)asWuHABbL^ z$FdezC_q~4{7F!S1Xa+BkYT&1aJf^yk<34riXyr_DPoxDXxF(Z*V^gvHRxY)VPzW~ zGF$pBBqX+I1aJ(EZ3!%6Fo8`Q0YTV(Zq@@B!`?AHOL-|IBpg7KYNoX^BnHw=57a7J zIBPMdQJar8AG|4a69_#PXL(fbGd8N(T}3ZV-R2tWmMbSFR10wbU5R`DK6lDM-%4Hha* zO3?$@a*JI3Gr~N|A{6aqr_}P|-94pWPX&2S#Ps1e0(C60*!|;ktAts&de*}F{8d$Y zea`1;)0HyyAl&|~I#Y8#e$kuv%Y^~Ny2)klzY}z*yS%d*QeEG13uET%H}jIfU;jG3 zLBe&HH!5&qW}61Fw0fjxj0@&7KkaW1qZ?V6gK**Hdird-MS>|QHzXv)fJ;!|@JkFK z8yIkt>-FxPqX1#ttE7b~#pA@|xZy6C5}zQ?`W9&#@o5I!-iIIYii^N}gi4y;C>(me zp6A%l_h)nT2d0QP{Zk!7=h-Gh{kSo7+{2m6#s59;q0&g=P9_Q*I5=#BQ&gJ}Yeh7= zIml;vP9&gpbPUA{7F{l~irmX|d+?Mrp>GWoVrNbAhK4z8k*zfde{N4_TRB`G-dx;k?7qgE zcDeoBm!UF0%-K3Ms2)D>T~*2z!1YcN5_Vjt098M(V3U9CC)c^-ft#q31oWFeqAHSA z#3ea$IZqYPOi=*P=bw5SswL7aXY(GFO~@^_FpMd|wPuM99Ow#`)mVFCXQ|}abA2!fEJjj(gr;m79}qT0>RZeZ}ilZsmo#K zU?C2w$^=ohHFPGHS{y=Wfl`||s#AlRx1`)=EXKuS#t@4LRq@cj8;p>kl;H)IhZ zqs=2smtZv_r>C+a(H%m6t7U48iiksUDM^;q9Pyxo8qtO;Q0T5KqznF`(th$M;3DC>9oLfP)ZIYC~tYamd<$JZi7ufNf zId_E8n%WB!f7mB1wNWB9E$2!2ULtz?K_6*W?M`9Oa4JB{2B(zp6!~~1qBRAgZx}i0 zcwVdg!_mjp`taQfQ|E^IdbB5WC^sI8eg^2sa}2d@#xv7DJt7{z3@!ECzHsw!7P-iG znYevrBO87cE%VI8%5=&|J0s7nPMBkFQeW5^m`kMXaJ^dhwZy!dNJKCy7c&da2qqM! zYCtU#O3N05y)b<)nu@)-A3owZGKbNxqg;AT_?6^kIGqKOptNMz&t1O)E|blhYqi5` znhzY5bRL>P2GZ1Wu1VjsaS2}!=wrD&-n=LX=RY&qYFiY8Qv)kXdlMy)ttAWQEpY>? z26Nv?r1j-~v+t*V`3Ss-<%$2gpJz3E?6E>0SOYTS6bZP=M0b?G{SSf9YvJ%as95ue*8M6qem-QhsWF^+B{{(K9gGwP5s_ zt_zU_3ROo09!<}r7e2Wy$-6C_Tr0>IU6>DyW7Lp9AN{ird?9bUczE0?Fkp|dTZMp? zx|)NruQim$=6Owda`(7EMlw$xt^I%z%}bX$6_>D7@FC<6pJXd$5iJJ;25=69$0sdj zR`9`HEG=&wA>tN;q5D}mMWs~>nIrQfGc;)JoZLA0u@6q4f)MHzv7F(cTB#)#DeRM< zeG^X3I|tnB;O*xN9M+I`^w$;%3pu%UGqs06-fT^;9dcLQT zpQe%3pi0|U+Mn-}+OhZSpr&K93}~gEs}*k7snV#7OnbRqvwqS9N`xO+TeD|ff%J&^ z%6v7G9LBEY{$k&NXRl5YHYn`rvBpXiE@wuZEcsItzT5E|Dbyi|n452NMKwd*=%!qP z#jvg`nPWMH$OMcOkY~h~m?l|kzC+1I`}xdv>5wtjow<6)8@uLdvR05EyL;*AZQppH zU6u@2a%pi*yq~88Ho^L$wWV_2QxgZxJz$%hH!vDoG20q*NLYp)|3urz;o}#)($#p<&Pp$EUSqKQi0iqoN?VbnTie<0;VZ<8pn@iRDU$%2k&&Oo^^0P8 zi!P^aFYY|=4yzpbDvq46+q})bvwrdj<*0e9M=8;gswQ|OJ9oW^-e;su^|0~-Z>fsy%s#&h{3W-P|D(7Jui&-p zr28xV=YuxI0fnSU*G|CQZoe6#PQSU@WA6rkkftW)1x_3jI9Q;9-4o89&93EbrQ8Kd zooJSwh|qB-vcktTGK0_4NkPB>ayLJhQitEE>o*h%~kHuP)J^2H+bJSwvWioeO$m7(kqPnKm zd^l{Zj$mCQPMdCpJ!Yml>f?(ySRMTsz)PI48b%!yWtVAZvbEiC3C039Y_u8!4z#4t z2l;LCfRk>G6_j8QW)aWJ0kBWO7TWwHo*)T+) zbgo0;|KjaE-q|oR`^E30RUpA{Hr_^Xz_7+*hW+nY%Nf(?4v#WejZ( zcMP}fdo`$q4U|;l?GUl|iwc|uPO~mp^j14_>m=-`XzTGf)%kAyS^2&lvMSwI(e<~gyS&lI`(!3a7^c%B28MgUCP!KaMo8GFupjebbm`PN%avatq8T! zKGM(W(jB|Rtqa^?f~bTJoL3Em`>~_hy}oW_O^T7V;p=`RU@IHvFpq3<_&!=b?hoy|sxu$I$Y=yGy??h{E#x=f{ zq!y%K18l`M=59-{-i=m34KDYDEVo7|qZ%>e1)o#0h`y!&`lt5Pi!MM+>2oBFxge2G zyEgVxFQRRgH&WQ!gSowi@}czSH49?q*FsOC=36)m{J!7@ zRS0i*s1a{J+KDy*v$N)mt7?t~>y)W0 z4?sau8S2|6Y$8Zho^?g@7}5;-TrmYRwPh3(#3 z$?L!9r;~f^TGwj3=xyfa1&?Xj(gI+ZhWn>|>&Y$)BY;H!`G0i}|JN{~asMC8--bM= z$&~JN(@vUWzYx7bVLcj0ijM-VQ~twHJnxiOH9&Mmf_BYPA#8;=C=p5Hww(@;-3H;w)Pa6TdC z?loo+PMUE2O|*R}2`hx~x@cjSQ-%b%``JKATDz>-ckk452Gz}vWkAK1WAiagG8P*k zkmBM9jn;L6tYFOKm_ysq*_&M}f#ETenY~s^cO<174}z^8uKE0u#m{Rfxe54-^ZN@j zN-Ek98^cYoTBzS%5VhUIy~=$XzM07BEkD$E-xXy25FJ5jJOe0osU zd5^?0xnyzI;=g&@23|35=-(>$hR+I}|JEKWPfZCX*D#Jon@!0j&k4kM==8;2_lvu+ zUurZuI;*Y=u}yf|f)*&%O-j~Bdm5y-bIB3=RFQjD?||#eKwZzxJ85bC6E%T)fC=v=(tW3$`bc_Zj@LMYRpFX^nxzmFqab(2>VDrk$kiTG*EF`>(kM6z4O63~1NK5Ec79QJ68
Ju;BTuQ8=h#elEM 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≠up0 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 literal 0 HcmV?d00001 diff --git a/public/img/web/teaserbilder/excerpt_cme-springer.gif b/public/img/web/teaserbilder/excerpt_cme-springer.gif new file mode 100644 index 0000000000000000000000000000000000000000..2939d366719ba309d87ebe78427737184f80f89f GIT binary patch literal 10660 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 literal 0 HcmV?d00001 diff --git a/public/img/web/teaserbilder/excerpt_efors.gif b/public/img/web/teaserbilder/excerpt_efors.gif new file mode 100755 index 0000000000000000000000000000000000000000..174ced7a80ebec3cc44786e404bb8c8a96c003c7 GIT binary patch literal 12509 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 bS^mTG#kMC0f3ia1WTnpNi(M%U0NDROd+?ra literal 0 HcmV?d00001 diff --git a/public/img/web/teaserbilder/excerpt_knb.gif b/public/img/web/teaserbilder/excerpt_knb.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d75eaaca267a5cde51eb4cdada732ccd3f94f32 GIT binary patch literal 11928 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 Uea_d%-PbqR*L$jn1^~zZ4`?mcqyPW_ literal 0 HcmV?d00001 diff --git a/public/img/web/teaserbilder/excerpt_poker.gif b/public/img/web/teaserbilder/excerpt_poker.gif new file mode 100755 index 0000000000000000000000000000000000000000..b189a64795372a2130bb1b63828d8ee6b1074800 GIT binary patch literal 9593 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 K3(o)nK<|I%F5<}m literal 0 HcmV?d00001 diff --git a/public/img/web/teaserbilder/excerpt_viveo.gif b/public/img/web/teaserbilder/excerpt_viveo.gif new file mode 100755 index 0000000000000000000000000000000000000000..bc39beeec943b2138ebd955c168be516bb9836eb GIT binary patch literal 8389 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 literal 0 HcmV?d00001 diff --git a/public/img/web/teaserbilder/excerpt_walomat.gif b/public/img/web/teaserbilder/excerpt_walomat.gif new file mode 100755 index 0000000000000000000000000000000000000000..38021e92233bfcb284c2b26e005aad62f473b1d0 GIT binary patch literal 11799 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 MDHxgQh5)z!1M^O+_W%F@ literal 0 HcmV?d00001 diff --git a/public/img/web/teaserbilder/excerpt_weigend.gif b/public/img/web/teaserbilder/excerpt_weigend.gif new file mode 100755 index 0000000000000000000000000000000000000000..976bf3acde4ce7ee1a42f1871bc6de561e26bc22 GIT binary patch literal 8345 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 E08ZlzBme*a literal 0 HcmV?d00001 diff --git a/public/js/basescript.js b/public/js/basescript.js new file mode 100644 index 0000000..65e5a96 --- /dev/null +++ b/public/js/basescript.js @@ -0,0 +1,162 @@ +// '); + }, + load: function() { + if((typeof Prototype=='undefined') || + parseFloat(Prototype.Version.split(".")[0] + "." + + Prototype.Version.split(".")[1]) < 1.4) + throw("script.aculo.us requires the Prototype JavaScript framework >= 1.4.0"); + + $A(document.getElementsByTagName("script")).findAll( function(s) { + return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/)) + }).each( function(s) { + var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,''); + var includes = s.src.match(/\?.*load=([a-z,]*)/); + (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each( + function(include) { Scriptaculous.require(path+include+'.js') }); + }); + } +} + +Scriptaculous.load(); \ No newline at end of file diff --git a/public/js/moo.fx.js b/public/js/moo.fx.js new file mode 100644 index 0000000..59c98d9 --- /dev/null +++ b/public/js/moo.fx.js @@ -0,0 +1,134 @@ +// '); + }, + load: function() { + if((typeof Prototype=='undefined') || + (typeof Element == 'undefined') || + (typeof Element.Methods=='undefined') || + parseFloat(Prototype.Version.split(".")[0] + "." + + Prototype.Version.split(".")[1]) < 1.5) + throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0"); + + $A(document.getElementsByTagName("script")).findAll( function(s) { + return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/)) + }).each( function(s) { + var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,''); + var includes = s.src.match(/\?.*load=([a-z,]*)/); + (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each( + function(include) { Scriptaculous.require(path+include+'.js') }); + }); + } +} + +Scriptaculous.load(); \ No newline at end of file diff --git a/public/js/scriptaculous/slider.js b/public/js/scriptaculous/slider.js new file mode 100644 index 0000000..c0f1fc0 --- /dev/null +++ b/public/js/scriptaculous/slider.js @@ -0,0 +1,283 @@ +// Copyright (c) 2005 Marty Haught, Thomas Fuchs +// +// See http://script.aculo.us for more info +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +if(!Control) var Control = {}; +Control.Slider = Class.create(); + +// options: +// axis: 'vertical', or 'horizontal' (default) +// +// callbacks: +// onChange(value) +// onSlide(value) +Control.Slider.prototype = { + initialize: function(handle, track, options) { + var slider = this; + + if(handle instanceof Array) { + this.handles = handle.collect( function(e) { return $(e) }); + } else { + this.handles = [$(handle)]; + } + + this.track = $(track); + this.options = options || {}; + + this.axis = this.options.axis || 'horizontal'; + this.increment = this.options.increment || 1; + this.step = parseInt(this.options.step || '1'); + this.range = this.options.range || $R(0,1); + + this.value = 0; // assure backwards compat + this.values = this.handles.map( function() { return 0 }); + this.spans = this.options.spans ? this.options.spans.map(function(s){ return $(s) }) : false; + this.options.startSpan = $(this.options.startSpan || null); + this.options.endSpan = $(this.options.endSpan || null); + + this.restricted = this.options.restricted || false; + + this.maximum = this.options.maximum || this.range.end; + this.minimum = this.options.minimum || this.range.start; + + // Will be used to align the handle onto the track, if necessary + this.alignX = parseInt(this.options.alignX || '0'); + this.alignY = parseInt(this.options.alignY || '0'); + + this.trackLength = this.maximumOffset() - this.minimumOffset(); + this.handleLength = this.isVertical() ? this.handles[0].offsetHeight : this.handles[0].offsetWidth; + + this.active = false; + this.dragging = false; + this.disabled = false; + + if(this.options.disabled) this.setDisabled(); + + // Allowed values array + this.allowedValues = this.options.values ? this.options.values.sortBy(Prototype.K) : false; + if(this.allowedValues) { + this.minimum = this.allowedValues.min(); + this.maximum = this.allowedValues.max(); + } + + this.eventMouseDown = this.startDrag.bindAsEventListener(this); + this.eventMouseUp = this.endDrag.bindAsEventListener(this); + this.eventMouseMove = this.update.bindAsEventListener(this); + + // Initialize handles in reverse (make sure first handle is active) + this.handles.each( function(h,i) { + i = slider.handles.length-1-i; + slider.setValue(parseFloat( + (slider.options.sliderValue instanceof Array ? + slider.options.sliderValue[i] : slider.options.sliderValue) || + slider.range.start), i); + Element.makePositioned(h); // fix IE + Event.observe(h, "mousedown", slider.eventMouseDown); + }); + + Event.observe(this.track, "mousedown", this.eventMouseDown); + Event.observe(document, "mouseup", this.eventMouseUp); + Event.observe(document, "mousemove", this.eventMouseMove); + + this.initialized = true; + }, + dispose: function() { + var slider = this; + Event.stopObserving(this.track, "mousedown", this.eventMouseDown); + Event.stopObserving(document, "mouseup", this.eventMouseUp); + Event.stopObserving(document, "mousemove", this.eventMouseMove); + this.handles.each( function(h) { + Event.stopObserving(h, "mousedown", slider.eventMouseDown); + }); + }, + setDisabled: function(){ + this.disabled = true; + }, + setEnabled: function(){ + this.disabled = false; + }, + getNearestValue: function(value){ + if(this.allowedValues){ + if(value >= this.allowedValues.max()) return(this.allowedValues.max()); + if(value <= this.allowedValues.min()) return(this.allowedValues.min()); + + var offset = Math.abs(this.allowedValues[0] - value); + var newValue = this.allowedValues[0]; + this.allowedValues.each( function(v) { + var currentOffset = Math.abs(v - value); + if(currentOffset <= offset){ + newValue = v; + offset = currentOffset; + } + }); + return newValue; + } + if(value > this.range.end) return this.range.end; + if(value < this.range.start) return this.range.start; + return value; + }, + setValue: function(sliderValue, handleIdx){ + if(!this.active) { + this.activeHandle = this.handles[handleIdx]; + this.activeHandleIdx = handleIdx; + this.updateStyles(); + } + handleIdx = handleIdx || this.activeHandleIdx || 0; + if(this.initialized && this.restricted) { + if((handleIdx>0) && (sliderValuethis.values[handleIdx+1])) + sliderValue = this.values[handleIdx+1]; + } + sliderValue = this.getNearestValue(sliderValue); + this.values[handleIdx] = sliderValue; + this.value = this.values[0]; // assure backwards compat + + this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] = + this.translateToPx(sliderValue); + + this.drawSpans(); + if(!this.dragging || !this.event) this.updateFinished(); + }, + setValueBy: function(delta, handleIdx) { + this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta, + handleIdx || this.activeHandleIdx || 0); + }, + translateToPx: function(value) { + return Math.round( + ((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) * + (value - this.range.start)) + "px"; + }, + translateToValue: function(offset) { + return ((offset/(this.trackLength-this.handleLength) * + (this.range.end-this.range.start)) + this.range.start); + }, + getRange: function(range) { + var v = this.values.sortBy(Prototype.K); + range = range || 0; + return $R(v[range],v[range+1]); + }, + minimumOffset: function(){ + return(this.isVertical() ? this.alignY : this.alignX); + }, + maximumOffset: function(){ + return(this.isVertical() ? + this.track.offsetHeight - this.alignY : this.track.offsetWidth - this.alignX); + }, + isVertical: function(){ + return (this.axis == 'vertical'); + }, + drawSpans: function() { + var slider = this; + if(this.spans) + $R(0, this.spans.length-1).each(function(r) { slider.setSpan(slider.spans[r], slider.getRange(r)) }); + if(this.options.startSpan) + this.setSpan(this.options.startSpan, + $R(0, this.values.length>1 ? this.getRange(0).min() : this.value )); + if(this.options.endSpan) + this.setSpan(this.options.endSpan, + $R(this.values.length>1 ? this.getRange(this.spans.length-1).max() : this.value, this.maximum)); + }, + setSpan: function(span, range) { + if(this.isVertical()) { + span.style.top = this.translateToPx(range.start); + span.style.height = this.translateToPx(range.end - range.start + this.range.start); + } else { + span.style.left = this.translateToPx(range.start); + span.style.width = this.translateToPx(range.end - range.start + this.range.start); + } + }, + updateStyles: function() { + this.handles.each( function(h){ Element.removeClassName(h, 'selected') }); + Element.addClassName(this.activeHandle, 'selected'); + }, + startDrag: function(event) { + if(Event.isLeftClick(event)) { + if(!this.disabled){ + this.active = true; + + var handle = Event.element(event); + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + if(handle==this.track) { + var offsets = Position.cumulativeOffset(this.track); + this.event = event; + this.setValue(this.translateToValue( + (this.isVertical() ? pointer[1]-offsets[1] : pointer[0]-offsets[0])-(this.handleLength/2) + )); + var offsets = Position.cumulativeOffset(this.activeHandle); + this.offsetX = (pointer[0] - offsets[0]); + this.offsetY = (pointer[1] - offsets[1]); + } else { + // find the handle (prevents issues with Safari) + while((this.handles.indexOf(handle) == -1) && handle.parentNode) + handle = handle.parentNode; + + this.activeHandle = handle; + this.activeHandleIdx = this.handles.indexOf(this.activeHandle); + this.updateStyles(); + + var offsets = Position.cumulativeOffset(this.activeHandle); + this.offsetX = (pointer[0] - offsets[0]); + this.offsetY = (pointer[1] - offsets[1]); + } + } + Event.stop(event); + } + }, + update: function(event) { + if(this.active) { + if(!this.dragging) this.dragging = true; + this.draw(event); + // fix AppleWebKit rendering + if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0); + Event.stop(event); + } + }, + draw: function(event) { + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + var offsets = Position.cumulativeOffset(this.track); + pointer[0] -= this.offsetX + offsets[0]; + pointer[1] -= this.offsetY + offsets[1]; + this.event = event; + this.setValue(this.translateToValue( this.isVertical() ? pointer[1] : pointer[0] )); + if(this.initialized && this.options.onSlide) + this.options.onSlide(this.values.length>1 ? this.values : this.value, this); + }, + endDrag: function(event) { + if(this.active && this.dragging) { + this.finishDrag(event, true); + Event.stop(event); + } + this.active = false; + this.dragging = false; + }, + finishDrag: function(event, success) { + this.active = false; + this.dragging = false; + this.updateFinished(); + }, + updateFinished: function() { + if(this.initialized && this.options.onChange) + this.options.onChange(this.values.length>1 ? this.values : this.value, this); + this.event = null; + } +} \ No newline at end of file diff --git a/public/js/sortable.js b/public/js/sortable.js new file mode 100644 index 0000000..759c725 --- /dev/null +++ b/public/js/sortable.js @@ -0,0 +1,43 @@ +//