From 4696b799ced069ba2a264fa3b38fc033e3dc31dc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Thu, 24 Jan 2008 21:17:23 +0000 Subject: [PATCH 1/1] --- .gitattributes | 1225 ++++++++++ 0.2.1/.htaccess | 8 + 0.2.1/DOCS/DIFF_LIST.txt | 16 + 0.2.1/DOCS/INSTALL.txt | 3 + 0.2.1/DOCS/LICENSE.txt | 339 +++ 0.2.1/DOCS/README | 21 + 0.2.1/DOCS/de/AUTHORS.txt | 53 + 0.2.1/DOCS/de/CHANGES.txt | 5 + 0.2.1/DOCS/de/CSS-PATCHES.txt | 118 + 0.2.1/DOCS/de/CSS-PATCHES_05092004.txt | 93 + 0.2.1/DOCS/de/DESIGNING.txt | 732 ++++++ 0.2.1/DOCS/de/EXTENSIONS.txt | 103 + 0.2.1/DOCS/de/LICENSE.txt | 17 + 0.2.1/DOCS/de/MENUE_HOVER.txt | 24 + 0.2.1/DOCS/de/PATCHES.txt | 33 + 0.2.1/DOCS/de/PATCH_320.txt | 16 + 0.2.1/DOCS/de/README.txt | 348 +++ 0.2.1/DOCS/de/SECURITY.txt | 179 ++ 0.2.1/DOCS/de/TEMPLATES.txt | 94 + 0.2.1/DOCS/de/THANK_YOU.txt | 50 + 0.2.1/DOCS/de/TODO.txt | 27 + 0.2.1/DOCS/de/UPGRADING.txt | 29 + 0.2.1/DOCS/de/cache/README.txt | 26 + 0.2.1/DOCS/de/country/README.txt | 20 + 0.2.1/DOCS/de/country/countries-europe.sql | 36 + 0.2.1/DOCS/de/country/countries-full.sql | 257 ++ 0.2.1/DOCS/de/country/countries-sorted.sql | 257 ++ 0.2.1/DOCS/de/doubler/README.txt | 23 + 0.2.1/DOCS/de/engine/README.txt | 40 + 0.2.1/DOCS/de/promoter.txt | 1 + 0.2.1/DOCS/de/rallye/README.txt | 27 + 0.2.1/DOCS/de/rewrite/.htaccess | 5 + 0.2.1/DOCS/de/rewrite/README.txt | 25 + 0.2.1/DOCS/de/rewrite/README_htaccess.de | 25 + 0.2.1/DOCS/de/task/README.txt | 6 + 0.2.1/DOCS/de/themes/README.txt | 69 + 0.2.1/DOCS/en/AUTHORS.txt | 33 + 0.2.1/DOCS/en/CHANGES.txt | 5 + 0.2.1/DOCS/en/CSS-PATCHES.txt | 111 + 0.2.1/DOCS/en/CSS-PATCHES_05092004.txt | 87 + 0.2.1/DOCS/en/DESIGNING.txt | 732 ++++++ 0.2.1/DOCS/en/EXTENSIONS.txt | 18 + 0.2.1/DOCS/en/LICENSE.txt | 3 + 0.2.1/DOCS/en/MENUE_HOVER.txt | 19 + 0.2.1/DOCS/en/PATCHES.txt | 28 + 0.2.1/DOCS/en/PATCH_320.txt | 16 + 0.2.1/DOCS/en/README.txt | 66 + 0.2.1/DOCS/en/SECURITY.txt | 179 ++ 0.2.1/DOCS/en/TEMPLATES.txt | 99 + 0.2.1/DOCS/en/THANK_YOU.txt | 36 + 0.2.1/DOCS/en/TODO.txt | 15 + 0.2.1/DOCS/en/UPGRADING.txt | 29 + 0.2.1/DOCS/en/cache/README.txt | 19 + 0.2.1/DOCS/en/country/README.txt | 20 + 0.2.1/DOCS/en/country/countries-europe.sql | 36 + 0.2.1/DOCS/en/country/countries-full.sql | 257 ++ 0.2.1/DOCS/en/country/countries-sorted.sql | 257 ++ 0.2.1/DOCS/en/doubler/README.txt | 23 + 0.2.1/DOCS/en/engine/README.txt | 40 + 0.2.1/DOCS/en/promoter.txt | 7 + 0.2.1/DOCS/en/rallye/README.txt | 27 + 0.2.1/DOCS/en/rewrite/.htaccess | 5 + 0.2.1/DOCS/en/rewrite/README.txt | 25 + 0.2.1/DOCS/en/rewrite/README_htaccess.de | 25 + 0.2.1/DOCS/en/task/README.txt | 6 + 0.2.1/DOCS/en/themes/README.txt | 64 + 0.2.1/admin.php | 63 + 0.2.1/agb.php | 62 + 0.2.1/beg.php | 256 ++ 0.2.1/birthday_confirm.php | 140 ++ 0.2.1/click.php | 73 + 0.2.1/confirm.php | 74 + 0.2.1/css.php | 65 + 0.2.1/doubler.php | 326 +++ 0.2.1/img.php | 67 + 0.2.1/inc/.htaccess | 1 + ...c5ab1752c8dd327eb8b32b7dadd936de52b0e5c2d0 | 1 + ...fafe1cb6cc264c05daaee48d821c4c2d5e0d7c6aa8 | 1 + 0.2.1/inc/.secret/.htaccess | 1 + 0.2.1/inc/autopurge.php | 450 ++++ 0.2.1/inc/birthday_mails.php | 3 + 0.2.1/inc/cache/.htaccess | 1 + 0.2.1/inc/config.php | 160 ++ 0.2.1/inc/daily-reset.php | 3 + 0.2.1/inc/databases.php | 129 + 0.2.1/inc/db/.htaccess | 1 + 0.2.1/inc/db/lib-mysql3.php | 274 +++ 0.2.1/inc/db/lib.php | 59 + 0.2.1/inc/doubler_send.php | 203 ++ 0.2.1/inc/extensions.php | 564 +++++ 0.2.1/inc/extensions/.htaccess | 1 + 0.2.1/inc/extensions/ext- | 96 + 0.2.1/inc/extensions/ext-active.php | 137 ++ 0.2.1/inc/extensions/ext-admins.php | 293 +++ 0.2.1/inc/extensions/ext-admintheme1.php | 95 + .../inc/extensions/ext-admintheme_default.php | 95 + 0.2.1/inc/extensions/ext-autopurge.php | 294 +++ 0.2.1/inc/extensions/ext-bank.php | 199 ++ 0.2.1/inc/extensions/ext-beg.php | 321 +++ 0.2.1/inc/extensions/ext-birthday.php | 212 ++ 0.2.1/inc/extensions/ext-bonus.php | 603 +++++ 0.2.1/inc/extensions/ext-cache.php | 224 ++ 0.2.1/inc/extensions/ext-country.php | 125 + 0.2.1/inc/extensions/ext-demo.php | 92 + 0.2.1/inc/extensions/ext-doubler.php | 279 +++ 0.2.1/inc/extensions/ext-holiday.php | 250 ++ 0.2.1/inc/extensions/ext-html_mail.php | 174 ++ 0.2.1/inc/extensions/ext-mailid.php | 250 ++ 0.2.1/inc/extensions/ext-maintenance.php | 125 + 0.2.1/inc/extensions/ext-mediadata.php | 155 ++ 0.2.1/inc/extensions/ext-mods.php | 126 + 0.2.1/inc/extensions/ext-mydata.php | 177 ++ 0.2.1/inc/extensions/ext-newsletter.php | 191 ++ 0.2.1/inc/extensions/ext-nickname.php | 197 ++ 0.2.1/inc/extensions/ext-online.php | 125 + 0.2.1/inc/extensions/ext-optimize.php | 124 + 0.2.1/inc/extensions/ext-order.php | 314 +++ 0.2.1/inc/extensions/ext-other.php | 195 ++ 0.2.1/inc/extensions/ext-payout.php | 252 ++ 0.2.1/inc/extensions/ext-profile.php | 138 ++ 0.2.1/inc/extensions/ext-rallye.php | 358 +++ 0.2.1/inc/extensions/ext-register.php | 340 +++ 0.2.1/inc/extensions/ext-repair.php | 126 + 0.2.1/inc/extensions/ext-rewrite.php | 151 ++ 0.2.1/inc/extensions/ext-sql_patches.php | 618 +++++ 0.2.1/inc/extensions/ext-support.php | 139 ++ 0.2.1/inc/extensions/ext-task.php | 255 ++ 0.2.1/inc/extensions/ext-theme.php | 118 + 0.2.1/inc/extensions/ext-top10.php | 158 ++ 0.2.1/inc/extensions/ext-transfer.php | 315 +++ 0.2.1/inc/extensions/ext-user.php | 225 ++ 0.2.1/inc/extensions/ext-wernis.php | 116 + 0.2.1/inc/fatal_errors.php | 93 + 0.2.1/inc/footer.php | 96 + 0.2.1/inc/functions.php | 2073 +++++++++++++++++ 0.2.1/inc/gen_mediadata.php | 100 + 0.2.1/inc/gen_sql_patches.php | 125 + 0.2.1/inc/header.php | 130 ++ 0.2.1/inc/install-inc.php | 430 ++++ 0.2.1/inc/language.php | 65 + 0.2.1/inc/language/.htaccess | 1 + 0.2.1/inc/language/active_de.php | 50 + 0.2.1/inc/language/admins_de.php | 111 + 0.2.1/inc/language/autopurge_de.php | 82 + 0.2.1/inc/language/bank_de.php | 77 + 0.2.1/inc/language/beg_de.php | 133 ++ 0.2.1/inc/language/birthday_de.php | 55 + 0.2.1/inc/language/bonus_de.php | 139 ++ 0.2.1/inc/language/cache_de.php | 67 + 0.2.1/inc/language/country_de.php | 65 + 0.2.1/inc/language/de.php | 1133 +++++++++ 0.2.1/inc/language/doubler_de.php | 145 ++ 0.2.1/inc/language/en.ph | 749 ++++++ 0.2.1/inc/language/en.php | 320 +++ 0.2.1/inc/language/holiday_de.php | 91 + 0.2.1/inc/language/html_mail_de.php | 52 + 0.2.1/inc/language/install_de.php | 49 + 0.2.1/inc/language/mailid_de.php | 58 + 0.2.1/inc/language/maintenance_de.php | 50 + 0.2.1/inc/language/mediadata_de.php | 93 + 0.2.1/inc/language/mods_de.php | 56 + 0.2.1/inc/language/newsletter_de.php | 76 + 0.2.1/inc/language/nickname_de.php | 60 + 0.2.1/inc/language/online_de.php | 45 + 0.2.1/inc/language/optimize_de.php | 57 + 0.2.1/inc/language/order_de.php | 77 + 0.2.1/inc/language/other_de.php | 85 + 0.2.1/inc/language/payout_de.php | 143 ++ 0.2.1/inc/language/pro_de.php | 3 + 0.2.1/inc/language/rallye_de.php | 148 ++ 0.2.1/inc/language/register_de.php | 59 + 0.2.1/inc/language/repair_de.php | 48 + 0.2.1/inc/language/rewrite_de.php | 50 + 0.2.1/inc/language/support_de.php | 54 + 0.2.1/inc/language/task_de.php | 122 + 0.2.1/inc/language/theme_de.php | 50 + 0.2.1/inc/language/top10_de.php | 56 + 0.2.1/inc/language/transfer_de.php | 95 + 0.2.1/inc/language/user_de.php | 56 + 0.2.1/inc/language/wernis_de.php | 51 + 0.2.1/inc/libs/.htaccess | 1 + 0.2.1/inc/libs/admins_functions.php | 197 ++ 0.2.1/inc/libs/autopurge_functions.php | 87 + 0.2.1/inc/libs/bonus_functions.php | 275 +++ 0.2.1/inc/libs/cache_functions.php | 366 +++ 0.2.1/inc/libs/country_functions.php | 61 + 0.2.1/inc/libs/doubler_functions.php | 160 ++ 0.2.1/inc/libs/holiday_functions.php | 97 + 0.2.1/inc/libs/html_mail_functions.php | 172 ++ 0.2.1/inc/libs/mediadata_functions.php | 100 + 0.2.1/inc/libs/newsletter_functions.php | 185 ++ 0.2.1/inc/libs/nickname_functions.php | 80 + 0.2.1/inc/libs/optimize_functions.php | 105 + 0.2.1/inc/libs/order_functions.php | 56 + 0.2.1/inc/libs/output_functions.php | 177 ++ 0.2.1/inc/libs/payout_functions.php | 86 + 0.2.1/inc/libs/pro_functions.php | 3 + 0.2.1/inc/libs/rallye_functions.php | 842 +++++++ 0.2.1/inc/libs/register_functions.php | 173 ++ 0.2.1/inc/libs/rewrite_functions.php | 124 + 0.2.1/inc/libs/security_functions.php | 238 ++ 0.2.1/inc/libs/task_functions.php | 612 +++++ 0.2.1/inc/libs/transfer_functions.php | 88 + 0.2.1/inc/libs/user_functions.php | 226 ++ 0.2.1/inc/libs/wernis_functions.php | 46 + 0.2.1/inc/load_cache.php | 407 ++++ 0.2.1/inc/load_extensions.php | 345 +++ 0.2.1/inc/mails/.htaccess | 1 + 0.2.1/inc/mails/_mails.php | 50 + 0.2.1/inc/mails/beg_mails.php | 170 ++ 0.2.1/inc/mails/birthday_mails.php | 120 + 0.2.1/inc/mails/bonus_mails.php | 154 ++ 0.2.1/inc/modules/.htaccess | 1 + 0.2.1/inc/modules/admin.php | 406 ++++ 0.2.1/inc/modules/admin/.htaccess | 1 + 0.2.1/inc/modules/admin/action- | 56 + 0.2.1/inc/modules/admin/action-admins.php | 56 + 0.2.1/inc/modules/admin/action-bank.php | 56 + 0.2.1/inc/modules/admin/action-country.php | 56 + 0.2.1/inc/modules/admin/action-doubler.php | 56 + 0.2.1/inc/modules/admin/action-email.php | 56 + 0.2.1/inc/modules/admin/action-holiday.php | 56 + 0.2.1/inc/modules/admin/action-login.php | 56 + 0.2.1/inc/modules/admin/action-logout.php | 61 + 0.2.1/inc/modules/admin/action-menu.php | 56 + 0.2.1/inc/modules/admin/action-misc.php | 56 + 0.2.1/inc/modules/admin/action-mods.php | 56 + 0.2.1/inc/modules/admin/action-newsletter.php | 56 + 0.2.1/inc/modules/admin/action-payouts.php | 56 + 0.2.1/inc/modules/admin/action-rallye.php | 56 + 0.2.1/inc/modules/admin/action-repair.php | 56 + 0.2.1/inc/modules/admin/action-setup.php | 56 + 0.2.1/inc/modules/admin/action-stats.php | 56 + 0.2.1/inc/modules/admin/action-task.php | 56 + 0.2.1/inc/modules/admin/action-theme.php | 56 + 0.2.1/inc/modules/admin/action-transfer.php | 56 + 0.2.1/inc/modules/admin/action-user.php | 56 + 0.2.1/inc/modules/admin/action-wernis.php | 56 + 0.2.1/inc/modules/admin/admin-inc.php | 810 +++++++ 0.2.1/inc/modules/admin/overview-inc.php | 538 +++++ 0.2.1/inc/modules/admin/what- | 44 + .../modules/admin/what-add_bank_package.php | 53 + .../modules/admin/what-add_guestnl_cat.php | 54 + 0.2.1/inc/modules/admin/what-add_points.php | 144 ++ 0.2.1/inc/modules/admin/what-add_rallye.php | 130 ++ 0.2.1/inc/modules/admin/what-admin_add.php | 208 ++ 0.2.1/inc/modules/admin/what-adminedit.php | 308 +++ 0.2.1/inc/modules/admin/what-admins_add.php | 86 + .../inc/modules/admin/what-admins_contact.php | 98 + .../inc/modules/admin/what-admins_contct.php | 89 + 0.2.1/inc/modules/admin/what-admins_edit.php | 277 +++ 0.2.1/inc/modules/admin/what-admins_mails.php | 197 ++ 0.2.1/inc/modules/admin/what-autopurge.php | 68 + 0.2.1/inc/modules/admin/what-bonus.php | 44 + 0.2.1/inc/modules/admin/what-cache_stats.php | 55 + 0.2.1/inc/modules/admin/what-chk_regs.php | 87 + .../inc/modules/admin/what-config_active.php | 57 + 0.2.1/inc/modules/admin/what-config_admin.php | 69 + .../inc/modules/admin/what-config_admins.php | 302 +++ .../modules/admin/what-config_autopurge.php | 86 + 0.2.1/inc/modules/admin/what-config_beg.php | 170 ++ .../modules/admin/what-config_birthday.php | 81 + 0.2.1/inc/modules/admin/what-config_bonus.php | 248 ++ 0.2.1/inc/modules/admin/what-config_cache.php | 132 ++ 0.2.1/inc/modules/admin/what-config_cats.php | 202 ++ .../inc/modules/admin/what-config_doubler.php | 144 ++ 0.2.1/inc/modules/admin/what-config_email.php | 192 ++ .../modules/admin/what-config_extensions.php | 62 + .../inc/modules/admin/what-config_holiday.php | 70 + 0.2.1/inc/modules/admin/what-config_home.php | 118 + .../modules/admin/what-config_mediadata.php | 103 + 0.2.1/inc/modules/admin/what-config_mods.php | 162 ++ .../modules/admin/what-config_newsletter.php | 60 + .../modules/admin/what-config_nickname.php | 54 + 0.2.1/inc/modules/admin/what-config_order.php | 88 + 0.2.1/inc/modules/admin/what-config_other.php | 238 ++ .../inc/modules/admin/what-config_payouts.php | 249 ++ .../inc/modules/admin/what-config_points.php | 326 +++ .../admin/what-config_rallye_prices.php | 299 +++ 0.2.1/inc/modules/admin/what-config_refid.php | 62 + 0.2.1/inc/modules/admin/what-config_reg.php | 77 + .../modules/admin/what-config_register.php | 82 + .../modules/admin/what-config_register2.php | 71 + .../inc/modules/admin/what-config_rewrite.php | 110 + .../inc/modules/admin/what-config_secure.php | 76 + 0.2.1/inc/modules/admin/what-config_stats.php | 79 + 0.2.1/inc/modules/admin/what-config_title.php | 62 + 0.2.1/inc/modules/admin/what-config_top10.php | 57 + .../modules/admin/what-config_transfer.php | 69 + 0.2.1/inc/modules/admin/what-config_user.php | 59 + .../inc/modules/admin/what-config_wernis.php | 59 + 0.2.1/inc/modules/admin/what-del_email.php | 150 ++ 0.2.1/inc/modules/admin/what-del_holiday.php | 129 + 0.2.1/inc/modules/admin/what-del_task.php | 45 + 0.2.1/inc/modules/admin/what-del_transfer.php | 117 + 0.2.1/inc/modules/admin/what-del_user.php | 105 + 0.2.1/inc/modules/admin/what-edit_emails.php | 138 ++ 0.2.1/inc/modules/admin/what-edit_user.php | 155 ++ 0.2.1/inc/modules/admin/what-email_archiv.php | 138 ++ .../inc/modules/admin/what-email_details.php | 348 +++ 0.2.1/inc/modules/admin/what-email_stats.php | 47 + 0.2.1/inc/modules/admin/what-extensions.php | 483 ++++ 0.2.1/inc/modules/admin/what-guest_add.php | 216 ++ 0.2.1/inc/modules/admin/what-guestedit.php | 369 +++ 0.2.1/inc/modules/admin/what-holiday_list.php | 45 + .../inc/modules/admin/what-holiday_remove.php | 45 + .../inc/modules/admin/what-list_autopurge.php | 96 + .../modules/admin/what-list_bank_package.php | 99 + 0.2.1/inc/modules/admin/what-list_beg.php | 139 ++ 0.2.1/inc/modules/admin/what-list_bonus.php | 156 ++ 0.2.1/inc/modules/admin/what-list_cats.php | 118 + 0.2.1/inc/modules/admin/what-list_country.php | 231 ++ 0.2.1/inc/modules/admin/what-list_doubler.php | 139 ++ 0.2.1/inc/modules/admin/what-list_holiday.php | 85 + 0.2.1/inc/modules/admin/what-list_links.php | 179 ++ .../modules/admin/what-list_newsletter.php | 68 + 0.2.1/inc/modules/admin/what-list_norefs.php | 165 ++ 0.2.1/inc/modules/admin/what-list_payouts.php | 327 +++ 0.2.1/inc/modules/admin/what-list_rallyes.php | 400 ++++ 0.2.1/inc/modules/admin/what-list_refs.php | 141 ++ 0.2.1/inc/modules/admin/what-list_task.php | 212 ++ .../inc/modules/admin/what-list_transfer.php | 101 + .../modules/admin/what-list_unconfirmed.php | 189 ++ 0.2.1/inc/modules/admin/what-list_user.php | 250 ++ 0.2.1/inc/modules/admin/what-list_wernis.php | 44 + 0.2.1/inc/modules/admin/what-lock_user.php | 192 ++ 0.2.1/inc/modules/admin/what-logs.php | 98 + 0.2.1/inc/modules/admin/what-maintenance.php | 82 + 0.2.1/inc/modules/admin/what-mem_add.php | 216 ++ 0.2.1/inc/modules/admin/what-memedit.php | 331 +++ 0.2.1/inc/modules/admin/what-newsletter.php | 3 + 0.2.1/inc/modules/admin/what-optimize.php | 96 + 0.2.1/inc/modules/admin/what-overview.php | 89 + 0.2.1/inc/modules/admin/what-payments.php | 213 ++ 0.2.1/inc/modules/admin/what-refbanner.php | 179 ++ 0.2.1/inc/modules/admin/what-repair_amenu.php | 83 + 0.2.1/inc/modules/admin/what-repair_amnu.php | 93 + 0.2.1/inc/modules/admin/what-repair_cats.php | 90 + 0.2.1/inc/modules/admin/what-repair_gmenu.php | 82 + 0.2.1/inc/modules/admin/what-repair_gmnu.php | 93 + 0.2.1/inc/modules/admin/what-repair_mmenu.php | 82 + 0.2.1/inc/modules/admin/what-repair_mmnu.php | 92 + 0.2.1/inc/modules/admin/what-send_bonus.php | 244 ++ .../modules/admin/what-send_newsletter.php | 101 + 0.2.1/inc/modules/admin/what-stats.php | 3 + 0.2.1/inc/modules/admin/what-stats_mods.php | 118 + 0.2.1/inc/modules/admin/what-sub_points.php | 144 ++ 0.2.1/inc/modules/admin/what-theme_check.php | 167 ++ 0.2.1/inc/modules/admin/what-theme_edit.php | 146 ++ 0.2.1/inc/modules/admin/what-theme_import.php | 177 ++ .../inc/modules/admin/what-unlock_emails.php | 251 ++ 0.2.1/inc/modules/admin/what-updates.php | 186 ++ 0.2.1/inc/modules/admin/what-usage.php | 107 + 0.2.1/inc/modules/admin/what-user_online.php | 131 ++ 0.2.1/inc/modules/admin/what-usr_online.php | 128 + 0.2.1/inc/modules/chk_login.php | 95 + 0.2.1/inc/modules/frameset.php | 47 + 0.2.1/inc/modules/frametester.php | 124 + 0.2.1/inc/modules/guest/.htaccess | 1 + 0.2.1/inc/modules/guest/action- | 56 + 0.2.1/inc/modules/guest/action-admin.php | 56 + 0.2.1/inc/modules/guest/action-main.php | 62 + 0.2.1/inc/modules/guest/action-members.php | 56 + 0.2.1/inc/modules/guest/action-online.php | 78 + 0.2.1/inc/modules/guest/action-themes.php | 77 + 0.2.1/inc/modules/guest/what- | 35 + 0.2.1/inc/modules/guest/what-active.php | 100 + 0.2.1/inc/modules/guest/what-admin.php | 45 + 0.2.1/inc/modules/guest/what-agb.php | 47 + 0.2.1/inc/modules/guest/what-beg.php | 78 + 0.2.1/inc/modules/guest/what-confirm.php | 189 ++ 0.2.1/inc/modules/guest/what-doubler.php | 90 + 0.2.1/inc/modules/guest/what-impressum.php | 48 + 0.2.1/inc/modules/guest/what-infos.php | 47 + 0.2.1/inc/modules/guest/what-login.php | 409 ++++ 0.2.1/inc/modules/guest/what-mediadata.php | 332 +++ 0.2.1/inc/modules/guest/what-my_weblog.php | 65 + 0.2.1/inc/modules/guest/what-rallyes.php | 148 ++ 0.2.1/inc/modules/guest/what-register.php | 486 ++++ 0.2.1/inc/modules/guest/what-stats.php | 229 ++ 0.2.1/inc/modules/guest/what-top10.php | 208 ++ 0.2.1/inc/modules/guest/what-welcome.php | 47 + .../inc/modules/guest/what-wernis_portal.php | 67 + 0.2.1/inc/modules/index.php | 140 ++ 0.2.1/inc/modules/loader.php | 64 + 0.2.1/inc/modules/login.php | 140 ++ 0.2.1/inc/modules/member/.htaccess | 1 + 0.2.1/inc/modules/member/action- | 65 + 0.2.1/inc/modules/member/action-account.php | 65 + 0.2.1/inc/modules/member/action-bank.php | 65 + 0.2.1/inc/modules/member/action-extras.php | 65 + 0.2.1/inc/modules/member/action-logout.php | 65 + 0.2.1/inc/modules/member/action-main.php | 65 + 0.2.1/inc/modules/member/action-order.php | 65 + 0.2.1/inc/modules/member/action-rals.php | 65 + 0.2.1/inc/modules/member/action-stats.php | 65 + 0.2.1/inc/modules/member/action-themes.php | 82 + 0.2.1/inc/modules/member/what- | 52 + 0.2.1/inc/modules/member/what-bank_create.php | 52 + .../inc/modules/member/what-bank_deposit.php | 52 + 0.2.1/inc/modules/member/what-bank_infos.php | 52 + 0.2.1/inc/modules/member/what-bank_output.php | 52 + .../inc/modules/member/what-bank_withdraw.php | 52 + 0.2.1/inc/modules/member/what-beg.php | 95 + 0.2.1/inc/modules/member/what-beg2.php | 109 + 0.2.1/inc/modules/member/what-bonus.php | 126 + 0.2.1/inc/modules/member/what-categories.php | 173 ++ 0.2.1/inc/modules/member/what-doubler.php | 117 + 0.2.1/inc/modules/member/what-guest.php | 51 + 0.2.1/inc/modules/member/what-holiday.php | 291 +++ 0.2.1/inc/modules/member/what-html_mail.php | 82 + 0.2.1/inc/modules/member/what-logout.php | 73 + 0.2.1/inc/modules/member/what-mydata.php | 341 +++ 0.2.1/inc/modules/member/what-newsletter.php | 123 + 0.2.1/inc/modules/member/what-nickname.php | 108 + 0.2.1/inc/modules/member/what-order.php | 818 +++++++ 0.2.1/inc/modules/member/what-payout.php | 308 +++ 0.2.1/inc/modules/member/what-points.php | 234 ++ 0.2.1/inc/modules/member/what-rallyes.php | 152 ++ 0.2.1/inc/modules/member/what-reflinks.php | 144 ++ 0.2.1/inc/modules/member/what-stats.php | 95 + 0.2.1/inc/modules/member/what-support.php | 99 + 0.2.1/inc/modules/member/what-themes.php | 146 ++ 0.2.1/inc/modules/member/what-transfer.php | 627 +++++ 0.2.1/inc/modules/member/what-unconfirmed.php | 153 ++ 0.2.1/inc/modules/member/what-welcome.php | 78 + 0.2.1/inc/modules/member/what-wernis.php | 49 + 0.2.1/inc/modules/order.php | 146 ++ 0.2.1/inc/modules/welcome.php | 42 + 0.2.1/inc/monthly/.htaccess | 1 + 0.2.1/inc/monthly/monthly_ | 50 + 0.2.1/inc/monthly/monthly_beg.php | 125 + 0.2.1/inc/monthly/monthly_bonus.php | 138 ++ 0.2.1/inc/monthly/monthly_newsletter.php | 93 + 0.2.1/inc/monthly_newsletter.php | 69 + 0.2.1/inc/mysql-connect.php | 325 +++ 0.2.1/inc/mysql-manager.php | 1689 ++++++++++++++ 0.2.1/inc/patch-system.php | 63 + 0.2.1/inc/phpmailer/ChangeLog.txt | 252 ++ 0.2.1/inc/phpmailer/LICENSE | 504 ++++ 0.2.1/inc/phpmailer/README | 121 + 0.2.1/inc/phpmailer/class.phpmailer.php | 1718 ++++++++++++++ 0.2.1/inc/phpmailer/class.pop3.php | 437 ++++ 0.2.1/inc/phpmailer/class.smtp.php | 1062 +++++++++ 0.2.1/inc/phpmailer/codeworxtech.html | 72 + 0.2.1/inc/phpmailer/docs/extending.html | 148 ++ 0.2.1/inc/phpmailer/docs/faq.html | 66 + 0.2.1/inc/phpmailer/docs/pop3_article.txt | 39 + 0.2.1/inc/phpmailer/docs/use_gmail.txt | 40 + 0.2.1/inc/phpmailer/examples/contents.html | 12 + .../inc/phpmailer/examples/images/bkgrnd.gif | Bin 0 -> 49 bytes .../phpmailer/examples/images/phpmailer.gif | Bin 0 -> 4756 bytes .../phpmailer/examples/images/phpmailer.png | Bin 0 -> 3506 bytes .../examples/images/phpmailer_mini.gif | Bin 0 -> 1042 bytes 0.2.1/inc/phpmailer/examples/index.html | 73 + .../examples/pop3_before_smtp_test.php | 39 + 0.2.1/inc/phpmailer/examples/test1.php | 28 + .../phpmailer/language/phpmailer.lang-br.php | 21 + .../phpmailer/language/phpmailer.lang-ca.php | 22 + .../phpmailer/language/phpmailer.lang-cz.php | 24 + .../phpmailer/language/phpmailer.lang-de.php | 23 + .../phpmailer/language/phpmailer.lang-dk.php | 24 + .../phpmailer/language/phpmailer.lang-en.php | 23 + .../phpmailer/language/phpmailer.lang-es.php | 23 + .../phpmailer/language/phpmailer.lang-et.php | 22 + .../phpmailer/language/phpmailer.lang-fi.php | 23 + .../phpmailer/language/phpmailer.lang-fo.php | 25 + .../phpmailer/language/phpmailer.lang-fr.php | 24 + .../phpmailer/language/phpmailer.lang-hu.php | 23 + .../phpmailer/language/phpmailer.lang-it.php | 28 + .../phpmailer/language/phpmailer.lang-ja.php | 25 + .../phpmailer/language/phpmailer.lang-nl.php | 23 + .../phpmailer/language/phpmailer.lang-no.php | 23 + .../phpmailer/language/phpmailer.lang-pl.php | 24 + .../phpmailer/language/phpmailer.lang-ro.php | 23 + .../phpmailer/language/phpmailer.lang-ru.php | 23 + .../phpmailer/language/phpmailer.lang-se.php | 24 + .../phpmailer/language/phpmailer.lang-tr.php | 25 + .../phpmailer/phpdoc/PHPMailer/PHPMailer.html | 1475 ++++++++++++ .../inc/phpmailer/phpdoc/PHPMailer/SMTP.html | 734 ++++++ .../PHPMailer/_class_phpmailer_php.html | 60 + .../phpdoc/PHPMailer/_class_smtp_php.html | 60 + 0.2.1/inc/phpmailer/phpdoc/blank.html | 13 + .../phpdoc/classtrees_PHPMailer.html | 28 + 0.2.1/inc/phpmailer/phpdoc/elementindex.html | 734 ++++++ .../phpdoc/elementindex_PHPMailer.html | 731 ++++++ 0.2.1/inc/phpmailer/phpdoc/errors.html | 23 + 0.2.1/inc/phpmailer/phpdoc/index.html | 24 + 0.2.1/inc/phpmailer/phpdoc/li_PHPMailer.html | 36 + 0.2.1/inc/phpmailer/phpdoc/media/banner.css | 32 + .../inc/phpmailer/phpdoc/media/stylesheet.css | 133 ++ 0.2.1/inc/phpmailer/phpdoc/packages.html | 27 + 0.2.1/inc/phpmailer/test/phpmailer_test.php | 572 +++++ 0.2.1/inc/phpmailer/test/phpunit.php | 376 +++ 0.2.1/inc/phpmailer/test/test.png | Bin 0 -> 1280 bytes 0.2.1/inc/pool-update.php | 476 ++++ 0.2.1/inc/profile-updte.php | 84 + 0.2.1/inc/rdf.class.php | 1361 +++++++++++ 0.2.1/inc/reset/.htaccess | 1 + 0.2.1/inc/reset/reset_ | 50 + 0.2.1/inc/reset/reset_beg.php | 54 + 0.2.1/inc/reset/reset_bonus.php | 54 + 0.2.1/inc/reset/reset_daily.php | 104 + 0.2.1/inc/reset/reset_engine.php | 50 + 0.2.1/inc/reset/reset_holiday.php | 95 + 0.2.1/inc/security.php | 57 + 0.2.1/inc/session.php | 116 + 0.2.1/inc/sql_error.php | 42 + 0.2.1/inc/stats_bonus.php | 84 + 0.2.1/inc/stylesheet.php | 109 + 0.2.1/inc/template.php | 3 + 0.2.1/inc/theme-manager.php | 172 ++ 0.2.1/index.php | 97 + 0.2.1/install.php | 97 + 0.2.1/install/menu-de.sql | 117 + 0.2.1/install/menu-en.sql | 117 + 0.2.1/install/tables.sql | 350 +++ 0.2.1/lead-confirm.php | 91 + 0.2.1/login.php | 62 + 0.2.1/mailid.php | 226 ++ 0.2.1/mailid_top.php | 370 +++ 0.2.1/modules.php | 166 ++ 0.2.1/ref.php | 105 + 0.2.1/robots.txt | 402 ++++ 0.2.1/show_bonus.php | 140 ++ 0.2.1/templates/.htaccess | 1 + 0.2.1/templates/de/.htaccess | 1 + 0.2.1/templates/de/emails/add-points.tpl | 13 + 0.2.1/templates/de/emails/admin-del_links.tpl | 16 + .../admin/admin_autopurge_del_mails.tpl | 8 + .../emails/admin/admin_autopurge_delete.tpl | 15 + .../emails/admin/admin_autopurge_inactive.tpl | 15 + .../emails/admin/admin_autopurge_points.tpl | 8 + .../de/emails/admin/admin_autopurge_tsks.tpl | 8 + .../de/emails/admin/admin_autopurge_turbo.tpl | 8 + .../admin/admin_autopurge_unconfirmed.tpl | 15 + .../admin/admin_holiday_deactivated.tpl | 30 + .../de/emails/admin/admin_holiday_request.tpl | 30 + .../de/emails/admin/admin_holiday_unlock.tpl | 12 + .../de/emails/admin/admin_mydata_notify.tpl | 27 + .../de/emails/admin/admin_new_ext.tpl | 3 + .../emails/admin/admin_newsletter_request.tpl | 22 + .../emails/admin/admin_newsletter_reset.tpl | 22 + .../de/emails/admin/admin_payout_request.tpl | 37 + .../admin/admin_payout_request_banner.tpl | 39 + .../de/emails/admin/admin_rallye_expired.tpl | 25 + .../emails/admin/admin_rallye_expired_no.tpl | 25 + .../emails/admin/admin_rallye_no_notify.tpl | 21 + .../de/emails/admin/admin_rallye_notify.tpl | 21 + .../de/emails/admin/admin_rallye_purged.tpl | 19 + .../de/emails/admin/admin_support-order.tpl | 26 + .../de/emails/admin/admin_support-ordr.tpl | 26 + .../de/emails/admin/admin_support-reflink.tpl | 26 + .../admin/admin_support-unconfirmed.tpl | 26 + .../de/emails/admin/admin_transfer_ap.tpl | 8 + .../de/emails/admin/admin_transfer_points.tpl | 32 + .../de/emails/admin/admin_wernis_request.tpl | 35 + 0.2.1/templates/de/emails/admins/.htaccess | 1 + .../admins/admins_mail_contct_admin.tpl | 16 + .../emails/admins/admins_msg_contct_admin.tpl | 16 + .../de/emails/admins_mail_contact_admin.tpl | 16 + .../de/emails/admins_mail_contct_admin.tpl | 1 + .../de/emails/admins_msg_contact_admin.tpl | 16 + .../de/emails/admins_msg_contct_admin.tpl | 1 + 0.2.1/templates/de/emails/back-admin.tpl | 8 + 0.2.1/templates/de/emails/back-member.tpl | 8 + 0.2.1/templates/de/emails/beg/.htaccess | 1 + .../templates/de/emails/beg/beg_di_notify.tpl | 13 + .../templates/de/emails/beg/beg_en_notify.tpl | 27 + .../de/emails/beg/beg_en_notify_body.tpl | 18 + 0.2.1/templates/de/emails/bonus-mail.tpl | 38 + 0.2.1/templates/de/emails/bonus/.htaccess | 1 + .../de/emails/bonus/bonus_di_notify.tpl | 13 + .../de/emails/bonus/bonus_en_notify.tpl | 24 + .../de/emails/bonus/bonus_en_notify_body.tpl | 13 + 0.2.1/templates/de/emails/confirm-member.tpl | 17 + .../templates/de/emails/confirm-referral.tpl | 19 + 0.2.1/templates/de/emails/del-user.tpl | 19 + 0.2.1/templates/de/emails/done-admin.tpl | 24 + 0.2.1/templates/de/emails/done-member.tpl | 28 + .../de/emails/guest/guest_request_confirm.tpl | 13 + 0.2.1/templates/de/emails/header.tpl | 4 + 0.2.1/templates/de/emails/lock-user.tpl | 21 + .../emails/member/member_autopurge_delete.tpl | 3 + .../member/member_autopurge_inactive.tpl | 19 + .../emails/member/member_autopurge_points.tpl | 12 + .../member/member_autopurge_unconfirmed.tpl | 3 + .../templates/de/emails/member/member_beg.tpl | 14 + .../de/emails/member/member_birthday.tpl | 10 + .../emails/member/member_birthday_confirm.tpl | 16 + .../de/emails/member/member_bonus.tpl | 14 + .../de/emails/member/member_doubler.tpl | 14 + .../member/member_holiday_activated.tpl | 29 + .../emails/member/member_holiday_removed.tpl | 22 + .../emails/member/member_holiday_request.tpl | 28 + .../emails/member/member_holiday_unlock.tpl | 26 + .../de/emails/member/member_mydata_notify.tpl | 31 + .../emails/member/member_newsletter_done.tpl | 20 + .../member/member_newsletter_request.tpl | 26 + .../emails/member/member_newsletter_reset.tpl | 18 + .../emails/member/member_payout_accepted.tpl | 25 + .../emails/member/member_payout_rejected.tpl | 25 + .../emails/member/member_payout_request.tpl | 27 + .../member/member_payout_request_banner.tpl | 29 + .../emails/member/member_rallye_expired.tpl | 34 + .../member/member_rallye_expired_bronce.tpl | 34 + .../member/member_rallye_expired_gold.tpl | 34 + .../member/member_rallye_expired_silver.tpl | 34 + .../de/emails/member/member_rallye_notify.tpl | 38 + .../de/emails/member/member_stats_bonus.tpl | 22 + .../de/emails/member/member_support-order.tpl | 22 + .../de/emails/member/member_support-ordr.tpl | 22 + .../emails/member/member_support-reflink.tpl | 22 + .../member/member_support-unconfirmed.tpl | 22 + .../member/member_transfer_recipient.tpl | 23 + .../emails/member/member_transfer_sender.tpl | 23 + .../emails/member/member_wernis_accepted.tpl | 25 + .../emails/member/member_wernis_rejected.tpl | 25 + .../emails/member/member_wernis_request.tpl | 25 + 0.2.1/templates/de/emails/new-pass.tpl | 16 + 0.2.1/templates/de/emails/newsletter.tpl | 16 + 0.2.1/templates/de/emails/newsletter_html.tpl | 16 + 0.2.1/templates/de/emails/normal-mail.tpl | 38 + 0.2.1/templates/de/emails/order-accept.tpl | 18 + 0.2.1/templates/de/emails/order-admin.tpl | 34 + 0.2.1/templates/de/emails/order-deleted.tpl | 17 + 0.2.1/templates/de/emails/order-member.tpl | 26 + 0.2.1/templates/de/emails/order-reject.tpl | 17 + 0.2.1/templates/de/emails/profile-updte.tpl | 24 + 0.2.1/templates/de/emails/register-admin.tpl | 26 + 0.2.1/templates/de/emails/register-member.tpl | 36 + 0.2.1/templates/de/emails/sub-points.tpl | 13 + 0.2.1/templates/de/emails/unlock-user.tpl | 24 + 0.2.1/templates/de/html/.htaccess | 1 + 0.2.1/templates/de/html/admin/.htaccess | 1 + .../de/html/admin/admin_add_bank_package.tpl | 155 ++ .../de/html/admin/admin_add_banner.tpl | 49 + .../templates/de/html/admin/admin_add_cat.tpl | 59 + .../de/html/admin/admin_add_country.tpl | 59 + .../templates/de/html/admin/admin_add_max.tpl | 49 + .../de/html/admin/admin_add_payment.tpl | 56 + .../de/html/admin/admin_add_points.tpl | 32 + .../de/html/admin/admin_add_points_all.tpl | 28 + .../de/html/admin/admin_add_rallye.tpl | 116 + .../de/html/admin/admin_add_rallye_prices.tpl | 41 + .../de/html/admin/admin_add_reflvl.tpl | 44 + .../de/html/admin/admin_admin_add.tpl | 79 + .../de/html/admin/admin_admins_add.tpl | 39 + .../de/html/admin/admin_admins_add_acl.tpl | 51 + .../html/admin/admin_admins_contact_form.tpl | 24 + .../admin/admin_admins_contct_default.tpl | 6 + .../html/admin/admin_admins_contct_form.tpl | 24 + .../html/admin/admin_admins_contct_select.tpl | 15 + .../de/html/admin/admin_admins_mails_edit.tpl | 24 + .../admin/admin_admins_mails_edit_form.tpl | 5 + .../admin/admin_admins_mails_edit_row.tpl | 9 + .../de/html/admin/admin_admins_mails_list.tpl | 27 + .../admin/admin_admins_mails_list_row.tpl | 11 + .../de/html/admin/admin_amenu_delete.tpl | 22 + .../de/html/admin/admin_amenu_delete_row.tpl | 7 + .../de/html/admin/admin_amenu_edit.tpl | 19 + .../de/html/admin/admin_amenu_edit_form.tpl | 23 + .../de/html/admin/admin_amenu_edit_row.tpl | 41 + .../de/html/admin/admin_cache_stats.tpl | 27 + .../de/html/admin/admin_config_active.tpl | 32 + .../de/html/admin/admin_config_admin.tpl | 37 + .../de/html/admin/admin_config_admins.tpl | 24 + .../de/html/admin/admin_config_admins_del.tpl | 23 + .../admin/admin_config_admins_del_row.tpl | 18 + .../html/admin/admin_config_admins_edit.tpl | 23 + .../admin/admin_config_admins_edit_row.tpl | 22 + .../de/html/admin/admin_config_admins_row.tpl | 17 + .../de/html/admin/admin_config_autopurge.tpl | 174 ++ .../html/admin/admin_config_autopurge_pro.tpl | 1 + .../de/html/admin/admin_config_beg.tpl | 202 ++ .../de/html/admin/admin_config_beg_pro.tpl | 1 + .../de/html/admin/admin_config_birthday.tpl | 52 + .../de/html/admin/admin_config_bonus.tpl | 301 +++ .../de/html/admin/admin_config_bonus_pro.tpl | 1 + .../de/html/admin/admin_config_cache.tpl | 95 + .../de/html/admin/admin_config_cats.tpl | 23 + .../de/html/admin/admin_config_cats_row.tpl | 14 + .../de/html/admin/admin_config_doubler.tpl | 208 ++ .../html/admin/admin_config_doubler_pro.tpl | 1 + .../de/html/admin/admin_config_email.tpl | 22 + .../de/html/admin/admin_config_email_del.tpl | 15 + .../html/admin/admin_config_email_del_row.tpl | 13 + .../de/html/admin/admin_config_email_edit.tpl | 15 + .../admin/admin_config_email_edit_row.tpl | 23 + .../de/html/admin/admin_config_email_row.tpl | 11 + .../de/html/admin/admin_config_extensions.tpl | 23 + .../de/html/admin/admin_config_holiday.tpl | 40 + .../de/html/admin/admin_config_home.tpl | 18 + .../de/html/admin/admin_config_home_main.tpl | 11 + .../html/admin/admin_config_home_settings.tpl | 48 + .../admin/admin_config_home_settings_pro.tpl | 45 + .../de/html/admin/admin_config_mediadata.tpl | 49 + .../de/html/admin/admin_config_newsletter.tpl | 31 + .../de/html/admin/admin_config_nickname.tpl | 33 + .../de/html/admin/admin_config_order.tpl | 94 + .../de/html/admin/admin_config_order_form.tpl | 59 + .../de/html/admin/admin_config_other.tpl | 471 ++++ .../de/html/admin/admin_config_payouts.tpl | 24 + .../html/admin/admin_config_payouts_del.tpl | 21 + .../admin/admin_config_payouts_del_row.tpl | 8 + .../html/admin/admin_config_payouts_edit.tpl | 22 + .../admin/admin_config_payouts_edit_row.tpl | 17 + .../html/admin/admin_config_payouts_row.tpl | 9 + .../admin/admin_config_point_settings.tpl | 48 + .../de/html/admin/admin_config_points.tpl | 21 + .../de/html/admin/admin_config_rallye_del.tpl | 29 + .../admin/admin_config_rallye_del_row.tpl | 9 + .../html/admin/admin_config_rallye_edit.tpl | 30 + .../admin/admin_config_rallye_edit_row.tpl | 16 + .../html/admin/admin_config_rallye_prices.tpl | 31 + .../admin/admin_config_rallye_prices_row.tpl | 8 + .../de/html/admin/admin_config_refid.tpl | 49 + .../de/html/admin/admin_config_reg.tpl | 1 + .../de/html/admin/admin_config_reg_pro.tpl | 56 + .../de/html/admin/admin_config_register.tpl | 20 + .../de/html/admin/admin_config_register2.tpl | 92 + .../de/html/admin/admin_config_rewrite.tpl | 26 + .../html/admin/admin_config_rewrite_rows.tpl | 8 + .../de/html/admin/admin_config_secure.tpl | 47 + .../de/html/admin/admin_config_stats.tpl | 66 + .../de/html/admin/admin_config_sub_points.tpl | 43 + .../de/html/admin/admin_config_title.tpl | 57 + .../de/html/admin/admin_config_top10.tpl | 21 + .../de/html/admin/admin_config_transfer.tpl | 58 + .../html/admin/admin_config_transfer_pro.tpl | 1 + .../de/html/admin/admin_config_user.tpl | 27 + .../de/html/admin/admin_config_wernis.tpl | 38 + .../de/html/admin/admin_data_saved.tpl | 11 + .../de/html/admin/admin_del_admins.tpl | 23 + .../de/html/admin/admin_del_admins_row.tpl | 18 + .../de/html/admin/admin_del_bank_packages.tpl | 25 + .../admin/admin_del_bank_packages_row.tpl | 17 + .../de/html/admin/admin_del_cats.tpl | 14 + .../de/html/admin/admin_del_cats_row.tpl | 12 + .../de/html/admin/admin_del_email_bonus.tpl | 21 + .../de/html/admin/admin_del_email_normal.tpl | 23 + .../de/html/admin/admin_del_payments.tpl | 14 + .../de/html/admin/admin_del_payments_row.tpl | 11 + .../de/html/admin/admin_del_transfer_row.tpl | 10 + .../de/html/admin/admin_del_user.tpl | 30 + .../de/html/admin/admin_edit_admins.tpl | 30 + .../de/html/admin/admin_edit_admins_row.tpl | 22 + .../de/html/admin/admin_edit_cats.tpl | 14 + .../de/html/admin/admin_edit_cats_row.tpl | 30 + .../de/html/admin/admin_edit_email.tpl | 53 + .../de/html/admin/admin_edit_email_row.tpl | 11 + .../de/html/admin/admin_edit_email_select.tpl | 21 + .../de/html/admin/admin_edit_payments.tpl | 14 + .../de/html/admin/admin_edit_payments_row.tpl | 27 + .../de/html/admin/admin_edit_rallyes.tpl | 16 + .../de/html/admin/admin_edit_rallyes_row.tpl | 69 + .../de/html/admin/admin_edit_user.tpl | 113 + .../de/html/admin/admin_email_archiv.tpl | 10 + .../de/html/admin/admin_email_archiv_row.tpl | 61 + .../de/html/admin/admin_email_nav_row.tpl | 13 + .../de/html/admin/admin_ext_reg_form.tpl | 4 + .../de/html/admin/admin_extensions.tpl | 26 + .../de/html/admin/admin_extensions_404.tpl | 7 + .../de/html/admin/admin_extensions_delete.tpl | 21 + .../admin/admin_extensions_delete_row.tpl | 19 + .../de/html/admin/admin_extensions_edit.tpl | 22 + .../html/admin/admin_extensions_edit_row.tpl | 15 + .../html/admin/admin_extensions_installed.tpl | 7 + .../de/html/admin/admin_extensions_list.tpl | 19 + .../de/html/admin/admin_extensions_row.tpl | 10 + .../de/html/admin/admin_extensions_search.tpl | 1 + .../de/html/admin/admin_extensions_text.tpl | 9 + .../templates/de/html/admin/admin_footer.tpl | 1 + .../de/html/admin/admin_gmenu_delete.tpl | 22 + .../de/html/admin/admin_gmenu_delete_row.tpl | 7 + .../de/html/admin/admin_gmenu_edit.tpl | 20 + .../de/html/admin/admin_gmenu_edit_form.tpl | 23 + .../de/html/admin/admin_gmenu_edit_row.tpl | 32 + .../de/html/admin/admin_gmenu_status.tpl | 22 + .../de/html/admin/admin_guest_add.tpl | 97 + .../de/html/admin/admin_list_admins.tpl | 24 + .../de/html/admin/admin_list_admins_row.tpl | 9 + .../de/html/admin/admin_list_autopurge.tpl | 18 + .../html/admin/admin_list_autopurge_row.tpl | 10 + .../de/html/admin/admin_list_bank_package.tpl | 27 + .../admin/admin_list_bank_package_row.tpl | 26 + .../de/html/admin/admin_list_beg.tpl | 40 + .../de/html/admin/admin_list_beg_form.tpl | 7 + .../de/html/admin/admin_list_beg_rows.tpl | 7 + .../de/html/admin/admin_list_bonus.tpl | 40 + .../de/html/admin/admin_list_bonus_form.tpl | 7 + .../de/html/admin/admin_list_bonus_rows.tpl | 7 + .../de/html/admin/admin_list_cats.tpl | 14 + .../de/html/admin/admin_list_cats_404.tpl | 17 + .../de/html/admin/admin_list_cats_row.tpl | 5 + .../de/html/admin/admin_list_country.tpl | 28 + .../html/admin/admin_list_country_del_row.tpl | 15 + .../admin/admin_list_country_edit_row.tpl | 17 + .../de/html/admin/admin_list_country_form.tpl | 22 + .../html/admin/admin_list_country_no_row.tpl | 5 + .../de/html/admin/admin_list_country_row.tpl | 14 + .../html/admin/admin_list_doubler_already.tpl | 27 + .../admin/admin_list_doubler_overview.tpl | 73 + .../html/admin/admin_list_doubler_waiting.tpl | 27 + .../de/html/admin/admin_list_extensions.tpl | 19 + .../html/admin/admin_list_extensions_row.tpl | 15 + .../de/html/admin/admin_list_holiday.tpl | 20 + .../de/html/admin/admin_list_holiday_row.tpl | 11 + .../de/html/admin/admin_list_links.tpl | 16 + .../de/html/admin/admin_list_links_row.tpl | 6 + .../de/html/admin/admin_list_payments.tpl | 24 + .../de/html/admin/admin_list_payouts.tpl | 23 + .../html/admin/admin_list_payouts_banner.tpl | 4 + .../de/html/admin/admin_list_payouts_row.tpl | 8 + .../de/html/admin/admin_list_payouts_txt.tpl | 5 + .../html/admin/admin_list_rallye_noselect.tpl | 2 + .../html/admin/admin_list_rallye_prices.tpl | 28 + .../admin/admin_list_rallye_prices_row.tpl | 7 + .../de/html/admin/admin_list_rallye_usr.tpl | 19 + .../html/admin/admin_list_rallye_usr_row.tpl | 14 + .../de/html/admin/admin_list_rallyes.tpl | 25 + .../de/html/admin/admin_list_rallyes_row.tpl | 72 + .../de/html/admin/admin_list_rallyes_row2.tpl | 14 + .../de/html/admin/admin_list_refs.tpl | 21 + .../de/html/admin/admin_list_refs_row.tpl | 10 + .../de/html/admin/admin_list_task_rows.tpl | 10 + .../de/html/admin/admin_list_transfer.tpl | 35 + .../de/html/admin/admin_list_transfer_row.tpl | 10 + .../de/html/admin/admin_list_unconfirmed.tpl | 39 + .../admin/admin_list_unconfirmed_header.tpl | 7 + .../html/admin/admin_list_unconfirmed_row.tpl | 8 + .../de/html/admin/admin_list_user.tpl | 14 + .../de/html/admin/admin_list_user_alpha.tpl | 12 + .../de/html/admin/admin_list_user_pagenav.tpl | 11 + .../de/html/admin/admin_list_user_row.tpl | 37 + .../de/html/admin/admin_list_user_sort.tpl | 11 + .../html/admin/admin_list_user_sort_form.tpl | 14 + .../de/html/admin/admin_lock_user.tpl | 30 + .../de/html/admin/admin_login_form.tpl | 47 + .../de/html/admin/admin_login_msg.tpl | 5 + .../templates/de/html/admin/admin_logout.tpl | 13 + .../de/html/admin/admin_logout_form.tpl | 28 + .../de/html/admin/admin_main_footer.tpl | 12 + .../de/html/admin/admin_main_header.tpl | 11 + .../de/html/admin/admin_maintenance_form.tpl | 21 + .../de/html/admin/admin_member_add.tpl | 97 + .../html/admin/admin_member_selection_box.tpl | 22 + .../de/html/admin/admin_menu_404_row.tpl | 5 + .../de/html/admin/admin_menu_failed.tpl | 15 + .../de/html/admin/admin_menu_hints.tpl | 6 + .../de/html/admin/admin_menu_hints_row.tpl | 12 + .../de/html/admin/admin_menu_overview_row.tpl | 7 + .../de/html/admin/admin_menu_status_row.tpl | 15 + .../de/html/admin/admin_menu_unknown_okay.tpl | 17 + .../de/html/admin/admin_mini_online.tpl | 22 + .../de/html/admin/admin_mmenu_delete.tpl | 22 + .../de/html/admin/admin_mmenu_delete_row.tpl | 7 + .../de/html/admin/admin_mmenu_edit.tpl | 23 + .../de/html/admin/admin_mmenu_edit_row.tpl | 32 + .../de/html/admin/admin_mmenu_overview.tpl | 20 + .../de/html/admin/admin_mmenu_status.tpl | 22 + .../de/html/admin/admin_mods_edit.tpl | 19 + .../de/html/admin/admin_mods_edit_row.tpl | 21 + .../de/html/admin/admin_mods_footer_edit.tpl | 1 + .../de/html/admin/admin_mods_footer_list.tpl | 1 + .../de/html/admin/admin_mods_footer_stats.tpl | 1 + .../html/admin/admin_mods_footer_stats2.tpl | 1 + .../de/html/admin/admin_mods_header_edit.tpl | 1 + .../de/html/admin/admin_mods_header_list.tpl | 1 + .../de/html/admin/admin_mods_header_stats.tpl | 1 + .../html/admin/admin_mods_header_stats2.tpl | 1 + .../de/html/admin/admin_mods_list.tpl | 24 + .../de/html/admin/admin_mods_list_row.tpl | 23 + .../de/html/admin/admin_mods_stats.tpl | 12 + .../de/html/admin/admin_mods_stats2.tpl | 12 + .../de/html/admin/admin_mods_stats2_row.tpl | 8 + .../de/html/admin/admin_mods_stats_row.tpl | 8 + .../de/html/admin/admin_newsletter.tpl | 78 + .../de/html/admin/admin_newsletter_nohtml.tpl | 60 + .../de/html/admin/admin_newsletter_tsk.tpl | 5 + .../de/html/admin/admin_online_footer.tpl | 6 + .../de/html/admin/admin_online_header.tpl | 23 + .../de/html/admin/admin_optimize.tpl | 20 + .../de/html/admin/admin_optimize_row.tpl | 7 + .../de/html/admin/admin_overview_footer.tpl | 11 + .../html/admin/admin_overview_footer_task.tpl | 15 + .../de/html/admin/admin_overview_header.tpl | 15 + .../html/admin/admin_overview_header_task.tpl | 15 + .../de/html/admin/admin_overview_list.tpl | 8 + .../html/admin/admin_overview_list_rows.tpl | 10 + .../de/html/admin/admin_overview_row.tpl | 11 + .../de/html/admin/admin_overview_task.tpl | 152 ++ .../html/admin/admin_overview_task_extras.tpl | 8 + .../html/admin/admin_overview_task_rows.tpl | 9 + .../templates/de/html/admin/admin_patches.tpl | 28 + .../de/html/admin/admin_patches_row.tpl | 13 + .../de/html/admin/admin_payments_list_row.tpl | 17 + .../html/admin/admin_payout_accept_form.tpl | 31 + .../de/html/admin/admin_payout_add_new.tpl | 97 + .../admin/admin_payout_failed_transfer.tpl | 12 + .../html/admin/admin_payout_overview_form.tpl | 7 + .../html/admin/admin_payout_reject_form.tpl | 31 + .../templates/de/html/admin/admin_points.tpl | 22 + .../de/html/admin/admin_points_del.tpl | 14 + .../de/html/admin/admin_points_del_row.tpl | 12 + .../de/html/admin/admin_points_edit.tpl | 16 + .../de/html/admin/admin_points_edit_row.tpl | 20 + .../de/html/admin/admin_points_row.tpl | 11 + .../de/html/admin/admin_refbanner.tpl | 31 + .../de/html/admin/admin_refbanner_edit.tpl | 20 + .../html/admin/admin_refbanner_edit_row.tpl | 32 + .../de/html/admin/admin_refbanner_row.tpl | 12 + 0.2.1/templates/de/html/admin/admin_reg.tpl | 18 + .../de/html/admin/admin_reg_form.tpl | 31 + .../templates/de/html/admin/admin_reg_row.tpl | 10 + .../de/html/admin/admin_send_bonus_form.tpl | 102 + .../de/html/admin/admin_send_bonus_select.tpl | 19 + .../de/html/admin/admin_settings_saved.tpl | 12 + .../de/html/admin/admin_setup_stats.tpl | 1 + .../de/html/admin/admin_sub_points.tpl | 31 + .../de/html/admin/admin_sub_points_all.tpl | 28 + .../de/html/admin/admin_task_holiday.tpl | 1 + .../de/html/admin/admin_theme_404.tpl | 7 + .../de/html/admin/admin_theme_edit.tpl | 25 + .../de/html/admin/admin_theme_edit_row.tpl | 16 + .../de/html/admin/admin_theme_import.tpl | 16 + .../de/html/admin/admin_theme_installed.tpl | 7 + .../de/html/admin/admin_theme_list.tpl | 19 + .../de/html/admin/admin_unlock_emails.tpl | 32 + .../html/admin/admin_unlock_emails_redir.tpl | 20 + .../admin/admin_unlock_emails_redir_row.tpl | 8 + .../de/html/admin/admin_unlock_emails_row.tpl | 20 + .../de/html/admin/admin_update_download.tpl | 62 + .../de/html/admin/admin_user_details.tpl | 53 + .../templates/de/html/admin/admin_welcome.tpl | 18 + .../de/html/admin/admin_welcome_admins.tpl | 18 + 0.2.1/templates/de/html/agb.tpl | 201 ++ 0.2.1/templates/de/html/beg/.htaccess | 1 + 0.2.1/templates/de/html/beg/beg_banner.tpl | 1 + 0.2.1/templates/de/html/beg/beg_done.tpl | 9 + 0.2.1/templates/de/html/beg/beg_failed.tpl | 9 + 0.2.1/templates/de/html/beg/beg_link.tpl | 38 + 0.2.1/templates/de/html/beg/beg_login.tpl | 9 + 0.2.1/templates/de/html/birthday/.htaccess | 1 + .../de/html/birthday/birthday_confirm.tpl | 17 + .../de/html/birthday/birthday_footer.tpl | 1 + .../de/html/birthday/birthday_header.tpl | 1 + .../de/html/birthday/birthday_msg.tpl | 6 + 0.2.1/templates/de/html/copyright.tpl | 12 + .../templates/de/html/copyright_backlink.tpl | 11 + 0.2.1/templates/de/html/doubler/.htaccess | 1 + .../de/html/doubler/doubler_footer.tpl | 1 + .../de/html/doubler/doubler_header.tpl | 1 + .../de/html/doubler/doubler_index.tpl | 91 + .../de/html/doubler/doubler_reflink.tpl | 1 + 0.2.1/templates/de/html/ext/ext_active.tpl | 1 + 0.2.1/templates/de/html/ext/ext_admins.tpl | 1 + .../templates/de/html/ext/ext_admintheme1.tpl | 1 + .../de/html/ext/ext_admintheme_default.tpl | 1 + 0.2.1/templates/de/html/ext/ext_autopurge.tpl | 1 + 0.2.1/templates/de/html/ext/ext_bank.tpl | 1 + 0.2.1/templates/de/html/ext/ext_beg.tpl | 1 + 0.2.1/templates/de/html/ext/ext_birthday.tpl | 1 + 0.2.1/templates/de/html/ext/ext_bonus.tpl | 1 + 0.2.1/templates/de/html/ext/ext_cache.tpl | 1 + 0.2.1/templates/de/html/ext/ext_country.tpl | 1 + 0.2.1/templates/de/html/ext/ext_demo.tpl | 1 + 0.2.1/templates/de/html/ext/ext_doubler.tpl | 1 + 0.2.1/templates/de/html/ext/ext_holiday.tpl | 1 + 0.2.1/templates/de/html/ext/ext_html_mail.tpl | 1 + 0.2.1/templates/de/html/ext/ext_mailid.tpl | 1 + .../templates/de/html/ext/ext_maintenance.tpl | 1 + 0.2.1/templates/de/html/ext/ext_mediadata.tpl | 1 + 0.2.1/templates/de/html/ext/ext_mods.tpl | 1 + 0.2.1/templates/de/html/ext/ext_mydata.tpl | 1 + .../templates/de/html/ext/ext_newsletter.tpl | 1 + 0.2.1/templates/de/html/ext/ext_nickname.tpl | 1 + 0.2.1/templates/de/html/ext/ext_online.tpl | 1 + 0.2.1/templates/de/html/ext/ext_optimize.tpl | 1 + 0.2.1/templates/de/html/ext/ext_order.tpl | 1 + 0.2.1/templates/de/html/ext/ext_other.tpl | 1 + 0.2.1/templates/de/html/ext/ext_payout.tpl | 1 + 0.2.1/templates/de/html/ext/ext_profile.tpl | 1 + 0.2.1/templates/de/html/ext/ext_rallye.tpl | 1 + 0.2.1/templates/de/html/ext/ext_register.tpl | 1 + 0.2.1/templates/de/html/ext/ext_repair.tpl | 1 + 0.2.1/templates/de/html/ext/ext_rewrite.tpl | 1 + .../templates/de/html/ext/ext_sql_patches.tpl | 1 + 0.2.1/templates/de/html/ext/ext_support.tpl | 1 + 0.2.1/templates/de/html/ext/ext_task.tpl | 1 + 0.2.1/templates/de/html/ext/ext_theme.tpl | 1 + 0.2.1/templates/de/html/ext/ext_top10.tpl | 1 + 0.2.1/templates/de/html/ext/ext_transfer.tpl | 1 + 0.2.1/templates/de/html/ext/ext_user.tpl | 1 + 0.2.1/templates/de/html/ext/ext_wernis.tpl | 1 + 0.2.1/templates/de/html/fatal_footer.tpl | 5 + 0.2.1/templates/de/html/fatal_header.tpl | 1 + .../de/html/guest/guest_active_none_row.tpl | 11 + .../de/html/guest/guest_active_row.tpl | 5 + .../de/html/guest/guest_active_table.tpl | 26 + .../templates/de/html/guest/guest_advert.tpl | 1 + .../templates/de/html/guest/guest_advert2.tpl | 1 + 0.2.1/templates/de/html/guest/guest_beg.tpl | 34 + .../templates/de/html/guest/guest_cat_row.tpl | 12 + .../de/html/guest/guest_cat_table.tpl | 3 + .../de/html/guest/guest_confirm_link.tpl | 27 + .../de/html/guest/guest_confirm_table.tpl | 7 + .../de/html/guest/guest_content_footer.tpl | 4 + .../templates/de/html/guest/guest_doubler.tpl | 55 + .../de/html/guest/guest_doubler_list.tpl | 19 + .../de/html/guest/guest_doubler_list_rows.tpl | 11 + .../templates/de/html/guest/guest_footer.tpl | 1 + .../de/html/guest/guest_frametester.tpl | 4 + .../de/html/guest/guest_goto_top.tpl | 5 + .../templates/de/html/guest/guest_header.tpl | 16 + 0.2.1/templates/de/html/guest/guest_login.tpl | 95 + .../de/html/guest/guest_menu_bottom.tpl | 3 + .../de/html/guest/guest_menu_content.tpl | 3 + .../de/html/guest/guest_menu_row.tpl | 3 + .../templates/de/html/guest/guest_menu_td.tpl | 3 + .../de/html/guest/guest_menu_title.tpl | 5 + .../de/html/guest/guest_menu_whats.tpl | 3 + .../de/html/guest/guest_nickname_login.tpl | 94 + .../de/html/guest/guest_no_rallyes.tpl | 17 + .../guest/guest_rallye_expired_footer.tpl | 6 + .../guest/guest_rallye_expired_header.tpl | 7 + .../de/html/guest/guest_rallye_footer.tpl | 11 + .../de/html/guest/guest_rallye_header.tpl | 6 + .../de/html/guest/guest_rallye_show.tpl | 51 + .../de/html/guest/guest_receive_table.tpl | 12 + .../de/html/guest/guest_register.tpl | 150 ++ .../de/html/guest/guest_register_refid.tpl | 8 + .../html/guest/guest_register_refid_hide.tpl | 9 + .../de/html/guest/guest_stats_cats_row.tpl | 5 + .../de/html/guest/guest_stats_member.tpl | 50 + .../de/html/guest/guest_stats_month_row.tpl | 4 + 0.2.1/templates/de/html/guest/guest_top10.tpl | 99 + .../de/html/guest/guest_top10_empty4.tpl | 6 + .../de/html/guest/guest_top10_empty5.tpl | 7 + .../de/html/guest/guest_top10_row_earner.tpl | 6 + .../de/html/guest/guest_top10_row_login.tpl | 7 + .../de/html/guest/guest_top10_row_refs.tpl | 7 + 0.2.1/templates/de/html/header.tpl | 13 + 0.2.1/templates/de/html/impressum.tpl | 24 + 0.2.1/templates/de/html/index.tpl | 42 + 0.2.1/templates/de/html/index_forward.tpl | 10 + 0.2.1/templates/de/html/infos.tpl | 2 + .../de/html/install/install_fatal_row.tpl | 4 + .../de/html/install/install_fatal_table.tpl | 8 + .../de/html/install/install_footer.tpl | 3 + .../de/html/install/install_header.tpl | 9 + .../de/html/install/install_page1.tpl | 48 + .../de/html/install/install_page2.tpl | 57 + .../de/html/install/install_welcome.tpl | 24 + 0.2.1/templates/de/html/lead_code.tpl | 16 + 0.2.1/templates/de/html/loader.tpl | 14 + 0.2.1/templates/de/html/login_failed_js.tpl | 11 + 0.2.1/templates/de/html/mailid/.htaccess | 1 + .../de/html/mailid/mailid_banner.tpl | 1 + .../de/html/mailid/mailid_confirm_buttom.tpl | 25 + .../de/html/mailid/mailid_enter_code.tpl | 25 + .../de/html/mailid/mailid_frames.tpl | 4 + .../de/html/mailid/mailid_frameset.tpl | 1 + .../de/html/mailid/mailid_points_done.tpl | 22 + .../de/html/mailid/mailid_points_done2.tpl | 25 + .../de/html/mailid/mailid_points_failed.tpl | 21 + .../de/html/mailid/mailid_points_lcoked2.tpl | 1 + .../de/html/mailid/mailid_points_locked.tpl | 21 + .../de/html/mailid/mailid_points_locked2.tpl | 24 + .../templates/de/html/mailid/mailid_timer.tpl | 60 + 0.2.1/templates/de/html/main-welcome.tpl | 1 + 0.2.1/templates/de/html/mediadata.tpl | 188 ++ .../de/html/mediadata_extra_hrow.tpl | 5 + .../templates/de/html/mediadata_extra_row.tpl | 5 + .../de/html/mediadata_extra_row2.tpl | 7 + .../de/html/member/member_advert.tpl | 1 + 0.2.1/templates/de/html/member/member_beg.tpl | 31 + .../de/html/member/member_beg_404.tpl | 5 + .../templates/de/html/member/member_bonus.tpl | 42 + .../de/html/member/member_bonus_404.tpl | 5 + .../de/html/member/member_bonus_row.tpl | 6 + .../de/html/member/member_cat_row.tpl | 9 + .../de/html/member/member_cats_footer.tpl | 8 + .../de/html/member/member_cats_header.tpl | 11 + .../de/html/member/member_doubler.tpl | 64 + .../de/html/member/member_doubler_list.tpl | 22 + .../html/member/member_doubler_list_rows.tpl | 14 + .../de/html/member/member_footer.tpl | 2 + .../de/html/member/member_frameset-back.tpl | 1 + .../de/html/member/member_frameset-send.tpl | 1 + .../de/html/member/member_goto_top.tpl | 5 + .../de/html/member/member_header.tpl | 14 + .../html/member/member_holiday_deactivate.tpl | 53 + .../de/html/member/member_holiday_form.tpl | 62 + .../html/member/member_html_mail_settings.tpl | 24 + .../de/html/member/member_list_beg.tpl | 40 + .../de/html/member/member_list_beg_row.tpl | 6 + .../de/html/member/member_login_js.tpl | 11 + .../de/html/member/member_menu_bottom.tpl | 3 + .../de/html/member/member_menu_row.tpl | 3 + .../de/html/member/member_menu_title.tpl | 5 + .../de/html/member/member_menu_whats.tpl | 3 + .../de/html/member/member_mydata_button.tpl | 3 + .../de/html/member/member_mydata_edit.tpl | 122 + .../de/html/member/member_mydata_locked.tpl | 7 + .../de/html/member/member_mydata_overview.tpl | 137 ++ .../de/html/member/member_newsletter.tpl | 31 + .../de/html/member/member_newsletter_note.tpl | 13 + .../de/html/member/member_nickname_form.tpl | 33 + .../de/html/member/member_order-back.tpl | 7 + .../de/html/member/member_order-html_ext.tpl | 10 + .../html/member/member_order-html_intro.tpl | 10 + .../de/html/member/member_order-zip1.tpl | 26 + .../de/html/member/member_order-zip2.tpl | 21 + .../de/html/member/member_order_back.tpl | 6 + .../html/member/member_order_frametester.tpl | 5 + .../de/html/member/member_order_page1.tpl | 12 + .../de/html/member/member_order_page2.tpl | 116 + .../de/html/member/member_order_points.tpl | 15 + .../de/html/member/member_order_send.tpl | 3 + .../de/html/member/member_payout.tpl | 18 + .../de/html/member/member_payout_form.tpl | 49 + .../html/member/member_payout_form_banner.tpl | 47 + .../de/html/member/member_payout_row.tpl | 7 + .../de/html/member/member_points.tpl | 77 + .../member/member_points_bonus_disabled.tpl | 6 + .../html/member/member_points_bonus_rows.tpl | 60 + .../de/html/member/member_points_row.tpl | 8 + .../de/html/member/member_points_upgrade.tpl | 6 + .../de/html/member/member_receive_table.tpl | 12 + .../de/html/member/member_reflinks_row.tpl | 19 + .../de/html/member/member_reflinks_table.tpl | 6 + .../de/html/member/member_stats_row.tpl | 44 + .../de/html/member/member_stats_table.tpl | 8 + .../html/member/member_support_contacted.tpl | 15 + .../html/member/member_support_contcted.tpl | 15 + .../de/html/member/member_support_form.tpl | 46 + .../de/html/member/member_themes.tpl | 26 + .../de/html/member/member_transfer_list.tpl | 33 + .../de/html/member/member_transfer_new.tpl | 70 + .../html/member/member_transfer_overview.tpl | 33 + .../html/member/member_transfer_settings.tpl | 19 + .../de/html/member/member_unconfirmed_404.tpl | 5 + .../de/html/member/member_unconfirmed_row.tpl | 8 + .../html/member/member_unconfirmed_table.tpl | 15 + .../de/html/member/member_welcome.tpl | 1 + .../de/html/member/member_welcome_footer.tpl | 3 + .../de/html/member/member_welcome_header.tpl | 11 + .../de/html/member/member_wernis.tpl | 17 + .../de/html/member/member_wernis_form.tpl | 40 + .../de/html/member/member_wernis_row.tpl | 6 + 0.2.1/templates/de/html/message.tpl | 5 + 0.2.1/templates/de/html/metadata.tpl | 8 + 0.2.1/templates/de/html/online_now.tpl | 32 + 0.2.1/templates/de/html/page_body.tpl | 4 + 0.2.1/templates/de/html/page_footer.tpl | 4 + 0.2.1/templates/de/html/page_header.tpl | 6 + 0.2.1/templates/de/html/profile-update.tpl | 35 + 0.2.1/templates/de/html/rallye_test.tpl | 3 + 0.2.1/templates/de/html/register_header.tpl | 1 + 0.2.1/templates/de/html/runtime_fatal_row.tpl | 4 + .../templates/de/html/runtime_fatal_table.tpl | 8 + 0.2.1/templates/de/html/show_bonus.tpl | 17 + 0.2.1/templates/de/html/show_bonus_footer.tpl | 1 + 0.2.1/templates/de/html/show_bonus_header.tpl | 1 + 0.2.1/templates/de/html/show_bonus_msg.tpl | 25 + 0.2.1/templates/de/html/show_bonus_yr.tpl | 8 + 0.2.1/templates/de/html/theme_one.tpl | 3 + 0.2.1/templates/de/html/theme_select_box.tpl | 7 + 0.2.1/templates/de/html/theme_select_form.tpl | 7 + 0.2.1/templates/de/html/welcome.tpl | 11 + .../templates/en/html/admin/admin_welcome.tpl | 2 + 0.2.1/templates/en/html/impressum.tpl | 8 + 0.2.1/templates/en/html/mailid/.htaccess | 1 + 0.2.1/templates/en/html/register_header.tpl | 1 + 0.2.1/templates/en/html/welcome.tpl | 1 + 0.2.1/theme/business/css/active.css | 9 + 0.2.1/theme/business/css/beg.css | 9 + 0.2.1/theme/business/css/bonus.css | 13 + 0.2.1/theme/business/css/doubler.css | 25 + 0.2.1/theme/business/css/general.css | 635 +++++ 0.2.1/theme/business/css/install.css | 64 + 0.2.1/theme/business/css/nickname.css | 0 0.2.1/theme/business/css/register.css | 91 + 0.2.1/theme/business/css/task.css | 0 0.2.1/theme/business/css/top10.css | 9 + 0.2.1/theme/business/css/transfer.css | 12 + 0.2.1/theme/business/images/code_bg.jpg | Bin 0 -> 939 bytes 0.2.1/theme/business/images/code_bg.png | Bin 0 -> 2055 bytes 0.2.1/theme/business/theme.php | 71 + 0.2.1/theme/default/css/active.css | 9 + 0.2.1/theme/default/css/beg.css | 9 + 0.2.1/theme/default/css/bonus.css | 13 + 0.2.1/theme/default/css/doubler.css | 25 + 0.2.1/theme/default/css/general.css | 652 ++++++ 0.2.1/theme/default/css/install.css | 77 + 0.2.1/theme/default/css/nickname.css | 0 0.2.1/theme/default/css/register.css | 81 + 0.2.1/theme/default/css/task.css | 0 0.2.1/theme/default/css/top10.css | 9 + 0.2.1/theme/default/css/transfer.css | 12 + 0.2.1/theme/default/images/code_bg.jpg | Bin 0 -> 939 bytes 0.2.1/theme/default/images/code_bg.png | Bin 0 -> 2055 bytes 0.2.1/theme/default/theme.php | 71 + 0.2.1/theme/desert/css/active.css | 9 + 0.2.1/theme/desert/css/beg.css | 9 + 0.2.1/theme/desert/css/bonus.css | 13 + 0.2.1/theme/desert/css/doubler.css | 25 + 0.2.1/theme/desert/css/general.css | 631 +++++ 0.2.1/theme/desert/css/help.css | 12 + 0.2.1/theme/desert/css/install.css | 71 + 0.2.1/theme/desert/css/paidlinks.css | 8 + 0.2.1/theme/desert/css/register.css | 89 + 0.2.1/theme/desert/css/sponsor.css | 28 + 0.2.1/theme/desert/css/top10.css | 9 + 0.2.1/theme/desert/css/transfer.css | 12 + 0.2.1/theme/desert/images/code_bg.jpg | Bin 0 -> 939 bytes 0.2.1/theme/desert/images/code_bg.png | Bin 0 -> 2055 bytes 0.2.1/theme/desert/images/help/bullet.png | Bin 0 -> 954 bytes 0.2.1/theme/desert/images/help/down.jpg | Bin 0 -> 677 bytes 0.2.1/theme/desert/images/help/left.jpg | Bin 0 -> 661 bytes 0.2.1/theme/desert/images/help/right.jpg | Bin 0 -> 665 bytes 0.2.1/theme/desert/images/help/up.jpg | Bin 0 -> 656 bytes 0.2.1/theme/desert/theme.php | 71 + 0.2.1/view.php | 74 + 1225 files changed, 96425 insertions(+) create mode 100644 .gitattributes create mode 100644 0.2.1/.htaccess create mode 100644 0.2.1/DOCS/DIFF_LIST.txt create mode 100644 0.2.1/DOCS/INSTALL.txt create mode 100644 0.2.1/DOCS/LICENSE.txt create mode 100644 0.2.1/DOCS/README create mode 100644 0.2.1/DOCS/de/AUTHORS.txt create mode 100644 0.2.1/DOCS/de/CHANGES.txt create mode 100644 0.2.1/DOCS/de/CSS-PATCHES.txt create mode 100644 0.2.1/DOCS/de/CSS-PATCHES_05092004.txt create mode 100644 0.2.1/DOCS/de/DESIGNING.txt create mode 100644 0.2.1/DOCS/de/EXTENSIONS.txt create mode 100644 0.2.1/DOCS/de/LICENSE.txt create mode 100644 0.2.1/DOCS/de/MENUE_HOVER.txt create mode 100644 0.2.1/DOCS/de/PATCHES.txt create mode 100644 0.2.1/DOCS/de/PATCH_320.txt create mode 100644 0.2.1/DOCS/de/README.txt create mode 100644 0.2.1/DOCS/de/SECURITY.txt create mode 100644 0.2.1/DOCS/de/TEMPLATES.txt create mode 100644 0.2.1/DOCS/de/THANK_YOU.txt create mode 100644 0.2.1/DOCS/de/TODO.txt create mode 100644 0.2.1/DOCS/de/UPGRADING.txt create mode 100644 0.2.1/DOCS/de/cache/README.txt create mode 100644 0.2.1/DOCS/de/country/README.txt create mode 100644 0.2.1/DOCS/de/country/countries-europe.sql create mode 100644 0.2.1/DOCS/de/country/countries-full.sql create mode 100644 0.2.1/DOCS/de/country/countries-sorted.sql create mode 100644 0.2.1/DOCS/de/doubler/README.txt create mode 100644 0.2.1/DOCS/de/engine/README.txt create mode 100644 0.2.1/DOCS/de/promoter.txt create mode 100644 0.2.1/DOCS/de/rallye/README.txt create mode 100644 0.2.1/DOCS/de/rewrite/.htaccess create mode 100644 0.2.1/DOCS/de/rewrite/README.txt create mode 100644 0.2.1/DOCS/de/rewrite/README_htaccess.de create mode 100644 0.2.1/DOCS/de/task/README.txt create mode 100644 0.2.1/DOCS/de/themes/README.txt create mode 100644 0.2.1/DOCS/en/AUTHORS.txt create mode 100644 0.2.1/DOCS/en/CHANGES.txt create mode 100644 0.2.1/DOCS/en/CSS-PATCHES.txt create mode 100644 0.2.1/DOCS/en/CSS-PATCHES_05092004.txt create mode 100644 0.2.1/DOCS/en/DESIGNING.txt create mode 100644 0.2.1/DOCS/en/EXTENSIONS.txt create mode 100644 0.2.1/DOCS/en/LICENSE.txt create mode 100644 0.2.1/DOCS/en/MENUE_HOVER.txt create mode 100644 0.2.1/DOCS/en/PATCHES.txt create mode 100644 0.2.1/DOCS/en/PATCH_320.txt create mode 100644 0.2.1/DOCS/en/README.txt create mode 100644 0.2.1/DOCS/en/SECURITY.txt create mode 100644 0.2.1/DOCS/en/TEMPLATES.txt create mode 100644 0.2.1/DOCS/en/THANK_YOU.txt create mode 100644 0.2.1/DOCS/en/TODO.txt create mode 100644 0.2.1/DOCS/en/UPGRADING.txt create mode 100644 0.2.1/DOCS/en/cache/README.txt create mode 100644 0.2.1/DOCS/en/country/README.txt create mode 100644 0.2.1/DOCS/en/country/countries-europe.sql create mode 100644 0.2.1/DOCS/en/country/countries-full.sql create mode 100644 0.2.1/DOCS/en/country/countries-sorted.sql create mode 100644 0.2.1/DOCS/en/doubler/README.txt create mode 100644 0.2.1/DOCS/en/engine/README.txt create mode 100644 0.2.1/DOCS/en/promoter.txt create mode 100644 0.2.1/DOCS/en/rallye/README.txt create mode 100644 0.2.1/DOCS/en/rewrite/.htaccess create mode 100644 0.2.1/DOCS/en/rewrite/README.txt create mode 100644 0.2.1/DOCS/en/rewrite/README_htaccess.de create mode 100644 0.2.1/DOCS/en/task/README.txt create mode 100644 0.2.1/DOCS/en/themes/README.txt create mode 100644 0.2.1/admin.php create mode 100644 0.2.1/agb.php create mode 100644 0.2.1/beg.php create mode 100644 0.2.1/birthday_confirm.php create mode 100644 0.2.1/click.php create mode 100644 0.2.1/confirm.php create mode 100644 0.2.1/css.php create mode 100644 0.2.1/doubler.php create mode 100644 0.2.1/img.php create mode 100644 0.2.1/inc/.htaccess create mode 100644 0.2.1/inc/.secret/.a37fde8c5ab1752c8dd327eb8b32b7dadd936de52b0e5c2d0 create mode 100644 0.2.1/inc/.secret/.deba26cfafe1cb6cc264c05daaee48d821c4c2d5e0d7c6aa8 create mode 100644 0.2.1/inc/.secret/.htaccess create mode 100644 0.2.1/inc/autopurge.php create mode 100644 0.2.1/inc/birthday_mails.php create mode 100644 0.2.1/inc/cache/.htaccess create mode 100644 0.2.1/inc/config.php create mode 100644 0.2.1/inc/daily-reset.php create mode 100644 0.2.1/inc/databases.php create mode 100644 0.2.1/inc/db/.htaccess create mode 100644 0.2.1/inc/db/lib-mysql3.php create mode 100644 0.2.1/inc/db/lib.php create mode 100644 0.2.1/inc/doubler_send.php create mode 100644 0.2.1/inc/extensions.php create mode 100644 0.2.1/inc/extensions/.htaccess create mode 100644 0.2.1/inc/extensions/ext- create mode 100644 0.2.1/inc/extensions/ext-active.php create mode 100644 0.2.1/inc/extensions/ext-admins.php create mode 100644 0.2.1/inc/extensions/ext-admintheme1.php create mode 100644 0.2.1/inc/extensions/ext-admintheme_default.php create mode 100644 0.2.1/inc/extensions/ext-autopurge.php create mode 100644 0.2.1/inc/extensions/ext-bank.php create mode 100644 0.2.1/inc/extensions/ext-beg.php create mode 100644 0.2.1/inc/extensions/ext-birthday.php create mode 100644 0.2.1/inc/extensions/ext-bonus.php create mode 100644 0.2.1/inc/extensions/ext-cache.php create mode 100644 0.2.1/inc/extensions/ext-country.php create mode 100644 0.2.1/inc/extensions/ext-demo.php create mode 100644 0.2.1/inc/extensions/ext-doubler.php create mode 100644 0.2.1/inc/extensions/ext-holiday.php create mode 100644 0.2.1/inc/extensions/ext-html_mail.php create mode 100644 0.2.1/inc/extensions/ext-mailid.php create mode 100644 0.2.1/inc/extensions/ext-maintenance.php create mode 100644 0.2.1/inc/extensions/ext-mediadata.php create mode 100644 0.2.1/inc/extensions/ext-mods.php create mode 100644 0.2.1/inc/extensions/ext-mydata.php create mode 100644 0.2.1/inc/extensions/ext-newsletter.php create mode 100644 0.2.1/inc/extensions/ext-nickname.php create mode 100644 0.2.1/inc/extensions/ext-online.php create mode 100644 0.2.1/inc/extensions/ext-optimize.php create mode 100644 0.2.1/inc/extensions/ext-order.php create mode 100644 0.2.1/inc/extensions/ext-other.php create mode 100644 0.2.1/inc/extensions/ext-payout.php create mode 100644 0.2.1/inc/extensions/ext-profile.php create mode 100644 0.2.1/inc/extensions/ext-rallye.php create mode 100644 0.2.1/inc/extensions/ext-register.php create mode 100644 0.2.1/inc/extensions/ext-repair.php create mode 100644 0.2.1/inc/extensions/ext-rewrite.php create mode 100644 0.2.1/inc/extensions/ext-sql_patches.php create mode 100644 0.2.1/inc/extensions/ext-support.php create mode 100644 0.2.1/inc/extensions/ext-task.php create mode 100644 0.2.1/inc/extensions/ext-theme.php create mode 100644 0.2.1/inc/extensions/ext-top10.php create mode 100644 0.2.1/inc/extensions/ext-transfer.php create mode 100644 0.2.1/inc/extensions/ext-user.php create mode 100644 0.2.1/inc/extensions/ext-wernis.php create mode 100644 0.2.1/inc/fatal_errors.php create mode 100644 0.2.1/inc/footer.php create mode 100644 0.2.1/inc/functions.php create mode 100644 0.2.1/inc/gen_mediadata.php create mode 100644 0.2.1/inc/gen_sql_patches.php create mode 100644 0.2.1/inc/header.php create mode 100644 0.2.1/inc/install-inc.php create mode 100644 0.2.1/inc/language.php create mode 100644 0.2.1/inc/language/.htaccess create mode 100644 0.2.1/inc/language/active_de.php create mode 100644 0.2.1/inc/language/admins_de.php create mode 100644 0.2.1/inc/language/autopurge_de.php create mode 100644 0.2.1/inc/language/bank_de.php create mode 100644 0.2.1/inc/language/beg_de.php create mode 100644 0.2.1/inc/language/birthday_de.php create mode 100644 0.2.1/inc/language/bonus_de.php create mode 100644 0.2.1/inc/language/cache_de.php create mode 100644 0.2.1/inc/language/country_de.php create mode 100644 0.2.1/inc/language/de.php create mode 100644 0.2.1/inc/language/doubler_de.php create mode 100644 0.2.1/inc/language/en.ph create mode 100644 0.2.1/inc/language/en.php create mode 100644 0.2.1/inc/language/holiday_de.php create mode 100644 0.2.1/inc/language/html_mail_de.php create mode 100644 0.2.1/inc/language/install_de.php create mode 100644 0.2.1/inc/language/mailid_de.php create mode 100644 0.2.1/inc/language/maintenance_de.php create mode 100644 0.2.1/inc/language/mediadata_de.php create mode 100644 0.2.1/inc/language/mods_de.php create mode 100644 0.2.1/inc/language/newsletter_de.php create mode 100644 0.2.1/inc/language/nickname_de.php create mode 100644 0.2.1/inc/language/online_de.php create mode 100644 0.2.1/inc/language/optimize_de.php create mode 100644 0.2.1/inc/language/order_de.php create mode 100644 0.2.1/inc/language/other_de.php create mode 100644 0.2.1/inc/language/payout_de.php create mode 100644 0.2.1/inc/language/pro_de.php create mode 100644 0.2.1/inc/language/rallye_de.php create mode 100644 0.2.1/inc/language/register_de.php create mode 100644 0.2.1/inc/language/repair_de.php create mode 100644 0.2.1/inc/language/rewrite_de.php create mode 100644 0.2.1/inc/language/support_de.php create mode 100644 0.2.1/inc/language/task_de.php create mode 100644 0.2.1/inc/language/theme_de.php create mode 100644 0.2.1/inc/language/top10_de.php create mode 100644 0.2.1/inc/language/transfer_de.php create mode 100644 0.2.1/inc/language/user_de.php create mode 100644 0.2.1/inc/language/wernis_de.php create mode 100644 0.2.1/inc/libs/.htaccess create mode 100644 0.2.1/inc/libs/admins_functions.php create mode 100644 0.2.1/inc/libs/autopurge_functions.php create mode 100644 0.2.1/inc/libs/bonus_functions.php create mode 100644 0.2.1/inc/libs/cache_functions.php create mode 100644 0.2.1/inc/libs/country_functions.php create mode 100644 0.2.1/inc/libs/doubler_functions.php create mode 100644 0.2.1/inc/libs/holiday_functions.php create mode 100644 0.2.1/inc/libs/html_mail_functions.php create mode 100644 0.2.1/inc/libs/mediadata_functions.php create mode 100644 0.2.1/inc/libs/newsletter_functions.php create mode 100644 0.2.1/inc/libs/nickname_functions.php create mode 100644 0.2.1/inc/libs/optimize_functions.php create mode 100644 0.2.1/inc/libs/order_functions.php create mode 100644 0.2.1/inc/libs/output_functions.php create mode 100644 0.2.1/inc/libs/payout_functions.php create mode 100644 0.2.1/inc/libs/pro_functions.php create mode 100644 0.2.1/inc/libs/rallye_functions.php create mode 100644 0.2.1/inc/libs/register_functions.php create mode 100644 0.2.1/inc/libs/rewrite_functions.php create mode 100644 0.2.1/inc/libs/security_functions.php create mode 100644 0.2.1/inc/libs/task_functions.php create mode 100644 0.2.1/inc/libs/transfer_functions.php create mode 100644 0.2.1/inc/libs/user_functions.php create mode 100644 0.2.1/inc/libs/wernis_functions.php create mode 100644 0.2.1/inc/load_cache.php create mode 100644 0.2.1/inc/load_extensions.php create mode 100644 0.2.1/inc/mails/.htaccess create mode 100644 0.2.1/inc/mails/_mails.php create mode 100644 0.2.1/inc/mails/beg_mails.php create mode 100644 0.2.1/inc/mails/birthday_mails.php create mode 100644 0.2.1/inc/mails/bonus_mails.php create mode 100644 0.2.1/inc/modules/.htaccess create mode 100644 0.2.1/inc/modules/admin.php create mode 100644 0.2.1/inc/modules/admin/.htaccess create mode 100644 0.2.1/inc/modules/admin/action- create mode 100644 0.2.1/inc/modules/admin/action-admins.php create mode 100644 0.2.1/inc/modules/admin/action-bank.php create mode 100644 0.2.1/inc/modules/admin/action-country.php create mode 100644 0.2.1/inc/modules/admin/action-doubler.php create mode 100644 0.2.1/inc/modules/admin/action-email.php create mode 100644 0.2.1/inc/modules/admin/action-holiday.php create mode 100644 0.2.1/inc/modules/admin/action-login.php create mode 100644 0.2.1/inc/modules/admin/action-logout.php create mode 100644 0.2.1/inc/modules/admin/action-menu.php create mode 100644 0.2.1/inc/modules/admin/action-misc.php create mode 100644 0.2.1/inc/modules/admin/action-mods.php create mode 100644 0.2.1/inc/modules/admin/action-newsletter.php create mode 100644 0.2.1/inc/modules/admin/action-payouts.php create mode 100644 0.2.1/inc/modules/admin/action-rallye.php create mode 100644 0.2.1/inc/modules/admin/action-repair.php create mode 100644 0.2.1/inc/modules/admin/action-setup.php create mode 100644 0.2.1/inc/modules/admin/action-stats.php create mode 100644 0.2.1/inc/modules/admin/action-task.php create mode 100644 0.2.1/inc/modules/admin/action-theme.php create mode 100644 0.2.1/inc/modules/admin/action-transfer.php create mode 100644 0.2.1/inc/modules/admin/action-user.php create mode 100644 0.2.1/inc/modules/admin/action-wernis.php create mode 100644 0.2.1/inc/modules/admin/admin-inc.php create mode 100644 0.2.1/inc/modules/admin/overview-inc.php create mode 100644 0.2.1/inc/modules/admin/what- create mode 100644 0.2.1/inc/modules/admin/what-add_bank_package.php create mode 100644 0.2.1/inc/modules/admin/what-add_guestnl_cat.php create mode 100644 0.2.1/inc/modules/admin/what-add_points.php create mode 100644 0.2.1/inc/modules/admin/what-add_rallye.php create mode 100644 0.2.1/inc/modules/admin/what-admin_add.php create mode 100644 0.2.1/inc/modules/admin/what-adminedit.php create mode 100644 0.2.1/inc/modules/admin/what-admins_add.php create mode 100644 0.2.1/inc/modules/admin/what-admins_contact.php create mode 100644 0.2.1/inc/modules/admin/what-admins_contct.php create mode 100644 0.2.1/inc/modules/admin/what-admins_edit.php create mode 100644 0.2.1/inc/modules/admin/what-admins_mails.php create mode 100644 0.2.1/inc/modules/admin/what-autopurge.php create mode 100644 0.2.1/inc/modules/admin/what-bonus.php create mode 100644 0.2.1/inc/modules/admin/what-cache_stats.php create mode 100644 0.2.1/inc/modules/admin/what-chk_regs.php create mode 100644 0.2.1/inc/modules/admin/what-config_active.php create mode 100644 0.2.1/inc/modules/admin/what-config_admin.php create mode 100644 0.2.1/inc/modules/admin/what-config_admins.php create mode 100644 0.2.1/inc/modules/admin/what-config_autopurge.php create mode 100644 0.2.1/inc/modules/admin/what-config_beg.php create mode 100644 0.2.1/inc/modules/admin/what-config_birthday.php create mode 100644 0.2.1/inc/modules/admin/what-config_bonus.php create mode 100644 0.2.1/inc/modules/admin/what-config_cache.php create mode 100644 0.2.1/inc/modules/admin/what-config_cats.php create mode 100644 0.2.1/inc/modules/admin/what-config_doubler.php create mode 100644 0.2.1/inc/modules/admin/what-config_email.php create mode 100644 0.2.1/inc/modules/admin/what-config_extensions.php create mode 100644 0.2.1/inc/modules/admin/what-config_holiday.php create mode 100644 0.2.1/inc/modules/admin/what-config_home.php create mode 100644 0.2.1/inc/modules/admin/what-config_mediadata.php create mode 100644 0.2.1/inc/modules/admin/what-config_mods.php create mode 100644 0.2.1/inc/modules/admin/what-config_newsletter.php create mode 100644 0.2.1/inc/modules/admin/what-config_nickname.php create mode 100644 0.2.1/inc/modules/admin/what-config_order.php create mode 100644 0.2.1/inc/modules/admin/what-config_other.php create mode 100644 0.2.1/inc/modules/admin/what-config_payouts.php create mode 100644 0.2.1/inc/modules/admin/what-config_points.php create mode 100644 0.2.1/inc/modules/admin/what-config_rallye_prices.php create mode 100644 0.2.1/inc/modules/admin/what-config_refid.php create mode 100644 0.2.1/inc/modules/admin/what-config_reg.php create mode 100644 0.2.1/inc/modules/admin/what-config_register.php create mode 100644 0.2.1/inc/modules/admin/what-config_register2.php create mode 100644 0.2.1/inc/modules/admin/what-config_rewrite.php create mode 100644 0.2.1/inc/modules/admin/what-config_secure.php create mode 100644 0.2.1/inc/modules/admin/what-config_stats.php create mode 100644 0.2.1/inc/modules/admin/what-config_title.php create mode 100644 0.2.1/inc/modules/admin/what-config_top10.php create mode 100644 0.2.1/inc/modules/admin/what-config_transfer.php create mode 100644 0.2.1/inc/modules/admin/what-config_user.php create mode 100644 0.2.1/inc/modules/admin/what-config_wernis.php create mode 100644 0.2.1/inc/modules/admin/what-del_email.php create mode 100644 0.2.1/inc/modules/admin/what-del_holiday.php create mode 100644 0.2.1/inc/modules/admin/what-del_task.php create mode 100644 0.2.1/inc/modules/admin/what-del_transfer.php create mode 100644 0.2.1/inc/modules/admin/what-del_user.php create mode 100644 0.2.1/inc/modules/admin/what-edit_emails.php create mode 100644 0.2.1/inc/modules/admin/what-edit_user.php create mode 100644 0.2.1/inc/modules/admin/what-email_archiv.php create mode 100644 0.2.1/inc/modules/admin/what-email_details.php create mode 100644 0.2.1/inc/modules/admin/what-email_stats.php create mode 100644 0.2.1/inc/modules/admin/what-extensions.php create mode 100644 0.2.1/inc/modules/admin/what-guest_add.php create mode 100644 0.2.1/inc/modules/admin/what-guestedit.php create mode 100644 0.2.1/inc/modules/admin/what-holiday_list.php create mode 100644 0.2.1/inc/modules/admin/what-holiday_remove.php create mode 100644 0.2.1/inc/modules/admin/what-list_autopurge.php create mode 100644 0.2.1/inc/modules/admin/what-list_bank_package.php create mode 100644 0.2.1/inc/modules/admin/what-list_beg.php create mode 100644 0.2.1/inc/modules/admin/what-list_bonus.php create mode 100644 0.2.1/inc/modules/admin/what-list_cats.php create mode 100644 0.2.1/inc/modules/admin/what-list_country.php create mode 100644 0.2.1/inc/modules/admin/what-list_doubler.php create mode 100644 0.2.1/inc/modules/admin/what-list_holiday.php create mode 100644 0.2.1/inc/modules/admin/what-list_links.php create mode 100644 0.2.1/inc/modules/admin/what-list_newsletter.php create mode 100644 0.2.1/inc/modules/admin/what-list_norefs.php create mode 100644 0.2.1/inc/modules/admin/what-list_payouts.php create mode 100644 0.2.1/inc/modules/admin/what-list_rallyes.php create mode 100644 0.2.1/inc/modules/admin/what-list_refs.php create mode 100644 0.2.1/inc/modules/admin/what-list_task.php create mode 100644 0.2.1/inc/modules/admin/what-list_transfer.php create mode 100644 0.2.1/inc/modules/admin/what-list_unconfirmed.php create mode 100644 0.2.1/inc/modules/admin/what-list_user.php create mode 100644 0.2.1/inc/modules/admin/what-list_wernis.php create mode 100644 0.2.1/inc/modules/admin/what-lock_user.php create mode 100644 0.2.1/inc/modules/admin/what-logs.php create mode 100644 0.2.1/inc/modules/admin/what-maintenance.php create mode 100644 0.2.1/inc/modules/admin/what-mem_add.php create mode 100644 0.2.1/inc/modules/admin/what-memedit.php create mode 100644 0.2.1/inc/modules/admin/what-newsletter.php create mode 100644 0.2.1/inc/modules/admin/what-optimize.php create mode 100644 0.2.1/inc/modules/admin/what-overview.php create mode 100644 0.2.1/inc/modules/admin/what-payments.php create mode 100644 0.2.1/inc/modules/admin/what-refbanner.php create mode 100644 0.2.1/inc/modules/admin/what-repair_amenu.php create mode 100644 0.2.1/inc/modules/admin/what-repair_amnu.php create mode 100644 0.2.1/inc/modules/admin/what-repair_cats.php create mode 100644 0.2.1/inc/modules/admin/what-repair_gmenu.php create mode 100644 0.2.1/inc/modules/admin/what-repair_gmnu.php create mode 100644 0.2.1/inc/modules/admin/what-repair_mmenu.php create mode 100644 0.2.1/inc/modules/admin/what-repair_mmnu.php create mode 100644 0.2.1/inc/modules/admin/what-send_bonus.php create mode 100644 0.2.1/inc/modules/admin/what-send_newsletter.php create mode 100644 0.2.1/inc/modules/admin/what-stats.php create mode 100644 0.2.1/inc/modules/admin/what-stats_mods.php create mode 100644 0.2.1/inc/modules/admin/what-sub_points.php create mode 100644 0.2.1/inc/modules/admin/what-theme_check.php create mode 100644 0.2.1/inc/modules/admin/what-theme_edit.php create mode 100644 0.2.1/inc/modules/admin/what-theme_import.php create mode 100644 0.2.1/inc/modules/admin/what-unlock_emails.php create mode 100644 0.2.1/inc/modules/admin/what-updates.php create mode 100644 0.2.1/inc/modules/admin/what-usage.php create mode 100644 0.2.1/inc/modules/admin/what-user_online.php create mode 100644 0.2.1/inc/modules/admin/what-usr_online.php create mode 100644 0.2.1/inc/modules/chk_login.php create mode 100644 0.2.1/inc/modules/frameset.php create mode 100644 0.2.1/inc/modules/frametester.php create mode 100644 0.2.1/inc/modules/guest/.htaccess create mode 100644 0.2.1/inc/modules/guest/action- create mode 100644 0.2.1/inc/modules/guest/action-admin.php create mode 100644 0.2.1/inc/modules/guest/action-main.php create mode 100644 0.2.1/inc/modules/guest/action-members.php create mode 100644 0.2.1/inc/modules/guest/action-online.php create mode 100644 0.2.1/inc/modules/guest/action-themes.php create mode 100644 0.2.1/inc/modules/guest/what- create mode 100644 0.2.1/inc/modules/guest/what-active.php create mode 100644 0.2.1/inc/modules/guest/what-admin.php create mode 100644 0.2.1/inc/modules/guest/what-agb.php create mode 100644 0.2.1/inc/modules/guest/what-beg.php create mode 100644 0.2.1/inc/modules/guest/what-confirm.php create mode 100644 0.2.1/inc/modules/guest/what-doubler.php create mode 100644 0.2.1/inc/modules/guest/what-impressum.php create mode 100644 0.2.1/inc/modules/guest/what-infos.php create mode 100644 0.2.1/inc/modules/guest/what-login.php create mode 100644 0.2.1/inc/modules/guest/what-mediadata.php create mode 100644 0.2.1/inc/modules/guest/what-my_weblog.php create mode 100644 0.2.1/inc/modules/guest/what-rallyes.php create mode 100644 0.2.1/inc/modules/guest/what-register.php create mode 100644 0.2.1/inc/modules/guest/what-stats.php create mode 100644 0.2.1/inc/modules/guest/what-top10.php create mode 100644 0.2.1/inc/modules/guest/what-welcome.php create mode 100644 0.2.1/inc/modules/guest/what-wernis_portal.php create mode 100644 0.2.1/inc/modules/index.php create mode 100644 0.2.1/inc/modules/loader.php create mode 100644 0.2.1/inc/modules/login.php create mode 100644 0.2.1/inc/modules/member/.htaccess create mode 100644 0.2.1/inc/modules/member/action- create mode 100644 0.2.1/inc/modules/member/action-account.php create mode 100644 0.2.1/inc/modules/member/action-bank.php create mode 100644 0.2.1/inc/modules/member/action-extras.php create mode 100644 0.2.1/inc/modules/member/action-logout.php create mode 100644 0.2.1/inc/modules/member/action-main.php create mode 100644 0.2.1/inc/modules/member/action-order.php create mode 100644 0.2.1/inc/modules/member/action-rals.php create mode 100644 0.2.1/inc/modules/member/action-stats.php create mode 100644 0.2.1/inc/modules/member/action-themes.php create mode 100644 0.2.1/inc/modules/member/what- create mode 100644 0.2.1/inc/modules/member/what-bank_create.php create mode 100644 0.2.1/inc/modules/member/what-bank_deposit.php create mode 100644 0.2.1/inc/modules/member/what-bank_infos.php create mode 100644 0.2.1/inc/modules/member/what-bank_output.php create mode 100644 0.2.1/inc/modules/member/what-bank_withdraw.php create mode 100644 0.2.1/inc/modules/member/what-beg.php create mode 100644 0.2.1/inc/modules/member/what-beg2.php create mode 100644 0.2.1/inc/modules/member/what-bonus.php create mode 100644 0.2.1/inc/modules/member/what-categories.php create mode 100644 0.2.1/inc/modules/member/what-doubler.php create mode 100644 0.2.1/inc/modules/member/what-guest.php create mode 100644 0.2.1/inc/modules/member/what-holiday.php create mode 100644 0.2.1/inc/modules/member/what-html_mail.php create mode 100644 0.2.1/inc/modules/member/what-logout.php create mode 100644 0.2.1/inc/modules/member/what-mydata.php create mode 100644 0.2.1/inc/modules/member/what-newsletter.php create mode 100644 0.2.1/inc/modules/member/what-nickname.php create mode 100644 0.2.1/inc/modules/member/what-order.php create mode 100644 0.2.1/inc/modules/member/what-payout.php create mode 100644 0.2.1/inc/modules/member/what-points.php create mode 100644 0.2.1/inc/modules/member/what-rallyes.php create mode 100644 0.2.1/inc/modules/member/what-reflinks.php create mode 100644 0.2.1/inc/modules/member/what-stats.php create mode 100644 0.2.1/inc/modules/member/what-support.php create mode 100644 0.2.1/inc/modules/member/what-themes.php create mode 100644 0.2.1/inc/modules/member/what-transfer.php create mode 100644 0.2.1/inc/modules/member/what-unconfirmed.php create mode 100644 0.2.1/inc/modules/member/what-welcome.php create mode 100644 0.2.1/inc/modules/member/what-wernis.php create mode 100644 0.2.1/inc/modules/order.php create mode 100644 0.2.1/inc/modules/welcome.php create mode 100644 0.2.1/inc/monthly/.htaccess create mode 100644 0.2.1/inc/monthly/monthly_ create mode 100644 0.2.1/inc/monthly/monthly_beg.php create mode 100644 0.2.1/inc/monthly/monthly_bonus.php create mode 100644 0.2.1/inc/monthly/monthly_newsletter.php create mode 100644 0.2.1/inc/monthly_newsletter.php create mode 100644 0.2.1/inc/mysql-connect.php create mode 100644 0.2.1/inc/mysql-manager.php create mode 100644 0.2.1/inc/patch-system.php create mode 100644 0.2.1/inc/phpmailer/ChangeLog.txt create mode 100644 0.2.1/inc/phpmailer/LICENSE create mode 100644 0.2.1/inc/phpmailer/README create mode 100644 0.2.1/inc/phpmailer/class.phpmailer.php create mode 100644 0.2.1/inc/phpmailer/class.pop3.php create mode 100644 0.2.1/inc/phpmailer/class.smtp.php create mode 100644 0.2.1/inc/phpmailer/codeworxtech.html create mode 100644 0.2.1/inc/phpmailer/docs/extending.html create mode 100644 0.2.1/inc/phpmailer/docs/faq.html create mode 100644 0.2.1/inc/phpmailer/docs/pop3_article.txt create mode 100644 0.2.1/inc/phpmailer/docs/use_gmail.txt create mode 100644 0.2.1/inc/phpmailer/examples/contents.html create mode 100644 0.2.1/inc/phpmailer/examples/images/bkgrnd.gif create mode 100644 0.2.1/inc/phpmailer/examples/images/phpmailer.gif create mode 100644 0.2.1/inc/phpmailer/examples/images/phpmailer.png create mode 100644 0.2.1/inc/phpmailer/examples/images/phpmailer_mini.gif create mode 100644 0.2.1/inc/phpmailer/examples/index.html create mode 100644 0.2.1/inc/phpmailer/examples/pop3_before_smtp_test.php create mode 100644 0.2.1/inc/phpmailer/examples/test1.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-br.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-ca.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-cz.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-de.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-dk.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-en.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-es.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-et.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-fi.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-fo.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-fr.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-hu.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-it.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-ja.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-nl.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-no.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-pl.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-ro.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-ru.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-se.php create mode 100644 0.2.1/inc/phpmailer/language/phpmailer.lang-tr.php create mode 100644 0.2.1/inc/phpmailer/phpdoc/PHPMailer/PHPMailer.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/PHPMailer/SMTP.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/PHPMailer/_class_phpmailer_php.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/PHPMailer/_class_smtp_php.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/blank.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/classtrees_PHPMailer.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/elementindex.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/elementindex_PHPMailer.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/errors.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/index.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/li_PHPMailer.html create mode 100644 0.2.1/inc/phpmailer/phpdoc/media/banner.css create mode 100644 0.2.1/inc/phpmailer/phpdoc/media/stylesheet.css create mode 100644 0.2.1/inc/phpmailer/phpdoc/packages.html create mode 100644 0.2.1/inc/phpmailer/test/phpmailer_test.php create mode 100644 0.2.1/inc/phpmailer/test/phpunit.php create mode 100644 0.2.1/inc/phpmailer/test/test.png create mode 100644 0.2.1/inc/pool-update.php create mode 100644 0.2.1/inc/profile-updte.php create mode 100644 0.2.1/inc/rdf.class.php create mode 100644 0.2.1/inc/reset/.htaccess create mode 100644 0.2.1/inc/reset/reset_ create mode 100644 0.2.1/inc/reset/reset_beg.php create mode 100644 0.2.1/inc/reset/reset_bonus.php create mode 100644 0.2.1/inc/reset/reset_daily.php create mode 100644 0.2.1/inc/reset/reset_engine.php create mode 100644 0.2.1/inc/reset/reset_holiday.php create mode 100644 0.2.1/inc/security.php create mode 100644 0.2.1/inc/session.php create mode 100644 0.2.1/inc/sql_error.php create mode 100644 0.2.1/inc/stats_bonus.php create mode 100644 0.2.1/inc/stylesheet.php create mode 100644 0.2.1/inc/template.php create mode 100644 0.2.1/inc/theme-manager.php create mode 100644 0.2.1/index.php create mode 100644 0.2.1/install.php create mode 100644 0.2.1/install/menu-de.sql create mode 100644 0.2.1/install/menu-en.sql create mode 100644 0.2.1/install/tables.sql create mode 100644 0.2.1/lead-confirm.php create mode 100644 0.2.1/login.php create mode 100644 0.2.1/mailid.php create mode 100644 0.2.1/mailid_top.php create mode 100644 0.2.1/modules.php create mode 100644 0.2.1/ref.php create mode 100644 0.2.1/robots.txt create mode 100644 0.2.1/show_bonus.php create mode 100644 0.2.1/templates/.htaccess create mode 100644 0.2.1/templates/de/.htaccess create mode 100644 0.2.1/templates/de/emails/add-points.tpl create mode 100644 0.2.1/templates/de/emails/admin-del_links.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_autopurge_del_mails.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_autopurge_delete.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_autopurge_inactive.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_autopurge_points.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_autopurge_tsks.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_autopurge_turbo.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_autopurge_unconfirmed.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_holiday_deactivated.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_holiday_request.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_holiday_unlock.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_mydata_notify.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_new_ext.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_newsletter_request.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_newsletter_reset.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_payout_request.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_payout_request_banner.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_rallye_expired.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_rallye_expired_no.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_rallye_no_notify.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_rallye_notify.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_rallye_purged.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_support-order.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_support-ordr.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_support-reflink.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_support-unconfirmed.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_transfer_ap.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_transfer_points.tpl create mode 100644 0.2.1/templates/de/emails/admin/admin_wernis_request.tpl create mode 100644 0.2.1/templates/de/emails/admins/.htaccess create mode 100644 0.2.1/templates/de/emails/admins/admins_mail_contct_admin.tpl create mode 100644 0.2.1/templates/de/emails/admins/admins_msg_contct_admin.tpl create mode 100644 0.2.1/templates/de/emails/admins_mail_contact_admin.tpl create mode 100644 0.2.1/templates/de/emails/admins_mail_contct_admin.tpl create mode 100644 0.2.1/templates/de/emails/admins_msg_contact_admin.tpl create mode 100644 0.2.1/templates/de/emails/admins_msg_contct_admin.tpl create mode 100644 0.2.1/templates/de/emails/back-admin.tpl create mode 100644 0.2.1/templates/de/emails/back-member.tpl create mode 100644 0.2.1/templates/de/emails/beg/.htaccess create mode 100644 0.2.1/templates/de/emails/beg/beg_di_notify.tpl create mode 100644 0.2.1/templates/de/emails/beg/beg_en_notify.tpl create mode 100644 0.2.1/templates/de/emails/beg/beg_en_notify_body.tpl create mode 100644 0.2.1/templates/de/emails/bonus-mail.tpl create mode 100644 0.2.1/templates/de/emails/bonus/.htaccess create mode 100644 0.2.1/templates/de/emails/bonus/bonus_di_notify.tpl create mode 100644 0.2.1/templates/de/emails/bonus/bonus_en_notify.tpl create mode 100644 0.2.1/templates/de/emails/bonus/bonus_en_notify_body.tpl create mode 100644 0.2.1/templates/de/emails/confirm-member.tpl create mode 100644 0.2.1/templates/de/emails/confirm-referral.tpl create mode 100644 0.2.1/templates/de/emails/del-user.tpl create mode 100644 0.2.1/templates/de/emails/done-admin.tpl create mode 100644 0.2.1/templates/de/emails/done-member.tpl create mode 100644 0.2.1/templates/de/emails/guest/guest_request_confirm.tpl create mode 100644 0.2.1/templates/de/emails/header.tpl create mode 100644 0.2.1/templates/de/emails/lock-user.tpl create mode 100644 0.2.1/templates/de/emails/member/member_autopurge_delete.tpl create mode 100644 0.2.1/templates/de/emails/member/member_autopurge_inactive.tpl create mode 100644 0.2.1/templates/de/emails/member/member_autopurge_points.tpl create mode 100644 0.2.1/templates/de/emails/member/member_autopurge_unconfirmed.tpl create mode 100644 0.2.1/templates/de/emails/member/member_beg.tpl create mode 100644 0.2.1/templates/de/emails/member/member_birthday.tpl create mode 100644 0.2.1/templates/de/emails/member/member_birthday_confirm.tpl create mode 100644 0.2.1/templates/de/emails/member/member_bonus.tpl create mode 100644 0.2.1/templates/de/emails/member/member_doubler.tpl create mode 100644 0.2.1/templates/de/emails/member/member_holiday_activated.tpl create mode 100644 0.2.1/templates/de/emails/member/member_holiday_removed.tpl create mode 100644 0.2.1/templates/de/emails/member/member_holiday_request.tpl create mode 100644 0.2.1/templates/de/emails/member/member_holiday_unlock.tpl create mode 100644 0.2.1/templates/de/emails/member/member_mydata_notify.tpl create mode 100644 0.2.1/templates/de/emails/member/member_newsletter_done.tpl create mode 100644 0.2.1/templates/de/emails/member/member_newsletter_request.tpl create mode 100644 0.2.1/templates/de/emails/member/member_newsletter_reset.tpl create mode 100644 0.2.1/templates/de/emails/member/member_payout_accepted.tpl create mode 100644 0.2.1/templates/de/emails/member/member_payout_rejected.tpl create mode 100644 0.2.1/templates/de/emails/member/member_payout_request.tpl create mode 100644 0.2.1/templates/de/emails/member/member_payout_request_banner.tpl create mode 100644 0.2.1/templates/de/emails/member/member_rallye_expired.tpl create mode 100644 0.2.1/templates/de/emails/member/member_rallye_expired_bronce.tpl create mode 100644 0.2.1/templates/de/emails/member/member_rallye_expired_gold.tpl create mode 100644 0.2.1/templates/de/emails/member/member_rallye_expired_silver.tpl create mode 100644 0.2.1/templates/de/emails/member/member_rallye_notify.tpl create mode 100644 0.2.1/templates/de/emails/member/member_stats_bonus.tpl create mode 100644 0.2.1/templates/de/emails/member/member_support-order.tpl create mode 100644 0.2.1/templates/de/emails/member/member_support-ordr.tpl create mode 100644 0.2.1/templates/de/emails/member/member_support-reflink.tpl create mode 100644 0.2.1/templates/de/emails/member/member_support-unconfirmed.tpl create mode 100644 0.2.1/templates/de/emails/member/member_transfer_recipient.tpl create mode 100644 0.2.1/templates/de/emails/member/member_transfer_sender.tpl create mode 100644 0.2.1/templates/de/emails/member/member_wernis_accepted.tpl create mode 100644 0.2.1/templates/de/emails/member/member_wernis_rejected.tpl create mode 100644 0.2.1/templates/de/emails/member/member_wernis_request.tpl create mode 100644 0.2.1/templates/de/emails/new-pass.tpl create mode 100644 0.2.1/templates/de/emails/newsletter.tpl create mode 100644 0.2.1/templates/de/emails/newsletter_html.tpl create mode 100644 0.2.1/templates/de/emails/normal-mail.tpl create mode 100644 0.2.1/templates/de/emails/order-accept.tpl create mode 100644 0.2.1/templates/de/emails/order-admin.tpl create mode 100644 0.2.1/templates/de/emails/order-deleted.tpl create mode 100644 0.2.1/templates/de/emails/order-member.tpl create mode 100644 0.2.1/templates/de/emails/order-reject.tpl create mode 100644 0.2.1/templates/de/emails/profile-updte.tpl create mode 100644 0.2.1/templates/de/emails/register-admin.tpl create mode 100644 0.2.1/templates/de/emails/register-member.tpl create mode 100644 0.2.1/templates/de/emails/sub-points.tpl create mode 100644 0.2.1/templates/de/emails/unlock-user.tpl create mode 100644 0.2.1/templates/de/html/.htaccess create mode 100644 0.2.1/templates/de/html/admin/.htaccess create mode 100644 0.2.1/templates/de/html/admin/admin_add_bank_package.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_banner.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_cat.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_country.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_max.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_payment.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_points.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_points_all.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_rallye.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_rallye_prices.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_add_reflvl.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admin_add.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_add.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_add_acl.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_contact_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_contct_default.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_contct_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_contct_select.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_mails_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_mails_edit_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_mails_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_mails_list.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_admins_mails_list_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_amenu_delete.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_amenu_delete_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_amenu_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_amenu_edit_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_amenu_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_cache_stats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_active.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_admin.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_admins.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_admins_del.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_admins_del_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_admins_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_admins_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_admins_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_autopurge.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_autopurge_pro.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_beg.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_beg_pro.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_birthday.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_bonus.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_bonus_pro.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_cache.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_cats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_cats_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_doubler.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_doubler_pro.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_email.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_email_del.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_email_del_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_email_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_email_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_email_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_extensions.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_holiday.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_home.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_home_main.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_home_settings.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_home_settings_pro.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_mediadata.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_newsletter.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_nickname.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_order.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_order_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_other.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_payouts.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_payouts_del.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_payouts_del_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_payouts_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_payouts_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_payouts_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_point_settings.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_points.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_rallye_del.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_rallye_del_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_rallye_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_rallye_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_rallye_prices.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_rallye_prices_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_refid.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_reg.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_reg_pro.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_register.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_register2.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_rewrite.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_rewrite_rows.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_secure.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_stats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_sub_points.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_title.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_top10.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_transfer.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_transfer_pro.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_user.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_config_wernis.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_data_saved.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_admins.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_admins_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_bank_packages.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_bank_packages_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_cats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_cats_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_email_bonus.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_email_normal.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_payments.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_payments_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_transfer_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_del_user.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_admins.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_admins_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_cats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_cats_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_email.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_email_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_email_select.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_payments.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_payments_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_rallyes.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_rallyes_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_edit_user.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_email_archiv.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_email_archiv_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_email_nav_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_ext_reg_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_404.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_delete.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_delete_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_installed.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_list.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_search.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_extensions_text.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_footer.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_gmenu_delete.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_gmenu_delete_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_gmenu_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_gmenu_edit_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_gmenu_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_gmenu_status.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_guest_add.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_admins.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_admins_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_autopurge.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_autopurge_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_bank_package.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_bank_package_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_beg.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_beg_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_beg_rows.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_bonus.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_bonus_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_bonus_rows.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_cats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_cats_404.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_cats_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_country.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_country_del_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_country_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_country_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_country_no_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_country_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_doubler_already.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_doubler_overview.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_doubler_waiting.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_extensions.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_extensions_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_holiday.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_holiday_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_links.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_links_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_payments.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_payouts.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_payouts_banner.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_payouts_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_payouts_txt.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_rallye_noselect.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_rallye_prices.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_rallye_prices_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_rallye_usr.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_rallye_usr_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_rallyes.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_rallyes_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_rallyes_row2.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_refs.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_refs_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_task_rows.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_transfer.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_transfer_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_unconfirmed.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_unconfirmed_header.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_unconfirmed_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_user.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_user_alpha.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_user_pagenav.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_user_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_user_sort.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_list_user_sort_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_lock_user.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_login_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_login_msg.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_logout.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_logout_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_main_footer.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_main_header.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_maintenance_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_member_add.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_member_selection_box.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_menu_404_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_menu_failed.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_menu_hints.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_menu_hints_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_menu_overview_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_menu_status_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_menu_unknown_okay.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mini_online.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mmenu_delete.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mmenu_delete_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mmenu_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mmenu_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mmenu_overview.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mmenu_status.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_footer_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_footer_list.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_footer_stats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_footer_stats2.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_header_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_header_list.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_header_stats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_header_stats2.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_list.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_list_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_stats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_stats2.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_stats2_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_mods_stats_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_newsletter.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_newsletter_nohtml.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_newsletter_tsk.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_online_footer.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_online_header.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_optimize.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_optimize_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_footer.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_footer_task.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_header.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_header_task.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_list.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_list_rows.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_task.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_task_extras.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_overview_task_rows.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_patches.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_patches_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_payments_list_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_payout_accept_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_payout_add_new.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_payout_failed_transfer.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_payout_overview_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_payout_reject_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_points.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_points_del.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_points_del_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_points_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_points_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_points_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_refbanner.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_refbanner_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_refbanner_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_refbanner_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_reg.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_reg_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_reg_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_send_bonus_form.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_send_bonus_select.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_settings_saved.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_setup_stats.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_sub_points.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_sub_points_all.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_task_holiday.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_theme_404.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_theme_edit.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_theme_edit_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_theme_import.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_theme_installed.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_theme_list.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_unlock_emails.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_unlock_emails_redir.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_unlock_emails_redir_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_unlock_emails_row.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_update_download.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_user_details.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_welcome.tpl create mode 100644 0.2.1/templates/de/html/admin/admin_welcome_admins.tpl create mode 100644 0.2.1/templates/de/html/agb.tpl create mode 100644 0.2.1/templates/de/html/beg/.htaccess create mode 100644 0.2.1/templates/de/html/beg/beg_banner.tpl create mode 100644 0.2.1/templates/de/html/beg/beg_done.tpl create mode 100644 0.2.1/templates/de/html/beg/beg_failed.tpl create mode 100644 0.2.1/templates/de/html/beg/beg_link.tpl create mode 100644 0.2.1/templates/de/html/beg/beg_login.tpl create mode 100644 0.2.1/templates/de/html/birthday/.htaccess create mode 100644 0.2.1/templates/de/html/birthday/birthday_confirm.tpl create mode 100644 0.2.1/templates/de/html/birthday/birthday_footer.tpl create mode 100644 0.2.1/templates/de/html/birthday/birthday_header.tpl create mode 100644 0.2.1/templates/de/html/birthday/birthday_msg.tpl create mode 100644 0.2.1/templates/de/html/copyright.tpl create mode 100644 0.2.1/templates/de/html/copyright_backlink.tpl create mode 100644 0.2.1/templates/de/html/doubler/.htaccess create mode 100644 0.2.1/templates/de/html/doubler/doubler_footer.tpl create mode 100644 0.2.1/templates/de/html/doubler/doubler_header.tpl create mode 100644 0.2.1/templates/de/html/doubler/doubler_index.tpl create mode 100644 0.2.1/templates/de/html/doubler/doubler_reflink.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_active.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_admins.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_admintheme1.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_admintheme_default.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_autopurge.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_bank.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_beg.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_birthday.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_bonus.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_cache.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_country.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_demo.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_doubler.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_holiday.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_html_mail.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_mailid.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_maintenance.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_mediadata.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_mods.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_mydata.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_newsletter.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_nickname.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_online.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_optimize.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_order.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_other.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_payout.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_profile.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_rallye.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_register.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_repair.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_rewrite.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_sql_patches.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_support.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_task.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_theme.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_top10.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_transfer.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_user.tpl create mode 100644 0.2.1/templates/de/html/ext/ext_wernis.tpl create mode 100644 0.2.1/templates/de/html/fatal_footer.tpl create mode 100644 0.2.1/templates/de/html/fatal_header.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_active_none_row.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_active_row.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_active_table.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_advert.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_advert2.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_beg.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_cat_row.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_cat_table.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_confirm_link.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_confirm_table.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_content_footer.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_doubler.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_doubler_list.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_doubler_list_rows.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_footer.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_frametester.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_goto_top.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_header.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_login.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_menu_bottom.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_menu_content.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_menu_row.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_menu_td.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_menu_title.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_menu_whats.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_nickname_login.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_no_rallyes.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_rallye_expired_footer.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_rallye_expired_header.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_rallye_footer.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_rallye_header.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_rallye_show.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_receive_table.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_register.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_register_refid.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_register_refid_hide.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_stats_cats_row.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_stats_member.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_stats_month_row.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_top10.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_top10_empty4.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_top10_empty5.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_top10_row_earner.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_top10_row_login.tpl create mode 100644 0.2.1/templates/de/html/guest/guest_top10_row_refs.tpl create mode 100644 0.2.1/templates/de/html/header.tpl create mode 100644 0.2.1/templates/de/html/impressum.tpl create mode 100644 0.2.1/templates/de/html/index.tpl create mode 100644 0.2.1/templates/de/html/index_forward.tpl create mode 100644 0.2.1/templates/de/html/infos.tpl create mode 100644 0.2.1/templates/de/html/install/install_fatal_row.tpl create mode 100644 0.2.1/templates/de/html/install/install_fatal_table.tpl create mode 100644 0.2.1/templates/de/html/install/install_footer.tpl create mode 100644 0.2.1/templates/de/html/install/install_header.tpl create mode 100644 0.2.1/templates/de/html/install/install_page1.tpl create mode 100644 0.2.1/templates/de/html/install/install_page2.tpl create mode 100644 0.2.1/templates/de/html/install/install_welcome.tpl create mode 100644 0.2.1/templates/de/html/lead_code.tpl create mode 100644 0.2.1/templates/de/html/loader.tpl create mode 100644 0.2.1/templates/de/html/login_failed_js.tpl create mode 100644 0.2.1/templates/de/html/mailid/.htaccess create mode 100644 0.2.1/templates/de/html/mailid/mailid_banner.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_confirm_buttom.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_enter_code.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_frames.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_frameset.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_points_done.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_points_done2.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_points_failed.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_points_lcoked2.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_points_locked.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_points_locked2.tpl create mode 100644 0.2.1/templates/de/html/mailid/mailid_timer.tpl create mode 100644 0.2.1/templates/de/html/main-welcome.tpl create mode 100644 0.2.1/templates/de/html/mediadata.tpl create mode 100644 0.2.1/templates/de/html/mediadata_extra_hrow.tpl create mode 100644 0.2.1/templates/de/html/mediadata_extra_row.tpl create mode 100644 0.2.1/templates/de/html/mediadata_extra_row2.tpl create mode 100644 0.2.1/templates/de/html/member/member_advert.tpl create mode 100644 0.2.1/templates/de/html/member/member_beg.tpl create mode 100644 0.2.1/templates/de/html/member/member_beg_404.tpl create mode 100644 0.2.1/templates/de/html/member/member_bonus.tpl create mode 100644 0.2.1/templates/de/html/member/member_bonus_404.tpl create mode 100644 0.2.1/templates/de/html/member/member_bonus_row.tpl create mode 100644 0.2.1/templates/de/html/member/member_cat_row.tpl create mode 100644 0.2.1/templates/de/html/member/member_cats_footer.tpl create mode 100644 0.2.1/templates/de/html/member/member_cats_header.tpl create mode 100644 0.2.1/templates/de/html/member/member_doubler.tpl create mode 100644 0.2.1/templates/de/html/member/member_doubler_list.tpl create mode 100644 0.2.1/templates/de/html/member/member_doubler_list_rows.tpl create mode 100644 0.2.1/templates/de/html/member/member_footer.tpl create mode 100644 0.2.1/templates/de/html/member/member_frameset-back.tpl create mode 100644 0.2.1/templates/de/html/member/member_frameset-send.tpl create mode 100644 0.2.1/templates/de/html/member/member_goto_top.tpl create mode 100644 0.2.1/templates/de/html/member/member_header.tpl create mode 100644 0.2.1/templates/de/html/member/member_holiday_deactivate.tpl create mode 100644 0.2.1/templates/de/html/member/member_holiday_form.tpl create mode 100644 0.2.1/templates/de/html/member/member_html_mail_settings.tpl create mode 100644 0.2.1/templates/de/html/member/member_list_beg.tpl create mode 100644 0.2.1/templates/de/html/member/member_list_beg_row.tpl create mode 100644 0.2.1/templates/de/html/member/member_login_js.tpl create mode 100644 0.2.1/templates/de/html/member/member_menu_bottom.tpl create mode 100644 0.2.1/templates/de/html/member/member_menu_row.tpl create mode 100644 0.2.1/templates/de/html/member/member_menu_title.tpl create mode 100644 0.2.1/templates/de/html/member/member_menu_whats.tpl create mode 100644 0.2.1/templates/de/html/member/member_mydata_button.tpl create mode 100644 0.2.1/templates/de/html/member/member_mydata_edit.tpl create mode 100644 0.2.1/templates/de/html/member/member_mydata_locked.tpl create mode 100644 0.2.1/templates/de/html/member/member_mydata_overview.tpl create mode 100644 0.2.1/templates/de/html/member/member_newsletter.tpl create mode 100644 0.2.1/templates/de/html/member/member_newsletter_note.tpl create mode 100644 0.2.1/templates/de/html/member/member_nickname_form.tpl create mode 100644 0.2.1/templates/de/html/member/member_order-back.tpl create mode 100644 0.2.1/templates/de/html/member/member_order-html_ext.tpl create mode 100644 0.2.1/templates/de/html/member/member_order-html_intro.tpl create mode 100644 0.2.1/templates/de/html/member/member_order-zip1.tpl create mode 100644 0.2.1/templates/de/html/member/member_order-zip2.tpl create mode 100644 0.2.1/templates/de/html/member/member_order_back.tpl create mode 100644 0.2.1/templates/de/html/member/member_order_frametester.tpl create mode 100644 0.2.1/templates/de/html/member/member_order_page1.tpl create mode 100644 0.2.1/templates/de/html/member/member_order_page2.tpl create mode 100644 0.2.1/templates/de/html/member/member_order_points.tpl create mode 100644 0.2.1/templates/de/html/member/member_order_send.tpl create mode 100644 0.2.1/templates/de/html/member/member_payout.tpl create mode 100644 0.2.1/templates/de/html/member/member_payout_form.tpl create mode 100644 0.2.1/templates/de/html/member/member_payout_form_banner.tpl create mode 100644 0.2.1/templates/de/html/member/member_payout_row.tpl create mode 100644 0.2.1/templates/de/html/member/member_points.tpl create mode 100644 0.2.1/templates/de/html/member/member_points_bonus_disabled.tpl create mode 100644 0.2.1/templates/de/html/member/member_points_bonus_rows.tpl create mode 100644 0.2.1/templates/de/html/member/member_points_row.tpl create mode 100644 0.2.1/templates/de/html/member/member_points_upgrade.tpl create mode 100644 0.2.1/templates/de/html/member/member_receive_table.tpl create mode 100644 0.2.1/templates/de/html/member/member_reflinks_row.tpl create mode 100644 0.2.1/templates/de/html/member/member_reflinks_table.tpl create mode 100644 0.2.1/templates/de/html/member/member_stats_row.tpl create mode 100644 0.2.1/templates/de/html/member/member_stats_table.tpl create mode 100644 0.2.1/templates/de/html/member/member_support_contacted.tpl create mode 100644 0.2.1/templates/de/html/member/member_support_contcted.tpl create mode 100644 0.2.1/templates/de/html/member/member_support_form.tpl create mode 100644 0.2.1/templates/de/html/member/member_themes.tpl create mode 100644 0.2.1/templates/de/html/member/member_transfer_list.tpl create mode 100644 0.2.1/templates/de/html/member/member_transfer_new.tpl create mode 100644 0.2.1/templates/de/html/member/member_transfer_overview.tpl create mode 100644 0.2.1/templates/de/html/member/member_transfer_settings.tpl create mode 100644 0.2.1/templates/de/html/member/member_unconfirmed_404.tpl create mode 100644 0.2.1/templates/de/html/member/member_unconfirmed_row.tpl create mode 100644 0.2.1/templates/de/html/member/member_unconfirmed_table.tpl create mode 100644 0.2.1/templates/de/html/member/member_welcome.tpl create mode 100644 0.2.1/templates/de/html/member/member_welcome_footer.tpl create mode 100644 0.2.1/templates/de/html/member/member_welcome_header.tpl create mode 100644 0.2.1/templates/de/html/member/member_wernis.tpl create mode 100644 0.2.1/templates/de/html/member/member_wernis_form.tpl create mode 100644 0.2.1/templates/de/html/member/member_wernis_row.tpl create mode 100644 0.2.1/templates/de/html/message.tpl create mode 100644 0.2.1/templates/de/html/metadata.tpl create mode 100644 0.2.1/templates/de/html/online_now.tpl create mode 100644 0.2.1/templates/de/html/page_body.tpl create mode 100644 0.2.1/templates/de/html/page_footer.tpl create mode 100644 0.2.1/templates/de/html/page_header.tpl create mode 100644 0.2.1/templates/de/html/profile-update.tpl create mode 100644 0.2.1/templates/de/html/rallye_test.tpl create mode 100644 0.2.1/templates/de/html/register_header.tpl create mode 100644 0.2.1/templates/de/html/runtime_fatal_row.tpl create mode 100644 0.2.1/templates/de/html/runtime_fatal_table.tpl create mode 100644 0.2.1/templates/de/html/show_bonus.tpl create mode 100644 0.2.1/templates/de/html/show_bonus_footer.tpl create mode 100644 0.2.1/templates/de/html/show_bonus_header.tpl create mode 100644 0.2.1/templates/de/html/show_bonus_msg.tpl create mode 100644 0.2.1/templates/de/html/show_bonus_yr.tpl create mode 100644 0.2.1/templates/de/html/theme_one.tpl create mode 100644 0.2.1/templates/de/html/theme_select_box.tpl create mode 100644 0.2.1/templates/de/html/theme_select_form.tpl create mode 100644 0.2.1/templates/de/html/welcome.tpl create mode 100644 0.2.1/templates/en/html/admin/admin_welcome.tpl create mode 100644 0.2.1/templates/en/html/impressum.tpl create mode 100644 0.2.1/templates/en/html/mailid/.htaccess create mode 100644 0.2.1/templates/en/html/register_header.tpl create mode 100644 0.2.1/templates/en/html/welcome.tpl create mode 100644 0.2.1/theme/business/css/active.css create mode 100644 0.2.1/theme/business/css/beg.css create mode 100644 0.2.1/theme/business/css/bonus.css create mode 100644 0.2.1/theme/business/css/doubler.css create mode 100644 0.2.1/theme/business/css/general.css create mode 100644 0.2.1/theme/business/css/install.css create mode 100644 0.2.1/theme/business/css/nickname.css create mode 100644 0.2.1/theme/business/css/register.css create mode 100644 0.2.1/theme/business/css/task.css create mode 100644 0.2.1/theme/business/css/top10.css create mode 100644 0.2.1/theme/business/css/transfer.css create mode 100644 0.2.1/theme/business/images/code_bg.jpg create mode 100644 0.2.1/theme/business/images/code_bg.png create mode 100644 0.2.1/theme/business/theme.php create mode 100644 0.2.1/theme/default/css/active.css create mode 100644 0.2.1/theme/default/css/beg.css create mode 100644 0.2.1/theme/default/css/bonus.css create mode 100644 0.2.1/theme/default/css/doubler.css create mode 100644 0.2.1/theme/default/css/general.css create mode 100644 0.2.1/theme/default/css/install.css create mode 100644 0.2.1/theme/default/css/nickname.css create mode 100644 0.2.1/theme/default/css/register.css create mode 100644 0.2.1/theme/default/css/task.css create mode 100644 0.2.1/theme/default/css/top10.css create mode 100644 0.2.1/theme/default/css/transfer.css create mode 100644 0.2.1/theme/default/images/code_bg.jpg create mode 100644 0.2.1/theme/default/images/code_bg.png create mode 100644 0.2.1/theme/default/theme.php create mode 100644 0.2.1/theme/desert/css/active.css create mode 100644 0.2.1/theme/desert/css/beg.css create mode 100644 0.2.1/theme/desert/css/bonus.css create mode 100644 0.2.1/theme/desert/css/doubler.css create mode 100644 0.2.1/theme/desert/css/general.css create mode 100644 0.2.1/theme/desert/css/help.css create mode 100644 0.2.1/theme/desert/css/install.css create mode 100644 0.2.1/theme/desert/css/paidlinks.css create mode 100644 0.2.1/theme/desert/css/register.css create mode 100644 0.2.1/theme/desert/css/sponsor.css create mode 100644 0.2.1/theme/desert/css/top10.css create mode 100644 0.2.1/theme/desert/css/transfer.css create mode 100644 0.2.1/theme/desert/images/code_bg.jpg create mode 100644 0.2.1/theme/desert/images/code_bg.png create mode 100644 0.2.1/theme/desert/images/help/bullet.png create mode 100644 0.2.1/theme/desert/images/help/down.jpg create mode 100644 0.2.1/theme/desert/images/help/left.jpg create mode 100644 0.2.1/theme/desert/images/help/right.jpg create mode 100644 0.2.1/theme/desert/images/help/up.jpg create mode 100644 0.2.1/theme/desert/theme.php create mode 100644 0.2.1/view.php diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..115371665e --- /dev/null +++ b/.gitattributes @@ -0,0 +1,1225 @@ +* text=auto !eol +0.2.1/.htaccess -text +0.2.1/DOCS/DIFF_LIST.txt -text +0.2.1/DOCS/INSTALL.txt -text +0.2.1/DOCS/LICENSE.txt -text +0.2.1/DOCS/README -text +0.2.1/DOCS/de/AUTHORS.txt -text +0.2.1/DOCS/de/CHANGES.txt -text +0.2.1/DOCS/de/CSS-PATCHES.txt -text +0.2.1/DOCS/de/CSS-PATCHES_05092004.txt -text +0.2.1/DOCS/de/DESIGNING.txt -text +0.2.1/DOCS/de/EXTENSIONS.txt -text +0.2.1/DOCS/de/LICENSE.txt -text +0.2.1/DOCS/de/MENUE_HOVER.txt -text +0.2.1/DOCS/de/PATCHES.txt -text +0.2.1/DOCS/de/PATCH_320.txt -text +0.2.1/DOCS/de/README.txt -text +0.2.1/DOCS/de/SECURITY.txt -text +0.2.1/DOCS/de/TEMPLATES.txt -text +0.2.1/DOCS/de/THANK_YOU.txt -text +0.2.1/DOCS/de/TODO.txt -text +0.2.1/DOCS/de/UPGRADING.txt -text +0.2.1/DOCS/de/cache/README.txt -text +0.2.1/DOCS/de/country/README.txt -text +0.2.1/DOCS/de/country/countries-europe.sql -text +0.2.1/DOCS/de/country/countries-full.sql -text +0.2.1/DOCS/de/country/countries-sorted.sql -text +0.2.1/DOCS/de/doubler/README.txt -text +0.2.1/DOCS/de/engine/README.txt -text +0.2.1/DOCS/de/promoter.txt -text +0.2.1/DOCS/de/rallye/README.txt -text +0.2.1/DOCS/de/rewrite/.htaccess -text +0.2.1/DOCS/de/rewrite/README.txt -text +0.2.1/DOCS/de/rewrite/README_htaccess.de -text +0.2.1/DOCS/de/task/README.txt -text +0.2.1/DOCS/de/themes/README.txt -text +0.2.1/DOCS/en/AUTHORS.txt -text +0.2.1/DOCS/en/CHANGES.txt -text +0.2.1/DOCS/en/CSS-PATCHES.txt -text +0.2.1/DOCS/en/CSS-PATCHES_05092004.txt -text +0.2.1/DOCS/en/DESIGNING.txt -text +0.2.1/DOCS/en/EXTENSIONS.txt -text +0.2.1/DOCS/en/LICENSE.txt -text +0.2.1/DOCS/en/MENUE_HOVER.txt -text +0.2.1/DOCS/en/PATCHES.txt -text +0.2.1/DOCS/en/PATCH_320.txt -text +0.2.1/DOCS/en/README.txt -text +0.2.1/DOCS/en/SECURITY.txt -text +0.2.1/DOCS/en/TEMPLATES.txt -text +0.2.1/DOCS/en/THANK_YOU.txt -text +0.2.1/DOCS/en/TODO.txt -text +0.2.1/DOCS/en/UPGRADING.txt -text +0.2.1/DOCS/en/cache/README.txt -text +0.2.1/DOCS/en/country/README.txt -text +0.2.1/DOCS/en/country/countries-europe.sql -text +0.2.1/DOCS/en/country/countries-full.sql -text +0.2.1/DOCS/en/country/countries-sorted.sql -text +0.2.1/DOCS/en/doubler/README.txt -text +0.2.1/DOCS/en/engine/README.txt -text +0.2.1/DOCS/en/promoter.txt -text +0.2.1/DOCS/en/rallye/README.txt -text +0.2.1/DOCS/en/rewrite/.htaccess -text +0.2.1/DOCS/en/rewrite/README.txt -text +0.2.1/DOCS/en/rewrite/README_htaccess.de -text +0.2.1/DOCS/en/task/README.txt -text +0.2.1/DOCS/en/themes/README.txt -text +0.2.1/admin.php -text +0.2.1/agb.php -text +0.2.1/beg.php -text +0.2.1/birthday_confirm.php -text +0.2.1/click.php -text +0.2.1/confirm.php -text +0.2.1/css.php -text +0.2.1/doubler.php -text +0.2.1/img.php -text +0.2.1/inc/.htaccess -text +0.2.1/inc/.secret/.a37fde8c5ab1752c8dd327eb8b32b7dadd936de52b0e5c2d0 -text +0.2.1/inc/.secret/.deba26cfafe1cb6cc264c05daaee48d821c4c2d5e0d7c6aa8 -text +0.2.1/inc/.secret/.htaccess -text +0.2.1/inc/autopurge.php -text +0.2.1/inc/birthday_mails.php -text +0.2.1/inc/cache/.htaccess -text +0.2.1/inc/config.php -text +0.2.1/inc/daily-reset.php -text +0.2.1/inc/databases.php -text +0.2.1/inc/db/.htaccess -text +0.2.1/inc/db/lib-mysql3.php -text +0.2.1/inc/db/lib.php -text +0.2.1/inc/doubler_send.php -text +0.2.1/inc/extensions.php -text +0.2.1/inc/extensions/.htaccess -text +0.2.1/inc/extensions/ext- -text +0.2.1/inc/extensions/ext-active.php -text +0.2.1/inc/extensions/ext-admins.php -text +0.2.1/inc/extensions/ext-admintheme1.php -text +0.2.1/inc/extensions/ext-admintheme_default.php -text +0.2.1/inc/extensions/ext-autopurge.php -text +0.2.1/inc/extensions/ext-bank.php -text +0.2.1/inc/extensions/ext-beg.php -text +0.2.1/inc/extensions/ext-birthday.php -text +0.2.1/inc/extensions/ext-bonus.php -text +0.2.1/inc/extensions/ext-cache.php -text +0.2.1/inc/extensions/ext-country.php -text +0.2.1/inc/extensions/ext-demo.php -text +0.2.1/inc/extensions/ext-doubler.php -text +0.2.1/inc/extensions/ext-holiday.php -text +0.2.1/inc/extensions/ext-html_mail.php -text +0.2.1/inc/extensions/ext-mailid.php -text +0.2.1/inc/extensions/ext-maintenance.php -text +0.2.1/inc/extensions/ext-mediadata.php -text +0.2.1/inc/extensions/ext-mods.php -text +0.2.1/inc/extensions/ext-mydata.php -text +0.2.1/inc/extensions/ext-newsletter.php -text +0.2.1/inc/extensions/ext-nickname.php -text +0.2.1/inc/extensions/ext-online.php -text +0.2.1/inc/extensions/ext-optimize.php -text +0.2.1/inc/extensions/ext-order.php -text +0.2.1/inc/extensions/ext-other.php -text +0.2.1/inc/extensions/ext-payout.php -text +0.2.1/inc/extensions/ext-profile.php -text +0.2.1/inc/extensions/ext-rallye.php -text +0.2.1/inc/extensions/ext-register.php -text +0.2.1/inc/extensions/ext-repair.php -text +0.2.1/inc/extensions/ext-rewrite.php -text +0.2.1/inc/extensions/ext-sql_patches.php -text +0.2.1/inc/extensions/ext-support.php -text +0.2.1/inc/extensions/ext-task.php -text +0.2.1/inc/extensions/ext-theme.php -text +0.2.1/inc/extensions/ext-top10.php -text +0.2.1/inc/extensions/ext-transfer.php -text +0.2.1/inc/extensions/ext-user.php -text +0.2.1/inc/extensions/ext-wernis.php -text +0.2.1/inc/fatal_errors.php -text +0.2.1/inc/footer.php -text +0.2.1/inc/functions.php -text +0.2.1/inc/gen_mediadata.php -text +0.2.1/inc/gen_sql_patches.php -text +0.2.1/inc/header.php -text +0.2.1/inc/install-inc.php -text +0.2.1/inc/language.php -text +0.2.1/inc/language/.htaccess -text +0.2.1/inc/language/active_de.php -text +0.2.1/inc/language/admins_de.php -text +0.2.1/inc/language/autopurge_de.php -text +0.2.1/inc/language/bank_de.php -text +0.2.1/inc/language/beg_de.php -text +0.2.1/inc/language/birthday_de.php -text +0.2.1/inc/language/bonus_de.php -text +0.2.1/inc/language/cache_de.php -text +0.2.1/inc/language/country_de.php -text +0.2.1/inc/language/de.php -text +0.2.1/inc/language/doubler_de.php -text +0.2.1/inc/language/en.ph -text +0.2.1/inc/language/en.php -text +0.2.1/inc/language/holiday_de.php -text +0.2.1/inc/language/html_mail_de.php -text +0.2.1/inc/language/install_de.php -text +0.2.1/inc/language/mailid_de.php -text +0.2.1/inc/language/maintenance_de.php -text +0.2.1/inc/language/mediadata_de.php -text +0.2.1/inc/language/mods_de.php -text +0.2.1/inc/language/newsletter_de.php -text +0.2.1/inc/language/nickname_de.php -text +0.2.1/inc/language/online_de.php -text +0.2.1/inc/language/optimize_de.php -text +0.2.1/inc/language/order_de.php -text +0.2.1/inc/language/other_de.php -text +0.2.1/inc/language/payout_de.php -text +0.2.1/inc/language/pro_de.php -text +0.2.1/inc/language/rallye_de.php -text +0.2.1/inc/language/register_de.php -text +0.2.1/inc/language/repair_de.php -text +0.2.1/inc/language/rewrite_de.php -text +0.2.1/inc/language/support_de.php -text +0.2.1/inc/language/task_de.php -text +0.2.1/inc/language/theme_de.php -text +0.2.1/inc/language/top10_de.php -text +0.2.1/inc/language/transfer_de.php -text +0.2.1/inc/language/user_de.php -text +0.2.1/inc/language/wernis_de.php -text +0.2.1/inc/libs/.htaccess -text +0.2.1/inc/libs/admins_functions.php -text +0.2.1/inc/libs/autopurge_functions.php -text +0.2.1/inc/libs/bonus_functions.php -text +0.2.1/inc/libs/cache_functions.php -text +0.2.1/inc/libs/country_functions.php -text +0.2.1/inc/libs/doubler_functions.php -text +0.2.1/inc/libs/holiday_functions.php -text +0.2.1/inc/libs/html_mail_functions.php -text +0.2.1/inc/libs/mediadata_functions.php -text +0.2.1/inc/libs/newsletter_functions.php -text +0.2.1/inc/libs/nickname_functions.php -text +0.2.1/inc/libs/optimize_functions.php -text +0.2.1/inc/libs/order_functions.php -text +0.2.1/inc/libs/output_functions.php -text +0.2.1/inc/libs/payout_functions.php -text +0.2.1/inc/libs/pro_functions.php -text +0.2.1/inc/libs/rallye_functions.php -text +0.2.1/inc/libs/register_functions.php -text +0.2.1/inc/libs/rewrite_functions.php -text +0.2.1/inc/libs/security_functions.php -text +0.2.1/inc/libs/task_functions.php -text +0.2.1/inc/libs/transfer_functions.php -text +0.2.1/inc/libs/user_functions.php -text +0.2.1/inc/libs/wernis_functions.php -text +0.2.1/inc/load_cache.php -text +0.2.1/inc/load_extensions.php -text +0.2.1/inc/mails/.htaccess -text +0.2.1/inc/mails/_mails.php -text +0.2.1/inc/mails/beg_mails.php -text +0.2.1/inc/mails/birthday_mails.php -text +0.2.1/inc/mails/bonus_mails.php -text +0.2.1/inc/modules/.htaccess -text +0.2.1/inc/modules/admin.php -text +0.2.1/inc/modules/admin/.htaccess -text +0.2.1/inc/modules/admin/action- -text +0.2.1/inc/modules/admin/action-admins.php -text +0.2.1/inc/modules/admin/action-bank.php -text +0.2.1/inc/modules/admin/action-country.php -text +0.2.1/inc/modules/admin/action-doubler.php -text +0.2.1/inc/modules/admin/action-email.php -text +0.2.1/inc/modules/admin/action-holiday.php -text +0.2.1/inc/modules/admin/action-login.php -text +0.2.1/inc/modules/admin/action-logout.php -text +0.2.1/inc/modules/admin/action-menu.php -text +0.2.1/inc/modules/admin/action-misc.php -text +0.2.1/inc/modules/admin/action-mods.php -text +0.2.1/inc/modules/admin/action-newsletter.php -text +0.2.1/inc/modules/admin/action-payouts.php -text +0.2.1/inc/modules/admin/action-rallye.php -text +0.2.1/inc/modules/admin/action-repair.php -text +0.2.1/inc/modules/admin/action-setup.php -text +0.2.1/inc/modules/admin/action-stats.php -text +0.2.1/inc/modules/admin/action-task.php -text +0.2.1/inc/modules/admin/action-theme.php -text +0.2.1/inc/modules/admin/action-transfer.php -text +0.2.1/inc/modules/admin/action-user.php -text +0.2.1/inc/modules/admin/action-wernis.php -text +0.2.1/inc/modules/admin/admin-inc.php -text +0.2.1/inc/modules/admin/overview-inc.php -text +0.2.1/inc/modules/admin/what- -text +0.2.1/inc/modules/admin/what-add_bank_package.php -text +0.2.1/inc/modules/admin/what-add_guestnl_cat.php -text +0.2.1/inc/modules/admin/what-add_points.php -text +0.2.1/inc/modules/admin/what-add_rallye.php -text +0.2.1/inc/modules/admin/what-admin_add.php -text +0.2.1/inc/modules/admin/what-adminedit.php -text +0.2.1/inc/modules/admin/what-admins_add.php -text +0.2.1/inc/modules/admin/what-admins_contact.php -text +0.2.1/inc/modules/admin/what-admins_contct.php -text +0.2.1/inc/modules/admin/what-admins_edit.php -text +0.2.1/inc/modules/admin/what-admins_mails.php -text +0.2.1/inc/modules/admin/what-autopurge.php -text +0.2.1/inc/modules/admin/what-bonus.php -text +0.2.1/inc/modules/admin/what-cache_stats.php -text +0.2.1/inc/modules/admin/what-chk_regs.php -text +0.2.1/inc/modules/admin/what-config_active.php -text +0.2.1/inc/modules/admin/what-config_admin.php -text +0.2.1/inc/modules/admin/what-config_admins.php -text +0.2.1/inc/modules/admin/what-config_autopurge.php -text +0.2.1/inc/modules/admin/what-config_beg.php -text +0.2.1/inc/modules/admin/what-config_birthday.php -text +0.2.1/inc/modules/admin/what-config_bonus.php -text +0.2.1/inc/modules/admin/what-config_cache.php -text +0.2.1/inc/modules/admin/what-config_cats.php -text +0.2.1/inc/modules/admin/what-config_doubler.php -text +0.2.1/inc/modules/admin/what-config_email.php -text +0.2.1/inc/modules/admin/what-config_extensions.php -text +0.2.1/inc/modules/admin/what-config_holiday.php -text +0.2.1/inc/modules/admin/what-config_home.php -text +0.2.1/inc/modules/admin/what-config_mediadata.php -text +0.2.1/inc/modules/admin/what-config_mods.php -text +0.2.1/inc/modules/admin/what-config_newsletter.php -text +0.2.1/inc/modules/admin/what-config_nickname.php -text +0.2.1/inc/modules/admin/what-config_order.php -text +0.2.1/inc/modules/admin/what-config_other.php -text +0.2.1/inc/modules/admin/what-config_payouts.php -text +0.2.1/inc/modules/admin/what-config_points.php -text +0.2.1/inc/modules/admin/what-config_rallye_prices.php -text +0.2.1/inc/modules/admin/what-config_refid.php -text +0.2.1/inc/modules/admin/what-config_reg.php -text +0.2.1/inc/modules/admin/what-config_register.php -text +0.2.1/inc/modules/admin/what-config_register2.php -text +0.2.1/inc/modules/admin/what-config_rewrite.php -text +0.2.1/inc/modules/admin/what-config_secure.php -text +0.2.1/inc/modules/admin/what-config_stats.php -text +0.2.1/inc/modules/admin/what-config_title.php -text +0.2.1/inc/modules/admin/what-config_top10.php -text +0.2.1/inc/modules/admin/what-config_transfer.php -text +0.2.1/inc/modules/admin/what-config_user.php -text +0.2.1/inc/modules/admin/what-config_wernis.php -text +0.2.1/inc/modules/admin/what-del_email.php -text +0.2.1/inc/modules/admin/what-del_holiday.php -text +0.2.1/inc/modules/admin/what-del_task.php -text +0.2.1/inc/modules/admin/what-del_transfer.php -text +0.2.1/inc/modules/admin/what-del_user.php -text +0.2.1/inc/modules/admin/what-edit_emails.php -text +0.2.1/inc/modules/admin/what-edit_user.php -text +0.2.1/inc/modules/admin/what-email_archiv.php -text +0.2.1/inc/modules/admin/what-email_details.php -text +0.2.1/inc/modules/admin/what-email_stats.php -text +0.2.1/inc/modules/admin/what-extensions.php -text +0.2.1/inc/modules/admin/what-guest_add.php -text +0.2.1/inc/modules/admin/what-guestedit.php -text +0.2.1/inc/modules/admin/what-holiday_list.php -text +0.2.1/inc/modules/admin/what-holiday_remove.php -text +0.2.1/inc/modules/admin/what-list_autopurge.php -text +0.2.1/inc/modules/admin/what-list_bank_package.php -text +0.2.1/inc/modules/admin/what-list_beg.php -text +0.2.1/inc/modules/admin/what-list_bonus.php -text +0.2.1/inc/modules/admin/what-list_cats.php -text +0.2.1/inc/modules/admin/what-list_country.php -text +0.2.1/inc/modules/admin/what-list_doubler.php -text +0.2.1/inc/modules/admin/what-list_holiday.php -text +0.2.1/inc/modules/admin/what-list_links.php -text +0.2.1/inc/modules/admin/what-list_newsletter.php -text +0.2.1/inc/modules/admin/what-list_norefs.php -text +0.2.1/inc/modules/admin/what-list_payouts.php -text +0.2.1/inc/modules/admin/what-list_rallyes.php -text +0.2.1/inc/modules/admin/what-list_refs.php -text +0.2.1/inc/modules/admin/what-list_task.php -text +0.2.1/inc/modules/admin/what-list_transfer.php -text +0.2.1/inc/modules/admin/what-list_unconfirmed.php -text +0.2.1/inc/modules/admin/what-list_user.php -text +0.2.1/inc/modules/admin/what-list_wernis.php -text +0.2.1/inc/modules/admin/what-lock_user.php -text +0.2.1/inc/modules/admin/what-logs.php -text +0.2.1/inc/modules/admin/what-maintenance.php -text +0.2.1/inc/modules/admin/what-mem_add.php -text +0.2.1/inc/modules/admin/what-memedit.php -text +0.2.1/inc/modules/admin/what-newsletter.php -text +0.2.1/inc/modules/admin/what-optimize.php -text +0.2.1/inc/modules/admin/what-overview.php -text +0.2.1/inc/modules/admin/what-payments.php -text +0.2.1/inc/modules/admin/what-refbanner.php -text +0.2.1/inc/modules/admin/what-repair_amenu.php -text +0.2.1/inc/modules/admin/what-repair_amnu.php -text +0.2.1/inc/modules/admin/what-repair_cats.php -text +0.2.1/inc/modules/admin/what-repair_gmenu.php -text +0.2.1/inc/modules/admin/what-repair_gmnu.php -text +0.2.1/inc/modules/admin/what-repair_mmenu.php -text +0.2.1/inc/modules/admin/what-repair_mmnu.php -text +0.2.1/inc/modules/admin/what-send_bonus.php -text +0.2.1/inc/modules/admin/what-send_newsletter.php -text +0.2.1/inc/modules/admin/what-stats.php -text +0.2.1/inc/modules/admin/what-stats_mods.php -text +0.2.1/inc/modules/admin/what-sub_points.php -text +0.2.1/inc/modules/admin/what-theme_check.php -text +0.2.1/inc/modules/admin/what-theme_edit.php -text +0.2.1/inc/modules/admin/what-theme_import.php -text +0.2.1/inc/modules/admin/what-unlock_emails.php -text +0.2.1/inc/modules/admin/what-updates.php -text +0.2.1/inc/modules/admin/what-usage.php -text +0.2.1/inc/modules/admin/what-user_online.php -text +0.2.1/inc/modules/admin/what-usr_online.php -text +0.2.1/inc/modules/chk_login.php -text +0.2.1/inc/modules/frameset.php -text +0.2.1/inc/modules/frametester.php -text +0.2.1/inc/modules/guest/.htaccess -text +0.2.1/inc/modules/guest/action- -text +0.2.1/inc/modules/guest/action-admin.php -text +0.2.1/inc/modules/guest/action-main.php -text +0.2.1/inc/modules/guest/action-members.php -text +0.2.1/inc/modules/guest/action-online.php -text +0.2.1/inc/modules/guest/action-themes.php -text +0.2.1/inc/modules/guest/what- -text +0.2.1/inc/modules/guest/what-active.php -text +0.2.1/inc/modules/guest/what-admin.php -text +0.2.1/inc/modules/guest/what-agb.php -text +0.2.1/inc/modules/guest/what-beg.php -text +0.2.1/inc/modules/guest/what-confirm.php -text +0.2.1/inc/modules/guest/what-doubler.php -text +0.2.1/inc/modules/guest/what-impressum.php -text +0.2.1/inc/modules/guest/what-infos.php -text +0.2.1/inc/modules/guest/what-login.php -text +0.2.1/inc/modules/guest/what-mediadata.php -text +0.2.1/inc/modules/guest/what-my_weblog.php -text +0.2.1/inc/modules/guest/what-rallyes.php -text +0.2.1/inc/modules/guest/what-register.php -text +0.2.1/inc/modules/guest/what-stats.php -text +0.2.1/inc/modules/guest/what-top10.php -text +0.2.1/inc/modules/guest/what-welcome.php -text +0.2.1/inc/modules/guest/what-wernis_portal.php -text +0.2.1/inc/modules/index.php -text +0.2.1/inc/modules/loader.php -text +0.2.1/inc/modules/login.php -text +0.2.1/inc/modules/member/.htaccess -text +0.2.1/inc/modules/member/action- -text +0.2.1/inc/modules/member/action-account.php -text +0.2.1/inc/modules/member/action-bank.php -text +0.2.1/inc/modules/member/action-extras.php -text +0.2.1/inc/modules/member/action-logout.php -text +0.2.1/inc/modules/member/action-main.php -text +0.2.1/inc/modules/member/action-order.php -text +0.2.1/inc/modules/member/action-rals.php -text +0.2.1/inc/modules/member/action-stats.php -text +0.2.1/inc/modules/member/action-themes.php -text +0.2.1/inc/modules/member/what- -text +0.2.1/inc/modules/member/what-bank_create.php -text +0.2.1/inc/modules/member/what-bank_deposit.php -text +0.2.1/inc/modules/member/what-bank_infos.php -text +0.2.1/inc/modules/member/what-bank_output.php -text +0.2.1/inc/modules/member/what-bank_withdraw.php -text +0.2.1/inc/modules/member/what-beg.php -text +0.2.1/inc/modules/member/what-beg2.php -text +0.2.1/inc/modules/member/what-bonus.php -text +0.2.1/inc/modules/member/what-categories.php -text +0.2.1/inc/modules/member/what-doubler.php -text +0.2.1/inc/modules/member/what-guest.php -text +0.2.1/inc/modules/member/what-holiday.php -text +0.2.1/inc/modules/member/what-html_mail.php -text +0.2.1/inc/modules/member/what-logout.php -text +0.2.1/inc/modules/member/what-mydata.php -text +0.2.1/inc/modules/member/what-newsletter.php -text +0.2.1/inc/modules/member/what-nickname.php -text +0.2.1/inc/modules/member/what-order.php -text +0.2.1/inc/modules/member/what-payout.php -text +0.2.1/inc/modules/member/what-points.php -text +0.2.1/inc/modules/member/what-rallyes.php -text +0.2.1/inc/modules/member/what-reflinks.php -text +0.2.1/inc/modules/member/what-stats.php -text +0.2.1/inc/modules/member/what-support.php -text +0.2.1/inc/modules/member/what-themes.php -text +0.2.1/inc/modules/member/what-transfer.php -text +0.2.1/inc/modules/member/what-unconfirmed.php -text +0.2.1/inc/modules/member/what-welcome.php -text +0.2.1/inc/modules/member/what-wernis.php -text +0.2.1/inc/modules/order.php -text +0.2.1/inc/modules/welcome.php -text +0.2.1/inc/monthly/.htaccess -text +0.2.1/inc/monthly/monthly_ -text +0.2.1/inc/monthly/monthly_beg.php -text +0.2.1/inc/monthly/monthly_bonus.php -text +0.2.1/inc/monthly/monthly_newsletter.php -text +0.2.1/inc/monthly_newsletter.php -text +0.2.1/inc/mysql-connect.php -text +0.2.1/inc/mysql-manager.php -text +0.2.1/inc/patch-system.php -text +0.2.1/inc/phpmailer/ChangeLog.txt -text +0.2.1/inc/phpmailer/LICENSE -text +0.2.1/inc/phpmailer/README -text +0.2.1/inc/phpmailer/class.phpmailer.php -text +0.2.1/inc/phpmailer/class.pop3.php -text +0.2.1/inc/phpmailer/class.smtp.php -text +0.2.1/inc/phpmailer/codeworxtech.html -text +0.2.1/inc/phpmailer/docs/extending.html -text +0.2.1/inc/phpmailer/docs/faq.html -text +0.2.1/inc/phpmailer/docs/pop3_article.txt -text +0.2.1/inc/phpmailer/docs/use_gmail.txt -text +0.2.1/inc/phpmailer/examples/contents.html -text +0.2.1/inc/phpmailer/examples/images/bkgrnd.gif -text +0.2.1/inc/phpmailer/examples/images/phpmailer.gif -text +0.2.1/inc/phpmailer/examples/images/phpmailer.png -text +0.2.1/inc/phpmailer/examples/images/phpmailer_mini.gif -text +0.2.1/inc/phpmailer/examples/index.html -text +0.2.1/inc/phpmailer/examples/pop3_before_smtp_test.php -text +0.2.1/inc/phpmailer/examples/test1.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-br.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-ca.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-cz.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-de.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-dk.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-en.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-es.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-et.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-fi.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-fo.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-fr.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-hu.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-it.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-ja.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-nl.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-no.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-pl.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-ro.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-ru.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-se.php -text +0.2.1/inc/phpmailer/language/phpmailer.lang-tr.php -text +0.2.1/inc/phpmailer/phpdoc/PHPMailer/PHPMailer.html -text +0.2.1/inc/phpmailer/phpdoc/PHPMailer/SMTP.html -text +0.2.1/inc/phpmailer/phpdoc/PHPMailer/_class_phpmailer_php.html -text +0.2.1/inc/phpmailer/phpdoc/PHPMailer/_class_smtp_php.html -text +0.2.1/inc/phpmailer/phpdoc/blank.html -text +0.2.1/inc/phpmailer/phpdoc/classtrees_PHPMailer.html -text +0.2.1/inc/phpmailer/phpdoc/elementindex.html -text +0.2.1/inc/phpmailer/phpdoc/elementindex_PHPMailer.html -text +0.2.1/inc/phpmailer/phpdoc/errors.html -text +0.2.1/inc/phpmailer/phpdoc/index.html -text +0.2.1/inc/phpmailer/phpdoc/li_PHPMailer.html -text +0.2.1/inc/phpmailer/phpdoc/media/banner.css -text +0.2.1/inc/phpmailer/phpdoc/media/stylesheet.css -text +0.2.1/inc/phpmailer/phpdoc/packages.html -text +0.2.1/inc/phpmailer/test/phpmailer_test.php -text +0.2.1/inc/phpmailer/test/phpunit.php -text +0.2.1/inc/phpmailer/test/test.png -text +0.2.1/inc/pool-update.php -text +0.2.1/inc/profile-updte.php -text +0.2.1/inc/rdf.class.php -text +0.2.1/inc/reset/.htaccess -text +0.2.1/inc/reset/reset_ -text +0.2.1/inc/reset/reset_beg.php -text +0.2.1/inc/reset/reset_bonus.php -text +0.2.1/inc/reset/reset_daily.php -text +0.2.1/inc/reset/reset_engine.php -text +0.2.1/inc/reset/reset_holiday.php -text +0.2.1/inc/security.php -text +0.2.1/inc/session.php -text +0.2.1/inc/sql_error.php -text +0.2.1/inc/stats_bonus.php -text +0.2.1/inc/stylesheet.php -text +0.2.1/inc/template.php -text +0.2.1/inc/theme-manager.php -text +0.2.1/index.php -text +0.2.1/install.php -text +0.2.1/install/menu-de.sql -text +0.2.1/install/menu-en.sql -text +0.2.1/install/tables.sql -text +0.2.1/lead-confirm.php -text +0.2.1/login.php -text +0.2.1/mailid.php -text +0.2.1/mailid_top.php -text +0.2.1/modules.php -text +0.2.1/ref.php -text +0.2.1/robots.txt -text +0.2.1/show_bonus.php -text +0.2.1/templates/.htaccess -text +0.2.1/templates/de/.htaccess -text +0.2.1/templates/de/emails/add-points.tpl -text +0.2.1/templates/de/emails/admin-del_links.tpl -text +0.2.1/templates/de/emails/admin/admin_autopurge_del_mails.tpl -text +0.2.1/templates/de/emails/admin/admin_autopurge_delete.tpl -text +0.2.1/templates/de/emails/admin/admin_autopurge_inactive.tpl -text +0.2.1/templates/de/emails/admin/admin_autopurge_points.tpl -text +0.2.1/templates/de/emails/admin/admin_autopurge_tsks.tpl -text +0.2.1/templates/de/emails/admin/admin_autopurge_turbo.tpl -text +0.2.1/templates/de/emails/admin/admin_autopurge_unconfirmed.tpl -text +0.2.1/templates/de/emails/admin/admin_holiday_deactivated.tpl -text +0.2.1/templates/de/emails/admin/admin_holiday_request.tpl -text +0.2.1/templates/de/emails/admin/admin_holiday_unlock.tpl -text +0.2.1/templates/de/emails/admin/admin_mydata_notify.tpl -text +0.2.1/templates/de/emails/admin/admin_new_ext.tpl -text +0.2.1/templates/de/emails/admin/admin_newsletter_request.tpl -text +0.2.1/templates/de/emails/admin/admin_newsletter_reset.tpl -text +0.2.1/templates/de/emails/admin/admin_payout_request.tpl -text +0.2.1/templates/de/emails/admin/admin_payout_request_banner.tpl -text +0.2.1/templates/de/emails/admin/admin_rallye_expired.tpl -text +0.2.1/templates/de/emails/admin/admin_rallye_expired_no.tpl -text +0.2.1/templates/de/emails/admin/admin_rallye_no_notify.tpl -text +0.2.1/templates/de/emails/admin/admin_rallye_notify.tpl -text +0.2.1/templates/de/emails/admin/admin_rallye_purged.tpl -text +0.2.1/templates/de/emails/admin/admin_support-order.tpl -text +0.2.1/templates/de/emails/admin/admin_support-ordr.tpl -text +0.2.1/templates/de/emails/admin/admin_support-reflink.tpl -text +0.2.1/templates/de/emails/admin/admin_support-unconfirmed.tpl -text +0.2.1/templates/de/emails/admin/admin_transfer_ap.tpl -text +0.2.1/templates/de/emails/admin/admin_transfer_points.tpl -text +0.2.1/templates/de/emails/admin/admin_wernis_request.tpl -text +0.2.1/templates/de/emails/admins/.htaccess -text +0.2.1/templates/de/emails/admins/admins_mail_contct_admin.tpl -text +0.2.1/templates/de/emails/admins/admins_msg_contct_admin.tpl -text +0.2.1/templates/de/emails/admins_mail_contact_admin.tpl -text +0.2.1/templates/de/emails/admins_mail_contct_admin.tpl -text +0.2.1/templates/de/emails/admins_msg_contact_admin.tpl -text +0.2.1/templates/de/emails/admins_msg_contct_admin.tpl -text +0.2.1/templates/de/emails/back-admin.tpl -text +0.2.1/templates/de/emails/back-member.tpl -text +0.2.1/templates/de/emails/beg/.htaccess -text +0.2.1/templates/de/emails/beg/beg_di_notify.tpl -text +0.2.1/templates/de/emails/beg/beg_en_notify.tpl -text +0.2.1/templates/de/emails/beg/beg_en_notify_body.tpl -text +0.2.1/templates/de/emails/bonus-mail.tpl -text +0.2.1/templates/de/emails/bonus/.htaccess -text +0.2.1/templates/de/emails/bonus/bonus_di_notify.tpl -text +0.2.1/templates/de/emails/bonus/bonus_en_notify.tpl -text +0.2.1/templates/de/emails/bonus/bonus_en_notify_body.tpl -text +0.2.1/templates/de/emails/confirm-member.tpl -text +0.2.1/templates/de/emails/confirm-referral.tpl -text +0.2.1/templates/de/emails/del-user.tpl -text +0.2.1/templates/de/emails/done-admin.tpl -text +0.2.1/templates/de/emails/done-member.tpl -text +0.2.1/templates/de/emails/guest/guest_request_confirm.tpl -text +0.2.1/templates/de/emails/header.tpl -text +0.2.1/templates/de/emails/lock-user.tpl -text +0.2.1/templates/de/emails/member/member_autopurge_delete.tpl -text +0.2.1/templates/de/emails/member/member_autopurge_inactive.tpl -text +0.2.1/templates/de/emails/member/member_autopurge_points.tpl -text +0.2.1/templates/de/emails/member/member_autopurge_unconfirmed.tpl -text +0.2.1/templates/de/emails/member/member_beg.tpl -text +0.2.1/templates/de/emails/member/member_birthday.tpl -text +0.2.1/templates/de/emails/member/member_birthday_confirm.tpl -text +0.2.1/templates/de/emails/member/member_bonus.tpl -text +0.2.1/templates/de/emails/member/member_doubler.tpl -text +0.2.1/templates/de/emails/member/member_holiday_activated.tpl -text +0.2.1/templates/de/emails/member/member_holiday_removed.tpl -text +0.2.1/templates/de/emails/member/member_holiday_request.tpl -text +0.2.1/templates/de/emails/member/member_holiday_unlock.tpl -text +0.2.1/templates/de/emails/member/member_mydata_notify.tpl -text +0.2.1/templates/de/emails/member/member_newsletter_done.tpl -text +0.2.1/templates/de/emails/member/member_newsletter_request.tpl -text +0.2.1/templates/de/emails/member/member_newsletter_reset.tpl -text +0.2.1/templates/de/emails/member/member_payout_accepted.tpl -text +0.2.1/templates/de/emails/member/member_payout_rejected.tpl -text +0.2.1/templates/de/emails/member/member_payout_request.tpl -text +0.2.1/templates/de/emails/member/member_payout_request_banner.tpl -text +0.2.1/templates/de/emails/member/member_rallye_expired.tpl -text +0.2.1/templates/de/emails/member/member_rallye_expired_bronce.tpl -text +0.2.1/templates/de/emails/member/member_rallye_expired_gold.tpl -text +0.2.1/templates/de/emails/member/member_rallye_expired_silver.tpl -text +0.2.1/templates/de/emails/member/member_rallye_notify.tpl -text +0.2.1/templates/de/emails/member/member_stats_bonus.tpl -text +0.2.1/templates/de/emails/member/member_support-order.tpl -text +0.2.1/templates/de/emails/member/member_support-ordr.tpl -text +0.2.1/templates/de/emails/member/member_support-reflink.tpl -text +0.2.1/templates/de/emails/member/member_support-unconfirmed.tpl -text +0.2.1/templates/de/emails/member/member_transfer_recipient.tpl -text +0.2.1/templates/de/emails/member/member_transfer_sender.tpl -text +0.2.1/templates/de/emails/member/member_wernis_accepted.tpl -text +0.2.1/templates/de/emails/member/member_wernis_rejected.tpl -text +0.2.1/templates/de/emails/member/member_wernis_request.tpl -text +0.2.1/templates/de/emails/new-pass.tpl -text +0.2.1/templates/de/emails/newsletter.tpl -text +0.2.1/templates/de/emails/newsletter_html.tpl -text +0.2.1/templates/de/emails/normal-mail.tpl -text +0.2.1/templates/de/emails/order-accept.tpl -text +0.2.1/templates/de/emails/order-admin.tpl -text +0.2.1/templates/de/emails/order-deleted.tpl -text +0.2.1/templates/de/emails/order-member.tpl -text +0.2.1/templates/de/emails/order-reject.tpl -text +0.2.1/templates/de/emails/profile-updte.tpl -text +0.2.1/templates/de/emails/register-admin.tpl -text +0.2.1/templates/de/emails/register-member.tpl -text +0.2.1/templates/de/emails/sub-points.tpl -text +0.2.1/templates/de/emails/unlock-user.tpl -text +0.2.1/templates/de/html/.htaccess -text +0.2.1/templates/de/html/admin/.htaccess -text +0.2.1/templates/de/html/admin/admin_add_bank_package.tpl -text +0.2.1/templates/de/html/admin/admin_add_banner.tpl -text +0.2.1/templates/de/html/admin/admin_add_cat.tpl -text +0.2.1/templates/de/html/admin/admin_add_country.tpl -text +0.2.1/templates/de/html/admin/admin_add_max.tpl -text +0.2.1/templates/de/html/admin/admin_add_payment.tpl -text +0.2.1/templates/de/html/admin/admin_add_points.tpl -text +0.2.1/templates/de/html/admin/admin_add_points_all.tpl -text +0.2.1/templates/de/html/admin/admin_add_rallye.tpl -text +0.2.1/templates/de/html/admin/admin_add_rallye_prices.tpl -text +0.2.1/templates/de/html/admin/admin_add_reflvl.tpl -text +0.2.1/templates/de/html/admin/admin_admin_add.tpl -text +0.2.1/templates/de/html/admin/admin_admins_add.tpl -text +0.2.1/templates/de/html/admin/admin_admins_add_acl.tpl -text +0.2.1/templates/de/html/admin/admin_admins_contact_form.tpl -text +0.2.1/templates/de/html/admin/admin_admins_contct_default.tpl -text +0.2.1/templates/de/html/admin/admin_admins_contct_form.tpl -text +0.2.1/templates/de/html/admin/admin_admins_contct_select.tpl -text +0.2.1/templates/de/html/admin/admin_admins_mails_edit.tpl -text +0.2.1/templates/de/html/admin/admin_admins_mails_edit_form.tpl -text +0.2.1/templates/de/html/admin/admin_admins_mails_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_admins_mails_list.tpl -text +0.2.1/templates/de/html/admin/admin_admins_mails_list_row.tpl -text +0.2.1/templates/de/html/admin/admin_amenu_delete.tpl -text +0.2.1/templates/de/html/admin/admin_amenu_delete_row.tpl -text +0.2.1/templates/de/html/admin/admin_amenu_edit.tpl -text +0.2.1/templates/de/html/admin/admin_amenu_edit_form.tpl -text +0.2.1/templates/de/html/admin/admin_amenu_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_cache_stats.tpl -text +0.2.1/templates/de/html/admin/admin_config_active.tpl -text +0.2.1/templates/de/html/admin/admin_config_admin.tpl -text +0.2.1/templates/de/html/admin/admin_config_admins.tpl -text +0.2.1/templates/de/html/admin/admin_config_admins_del.tpl -text +0.2.1/templates/de/html/admin/admin_config_admins_del_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_admins_edit.tpl -text +0.2.1/templates/de/html/admin/admin_config_admins_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_admins_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_autopurge.tpl -text +0.2.1/templates/de/html/admin/admin_config_autopurge_pro.tpl -text +0.2.1/templates/de/html/admin/admin_config_beg.tpl -text +0.2.1/templates/de/html/admin/admin_config_beg_pro.tpl -text +0.2.1/templates/de/html/admin/admin_config_birthday.tpl -text +0.2.1/templates/de/html/admin/admin_config_bonus.tpl -text +0.2.1/templates/de/html/admin/admin_config_bonus_pro.tpl -text +0.2.1/templates/de/html/admin/admin_config_cache.tpl -text +0.2.1/templates/de/html/admin/admin_config_cats.tpl -text +0.2.1/templates/de/html/admin/admin_config_cats_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_doubler.tpl -text +0.2.1/templates/de/html/admin/admin_config_doubler_pro.tpl -text +0.2.1/templates/de/html/admin/admin_config_email.tpl -text +0.2.1/templates/de/html/admin/admin_config_email_del.tpl -text +0.2.1/templates/de/html/admin/admin_config_email_del_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_email_edit.tpl -text +0.2.1/templates/de/html/admin/admin_config_email_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_email_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_extensions.tpl -text +0.2.1/templates/de/html/admin/admin_config_holiday.tpl -text +0.2.1/templates/de/html/admin/admin_config_home.tpl -text +0.2.1/templates/de/html/admin/admin_config_home_main.tpl -text +0.2.1/templates/de/html/admin/admin_config_home_settings.tpl -text +0.2.1/templates/de/html/admin/admin_config_home_settings_pro.tpl -text +0.2.1/templates/de/html/admin/admin_config_mediadata.tpl -text +0.2.1/templates/de/html/admin/admin_config_newsletter.tpl -text +0.2.1/templates/de/html/admin/admin_config_nickname.tpl -text +0.2.1/templates/de/html/admin/admin_config_order.tpl -text +0.2.1/templates/de/html/admin/admin_config_order_form.tpl -text +0.2.1/templates/de/html/admin/admin_config_other.tpl -text +0.2.1/templates/de/html/admin/admin_config_payouts.tpl -text +0.2.1/templates/de/html/admin/admin_config_payouts_del.tpl -text +0.2.1/templates/de/html/admin/admin_config_payouts_del_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_payouts_edit.tpl -text +0.2.1/templates/de/html/admin/admin_config_payouts_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_payouts_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_point_settings.tpl -text +0.2.1/templates/de/html/admin/admin_config_points.tpl -text +0.2.1/templates/de/html/admin/admin_config_rallye_del.tpl -text +0.2.1/templates/de/html/admin/admin_config_rallye_del_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_rallye_edit.tpl -text +0.2.1/templates/de/html/admin/admin_config_rallye_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_rallye_prices.tpl -text +0.2.1/templates/de/html/admin/admin_config_rallye_prices_row.tpl -text +0.2.1/templates/de/html/admin/admin_config_refid.tpl -text +0.2.1/templates/de/html/admin/admin_config_reg.tpl -text +0.2.1/templates/de/html/admin/admin_config_reg_pro.tpl -text +0.2.1/templates/de/html/admin/admin_config_register.tpl -text +0.2.1/templates/de/html/admin/admin_config_register2.tpl -text +0.2.1/templates/de/html/admin/admin_config_rewrite.tpl -text +0.2.1/templates/de/html/admin/admin_config_rewrite_rows.tpl -text +0.2.1/templates/de/html/admin/admin_config_secure.tpl -text +0.2.1/templates/de/html/admin/admin_config_stats.tpl -text +0.2.1/templates/de/html/admin/admin_config_sub_points.tpl -text +0.2.1/templates/de/html/admin/admin_config_title.tpl -text +0.2.1/templates/de/html/admin/admin_config_top10.tpl -text +0.2.1/templates/de/html/admin/admin_config_transfer.tpl -text +0.2.1/templates/de/html/admin/admin_config_transfer_pro.tpl -text +0.2.1/templates/de/html/admin/admin_config_user.tpl -text +0.2.1/templates/de/html/admin/admin_config_wernis.tpl -text +0.2.1/templates/de/html/admin/admin_data_saved.tpl -text +0.2.1/templates/de/html/admin/admin_del_admins.tpl -text +0.2.1/templates/de/html/admin/admin_del_admins_row.tpl -text +0.2.1/templates/de/html/admin/admin_del_bank_packages.tpl -text +0.2.1/templates/de/html/admin/admin_del_bank_packages_row.tpl -text +0.2.1/templates/de/html/admin/admin_del_cats.tpl -text +0.2.1/templates/de/html/admin/admin_del_cats_row.tpl -text +0.2.1/templates/de/html/admin/admin_del_email_bonus.tpl -text +0.2.1/templates/de/html/admin/admin_del_email_normal.tpl -text +0.2.1/templates/de/html/admin/admin_del_payments.tpl -text +0.2.1/templates/de/html/admin/admin_del_payments_row.tpl -text +0.2.1/templates/de/html/admin/admin_del_transfer_row.tpl -text +0.2.1/templates/de/html/admin/admin_del_user.tpl -text +0.2.1/templates/de/html/admin/admin_edit_admins.tpl -text +0.2.1/templates/de/html/admin/admin_edit_admins_row.tpl -text +0.2.1/templates/de/html/admin/admin_edit_cats.tpl -text +0.2.1/templates/de/html/admin/admin_edit_cats_row.tpl -text +0.2.1/templates/de/html/admin/admin_edit_email.tpl -text +0.2.1/templates/de/html/admin/admin_edit_email_row.tpl -text +0.2.1/templates/de/html/admin/admin_edit_email_select.tpl -text +0.2.1/templates/de/html/admin/admin_edit_payments.tpl -text +0.2.1/templates/de/html/admin/admin_edit_payments_row.tpl -text +0.2.1/templates/de/html/admin/admin_edit_rallyes.tpl -text +0.2.1/templates/de/html/admin/admin_edit_rallyes_row.tpl -text +0.2.1/templates/de/html/admin/admin_edit_user.tpl -text +0.2.1/templates/de/html/admin/admin_email_archiv.tpl -text +0.2.1/templates/de/html/admin/admin_email_archiv_row.tpl -text +0.2.1/templates/de/html/admin/admin_email_nav_row.tpl -text +0.2.1/templates/de/html/admin/admin_ext_reg_form.tpl -text +0.2.1/templates/de/html/admin/admin_extensions.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_404.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_delete.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_delete_row.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_edit.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_installed.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_list.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_row.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_search.tpl -text +0.2.1/templates/de/html/admin/admin_extensions_text.tpl -text +0.2.1/templates/de/html/admin/admin_footer.tpl -text +0.2.1/templates/de/html/admin/admin_gmenu_delete.tpl -text +0.2.1/templates/de/html/admin/admin_gmenu_delete_row.tpl -text +0.2.1/templates/de/html/admin/admin_gmenu_edit.tpl -text +0.2.1/templates/de/html/admin/admin_gmenu_edit_form.tpl -text +0.2.1/templates/de/html/admin/admin_gmenu_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_gmenu_status.tpl -text +0.2.1/templates/de/html/admin/admin_guest_add.tpl -text +0.2.1/templates/de/html/admin/admin_list_admins.tpl -text +0.2.1/templates/de/html/admin/admin_list_admins_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_autopurge.tpl -text +0.2.1/templates/de/html/admin/admin_list_autopurge_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_bank_package.tpl -text +0.2.1/templates/de/html/admin/admin_list_bank_package_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_beg.tpl -text +0.2.1/templates/de/html/admin/admin_list_beg_form.tpl -text +0.2.1/templates/de/html/admin/admin_list_beg_rows.tpl -text +0.2.1/templates/de/html/admin/admin_list_bonus.tpl -text +0.2.1/templates/de/html/admin/admin_list_bonus_form.tpl -text +0.2.1/templates/de/html/admin/admin_list_bonus_rows.tpl -text +0.2.1/templates/de/html/admin/admin_list_cats.tpl -text +0.2.1/templates/de/html/admin/admin_list_cats_404.tpl -text +0.2.1/templates/de/html/admin/admin_list_cats_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_country.tpl -text +0.2.1/templates/de/html/admin/admin_list_country_del_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_country_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_country_form.tpl -text +0.2.1/templates/de/html/admin/admin_list_country_no_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_country_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_doubler_already.tpl -text +0.2.1/templates/de/html/admin/admin_list_doubler_overview.tpl -text +0.2.1/templates/de/html/admin/admin_list_doubler_waiting.tpl -text +0.2.1/templates/de/html/admin/admin_list_extensions.tpl -text +0.2.1/templates/de/html/admin/admin_list_extensions_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_holiday.tpl -text +0.2.1/templates/de/html/admin/admin_list_holiday_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_links.tpl -text +0.2.1/templates/de/html/admin/admin_list_links_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_payments.tpl -text +0.2.1/templates/de/html/admin/admin_list_payouts.tpl -text +0.2.1/templates/de/html/admin/admin_list_payouts_banner.tpl -text +0.2.1/templates/de/html/admin/admin_list_payouts_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_payouts_txt.tpl -text +0.2.1/templates/de/html/admin/admin_list_rallye_noselect.tpl -text +0.2.1/templates/de/html/admin/admin_list_rallye_prices.tpl -text +0.2.1/templates/de/html/admin/admin_list_rallye_prices_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_rallye_usr.tpl -text +0.2.1/templates/de/html/admin/admin_list_rallye_usr_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_rallyes.tpl -text +0.2.1/templates/de/html/admin/admin_list_rallyes_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_rallyes_row2.tpl -text +0.2.1/templates/de/html/admin/admin_list_refs.tpl -text +0.2.1/templates/de/html/admin/admin_list_refs_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_task_rows.tpl -text +0.2.1/templates/de/html/admin/admin_list_transfer.tpl -text +0.2.1/templates/de/html/admin/admin_list_transfer_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_unconfirmed.tpl -text +0.2.1/templates/de/html/admin/admin_list_unconfirmed_header.tpl -text +0.2.1/templates/de/html/admin/admin_list_unconfirmed_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_user.tpl -text +0.2.1/templates/de/html/admin/admin_list_user_alpha.tpl -text +0.2.1/templates/de/html/admin/admin_list_user_pagenav.tpl -text +0.2.1/templates/de/html/admin/admin_list_user_row.tpl -text +0.2.1/templates/de/html/admin/admin_list_user_sort.tpl -text +0.2.1/templates/de/html/admin/admin_list_user_sort_form.tpl -text +0.2.1/templates/de/html/admin/admin_lock_user.tpl -text +0.2.1/templates/de/html/admin/admin_login_form.tpl -text +0.2.1/templates/de/html/admin/admin_login_msg.tpl -text +0.2.1/templates/de/html/admin/admin_logout.tpl -text +0.2.1/templates/de/html/admin/admin_logout_form.tpl -text +0.2.1/templates/de/html/admin/admin_main_footer.tpl -text +0.2.1/templates/de/html/admin/admin_main_header.tpl -text +0.2.1/templates/de/html/admin/admin_maintenance_form.tpl -text +0.2.1/templates/de/html/admin/admin_member_add.tpl -text +0.2.1/templates/de/html/admin/admin_member_selection_box.tpl -text +0.2.1/templates/de/html/admin/admin_menu_404_row.tpl -text +0.2.1/templates/de/html/admin/admin_menu_failed.tpl -text +0.2.1/templates/de/html/admin/admin_menu_hints.tpl -text +0.2.1/templates/de/html/admin/admin_menu_hints_row.tpl -text +0.2.1/templates/de/html/admin/admin_menu_overview_row.tpl -text +0.2.1/templates/de/html/admin/admin_menu_status_row.tpl -text +0.2.1/templates/de/html/admin/admin_menu_unknown_okay.tpl -text +0.2.1/templates/de/html/admin/admin_mini_online.tpl -text +0.2.1/templates/de/html/admin/admin_mmenu_delete.tpl -text +0.2.1/templates/de/html/admin/admin_mmenu_delete_row.tpl -text +0.2.1/templates/de/html/admin/admin_mmenu_edit.tpl -text +0.2.1/templates/de/html/admin/admin_mmenu_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_mmenu_overview.tpl -text +0.2.1/templates/de/html/admin/admin_mmenu_status.tpl -text +0.2.1/templates/de/html/admin/admin_mods_edit.tpl -text +0.2.1/templates/de/html/admin/admin_mods_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_mods_footer_edit.tpl -text +0.2.1/templates/de/html/admin/admin_mods_footer_list.tpl -text +0.2.1/templates/de/html/admin/admin_mods_footer_stats.tpl -text +0.2.1/templates/de/html/admin/admin_mods_footer_stats2.tpl -text +0.2.1/templates/de/html/admin/admin_mods_header_edit.tpl -text +0.2.1/templates/de/html/admin/admin_mods_header_list.tpl -text +0.2.1/templates/de/html/admin/admin_mods_header_stats.tpl -text +0.2.1/templates/de/html/admin/admin_mods_header_stats2.tpl -text +0.2.1/templates/de/html/admin/admin_mods_list.tpl -text +0.2.1/templates/de/html/admin/admin_mods_list_row.tpl -text +0.2.1/templates/de/html/admin/admin_mods_stats.tpl -text +0.2.1/templates/de/html/admin/admin_mods_stats2.tpl -text +0.2.1/templates/de/html/admin/admin_mods_stats2_row.tpl -text +0.2.1/templates/de/html/admin/admin_mods_stats_row.tpl -text +0.2.1/templates/de/html/admin/admin_newsletter.tpl -text +0.2.1/templates/de/html/admin/admin_newsletter_nohtml.tpl -text +0.2.1/templates/de/html/admin/admin_newsletter_tsk.tpl -text +0.2.1/templates/de/html/admin/admin_online_footer.tpl -text +0.2.1/templates/de/html/admin/admin_online_header.tpl -text +0.2.1/templates/de/html/admin/admin_optimize.tpl -text +0.2.1/templates/de/html/admin/admin_optimize_row.tpl -text +0.2.1/templates/de/html/admin/admin_overview_footer.tpl -text +0.2.1/templates/de/html/admin/admin_overview_footer_task.tpl -text +0.2.1/templates/de/html/admin/admin_overview_header.tpl -text +0.2.1/templates/de/html/admin/admin_overview_header_task.tpl -text +0.2.1/templates/de/html/admin/admin_overview_list.tpl -text +0.2.1/templates/de/html/admin/admin_overview_list_rows.tpl -text +0.2.1/templates/de/html/admin/admin_overview_row.tpl -text +0.2.1/templates/de/html/admin/admin_overview_task.tpl -text +0.2.1/templates/de/html/admin/admin_overview_task_extras.tpl -text +0.2.1/templates/de/html/admin/admin_overview_task_rows.tpl -text +0.2.1/templates/de/html/admin/admin_patches.tpl -text +0.2.1/templates/de/html/admin/admin_patches_row.tpl -text +0.2.1/templates/de/html/admin/admin_payments_list_row.tpl -text +0.2.1/templates/de/html/admin/admin_payout_accept_form.tpl -text +0.2.1/templates/de/html/admin/admin_payout_add_new.tpl -text +0.2.1/templates/de/html/admin/admin_payout_failed_transfer.tpl -text +0.2.1/templates/de/html/admin/admin_payout_overview_form.tpl -text +0.2.1/templates/de/html/admin/admin_payout_reject_form.tpl -text +0.2.1/templates/de/html/admin/admin_points.tpl -text +0.2.1/templates/de/html/admin/admin_points_del.tpl -text +0.2.1/templates/de/html/admin/admin_points_del_row.tpl -text +0.2.1/templates/de/html/admin/admin_points_edit.tpl -text +0.2.1/templates/de/html/admin/admin_points_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_points_row.tpl -text +0.2.1/templates/de/html/admin/admin_refbanner.tpl -text +0.2.1/templates/de/html/admin/admin_refbanner_edit.tpl -text +0.2.1/templates/de/html/admin/admin_refbanner_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_refbanner_row.tpl -text +0.2.1/templates/de/html/admin/admin_reg.tpl -text +0.2.1/templates/de/html/admin/admin_reg_form.tpl -text +0.2.1/templates/de/html/admin/admin_reg_row.tpl -text +0.2.1/templates/de/html/admin/admin_send_bonus_form.tpl -text +0.2.1/templates/de/html/admin/admin_send_bonus_select.tpl -text +0.2.1/templates/de/html/admin/admin_settings_saved.tpl -text +0.2.1/templates/de/html/admin/admin_setup_stats.tpl -text +0.2.1/templates/de/html/admin/admin_sub_points.tpl -text +0.2.1/templates/de/html/admin/admin_sub_points_all.tpl -text +0.2.1/templates/de/html/admin/admin_task_holiday.tpl -text +0.2.1/templates/de/html/admin/admin_theme_404.tpl -text +0.2.1/templates/de/html/admin/admin_theme_edit.tpl -text +0.2.1/templates/de/html/admin/admin_theme_edit_row.tpl -text +0.2.1/templates/de/html/admin/admin_theme_import.tpl -text +0.2.1/templates/de/html/admin/admin_theme_installed.tpl -text +0.2.1/templates/de/html/admin/admin_theme_list.tpl -text +0.2.1/templates/de/html/admin/admin_unlock_emails.tpl -text +0.2.1/templates/de/html/admin/admin_unlock_emails_redir.tpl -text +0.2.1/templates/de/html/admin/admin_unlock_emails_redir_row.tpl -text +0.2.1/templates/de/html/admin/admin_unlock_emails_row.tpl -text +0.2.1/templates/de/html/admin/admin_update_download.tpl -text +0.2.1/templates/de/html/admin/admin_user_details.tpl -text +0.2.1/templates/de/html/admin/admin_welcome.tpl -text +0.2.1/templates/de/html/admin/admin_welcome_admins.tpl -text +0.2.1/templates/de/html/agb.tpl -text +0.2.1/templates/de/html/beg/.htaccess -text +0.2.1/templates/de/html/beg/beg_banner.tpl -text +0.2.1/templates/de/html/beg/beg_done.tpl -text +0.2.1/templates/de/html/beg/beg_failed.tpl -text +0.2.1/templates/de/html/beg/beg_link.tpl -text +0.2.1/templates/de/html/beg/beg_login.tpl -text +0.2.1/templates/de/html/birthday/.htaccess -text +0.2.1/templates/de/html/birthday/birthday_confirm.tpl -text +0.2.1/templates/de/html/birthday/birthday_footer.tpl -text +0.2.1/templates/de/html/birthday/birthday_header.tpl -text +0.2.1/templates/de/html/birthday/birthday_msg.tpl -text +0.2.1/templates/de/html/copyright.tpl -text +0.2.1/templates/de/html/copyright_backlink.tpl -text +0.2.1/templates/de/html/doubler/.htaccess -text +0.2.1/templates/de/html/doubler/doubler_footer.tpl -text +0.2.1/templates/de/html/doubler/doubler_header.tpl -text +0.2.1/templates/de/html/doubler/doubler_index.tpl -text +0.2.1/templates/de/html/doubler/doubler_reflink.tpl -text +0.2.1/templates/de/html/ext/ext_active.tpl -text +0.2.1/templates/de/html/ext/ext_admins.tpl -text +0.2.1/templates/de/html/ext/ext_admintheme1.tpl -text +0.2.1/templates/de/html/ext/ext_admintheme_default.tpl -text +0.2.1/templates/de/html/ext/ext_autopurge.tpl -text +0.2.1/templates/de/html/ext/ext_bank.tpl -text +0.2.1/templates/de/html/ext/ext_beg.tpl -text +0.2.1/templates/de/html/ext/ext_birthday.tpl -text +0.2.1/templates/de/html/ext/ext_bonus.tpl -text +0.2.1/templates/de/html/ext/ext_cache.tpl -text +0.2.1/templates/de/html/ext/ext_country.tpl -text +0.2.1/templates/de/html/ext/ext_demo.tpl -text +0.2.1/templates/de/html/ext/ext_doubler.tpl -text +0.2.1/templates/de/html/ext/ext_holiday.tpl -text +0.2.1/templates/de/html/ext/ext_html_mail.tpl -text +0.2.1/templates/de/html/ext/ext_mailid.tpl -text +0.2.1/templates/de/html/ext/ext_maintenance.tpl -text +0.2.1/templates/de/html/ext/ext_mediadata.tpl -text +0.2.1/templates/de/html/ext/ext_mods.tpl -text +0.2.1/templates/de/html/ext/ext_mydata.tpl -text +0.2.1/templates/de/html/ext/ext_newsletter.tpl -text +0.2.1/templates/de/html/ext/ext_nickname.tpl -text +0.2.1/templates/de/html/ext/ext_online.tpl -text +0.2.1/templates/de/html/ext/ext_optimize.tpl -text +0.2.1/templates/de/html/ext/ext_order.tpl -text +0.2.1/templates/de/html/ext/ext_other.tpl -text +0.2.1/templates/de/html/ext/ext_payout.tpl -text +0.2.1/templates/de/html/ext/ext_profile.tpl -text +0.2.1/templates/de/html/ext/ext_rallye.tpl -text +0.2.1/templates/de/html/ext/ext_register.tpl -text +0.2.1/templates/de/html/ext/ext_repair.tpl -text +0.2.1/templates/de/html/ext/ext_rewrite.tpl -text +0.2.1/templates/de/html/ext/ext_sql_patches.tpl -text +0.2.1/templates/de/html/ext/ext_support.tpl -text +0.2.1/templates/de/html/ext/ext_task.tpl -text +0.2.1/templates/de/html/ext/ext_theme.tpl -text +0.2.1/templates/de/html/ext/ext_top10.tpl -text +0.2.1/templates/de/html/ext/ext_transfer.tpl -text +0.2.1/templates/de/html/ext/ext_user.tpl -text +0.2.1/templates/de/html/ext/ext_wernis.tpl -text +0.2.1/templates/de/html/fatal_footer.tpl -text +0.2.1/templates/de/html/fatal_header.tpl -text +0.2.1/templates/de/html/guest/guest_active_none_row.tpl -text +0.2.1/templates/de/html/guest/guest_active_row.tpl -text +0.2.1/templates/de/html/guest/guest_active_table.tpl -text +0.2.1/templates/de/html/guest/guest_advert.tpl -text +0.2.1/templates/de/html/guest/guest_advert2.tpl -text +0.2.1/templates/de/html/guest/guest_beg.tpl -text +0.2.1/templates/de/html/guest/guest_cat_row.tpl -text +0.2.1/templates/de/html/guest/guest_cat_table.tpl -text +0.2.1/templates/de/html/guest/guest_confirm_link.tpl -text +0.2.1/templates/de/html/guest/guest_confirm_table.tpl -text +0.2.1/templates/de/html/guest/guest_content_footer.tpl -text +0.2.1/templates/de/html/guest/guest_doubler.tpl -text +0.2.1/templates/de/html/guest/guest_doubler_list.tpl -text +0.2.1/templates/de/html/guest/guest_doubler_list_rows.tpl -text +0.2.1/templates/de/html/guest/guest_footer.tpl -text +0.2.1/templates/de/html/guest/guest_frametester.tpl -text +0.2.1/templates/de/html/guest/guest_goto_top.tpl -text +0.2.1/templates/de/html/guest/guest_header.tpl -text +0.2.1/templates/de/html/guest/guest_login.tpl -text +0.2.1/templates/de/html/guest/guest_menu_bottom.tpl -text +0.2.1/templates/de/html/guest/guest_menu_content.tpl -text +0.2.1/templates/de/html/guest/guest_menu_row.tpl -text +0.2.1/templates/de/html/guest/guest_menu_td.tpl -text +0.2.1/templates/de/html/guest/guest_menu_title.tpl -text +0.2.1/templates/de/html/guest/guest_menu_whats.tpl -text +0.2.1/templates/de/html/guest/guest_nickname_login.tpl -text +0.2.1/templates/de/html/guest/guest_no_rallyes.tpl -text +0.2.1/templates/de/html/guest/guest_rallye_expired_footer.tpl -text +0.2.1/templates/de/html/guest/guest_rallye_expired_header.tpl -text +0.2.1/templates/de/html/guest/guest_rallye_footer.tpl -text +0.2.1/templates/de/html/guest/guest_rallye_header.tpl -text +0.2.1/templates/de/html/guest/guest_rallye_show.tpl -text +0.2.1/templates/de/html/guest/guest_receive_table.tpl -text +0.2.1/templates/de/html/guest/guest_register.tpl -text +0.2.1/templates/de/html/guest/guest_register_refid.tpl -text +0.2.1/templates/de/html/guest/guest_register_refid_hide.tpl -text +0.2.1/templates/de/html/guest/guest_stats_cats_row.tpl -text +0.2.1/templates/de/html/guest/guest_stats_member.tpl -text +0.2.1/templates/de/html/guest/guest_stats_month_row.tpl -text +0.2.1/templates/de/html/guest/guest_top10.tpl -text +0.2.1/templates/de/html/guest/guest_top10_empty4.tpl -text +0.2.1/templates/de/html/guest/guest_top10_empty5.tpl -text +0.2.1/templates/de/html/guest/guest_top10_row_earner.tpl -text +0.2.1/templates/de/html/guest/guest_top10_row_login.tpl -text +0.2.1/templates/de/html/guest/guest_top10_row_refs.tpl -text +0.2.1/templates/de/html/header.tpl -text +0.2.1/templates/de/html/impressum.tpl -text +0.2.1/templates/de/html/index.tpl -text +0.2.1/templates/de/html/index_forward.tpl -text +0.2.1/templates/de/html/infos.tpl -text +0.2.1/templates/de/html/install/install_fatal_row.tpl -text +0.2.1/templates/de/html/install/install_fatal_table.tpl -text +0.2.1/templates/de/html/install/install_footer.tpl -text +0.2.1/templates/de/html/install/install_header.tpl -text +0.2.1/templates/de/html/install/install_page1.tpl -text +0.2.1/templates/de/html/install/install_page2.tpl -text +0.2.1/templates/de/html/install/install_welcome.tpl -text +0.2.1/templates/de/html/lead_code.tpl -text +0.2.1/templates/de/html/loader.tpl -text +0.2.1/templates/de/html/login_failed_js.tpl -text +0.2.1/templates/de/html/mailid/.htaccess -text +0.2.1/templates/de/html/mailid/mailid_banner.tpl -text +0.2.1/templates/de/html/mailid/mailid_confirm_buttom.tpl -text +0.2.1/templates/de/html/mailid/mailid_enter_code.tpl -text +0.2.1/templates/de/html/mailid/mailid_frames.tpl -text +0.2.1/templates/de/html/mailid/mailid_frameset.tpl -text +0.2.1/templates/de/html/mailid/mailid_points_done.tpl -text +0.2.1/templates/de/html/mailid/mailid_points_done2.tpl -text +0.2.1/templates/de/html/mailid/mailid_points_failed.tpl -text +0.2.1/templates/de/html/mailid/mailid_points_lcoked2.tpl -text +0.2.1/templates/de/html/mailid/mailid_points_locked.tpl -text +0.2.1/templates/de/html/mailid/mailid_points_locked2.tpl -text +0.2.1/templates/de/html/mailid/mailid_timer.tpl -text +0.2.1/templates/de/html/main-welcome.tpl -text +0.2.1/templates/de/html/mediadata.tpl -text +0.2.1/templates/de/html/mediadata_extra_hrow.tpl -text +0.2.1/templates/de/html/mediadata_extra_row.tpl -text +0.2.1/templates/de/html/mediadata_extra_row2.tpl -text +0.2.1/templates/de/html/member/member_advert.tpl -text +0.2.1/templates/de/html/member/member_beg.tpl -text +0.2.1/templates/de/html/member/member_beg_404.tpl -text +0.2.1/templates/de/html/member/member_bonus.tpl -text +0.2.1/templates/de/html/member/member_bonus_404.tpl -text +0.2.1/templates/de/html/member/member_bonus_row.tpl -text +0.2.1/templates/de/html/member/member_cat_row.tpl -text +0.2.1/templates/de/html/member/member_cats_footer.tpl -text +0.2.1/templates/de/html/member/member_cats_header.tpl -text +0.2.1/templates/de/html/member/member_doubler.tpl -text +0.2.1/templates/de/html/member/member_doubler_list.tpl -text +0.2.1/templates/de/html/member/member_doubler_list_rows.tpl -text +0.2.1/templates/de/html/member/member_footer.tpl -text +0.2.1/templates/de/html/member/member_frameset-back.tpl -text +0.2.1/templates/de/html/member/member_frameset-send.tpl -text +0.2.1/templates/de/html/member/member_goto_top.tpl -text +0.2.1/templates/de/html/member/member_header.tpl -text +0.2.1/templates/de/html/member/member_holiday_deactivate.tpl -text +0.2.1/templates/de/html/member/member_holiday_form.tpl -text +0.2.1/templates/de/html/member/member_html_mail_settings.tpl -text +0.2.1/templates/de/html/member/member_list_beg.tpl -text +0.2.1/templates/de/html/member/member_list_beg_row.tpl -text +0.2.1/templates/de/html/member/member_login_js.tpl -text +0.2.1/templates/de/html/member/member_menu_bottom.tpl -text +0.2.1/templates/de/html/member/member_menu_row.tpl -text +0.2.1/templates/de/html/member/member_menu_title.tpl -text +0.2.1/templates/de/html/member/member_menu_whats.tpl -text +0.2.1/templates/de/html/member/member_mydata_button.tpl -text +0.2.1/templates/de/html/member/member_mydata_edit.tpl -text +0.2.1/templates/de/html/member/member_mydata_locked.tpl -text +0.2.1/templates/de/html/member/member_mydata_overview.tpl -text +0.2.1/templates/de/html/member/member_newsletter.tpl -text +0.2.1/templates/de/html/member/member_newsletter_note.tpl -text +0.2.1/templates/de/html/member/member_nickname_form.tpl -text +0.2.1/templates/de/html/member/member_order-back.tpl -text +0.2.1/templates/de/html/member/member_order-html_ext.tpl -text +0.2.1/templates/de/html/member/member_order-html_intro.tpl -text +0.2.1/templates/de/html/member/member_order-zip1.tpl -text +0.2.1/templates/de/html/member/member_order-zip2.tpl -text +0.2.1/templates/de/html/member/member_order_back.tpl -text +0.2.1/templates/de/html/member/member_order_frametester.tpl -text +0.2.1/templates/de/html/member/member_order_page1.tpl -text +0.2.1/templates/de/html/member/member_order_page2.tpl -text +0.2.1/templates/de/html/member/member_order_points.tpl -text +0.2.1/templates/de/html/member/member_order_send.tpl -text +0.2.1/templates/de/html/member/member_payout.tpl -text +0.2.1/templates/de/html/member/member_payout_form.tpl -text +0.2.1/templates/de/html/member/member_payout_form_banner.tpl -text +0.2.1/templates/de/html/member/member_payout_row.tpl -text +0.2.1/templates/de/html/member/member_points.tpl -text +0.2.1/templates/de/html/member/member_points_bonus_disabled.tpl -text +0.2.1/templates/de/html/member/member_points_bonus_rows.tpl -text +0.2.1/templates/de/html/member/member_points_row.tpl -text +0.2.1/templates/de/html/member/member_points_upgrade.tpl -text +0.2.1/templates/de/html/member/member_receive_table.tpl -text +0.2.1/templates/de/html/member/member_reflinks_row.tpl -text +0.2.1/templates/de/html/member/member_reflinks_table.tpl -text +0.2.1/templates/de/html/member/member_stats_row.tpl -text +0.2.1/templates/de/html/member/member_stats_table.tpl -text +0.2.1/templates/de/html/member/member_support_contacted.tpl -text +0.2.1/templates/de/html/member/member_support_contcted.tpl -text +0.2.1/templates/de/html/member/member_support_form.tpl -text +0.2.1/templates/de/html/member/member_themes.tpl -text +0.2.1/templates/de/html/member/member_transfer_list.tpl -text +0.2.1/templates/de/html/member/member_transfer_new.tpl -text +0.2.1/templates/de/html/member/member_transfer_overview.tpl -text +0.2.1/templates/de/html/member/member_transfer_settings.tpl -text +0.2.1/templates/de/html/member/member_unconfirmed_404.tpl -text +0.2.1/templates/de/html/member/member_unconfirmed_row.tpl -text +0.2.1/templates/de/html/member/member_unconfirmed_table.tpl -text +0.2.1/templates/de/html/member/member_welcome.tpl -text +0.2.1/templates/de/html/member/member_welcome_footer.tpl -text +0.2.1/templates/de/html/member/member_welcome_header.tpl -text +0.2.1/templates/de/html/member/member_wernis.tpl -text +0.2.1/templates/de/html/member/member_wernis_form.tpl -text +0.2.1/templates/de/html/member/member_wernis_row.tpl -text +0.2.1/templates/de/html/message.tpl -text +0.2.1/templates/de/html/metadata.tpl -text +0.2.1/templates/de/html/online_now.tpl -text +0.2.1/templates/de/html/page_body.tpl -text +0.2.1/templates/de/html/page_footer.tpl -text +0.2.1/templates/de/html/page_header.tpl -text +0.2.1/templates/de/html/profile-update.tpl -text +0.2.1/templates/de/html/rallye_test.tpl -text +0.2.1/templates/de/html/register_header.tpl -text +0.2.1/templates/de/html/runtime_fatal_row.tpl -text +0.2.1/templates/de/html/runtime_fatal_table.tpl -text +0.2.1/templates/de/html/show_bonus.tpl -text +0.2.1/templates/de/html/show_bonus_footer.tpl -text +0.2.1/templates/de/html/show_bonus_header.tpl -text +0.2.1/templates/de/html/show_bonus_msg.tpl -text +0.2.1/templates/de/html/show_bonus_yr.tpl -text +0.2.1/templates/de/html/theme_one.tpl -text +0.2.1/templates/de/html/theme_select_box.tpl -text +0.2.1/templates/de/html/theme_select_form.tpl -text +0.2.1/templates/de/html/welcome.tpl -text +0.2.1/templates/en/html/admin/admin_welcome.tpl -text +0.2.1/templates/en/html/impressum.tpl -text +0.2.1/templates/en/html/mailid/.htaccess -text +0.2.1/templates/en/html/register_header.tpl -text +0.2.1/templates/en/html/welcome.tpl -text +0.2.1/theme/business/css/active.css -text +0.2.1/theme/business/css/beg.css -text +0.2.1/theme/business/css/bonus.css -text +0.2.1/theme/business/css/doubler.css -text +0.2.1/theme/business/css/general.css -text +0.2.1/theme/business/css/install.css -text +0.2.1/theme/business/css/nickname.css -text +0.2.1/theme/business/css/register.css -text +0.2.1/theme/business/css/task.css -text +0.2.1/theme/business/css/top10.css -text +0.2.1/theme/business/css/transfer.css -text +0.2.1/theme/business/images/code_bg.jpg -text +0.2.1/theme/business/images/code_bg.png -text +0.2.1/theme/business/theme.php -text +0.2.1/theme/default/css/active.css -text +0.2.1/theme/default/css/beg.css -text +0.2.1/theme/default/css/bonus.css -text +0.2.1/theme/default/css/doubler.css -text +0.2.1/theme/default/css/general.css -text +0.2.1/theme/default/css/install.css -text +0.2.1/theme/default/css/nickname.css -text +0.2.1/theme/default/css/register.css -text +0.2.1/theme/default/css/task.css -text +0.2.1/theme/default/css/top10.css -text +0.2.1/theme/default/css/transfer.css -text +0.2.1/theme/default/images/code_bg.jpg -text +0.2.1/theme/default/images/code_bg.png -text +0.2.1/theme/default/theme.php -text +0.2.1/theme/desert/css/active.css -text +0.2.1/theme/desert/css/beg.css -text +0.2.1/theme/desert/css/bonus.css -text +0.2.1/theme/desert/css/doubler.css -text +0.2.1/theme/desert/css/general.css -text +0.2.1/theme/desert/css/help.css -text +0.2.1/theme/desert/css/install.css -text +0.2.1/theme/desert/css/paidlinks.css -text +0.2.1/theme/desert/css/register.css -text +0.2.1/theme/desert/css/sponsor.css -text +0.2.1/theme/desert/css/top10.css -text +0.2.1/theme/desert/css/transfer.css -text +0.2.1/theme/desert/images/code_bg.jpg -text +0.2.1/theme/desert/images/code_bg.png -text +0.2.1/theme/desert/images/help/bullet.png -text +0.2.1/theme/desert/images/help/down.jpg -text +0.2.1/theme/desert/images/help/left.jpg -text +0.2.1/theme/desert/images/help/right.jpg -text +0.2.1/theme/desert/images/help/up.jpg -text +0.2.1/theme/desert/theme.php -text +0.2.1/view.php -text diff --git a/0.2.1/.htaccess b/0.2.1/.htaccess new file mode 100644 index 0000000000..4ac0714375 --- /dev/null +++ b/0.2.1/.htaccess @@ -0,0 +1,8 @@ +Options -Indexes +DirectoryIndex index.php + + +RewriteRule ^cms/(.*)/wht/(.*)$ modules.php?module=$1&what=$2 [L] +RewriteRule ^cms/(.*)/act/(.*)$ modules.php?module=$1&action=$2 [L] +RewriteRule ^cms/(.*)$ modules.php?module=$1 [L] + diff --git a/0.2.1/DOCS/DIFF_LIST.txt b/0.2.1/DOCS/DIFF_LIST.txt new file mode 100644 index 0000000000..5776d1c609 --- /dev/null +++ b/0.2.1/DOCS/DIFF_LIST.txt @@ -0,0 +1,16 @@ +Files 0.2.1/admin.php and 0.2.1-old/admin.php differ +Files 0.2.1/agb.php and 0.2.1-old/agb.php differ +Files 0.2.1/click.php and 0.2.1-old/click.php differ +Files 0.2.1/confirm.php and 0.2.1-old/confirm.php differ +Files 0.2.1/css.php and 0.2.1-old/css.php differ +Files 0.2.1/img.php and 0.2.1-old/img.php differ +Files 0.2.1/index.php and 0.2.1-old/index.php differ +Files 0.2.1/install.php and 0.2.1-old/install.php differ +Files 0.2.1/lead-confirm.php and 0.2.1-old/lead-confirm.php differ +Files 0.2.1/login.php and 0.2.1-old/login.php differ +Files 0.2.1/mailid.php and 0.2.1-old/mailid.php differ +Files 0.2.1/mailid_top.php and 0.2.1-old/mailid_top.php differ +Files 0.2.1/modules.php and 0.2.1-old/modules.php differ +Files 0.2.1/ref.php and 0.2.1-old/ref.php differ +Files 0.2.1/robots.txt and 0.2.1-old/robots.txt differ +Files 0.2.1/view.php and 0.2.1-old/view.php differ diff --git a/0.2.1/DOCS/INSTALL.txt b/0.2.1/DOCS/INSTALL.txt new file mode 100644 index 0000000000..da98f0cccc --- /dev/null +++ b/0.2.1/DOCS/INSTALL.txt @@ -0,0 +1,3 @@ +Lesen Sie in der de/README.txt unter Sektion 3 weiter. + +Please read the en/README.txt file for installation instructions. diff --git a/0.2.1/DOCS/LICENSE.txt b/0.2.1/DOCS/LICENSE.txt new file mode 100644 index 0000000000..d511905c16 --- /dev/null +++ b/0.2.1/DOCS/LICENSE.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/0.2.1/DOCS/README b/0.2.1/DOCS/README new file mode 100644 index 0000000000..ec9a1ecfe0 --- /dev/null +++ b/0.2.1/DOCS/README @@ -0,0 +1,21 @@ +All documents including licence file are moved into the new DOCS directory! + +Alle Dokumente inklusive Lizenz wurden in das neue DOCS-Verzeichnis verschoben! + +------------------------------- +Copyright notes: +------------------------------- + +MXChange is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or any +later version. + +MXChange is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA diff --git a/0.2.1/DOCS/de/AUTHORS.txt b/0.2.1/DOCS/de/AUTHORS.txt new file mode 100644 index 0000000000..98bd95f6b5 --- /dev/null +++ b/0.2.1/DOCS/de/AUTHORS.txt @@ -0,0 +1,53 @@ +[----------------------------------] +[-- Alle Autoren dieses Scriptes --] +[----------------------------------] + +- Roland "Quix0r" Haeder + + (Projektleiter, Hauptprogrammierer, Webmaster) + +- Mr. X + + (Will gerne aufgenommen werden... ;-) ) + +[----------------------------] +[-- Alpha- und Beta-Tester --] +[----------------------------] + +- Peter "Piter01" Llorens y Rilk + (Beta-Tester, hat bei der 0.2.1-Bugsuche mitgemacht und sonst immer jede + neue Version getestet. Vielen Dank! :) + +- Michael "The Shadowmaster" Wollweber + + (Beta-Tester, hat mir bei der Fehlersuche wegen unterschiedlichen IP-Nummern + in $_SERVER['SERVER_ADDR'] und getaddrbyname($_SERVER['SERVER_NAME']) seinen + FTP-Zugang ausgeliehen) + +- Ich suche mehr Alpha- und Beta-Tester! Bitte testet mein Script auf anderer + Hard- und Softwarewareumgebung als ich habe. (Debian Linux auf P4/AMD64) + + Ich habe noch eine Sun mit Solaris 7 hier. :) Mal Apachen + MySQL + PHP4/5 + suchen... + +[----------------------------------------] +[-- Inaktive Entwickler / Mitwirkende --] +[----------------------------------------] + +- Robert Niedziela + + (Sekundaerer Programmierer, einige Bugfixes und viele Verbesserungen: + "Andere Einstellungen" im Admin-Menue, EMails loeschen, Medidaten, + EMail-Archiv und -Details Menuepunkte) + +- Lars Moehlenbruch + + (Verbesserter HTML-Template Support, Referrals eines Mitgliedes auflisten) + +- Erol Ilkan + + (Neuer Entwickler, einige Bugfixes, SQL-Fehler beseitigt) + +- Lothar Mengens + + (Hat mir eine SQL-Datei mit Laendercodes zur Verfuegung gestellt) diff --git a/0.2.1/DOCS/de/CHANGES.txt b/0.2.1/DOCS/de/CHANGES.txt new file mode 100644 index 0000000000..7777c33a2c --- /dev/null +++ b/0.2.1/DOCS/de/CHANGES.txt @@ -0,0 +1,5 @@ +Die aktuellen Aenderungen habe ich leider nicht konsequent weitergefuehrt, werde dies aber ab der +Version 0.3.0 wieder machen, oder so. + +Roland + diff --git a/0.2.1/DOCS/de/CSS-PATCHES.txt b/0.2.1/DOCS/de/CSS-PATCHES.txt new file mode 100644 index 0000000000..967d5dd3e5 --- /dev/null +++ b/0.2.1/DOCS/de/CSS-PATCHES.txt @@ -0,0 +1,118 @@ +-------------------------------------------------------------------------------- +Diese Datei kommt noch aus den ersten Zeiten des Scriptes (wie Sie an der Patch- +Nummer 180 erkennen koennen; 512 ist derzeit die zuletzt herausgekommene Patch- +Nummer). Bitte ignorieren Sie daher diese Anleitung. Ich habe sie zum Ansehen +hier drinne gelassen. +-------------------------------------------------------------------------------- + +Folgende Aenderungen muessen mit dem 180-Patch zussammen an der css/general.css +erledigt werden. Aber nur dann, wenn Sie von aelteren Versionen aufsteigen! + +[--- SUCHEN NACH: ---] +.admin.fatal + +[-- AUSTAUSCHEN DURCH: ---] +.admin_fatal + +[--- SUCHEN NACH: ---] +.admin.error + +[-- AUSTAUSCHEN DURCH: ---] +.admin_error + +[--- SUCHEN NACH: ---] +.admin.edit + +[-- AUSTAUSCHEN DURCH (NUR ZEILE 127 ---] +[-- bzw. nicht nach Zeile 200!): ---] +.admin_edit + +[--- SUCHEN NACH: ---] +.admin.desc_header + +[-- AUSTAUSCHEN DURCH: ---] +.admin_desc_header + +[--- SUCHEN NACH: ---] +.admin.desc_cont + +[-- AUSTAUSCHEN DURCH: ---] +.admin_desc_cont + +[--- SUCHEN NACH: ---] +.admin.logout + +[-- AUSTAUSCHEN DURCH: ---] +.admin_logout + +[--- SUCHEN NACH: ---] +.admin.editmenu + +[-- AUSTAUSCHEN DURCH: ---] +.admin_editmenu + +[-- KOMPLETT LOESCHEN: ---] +.admin.forms { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_seperator_b2 { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_seperator_b3 { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_seperator_br { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_seperator_b { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_header_br { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_table_br { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_table_b { + ...; + ... +} + +[-- NUR KLASSEN-NAME LOESCHEN: --] +.register_????????, + +(NUR PRO-VERSIONEN!) + +[-- KOMPLETT LOESCHEN: (SEHR ALTE VERSIONEN!) ---] +.admin.seperator { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: (NEUERE VERSIONEN!) ---] +.admin_seperator { + ...; + ... +} + diff --git a/0.2.1/DOCS/de/CSS-PATCHES_05092004.txt b/0.2.1/DOCS/de/CSS-PATCHES_05092004.txt new file mode 100644 index 0000000000..be3f16e410 --- /dev/null +++ b/0.2.1/DOCS/de/CSS-PATCHES_05092004.txt @@ -0,0 +1,93 @@ +-------------------------------------------------------------------------------- +Veraltete Anleitung zum Patchen von CSS-Dateien. Bitte ignorieren Sie auch diese +Datei! Wieder habe ich sie im Paket drinne gelassen, damit Sie sich die +Scripte-Entwicklung mal ansehen koennen. +-------------------------------------------------------------------------------- + +Folgende Aenderungen sollten Sie zusammen mit dem aktuellen Update erledigen: + +[-- OPEN: --] +css/general.css + +[-- DELETE COMPLETELY: ---] +span.fatal { + ... +} + +[-- DELETE COMPLETELY: ---] +.submit { + ... +} + +[-- DELETE COMPLETELY: ---] +.admin_choice { + ...; + ...; + ...; +} + +[-- SEARCH FOR: --] +.guest_menu_whats + +[-- REPLACE WITH: --] +.guest_menu_row, .guest_menu_bottom + +[-- SEARCH FOR: --] +.guest_menu_row, .guest_menu_bottom + +[-- CONTINUE SEARCH: --] +} + +[-- ADD BEFORE: --] + padding-left: 10px; + vertical-align: middle; + +[-- DELETE COMPLETELY: --] +.footer { + ...; + ... +} + +[-- SEARCH FOR: --] +.footer.lines + +[-- REPLACE WITH: --] +.footer_lines + +[-- CONTINUE SEARCH: --] + vertical-align : bottom; + font-size : 10px; +} + +[-- COMMENT: --] +Im Mitglieder-Template member_header.tpl.de war ein Fehler. Evtl. kann dies bei Ihnen schon entfernt sein! + +[-- OPEN: --] +templates/member_header.tpl.de + +[-- SEARCH ON EOL AND REMOVE: --] + + +[-- COMMENT: --] +Wenn Sie wieder den kleinen Punkt vor dem Menuenamen haben wollen, arbeiten Sie folgende Anweisungen ab: +Dies sollten Sie aber nicht tun, wenn Sie Bilder anstelle der Textlinks verwenden. + +[-- OPEN: --] +templates/guest_menu_bottom.tpl.de + +[-- SEARCH FOR: --] +$content + +[-- ADD BEFORE: --] +·  + +[-- OPEN: --] +templates/guest_menu_row.tpl.de + +[-- SEARCH FOR: --] +$content + +[-- ADD BEFORE: --] +·  + +[-- CLOSE/SAVE FILES --] diff --git a/0.2.1/DOCS/de/DESIGNING.txt b/0.2.1/DOCS/de/DESIGNING.txt new file mode 100644 index 0000000000..4d9f98c09c --- /dev/null +++ b/0.2.1/DOCS/de/DESIGNING.txt @@ -0,0 +1,732 @@ +0. Inhaltverzeichnis +-------------------- + +1. Intro +2. Wie Sie am besten anfangen +2.1. Allgemeine Farbeinstellungen + +----- ----- ----- ----- ----- + +1. Intro +-------- + +Ich moechte Ihnen hier zeigen, wie Sie das Design Schritt-Fuer-Schritt an +Ihre Wuensche angepasst bekommen. + +Dann gebe ich Ihnen eine Referenz, wo Sie nachvollziehen koennen, wo fuer +welche CSS-Klasse gedacht ist. + +Sie sollten allerdings beispielsweise wissen, was eine Klasse ist. Sollten +Sie dies nicht wissen, geben Sie einfach bei einer Suchmaschine Ihrer Wahl +das Suchwort "CSS-Klasse" ein. Sie finden dann genuegend Seiten, wo Sie +sich informieren koennen. + +Oder rufen Sie auch die (wohl?) bekannteste HTML-Dokumentation im Netz auf: + +http://www.selfhtml.org + +----- ----- ----- ----- ----- + +2. Wie Sie am besten anfangen +----------------------------- + +Die Haupt-CSS-Datei general.css mag auf dem ersten Blick sehr gross und +komplex aussehen. Lassen Sie sich davon nicht abschrecken! Um diese wird es +sich jetzt permanent drehen. + +Sie koennen diese also in einem zweiten Editor (WORDPAD.EXE oder WRITE.EXE +reicht voellig aus!) oeffnen und dann zwischen dieser Anleitung und der Datei +hin und her wechsel (Windows: ALT-TAB!). + +----- ----- ----- ----- ----- + +2.1. Allgemeine Farbeinstellungen +--------------------------------- + +Ich fange als erstes mit dem generellen Aussehen (Body, Rumpf) an. Diese +Angaben sitzen auch passenderweise am Anfang der Datei. + +Auszug aus der orginalen general.css: +:----------------------------------: + +body { + background-color : #F4F9BE; + color : #000000; + font-family : Arial, Geneva, Helvetica, sans-serif; + font-size : 12px; + + scrollbar-base-color : #E9E4AE; + scrollbar-face-color : #CDEFCD; + scrollbar-highlight-color : #F4F9BE; + scrollbar-shadow-color : #CDEFCD; + scrollbar-3dlight-color : #DDDDDD; + scrollbar-arrow-color : #000000; + scrollbar-track-color : #CCEFCC; + scrollbar-darkshadow-color : #999999; + + margin : 0px; + margin-left : 0px; + margin-right : 0px; + margin-top : 0px; + margin-bottom : 0px; +} + +:----------------------------------: +Bis hier hin erstmal! + +Die ersten 4 Zeilen (lassen Sie dabei "body {" und alle spaeteren Namen dabei +ausser acht) geben die Hintergrundfarbe, Textfarbe, Schriftfamilie und die +Textgroesse an. + +Der naechste Block widmet sich den Farben des Rollbalkes vom Browser. + +Und der letzte 5-Zeilen-Block stellt den Abstand zwischen den Elementen ein. +Dies ist aber nur eine allgemeine Einstellung. Sie koennen spaeter auch +Feineinstellungen vornehmen, indem Sie solch Zeilen fuer die anderen Klassen +verwenden. + +Nun geht es mit den allgemeinen Tabellen-Einstellungen weiter: + +Auszug aus der originalen general.css: +:----------------------------------: + +table { + table-layout : auto; + border-spacing : 0px; + overflow : auto; +} + +:----------------------------------: + +Was diese Einstellungen bewirken, koennen Sie beispielsweise in der bekannten +Dokumentation "SelfHTML" (http://www.selfhtml.org) nachlesen. + +Weiter geht es mit dem Aussehen der Links: + +Auszug aus der originalen general.css: +:----------------------------------: + +A { + font-style : normal; + font-family : Arial, Geneva, Helvetica, sans-serif; + text-decoration : none; +} + +A:link { + color : #2e51a9; +} + +A:visited { + color : #AA0044; +} + +A:active { + color : #2e51a9; + background-color : transparent; +} + +A:hover { + color : #AA0044; + background-color : transparent; + text-decoration : underline overline; +} + +:----------------------------------: + +Hier habe ich gleich 5 Klassen auf einmal genommen, damit diese Dokumentation +kuerzer ausfaellt. + +In der ersten Klasse stellen Sie allgemeine Farbeinstellungen ein; die +naechsten Klassen stellen folgendes ein: + +- Allgemeine Linkfarbe +- Linkfarbe fuer bereits besuchte Links +- Linkfarbe fuer angeklickte Links +- Linkfarbe fuer Hover (Maus schwebt ueber Link, es wurde aber noch nicht + geklickt) + +Ich mache gleich weiter mit den allgemeinen Einstellungen um Formular- +Elemente. Hier habe ich gleich einiges zusammengefasst: + +Auszug aus der originalen general.css: +:----------------------------------: + +input, textarea, select, option { + color : #AA0044; + background-color : #EEFFEE; + border-color : #BBBBBB; + text-decoration : none; +} + +:----------------------------------: + +Diese Klasse fasst - wie bereits gesagt - einige HTML-Elemente zusammen: + +- Eingabefelder oder Buttons (input) +- Texteingabefelder (textarea) +- Auswahlmenues (select) +- Auswahloptionen (option) + +Damit ist der erste Teile "Allgemeine Farbeinstellungen abgeschlossen! Laden +Sie jetzt mal die geaenderte general.css auf Ihren Webserver in das css- +Verzeichnis hoch! + +Koennen Sie schon erahnen, wie Ihre Seite nun aussieht? Richtig! Etwas "bunt +durcheinander". Das macht erstmal soweit nichts, denn wir sind ja noch nicht +fertig mit Umdesignen. + +Nun geht es um etwas feinere Einstellungen... + +----- ----- ----- ----- ----- + +2.2. Detailelemente: Buttons, Auflistungen usw. +----------------------------------------------- + +Dieses Thema wird jetzt sehr lang, da alle weiteren Klassen behandelt werden. +Wir machen aber mal zwischendurch eine Pause, wo Sie sich dann Ihre Arbeit im +Browser ansehen koennen und nochmals nachkorregieren koennen. + +Sie werden also - der Wahrscheinlickeit nach - nicht den Ueberblick verlieren. +Auch hier gehen wir wieder Schritt fuer Schritt vor, so dass Sie in der +general.css einfach weiter nach unten "wandern" brauchen. + +Und los geht es mit den Absende- und Zuruecksetzen-Buttons: + +Auszug aus der originalen general.css: +:----------------------------------: + +.admin_reset, .guest_reset, .member_reset { + border-style : groove; + border : solid 1px #009900; + color : #AA0044; +} + +.admin_submit, .guest_submit, .member_submit { + color : #AA0044; + border-color : #009900; +} + +.admin_submit_reject { + border-style : groove; + color : #881111; + border-color : #009900; +} + +:----------------------------------: + +Ich habe hier gleich 3 Klassen auf einmal genommen: + +- Zuruecksetzen-Buttons (alle drei Menues gemeinsam) +- Absendebuttons in allen drei Menues +- Im Adminbereich: Button fuer Mailbuchung ablehnen + +Und weiter geht's mit den Auflisten-Elementen: + +Auszug aus der originalen general.css: +:----------------------------------: + +ul, ol { + margin-top : 0px; + margin-bottom : 0px; +} + +:----------------------------------: + +Nicht-nummerierte und nummerierte Listen werden hiermit eingestellt. Meine +Angaben stellen den Abstand zu anderen Objekten auf 0 Pixel ein. + +Und weiter geht es mit Klassen fuer auftretende Laufzeitfehler: + +Auszug aus der originalen general.css: +:----------------------------------: + +.runtime { + color : #118811; + background-color : #DDEEDD; + font-family : Arial, Geneva, Helvetica, sans-serif; +} + +.runtime.fatal { + color : #00AA00; +} + +.runtime.fatalcontent { + font-size : 20px; +} + +:----------------------------------: + +Die erste Klasse stellt allgemeine Dinge, wie Hintergrund- und Vordergrund- +farben, sowie die Schriftfamilie ein. Das letztere ist eigentlich nicht noetig. + +Die naechste Klasse stellt die Farbeinstellung fuer Fehlermeldungen ein +(SQL-Fehler meistens) und letzte stellt die Schriftgroesse fuer alle uebrigen +Meldungen (Titel leider auch) ein. + +Hier muss ich dringenst etwas aendern. Aber dieser Code-Teil ist auch sehr alt +und kommt aus meinen ersten Schritten mit diesem Mailtausch-Script. + +Weiter geht es mit dem Admin-Bereich: + +Auszug aus der originalen general.css: +:----------------------------------: + +.admin_fatal { + font-size : 18px; + color : #00AA00; +} + +.admin { + color : #118811; + background-color : #DDEEDD; + font-family : Arial, Geneva, Helvetica, sans-serif; +} + +.admin_note { + color : #FF0000; + font-size : 12px; +} + +.admin_edit, .member_confirm { + background-color : #eeffbc; +} + +:----------------------------------: + +Hier hat sich - wegen Farbgleichheit, koennen Sie also auch trennen - gleich +eine CSS-Klasse fuer den Mitgliederbereich eingeschlichen: + +"member_confirm" stellt die Tabelle fuer das Zeitframe beim Bestaetigen von +Mails ein. Der Reset widmet sich ganz und alleine dem Admin-Bereich: + +1.: Fehlermeldungen fuer den Admin (Modul gesperrt, etc.) und Fehlermeldungen im + Admin-Bereich beim Editieren von Gastmenue- und Adminmenue-Punkten + +2.: Allgemeine Einstellungen, wie Farben und Schriftartfamilie + +3.: Hinweise fuer den Admin ("Einstellungen gespeichert" beispielsweise) + +4.: Farbeinstellung beim Editieren aller drei Menue-Systeme + +Wieso auch immer, aber als naechstes hat sich eine Klasse fuer den Mitglieds- +bereich eingeschoben: + +Auszug aus der originalen general.css: +:----------------------------------: + +.member_banner { + background-color : #eeffbc; + width : 488px; +} + +:----------------------------------: + +Ahnen Sie schon, was diese Klasse soll? Ich schaetze mal, Sie haben auf die +Refbanner getippt. Hiemit werden aber die Einstellungen fuer Ihre Werbebanner +im Zeitframe beim Bestaetigen von Mails vorgenommen. + +Nicht dass Sie dies jetzt missverstehen: Es werden nur Desgin-Angaben fuer die +Tabelle um den Banner eingestellt, nicht der Banner selber wird geaendert! ;-) + +Und weiter geht es mit Admin-Klassen: + +Auszug aus der originalen general.css: +:----------------------------------: + +.admin_error { + background-color : #eeffbc; + color : #00AA00; + font-size : 10px; +} + +.admin_select, .guest_select, .member_select { + border : dotted 1px; + border-color : #009900; + background-color : #EEFFEE; +} + +.admin.register, .admin_desc_header, .admin_done, .admin_title, .member_title2, .guest_title2 { + background-color : #ddeedd; + color : #009900; +} + +:----------------------------------: + +.member_done, .guest_done { + color : #009900; +} + +.member_misc { + background-color : #DDEEDD; +} + +.admin_misc, .member_misc { + color : #000000; +} + +.admin_done2 { + color : #AA0044; +} + +.admin_green, .admin_no { + color : #009900; +} + +.admin_welcome { + background-color : #DDEEDD; + color : #009900; + vertical-align : middle; + font-size : 18px; + height : 50px; +} + +.admin_header { + background-color : #eeffbc; +} + +.admin_menu { + background-color : #DDEEDD; + color : #000077; + width : 230px; +} + +.admin_logout { + background-color : #AAFFAA; + color : #00AA00; +} + +.admin_desc_cont, .admin_table, .member_table { + background-color : #eeffbc; +} + +.admin_editmenu { + min-width : 500px; + max-width : 90%; +} + +.admin_form_header { + text-align : center; + height : 36px; + background-color : #eeffbc; + color : #009900; +} + +.member_header { + text-align : center; + height : 28px; + background-color : #eeffbc; +} + +.admin_failed, .guest_failed, .member_failed, .member_note { + color : #00AA00; +} + +.member_note_bg { + background-color : #eeffbc; +} + +.member_data { + background-color : #eeffbc; + color : #009900; + height : 20px; +} + +.admin_header_b1 { + border-bottom : 1px solid #AA0044; + background-color : #ddeedd; + height : 22px; +} + +.admin_snote { + font-size : 12px; +} + +.admin_normal, .guest_normal, .member_normal { + border-style : solid; + border : dotted 1px; + border-color : #009900; +} + +.member_stats { + vertical-align : top; + font-weight : bold; + height : 23px; + font-size : 16px; + border-style : none; + border : 0px; + background : #DDEEDD; + color : #000000; + margin-top : -4px; + margin-bottom : 1px; + cursor : default; +} + +.normal { + border-style : groove; +} + +.member_main { + background-color : #DDEEDD; +} + +.guest_title, .member_title { + color : #009900; + vertical-align : middle; + background-color : #DDEEDD; + height : 60px; +} + +.guest_login_header { + color : #009900; + vertical-align : middle; + background-color : #DDEEDD; +} + +.guest_menu, .member_menu { + width : 200px; + background-color : #DDEEDD; +} + +.guest_menu_title, .member_menu_title { + background-color : #BDEFCD; + color : #009900; + height : 25px; + width : 200px; + border : 1px solid #AA0044; +} + +.guest_menu_whats, .member_menu_whats { + border : 1px dotted #AA0044; + border-top : 0px; + background-color : #eeffbc; + height : 20px; +} + +.guest_menu_seperator, .member_menu_seperator { + height : 15px; +} + +.guest_content, .member_content { + background-color : #F4FFF4; + width : 99%; +} + +.guest_advert, .guest_login, .member_advert, .member_login { + background-color : #DDEEDD; + vertical-align : top; + margin-top : 10px; +} + +.master { + width : 100%; + height : 100%; + min-height : 90%; + max-height : 100%; +} + +.footer { + vertical-align : bottom; + font-size : 12px; +} + +.footer.lines { + width : 340px; + vertical-align : middle; + background-color : #E5EFE5; + height : 40px; +} + +.dashed { + border : dotted 1px; + border-color : #AA0044; +} + +.switch_sw1, .switch_mem1 { + background-color : #b8efc1; +} + +.switch_sw2, .switch_mem2 { + background-color : #b8fccb; +} + +.impressum { + font-size : 12px; + width : 320px; + vertical-align : middle; + background-color : #E5EFE5; + height : 70px; +} + +.mediadata { + background-color : #eeffbc; +} + +.media_header, .impressum_header { + background-color : #b8fccb; + align : center; + text-align : center; + color : #009900; + height : 26px; + font-weight : bold; + font-size : 20px; +} + +.media_left { + font-size : 14px; + width : 200px; +} + +.media_right { + color : #009900; + font-weight : bold; + font-size : 14px; + width : 70px; +} + +.admin_sep_footer { + background-color : #DDEEDD; + font-size : 1px; +} + +.admin_sep_footer2 { + background-color : #eeffbc; + font-size : 1px; +} + +.admin_footer, .member_refbanner, .member_update, .admin_del_link { + background-color : #DDEEDD; +} + +.member_footer { + height : 30px; + background-color : #DDEEDD; +} + +.admin_footer { + height : 30px +} + +.admin_task_header { + background-color : #DDEEDD; + color : #009900; + vertical-align : middle; + font-size : 18px; + height : 35px; +} + +.seperator { + font-size : 1px +} + +.tab1 { + align : center +} + +.admin_delete, .admin_yes { + border-style : groove; + border : solid 1px #00AA00; + background-color : #AA0044; + color : #DDEEDD; +} + +.guest_stats { + background-color : #eeffbc; + width : 460px; +} + +.guest_stats_title { + color : #009900; + vertical-align : middle; + background-color : #DDEEDD; + height : 30px; +} + +.guest_stats_l { + width : 344px; + text-align : right; +} + +.guest_stats_m { + width : 2px; +} + +.guest_stats_r, .guest_stats_lr, .guest_stats_rr { + color : #009900; + width : 28px; + font-weight : bold; + text-align : center; +} + +.guest_stats_ll, .guest_stats_rl { + width : 192px; + text-align : right; +} + +.guest_stats_footer { + color : #009900; + vertical-align : middle; + background-color : #DDEEDD; + height : 20px; +} + +.task_pre { + font-weight : bold; + margin-left : 0px; + margin-right : 0px; + margin-top : 10px; + margin-bottom : 10px; +} + +.impressum_body { + background-color : #DDEEDD; +} + +.guest_content_align, .member_content_align, .admin_content_align { + align : center; + text-align : center; + vertical-align : top; +} + +.member_mailidtop { + background-color : #DDEEDD; + width : 100%; + height : 100%; +} + +.list_categories, .admin_action_header, .admin_main, .admin_menu_main, .admin_menu_sub { + width : 100%; +} + +.member_unconfirmed { + background-color : #DDEEDD; + width : 100%; + align : center; + text-align : center; +} + +.you_are_here { + white-space : nowrap; + font-size : 14px; +} + +.tiny { font-size : 12px; } +.medium { font-size : 14px; } +.big { font-size : 20px; } + +.top { border-top : 1px dotted #4400AA; } +.bottom { border-bottom : 1px dotted #4400AA; } +.left { border-left : 1px dotted #4400AA; } +.right { border-right : 1px dotted #4400AA; } + +.top2 { border-top : 1px dotted #AA0044; } +.bottom2 { border-bottom : 1px dotted #AA0044; } +.left2 { border-left : 1px dotted #AA0044; } +.right2 { border-right : 1px dotted #AA0044; } + +.nobr { + white-space : nowrap; +} + +.guest_table { + background-color : #eeffbc; +} diff --git a/0.2.1/DOCS/de/EXTENSIONS.txt b/0.2.1/DOCS/de/EXTENSIONS.txt new file mode 100644 index 0000000000..8d3c6d69c4 --- /dev/null +++ b/0.2.1/DOCS/de/EXTENSIONS.txt @@ -0,0 +1,103 @@ +Info-Datei zum Einspielen von Erweiterungen +=========================================== + +1. Erst-Installation einer/meherer Erweiterung +2. Upgraden von Erweiterungen +3. Löschen von Erweiterungen + +--- --- --- --- --- --- + +1. Erst-Installation einer/meherer Erweiterung +---------------------------------------------- + +Die Erst-Installation einer neuen Erweiterung ist denkbar einfach: + +- Legen Sie einen neuen Ordner (z.B. "Neue Erweiterungen") an +- Entpacken Sie das Erweiterungsarchiv in diesen Ordner. Sie können + Erweiterungsarchive an dem Präfix "ext-" erkennen! +- Es werden mindestens zwei Ordner angelegt: inc und DOCS +- Laden Sie alle bis auf DOCS auf Ihren Server in das Hauptverzeichnis + von MXChange hoch. Wenn also "inc", "themes" und "DOCS" exisitieren, + laden Sie also nur "inc" und "themes" hoch. Meistens werden dabei + keine Dateien überschrieben, sondern nur neue hinzugefügt. Sollten + Sie dennoch vom FTP-Programm eine solche Meldung erhalten, bestätigen + Sie diese mit "Ja", "Alle" oder dergleichen; bitte also die Dateien + überschreiben lassen! +- Loggen Sie sich nun in Ihren Admin-Bereich ein. Eine neue Aufgabe wird + sofort mit aktueller Zeitmarke erstellt. +- Setzen Sie in der Spalte ID ein Käckchen, wo unter der Spalte "Infos" + die neue Erweiterung aufgeführt ist. +- Klicken Sie auf Bearbeiten. Je nach Einstellung wird Ihnen ein Info-Text + zur Erweiterung, alle Update-Hinweise (die Sie zu 99,9% ignorieren können) + und alle SQL-Anweisungen aufgelistet, die beim Registrieren der Erweiterung + durchgeführt werden (diese brauchen Sie also nicht selber erneut + durchführen!) +- Klicken Sie dann rechts nebst der Auflistung auf "Registrieren", der Button + selber kann derzeit etwas "versteckt" weiter unten sein. Scrollen Sie also + etwas und suchen Sie nach ihm. Er befindet sich aber immer ganz rechts im + Browserfenster! +- Die Erweiterung ist nun in Ihrem Mailtausch registriert und steht zur + Verfügung. +- Klicken Sie auf "Willkommen" und achten Sie, ob eine neuer Menüpunkt + hinzukommt. +- Ist dies mal nicht der Fall, so ist dies kein Grund zur Unruhe. Meistens sind + dann Untermenüpunkte hinzugekommen. Zu 90% wird unter "Einstellungen" ein neuer + Punkt hinzugekommen sein. +- Suchen Sie dort also als erstes nach neuen Einträgen und wählen Sie ihn aus. +- Passen Sie die gezeigten Einstellungen Ihren Wünschen an und speichern Sie + diese ab. + +Das war's dann auch schon mit der Erst-Installation. Klingt meistens +komplizierter, als es eigentlich ist. + +--- --- --- --- --- --- + +2. Upgraden von Erweiterungen +----------------------------- + +Im Grunde genommen koennen Sie beim Updaten von Erweiterungen so vorgehen, +wie Sie es vom Upgraden des gesamten Script her kennen: + +- Eigen geaenderte Templates/CSS-Dateien sichern +- Alles (bis auf DOCS-Verzeichnis) hochladen +- Gesicherte Dateien wieder hochladen. +- In Adminbereich einloggen und nach Update-Aufgaben gucken + +--- --- --- --- --- --- + +3. Löschen von Erweiterungen +---------------------------- + +Als ersten sollten Sie unter "Verschiedenes->Erweiterungen" die zu löschende +Erweiterung auswählen (wie oben unter 1. beschrieben) und dann auf "Löschen" +klicken. Bestätigen Sie die Löschung nochmals und schon ist die Funktionalität +der Erweiterung nicht mehr im Mailtausch vorhanden. Sie können übrigens auch +mehrere Erweiterungen auf einmal löschen, genauso wie Sie diese aktivieren, +deaktivieren oder ändern können (CSS-Datei ein-/ausbinden). + +Nun existiert sie aber noch auf Ihrem Server. Und genau hier passieren die +meisten "Unfälle": Zu viel gelöschte Scripte oder Templates. Das Theater ist +dann gross, welche wieder hochgeladen müssen und welche nicht. Wenn Sie also +sich nicht sicher sind (ich will hier niemanden Angst machen, Backups anlegen +hat immer Vorteile. :-) ), so löschen Sie nur aus dem Verzeichnis +"inc/extensions/" das entsprechende Script. + +Heisst also z.B. die zu löschende Erweiterung "active", so löschen Sie aus +"inc/extensions/" das PHP-Script ext-active.php, nicht aber die anderen +Scripte! + +Wer sich sicher ist, kann bei diesem Beispiel den Server nach allen Dateien +mit "*active*.*" suchen und diese dann löschen. Hier ist aber Vorsicht angesagt! + +Vergleichen Sie am besten die Löschliste mit der aus dem Erweiterungsarchiv, +dann können Sie am wenigsten falsch machen. + +--- --- --- --- --- --- + +Viel Erfolg!!! + +Und wenn Sie nicht weiterkommen, melden Sie sich bitte im Forum! + +http://forum.mxchange.org + +[EOF] diff --git a/0.2.1/DOCS/de/LICENSE.txt b/0.2.1/DOCS/de/LICENSE.txt new file mode 100644 index 0000000000..086162837d --- /dev/null +++ b/0.2.1/DOCS/de/LICENSE.txt @@ -0,0 +1,17 @@ +Deutsche Lizenz-Datei LICENSE.de +================================ + +Die deutsche Fassung der GNU GPL (General Public License) ist leider nicht +rechtskraeftig, daher kann ich sie hier nicht anwenden. Wenn Sie sie aber +dennoch wegen Verstaendnisproblemen oder der gleichen lesen moechten, so schauen +Sie bitte unter folgendem Link nach: + +http://www.gnu.de/gpl-ger.html + +Die gueltige Lizenz zu dieser Software finden Sie in der Datei DOCS/LICENSE.txt. + +Eine Online-Kopie können Sie unter folgender URL abrufen: + +http://www.gnu.org/licenses/gpl.html + +[EOF] diff --git a/0.2.1/DOCS/de/MENUE_HOVER.txt b/0.2.1/DOCS/de/MENUE_HOVER.txt new file mode 100644 index 0000000000..9b85362cc7 --- /dev/null +++ b/0.2.1/DOCS/de/MENUE_HOVER.txt @@ -0,0 +1,24 @@ +-------------------------------------------------------------------------------- +Bitte auch diese Mini-Anleitung ignorieren! Sie galt älteren Versionen und ist +heute nicht mehr relevant! +-------------------------------------------------------------------------------- + +Die folgende CSS-Klasse aendern: + +A:hover { + background-color : transparent; +} + +Bitte folgende CSS-Klassen anhaengen: + +.menu_blur { + display : block; +} + +.menu_blur:hover { + background-color : #deefac; +} + +Aus folgenden/r CSS-Klasse(n) den Eintrag "padding-left: ??px" entfernen: + +.guest_menu_row, .guest_menu_bottom, .member_menu_row, .member_menu_bottom diff --git a/0.2.1/DOCS/de/PATCHES.txt b/0.2.1/DOCS/de/PATCHES.txt new file mode 100644 index 0000000000..7178962685 --- /dev/null +++ b/0.2.1/DOCS/de/PATCHES.txt @@ -0,0 +1,33 @@ +Einspielen von Patches und wichtige Infos +========================================= + +Patches sind inkrement zur aktuellen Version (bitte im Admin-Bereich unter +"Verschiedes / Updates pruefen" schauen, ob eine neue Version raus ist). Das +heisst, sie bauen aufeinander auf und dementsprechend muessen sie in der +Reihenfolge installiert werden, in der ich sie durchnummeriert (Präfix) habe. + +Bei einigen Patches liefere ich Templates und/oder CSS-Dateien mit aus. Diese +muessen Sie natuerlich auch einspielen bzw. mit Ihrer geänderten Version +vergleichen. Eventuell sind von mir HTML-Tags hinzugekommen, entfernt oder +geändert worden! + +Ist Ihnen das Patchen zu kompliziert, warten Sie einfach auf ein neues Update. +Von diesem brauchen Sie dann nur noch die PHP-Dokumente ohne config.php, +Templates und CSS-Dateien (neue nur!) hochladen. + +Sichern Sie sich aber zuvor Ihre geänderten Templates und CSS-Dateien ab, damit +Sie diese anschliessend wieder hochladen können. + +Das Einspielen von SQL-Dateien per upgrade.php oder PHPMyAdmin ist seit einigen +Versionen nicht mehr noetig. Dies wird entweder von den unzaehligen +Erweiterungen (einige dienen nur als Platzhalter, sollten aber dennoch aktuell +gehalten werden, damit Sie kein neues Feature / Patch verpassen) erledigt, oder +auch von der Erweiterung "sql_patches". + +Im Internet unter der Adresse http://www.mxchange.org habe ich eine FAQ Nr. 19 +zum Thema "Erweiterungen aktuell halten" eingestellt. Schauen Sie sich diese an, +wenn Sie wissen wollen, welche Erweiterungen Sie mindestens aktuell halten +sollten. Zudem veroeffentliche ich dort mal ab und zu eine weitere FAQ mit +interessanten Hinweisen aus Mails und Chats mit "Kunden" (wie Sie eine/r sind). + +[Ende der PATCHES.txt] diff --git a/0.2.1/DOCS/de/PATCH_320.txt b/0.2.1/DOCS/de/PATCH_320.txt new file mode 100644 index 0000000000..fb57696807 --- /dev/null +++ b/0.2.1/DOCS/de/PATCH_320.txt @@ -0,0 +1,16 @@ +README fuer Patch Nr. 320 (veraltet!) +===================================== + +Wenn Sie dieses Patch fehlerfrei nutzen wollen, muessen Sie unbedingt aus dem +Template "metadata.tpl" die Zeile mit "description" entfernen, da diese seit +diesem Patch vom Script dynamisch eingefuegt wird. + +Die Beschreibung wird derzeit automatisch wie folgt generiert: +- Mailtausch-Titel (MAIN_TITLE) +- Titel von what-Datei + +Die Generierung erfolgt allerdings nur im Gastbereich, da nur dort +Suchmaschienen rankommen koennen. In den beiden anderen Menues ist dies +nicht erforderlich. + +[-- ENDE VON PATCH_320.txt --] diff --git a/0.2.1/DOCS/de/README.txt b/0.2.1/DOCS/de/README.txt new file mode 100644 index 0000000000..719769c7e2 --- /dev/null +++ b/0.2.1/DOCS/de/README.txt @@ -0,0 +1,348 @@ +Deutsche README-Datei +===================== + +Themenübersicht: +---------------- +1. Danke +2. Voraussetzungen +3. Installation +3. b) Manuelle-Installation +4. Konfiguration +4. b) SMTP-Support durch PHPMailer +5. Wichtige Templates +6. Wie Sie mit dem Script Geld verdienen +7. Tipps und Hinweise zum Thema Sicherheit +8. Deinstallation +9. Distanzierung +---------------- + +1. Danke +-------- + +Erst einmal vielen Dank, dass Sie mein kostenloses Mailtausch-Script MXChange +(wird ab hier Programm genannt) heruntergeladen haben! Ich bietet Ihnen +hiermit die Möglichkeit an, einen komplett eigenen Mailtausch aufzubauen. +Allerdings möchte ich hier nochmal darauf hinweisen, dass ich ABSOLUT KEINE +GEWÄHR für die Fehlerfreiheit und Sicherheit dieses Programmes übernehme! Die +Installation erfolgt stets AUF IHRER EIGENEN GEFAHR UND VERANTWORTUNG hin! + +2. Voraussetzungen +------------------ + +Sie benötigen eine sogn. LAMP-Umgebung auf Ihrem Server. Das ist nichts +besonders! (Also wenn Ihr Hoster gut Geld verlangt, dann gehen Sie besser +woanders hin... :-) ) + +LAMP steht für "Linux, Apache, MySQL, PHP". + +PHP sollte möglichst in der Version 4.1.x vorliegen (oder höher), da in 4.0.x +einfach zu viele Programmierfehler enthalten sind. + +Unter PHP5 ist die Software bereits etwas getestet und scheint zu funktionieren. +Wenn Sie dennoch auf Fehler stossen, so melden Sie die bitte im Forum! +(Siehe 3.b) ) + +Unter http://www.webhostlist.de können Sie sich einen passenden Anbieter +raussuchen, wenn Sie nicht weiterwissen. Das MXChange-Script scheint mit einigen +sogn. Free-Hostern nicht 100%ig klar zu kommen. Das lag in der Vergangenheit +meistens daran, dass der system()-Befehl deaktiviert war und dass somit keine +SQL-Dateien eingespielt wurden. Sollte dies bei Ihnen der Fall sein, fahren +Sie unter 3.b) mit der manuellen Installation fort. + +Unter Windows-Systemen habe ich das Script nur unzureichend testen können. Wenn +Sie also z.B. WinXAMP (oder so?) haben, testen Sie es gerne dort. Gehen Sie aber +nicht davon aus, dass es auch fehlerfrei laufen wird. :-/ + +3. Installation +--------------- + +Die Installation ist recht einfach gehalten: + +- Entpacken Sie das heruntergeladene Archiv (zum Beispiel mit WinZIP) in ein + Verzeichnis auf Ihrer Festplatte. Es wird dabei ein Verzeichnis namens + "mxchange-x.x.x" angelegt (wobei x.x.x die aktuelle Version ist). + +- Laden Sie den gesamten Inhalt des Verzeichnisses "0.2.1" hoch (die anderen + Dateien werden nicht benötigt.) Auch die SQL-Dateien im Hauptverzeichnis + sollten mit hochgeladen werden, die upgrade.php bitte nicht mehr mit hochladen! + +- Setzen Sie die Zugriffsrechte (CHMOD) wie folgt: + + Verzeichnis inc auf 777 + + Datein inc/config.php auf 666 + +- Das Script befindet sich jetzt im Installationsmodus! Rufen Sie einfach + das Script direkt auf: http://www.mein-server.de/mailtausch/ Das Script leitet + Sie direkt in die Installationsroutine. Wenn Sie das aktuelle Theme nicht + moegen, so koennen Sie schon jetzt das Theme "auswaehlen", indem Sie es an + install.php wie folgt anhaengen: + + - install.php?theme=business = Ruft das Theme "Solid-Business" auf + - install.php?theme=desert = Ruft das Theme "Desert-Storm" auf + +- Der Installationspfad wird vom Script selbst erkannt (Auto-Detection) und + brauch bei 99% aller Installationen nicht von Ihnen geaendert werden. Auch + die Installationsroutine "laesst die Finger davon". + +- Neuerdings wird auch die URL automatisch erkannt. Auch hier brauchen Sie mit + 99%-iger Wahrscheinlichkeit nichts aendern. :-) + +- Folgen Sie den Anweisungen auf dem Bildschirm. Wenn diese + IMMER_GROSS_GESCHRIEBEN_SIND, ist vermutlich die englische Sprache aktiv. Sie + müssen derzeit die deutsche Sprache dann so aufrufen: + http://www.ihr-server.de/install.php?mx_lang=de + +- Lassen Sie folgende Einstellungen beim Installieren auf Standart: + + Ausgabe-Modus auf 'render' + + Frameset abschalten (Table-Set aktivieren). + + Diese beiden Einstellungen haben bei den ersten Installationen die meisten + Fehler verursacht! + +Viel Glück! :-) + +******************************************************************************** +Übrigens: Wenn das Script Sie bittet, Zugriffsrechte bestimmter Dateien oder +Verzeichnisse zu ändern und Ihnen aber einen "Weiter-Button" anbietet, führen +Sie diese ZUERST durch und klicken dann auf "Weiter", versuchen Sie nicht die +Seite zu aktualisieren! Das kann durchaus zu Fehlern fuehren. +******************************************************************************** + +3. b) Manuelle-Installation +--------------------------- + +Falls es bei der halb-automatischen Installation per install.php nicht klappen +sollte (Fehlermeldungen beim Einspielen der SQL-Dateien), so muessen Sie diese +selber in folgender Reihenfolge (unbedingt einhalten!!!) einspielen: + +1. install/tables.sql +2. install/menu-de.sql + +Stellen Sie dann in der inc/config.php die Konstante mxchange_installed auf +'true'. + +Vorher: +define('mxchange_installed', false); + +Nachher: +define('mxchange_installed', true); + +Anschliessend stellen Sie die MySQL-Zugangsdaten, den Titel Ihres Mailtausches, +Werbspruch (Slogan) und Ihre EMail-Adresse (zum Empfangen von Anmelde-EMails +usw.) ein. + +Die inc/config.php ist dazu von mir ausreichend gut durchkommentiert. Beachten +Sie aber, dass Sie Ihre Daten zwischen die doppelten Anfuehrungszeichen (") +setzen muessen. + +Ebenfalls viel Glueck dabei! :-) + +Als naechstes lesen Sie sich bitte die FAQs auf meiner Webseite durch: + +http://www.mxchange.org/cms/index/wht/faqs + +Wenn Sie nicht klarkommen oder Sie Endlosschleifen oder Fehlermeldungen +erhalten, melden Sie sich bitte bei mir. Die erste Anlaufstelle fuer Sie ist +immer mein Forum, welches Sie hier finden koennen: + +http://forum.mxchange.org + +Alle wichtigen Kontaktdaten finden Sie im Impressum: + +http://www.mxchange.org oder +http://www.mxchange.de oder +http://www.mxchange-demo.de + +4. Konfiguration +---------------- + +Nach dem Installationsvorgang sollte das *grundlegenste* erledigt sein. +Richten Sie als nächstes *unbedingt* einen Administrator-Account ein! Dieses +wird auch nach der Installation automatisch der nächste Schritt sein. + +Danach geht es gleich im Admin-Bereich weiter. Glückwunsch, Sie sind hier +angekommen! + +Gleich nach dem Login im Admin-Bereich werden Ihnen eine Reihe Aufgaben +zugeteilt. Führen Sie der Reihe nach aus und installieren Sie die +Erweiterungen in Ihr System. + +Danach koennen Sie die Aufgaben ohne Bedenken loeschen. Sollten Sie mal ein +Update von mir erhalten, oder auch eine Erweiterung loeschen, wird - solange +die Erweiterung noch auf dem Server existiert - wieder eine neue Aufgabe +automatisch generiert. + +Die Erweiterungen admintheme1 und admintheme_default sind Sondererweiterungen: + +- admintheme_default: Standartmenue (Auslieferung) setzen +- admintheme1: EMail-Statistik und Online-Statistik werden in das Menue + Statistiken verschoben + +Beachten Sie, dass diese Erweiterungen nach Registrierung wieder entfernt +werden, da sie nur das Admin-Menue veraendern sollen und sonst keine weitere +Funktion haben. + +Zurueck zur Konfiguration des Mailtausches! + +Als nächstes sollten Sie schauen, ob Sie mit den Standartbeschriftungen aller +Menüs zufrieden sind (was auch meistens so ist... ;-) ). Dann richten Sie unter +"Einstellungen" die Untermenüpunkte von oben nach unten durcharbeiten: + +- Kategorien einrichten: Richten Sie hier Kategorien ein. In diesen können dann + Ihre Mitglieder ihre Werbung später buchen. Es snd berteits welche vorgegeben. + Derzeit koenenn Sie noch nicht aendern oder loeschen! + +- Anmeldeformular: Stellen Sie hier ein, wie viele Kategorien bei der Anmeldung + *mindestens* ausgewählt werden sollen, damit die Anmeldung durchgeführt werden + kann. Dieses wirkt sich auch später auf den Mailversand aus! + +- Versand, Empfang: Richten Sie hier für die Mitglieder die maximal zu + empfangenen Mails pro Tag ein (also wie viel ein Mitglied pro Tag empfangen + will). Dieses sollten schon mehr als 5 Auswahlen (+ 0 Mails / Tag wegen der + Urlauber) sein. + +- Sicherheitseinstellungen: Diverse Einstellungen zum Thema Sicherheit, wie + minimale Passwortlänge, doppelt angemeldete Email-Adressen / Passwörter + verweigern. + +- Punkte: Hier gibt es gleich zwei weitere Unterpunkte: + + * Willkommensgutschrift und andere Festbeträge editieren: Hier stellen Sie + Die Vergütung bei Anmeldung ("Willkommensgutschrift") und eine einmalige + Referral-Gutschrift (nur erste Ebene!) ein. + + * Referral-Ebenen editieren / löschen / hinzufügen: Dies ist wohl das + interessanteste für Mitglieder! Es empfiehlt sich, das ganze "in der + Waage" zu halten: Nicht zu viel aber auch nicht zu wenig und je "tiefer" + die Ebenen, desto niedriger der prozentualer Anteil. Zudem sollten zum + Starten 5 Ebenen reichen. :-) + + * Auch bei den Referral-Ebenen koennen Sie noch nichts aendern / loeschen! + Loeschen von Referral-Ebenen im Betrieb ist gefaehrlich! Dadurch + verlieren Ihre Mitglieder definitiv Punkte in den Ebenen! Also vorher + manuell gutschreiben!!! + +Wenn Sie hier angekommen sind, haben Sie Ihren ersten (?) freien Mailtausch +eingerichtet! Nochmals "Herzlichen Glückwunsch" an dieser Stelle! + +4.b) SMTP-Support durch PHPMailer +--------------------------------- + +Seit der MXChange Version 0.2.1-RC5 wird PHPMailer in der Version 2.0.0 genutzt. +Die Dokumentation, sowie Lizenzdatei finden Sie unter inc/phpmailer/. Ich nutze +davon jedoch nur den SMTP-Auth-Mechanismus, damit mehr User mein Skript nutzen +koennen. Mein besonderer Dank gilt hier The Shadowmaster, da er mich darauf +aufmerksam und angespornt hat, den Support fuer SMTP-Auth einzubauen. + +Damit Sie dies nun auch in MXChange nutzen koennen, muessen Sie nach der +Installation von MXChange die config.php erneut runterladen(!) und die Eintraege +SMTP_HOSTNAME, SMTP_USER und SMTP_PASSWORD anpassen. Derzeit wird nur die +SASL-Methode LOGIN unterstuetzt. Tesweise koennen Sie auch versuchen, SSL +einzuschalten. Sollten Sie Fehlermeldungen erhalten und es sind keine Mails +unterwegs, versuchen Sie als erstes das SSL abzuschalten. Eventuell unterstuetzt +Ihr fsocksopen()-Befehl von PHP kein SSL! + +Gerne kann ich Ihnen im Rahmen von Mailversand fuer MXChange hier etwas Support +in meinem Forum anbieten, ich kann natuerlich nicht die gesamte PHPMailer-Klasse +supporten! + +Die neuste PHPMailer-Version finden Sie auf deren Homepage unter der folgenden +Adresse: + +http://phpmailer.codeworxtech.com/ + +5. Wichtige Templates +--------------------- + +Sie sollten nunn diverse Templates einstellen: impressum.tpl.de, metadata.tpl.de +sind beispielsweise im "Fabrikzustand". Verwenden Sie dazu einen einfachen +Texteditor und nicht einen HTML-Editor. Diese bauen oefters Kopf- und Fuss-Tags +ein, die in Templates unerwuenscht sind. + +Weitere Details zu meinem Template-System entnehmen Sie bitte der TEMPLATES.de ! + +Ich werde oefters gefragt, wo ein guter Platz fuer Banner-Codes und/oder +Counter-Codes ist. Dazu moechte ich gleich die interessantesten Plaetze +auflisten: + +- guest_header.tpl.de - Kopf-Template im Gastbereich: Hier koennen Sie + beispielsweise 468x60-Banner oder Textlinks unterbringen +- member_header.tpl.de - Das gleiche Template dieses Mal fuer den Mitgliedsbereich +- guest_footer.tpl.de - Das gleiche dieses Mal unten der Fuss +- member_footer.tpl.de - Das gleiche dieses Mal fuer den Mitgliedsbereich +- guest_advert.tpl.de - Gast-Template unterhalb des Menue-Systems: Hier passen + gut 88x31-Banner und/oder Counter-Codes rein +- member_advert.tpl.de - Gleiches Template fuer den Mitgliedsbereich + +6. Wie Sie mit dem Script Geld verdienen +---------------------------------------- + +Sie koennen nicht nur mit Werbeeinahmen Geld verdienen - was sich nur bei 1000 +Besuchern pro Tag und mehr sich lohnen wuerde - sondern auch mit Verkauf von +Accounts! Dabei brauchen Sie noch nicht mal Ihren Ref-Link bewerben! Das +geschieht vollkommen automatisch! + +Melden Sie sich als naechstes selber an. Die vom System Ihnen zugeteilte Ref-ID +stellen Sie unter "Einstellungen -> Standart Ref-ID" als Referral-ID ein. + +Sobald Sie dies getan haben, und jemand Ihren Mailtausch ohne Ref-Link aufruft, +wird automatisch Ihre Ref-ID im Anmeldeformular eingesetzt. Folglich erhalten Sie +alle Refs, die nicht ueber Ref-Links reingekommen sind! Wenn Sie meinen, dass Sie +genug Refs haben (Tipp: ab 30 Refs wird es interessant fuer das neue Mitglied!) +dann versteigern Sie diesen in einem Auktionshaus Ihrer Wahl oder verkaufen Sie +diesen von Ihrer Webseite aus. + +Nach Verkauf und Abgabe des Accounts melden Sie einfach erneut an, tragen die +Ref-ID ein und das Spiel beginnt von vorne. + +Viel Erfolg beim Geldverdienen! + +Uebrigens: 30 Refs sind durchaus 20 EUR und mehr wert. Und Sie muessen +natuerlich Ihren Mailtausch bewerben, da ihn sonst niemand kennt! Aber das +sollte Ihnen schon klar sein... + +7. Tipps und Hinweise zum Thema Sicherheit +------------------------------------------ + +############################################################################### +Etwas sehr wichtiges vorweg: Löschen Sie die Installationsroutine (install.php +aus dem Hauptverzeichnis und inc/install*), damit Unbefugte diese nicht +missbrauchen können! +############################################################################### + +Stellen Sie beim Sicherheitscode (beim Best. von Mails wird dieser angezeigt und +muss wiederholt werden) nicht weniger als 3 ein. Eine 0 deaktiviert nun seit +einigen Versionen den Code, nicht aber den Button! Dieser muss noch immer +angeklickt werden. Ich habe diesen Code aus einem einfachen Grund eingebaut: + +So wie es bei einem anderen Mailtausch-Betreiber aussah, wurden zwar die Mails +bestaetigt, aber die Seite nie besucht. So wie ich vermute, wurden sogn. Fake- +Programme (Auto-Confirm) verwendet, um die Mails zu bestaetigen, da die Links +nachmachbar sind. + +Dieses Script ist mit einem Sicherheitscode zum Eingeben + einem Buttom zum +Anklicken ausgestattet. Er wird in ein Bild hineingeschrieben, das gemustert +ist. Weitere Details entnehmen Sie bitte der Textdatei SECURITY.txt! + +Um diesen Code kommen (hoffentlich) die Faker-Programme nicht mehr herum. + +8. Deinstallation +----------------- + +Zur Deinstallation loeschen Sie alle Dateien des Scriptes vom Server und die +Tabellen mit Struktur. Bei den meisten Hostern duerfen Sie nicht die Datenbank +selber loeschen. Versuche dies zu tun, fuehren zu Fehlern und die Tabellen +bleiben bestehen. + +9. Distanzierung +---------------- + +Da dieses Script frei und ohne Alterskontrolle zur Verfügung steht, kann ich +nicht kontrollieren, wer sich dieses runterlädt. In jedem Fall mache ich mich +fuer Folgen und daraus resultierenden Schaeden in keinsterweise verantwortlich +und entziehe mich von der Haftbarkeit. + +Jeder, der diese Software runterlädt, hat die Lizenz GNU GPL gelesen und +akzeptiert. Diese wird im jedem vollen Paket (nicht Patches) und Erweiterungen +mitgeschickt. + +[EOF] diff --git a/0.2.1/DOCS/de/SECURITY.txt b/0.2.1/DOCS/de/SECURITY.txt new file mode 100644 index 0000000000..5f29380dbe --- /dev/null +++ b/0.2.1/DOCS/de/SECURITY.txt @@ -0,0 +1,179 @@ +Deutschsprachige Informationen zu den Sicherheitsvorkehrungen +============================================================= + +Themenuebersicht: +----------------- + +1. Sicherheitscode beim Bestaetigen der Mails +2. IP- und E-Mail-Sperre im Anmeldeformular +3. Modul-Sicherheit +4. SQL-Injektionen und XSS-Attacken +5. URL-Sperre +6. Profilsperre +7. URL-Filtersystem +x. Haftbarkeit + +--- --- --- --- --- + +1. Sicherheitscode beim Bestaetigen der Mails +--------------------------------------------- + +Der Sicherheitscode gilt als eine Sicherheitsbarriere gegen Betrueger, die nur +Punkte ansammeln wollen und das moeglichst ohne die beworbene Seite zu besuchen +und sich anzusehen. Und genau dafuer ist der Mailtausch ja da, es soll die +beworbene Seite besucht werden. Auch dieses Script kann natuerlich nicht 100%-ig +dafuer sorgen, dass die Seite auch tatsaechlich besucht werden. Dazu gibt es +andere Methoden, die hier den Rahmen der Datei sprengen wuerden. + +Aber nun zum eigentlichen Thema zurueck. Nehmen wir mal an, das Script käme ohne +dem besagten Sicherheitscode. + +Die Betrueger benutzen dann ein Programm, dass die URL genau nachbilden kann, die +aufgerufen wird, wenn die Zeit abgelaufen ist und die Punkte verguetet werden +(worum es den Fakern geht). Es wird also nicht das Frameset mit der beworbenen +Seite unten und oben das Zeit-Frame aufgerufen, sondern nur die Gutschrift-Seite. + +Ohne Code in der URL und Code im Muster-Bild ist dies kein Problem. + +Nehmen wir nun an, wir wuerden den Code im Muster-Bild direkt in die URL +einbinden, so kann dies auch mit wenigen Aenderungen am Faker-Programm umgangen +werden. + +Wenn JavaScript abgeschaltet wird, geht zwar im Browser nichts mehr, aber das +Faker-Programm funktioniert immer noch. Es musste also ein besserer Schutz her. + +Und hier kommt der Absicherungsmechanismus mit dem sogn. Site-Key und Date-Key +zur Geltung. + +Der Site-Key ist ein von mir zufallsmaessig eingegebener Code. Diesen koennen - +und in Sachen Sicherheit - sollten Sie ihn auch aendern. Der Code sollte +dabei aus Zahlen, Buchstaben und anderen Zeichen bestehen. Diese koennen Sie +wild durcheinander eingeben. Wollen Sie die doppelten Anfuehrungszeichen +eingeben, so "escape-n" Sie diese bitte, indem Sie ein \ direkt vor das +Anfuehrungszeichen setzen. Das sieht dann so aus: \" Dies muss sein, da der +Site-Key auch in doppelten Anfuehrungszeichen steht und es somit zu +Scriptfehlern kommen wuerde. + +Dann gibt des den Date-Key. Dieser ist einfach das aktuelle Datum im +amerikanischem Format. Auch hier koennen Sie das Format gerne auf deutsch usw. +umstellen. + +Diese beiden Codes stehen in der inc/config.php und koennen nach den oben +genannten Regeln geaendert werden. + +Wird eine Mail bestaetigt so, erzeugt das PHP-Script mailid_top.php per rand() +Funktion eine Zufallszahl zwichen 0 und 99999. Diese wird beim Laden der Seite +mit der Code-Eingabe an die URL dran gehaengt. + +Im selben Script mailid_top.php werden die beiden Codes mit dem User-Agent +(genaue Browserbezeichnung) und der Zufallszahl aus der URL aneinander gehaengt +und hexdec() codiert. Aus der dann resultierenden Zahl werden so viele Stellen +nach dem Dezimalpunkt extrahiert, wie viel Sie im Admin-Bereich eingestellt +haben. + +Weil die Zahl aus der URL mit den beiden Keys und dem User-Agent zusammen +codiert werden, sind diese unterschiedlich und koennen auch beim Abgleich des +eingegebenen Codes wieder neu generiert werden, da vor dem Ableich nach dem +selben Muster codiert wird. + +Dieses Verfahren haben die Entwickler von PHP-Nuke entwickelt +(http://www.phpnuke.org) und unterliegt genau wie mein Script der GNU GPL. + +2. IP- und E-Mail-Sperre im Anmeldeformular +------------------------------------------- + +Im Anmeldeformular gibt es eine zeitbegrenzte IP-Sperre. Diese soll verhindern, +dass der selbe Internet-User sich direkt hintereinander mit unterschiedlichen +E-Mail-Adressen anmelden kann. Gegen die selbe E-Mail Adresse besteht auch +weiterhin ein Schutzmechanimus. + +Es ist also weder moeglich, sich mit gleicher E-Mail-Adresse, noch innerhalb +einer einstellbaren Zeitspanne mit unterschiedlichen E-Mail-Adressen anzumelden. + +Beide Barrieren koennen Sie im Admin-Bereich veraendern, die Standart- +Einstellungen sind mit einigen Webmastern abgeklaert und sollte sicher genug +sein. + +3. Modul-Sicherheit +------------------- + +Anfangs habe ich auch hier das Sicherheitssystem von PHP-Nuke +(http://www.phpnuke.org) uebernommen. Ich merkte aber bald, dass dies beim +Programmieren sehr mueselig ist und habe mich fuer eine abgewandelte Version +entschieden. Die Idee, Include-Dateien im Header gegen das direkte Aufrufen +abzusichern habe ich aber dennoch von PHP-Nuke uebernommen. + +Diese Sicherheitsbarriere ist fuer den normalen Besucher nicht sichtbar. Erst +wenn er versucht, Include-Dateien direkt aufzurufen (inc/config.php +beispielsweise), so wird eine rote Warnseite angezeigt und der Ablauf des +Scriptes "stirbt". + +Diese Grundsicherheit des Script kann nicht deaktiviert werden (ausser Sie sind +verrueckt genug und loeschen die Sperren aus jedem Script, selbstverstaendlich ist +dann keine Sicherheit mehr gewaehrt und jeglicher Support-Anspruch verfallen). + +4. SQL-Injektionen und XSS-Attacken +----------------------------------- + +Bis zur Version 0.2.0-pre10 mit Patch-Level 485 und aelter war es fuer einen +entfernten Angreifer theoretisch moeglich, SQL-Befehle einzuschleusen und auch +Attacken auf die Variable $PHP_SELF durchzufueheren. Seit Patch 486 und 487 +(laden Sie sich am Besten immer die aktuellsten Patches herunter!) sind nun +entsprechende Zeilen aus der inc/db/lib-mysql3.php (Funktion SQL_QUERY_ESC) +entfernt und sollten nicht mehr angreifbar sein. Der generierten SQL-Befehl +wurde vor der Ausfuehrung nochmals "uebersetzt", also alle +sicherheitsgefaehrdenen Zeichen wieder eingebaut. Zudem existiert im Script +inc/libs/security_functions.php am Ende des Scriptes ein Mechanismus, der +XSS-Attacken verhindern soll (und es auch gut getan hat). + +5. URL-Sperre +------------- + +Was weniger mit der direkten Sicherheit des Scriptes zu tun hat, sondern eher +Ihren Mailtausch von Betruegern schuetzen soll, ist die Moeglichkeit, eine +zeitgesteuerte URL-Sperre einzurichten. Die selbe URL kann somit fuer eine +einstellbare Zeit nicht mehr beworben werden. Ich empfehle hier dabei +mindestens 1 Tag, wenn nicht sogar eher 2 Tage. + +Leider ist diese Sperre mit dynamischen URLs leicht umrundbar. Es haelt jedoch +die Anfaenger fern. + +Zudem koennen Sie unter 7. in dieser Dokumentation erfahren, wie der neue +URL-Filter arbeiten wird und wieso er implementiert wird. + +6. Profilsperre +--------------- + +Gleich wie die URL-Sperre URLs vor doppelter Bewerbung "schuetzt", so schuetzt +auch die Profilsperre das Mitgliederprofil vor erneutem Editieren innerhalb einer +bestimmten Zeit. Zudem arbeiten beide Sperren "Hand-In-Hand", was bedeutet, dass +sobald ein Mitglied eine Mail gebucht hat, fuer eine gewisse Zeit sein Profil +nicht mehr aendern kann. Auch diese Sperre gilt den Betruegern, die nach dem +Versand ihren Empfang auf 0 stellten und vor dem Versand (vor 00:00 Uhr) ihn +hochstellten, um zu versenden. Folglich konnten die anderen Mitglieder weniger +empfangsbereite Mitglieder erreichen. + +7. URL-Filtersystem +------------------- + +Das neuartige Filtersystem filtert URLs heraus, die nicht den Normungen +entsprechen. Dies soll zum einem verhindern - ich hatte es ebenfalls in einem +anderen Mailtausch mehrfach erlebt - dass URLs, wie mailto:adresse@host.de +beworben werden (oder auch Skype-Adressen). Aber es verhindert auch, dass "boese" +URLs, die den Server angreifen sollen, in das System legal gelangen und somit +alle Computer der Mitglieder - oder wenigstens den Computer des Admins angreifen +koennen (Trojaner). + +Das URL-Filtersystem selber basiert auf einer Meta-Sprache, die dann gueltige +URL-Filter (regulaere Ausdruecke) generiert und diese dann auf die beworbene URL +anwendet. Das Filtersystem laesst sich nun bald per Internet aktualisieren, was +das Aktuellhalten dann sehr stark vereinfacht. + +Die beworbene URL wird uebrigens vom URL-Lader (Dereferrer) nochmals angewandt! + +x. Haftbarkeit +-------------- + +Querverweis auf die README.de-Datei... + +[EOF] diff --git a/0.2.1/DOCS/de/TEMPLATES.txt b/0.2.1/DOCS/de/TEMPLATES.txt new file mode 100644 index 0000000000..39eca18e3c --- /dev/null +++ b/0.2.1/DOCS/de/TEMPLATES.txt @@ -0,0 +1,94 @@ +0. Themenuebersicht +=================== + +1. Neuartiges Template-System bei der MXChange-Engine: +2. Wichtige Aenderung am gesamten Template-System: +3. Sicherheitsgefaehrende Zeichen quoten + +[--- --- --- --- --- --- ---] + +1. Neuartiges Template-System bei der MXChange-Engine: +====================================================== + +Das neue Template-System umgeht endlich den Umweg mit den normalen Variablen, +die vom eval()-Befehl ge-eval-t werden (also ausgefuehrt werden). Es koennen +nun Konstanten direkt eingebunden werden: + +Vor und nach der einzubindenen Konstante muss ein {-- bzw. --} als Abschluss +gesetzt werden. Diese werden von LOAD_TEMPLATE() entsprechend umgewandelt in +". und ." (Anfuehrungszeichen-Punkt und andersrum). + +Die modules.php wierrum sichert die geposteten Daten gegen evaige Angriffe ab +(beispielsweise das Einbinden der MySQL-Daten), indem es das Dollarzeichen und +die normalen und geschwungenen Klammern quotet. + +Hier ein Beispiel: (Leerstellen nach {-- bzw. vor --} sind nicht noetig!) + +_WIRD_NICHT_EINGEBUNDEN {--_ABER_DIESE_KONSTANTE_SCHON--} + +Wird Fehler verursachen: +{--_ABSCHLUSS_FEHLT + +oder auch: +_ANFANG_FEHLT--} + +Achten Sie also darauf, dass diese Template-Klammern als Paar auftreten! + +[--- --- --- --- --- --- ---] + +2. Wichtige Aenderung am gesamten Template-System: +=================================================== + +Seit Version v0.2.0-pre4 habe ich etwas dateitechnisches am Template-System +geaendert: + +Alle Dateien im Verzeichnis templates/ und templates/emails/ sind umbenannt +und in neue Verzeichnisse verschoben. + +Ein paar Beispiele: + +- templates/guest_header.tpl.de ist nach templates/de/html/guest/guest_header.tpl + verschoben worden. + +- templates/emails/done-admin.tpl.de ist nach templates/de/emails/done-admin.tpl + verschoben worden. + +Die Doppelendung der Datei entfaellt also und ist stattdessen als Verzeichnis- +name realisiert. Damit stehen allen weiteren Sprachen Tuer und Tor offen/ + +Zudem sind die Templates nochmals erweiterungsabhaengig und Zugriffslevel- +abhaengig organisiert. Web-Template fuer das Mitglied z.B. finden Sie unter +templates/de/html/member/. Aber EMail-Template fuer den Bettel-Link finden Sie +unter templates/de/emails/beg/. + +[--- --- --- --- --- --- ---] + +3. Sicherheitsgefaehrende Zeichen quoten +========================================= + +Die neue Sicherheitsschicht inc/libs/security_functions.php sichert nun Zeichen in +der URL ab, die zum Angreifen des Servers missbraucht werden koennten. + +Diese werden durch folgende "Austauscher" ersetzt: + +Dollarzeichen = {DOLLAR_TAG} +Klammer-Auf = {OPEN_TAG} +Klammer-Zu = {CLOSE_TAG} +Template-Auf = {OPEN_TEMPLATE} (damit ist {-- gemeint!) +Template-Zu = {CLOSE_TEMPLATE} (damit ist --} gemeint!) + +Neu sind (v0.0.8 mit neusten Patches): +Abostrof (') = {QUOT} +Prozent (%) = {PER} +Semikolon (;) = {SEMI} + +---> Und noch viele mehr! + +Diese "Austauscher" werden nach dem eval()-Befehl in der LOAD_TEMPLATES()- +Funktion wieder gegen ihre urspruenglichen Zeichen ausgetauscht (damit diese +zwar vom Mitglied eingebbar aber vor dem eval()-Befehl abgesichert sind). + +Der Slash (/) und der Punkt (.) werden nun auch in {SLASH} und {DOT} +umgewandelt. + +[EOF] diff --git a/0.2.1/DOCS/de/THANK_YOU.txt b/0.2.1/DOCS/de/THANK_YOU.txt new file mode 100644 index 0000000000..71a621e79e --- /dev/null +++ b/0.2.1/DOCS/de/THANK_YOU.txt @@ -0,0 +1,50 @@ +======================= += Datei THANK_YOU.txt = +======================= + +Hier sind ein paar groessere oder kleinere Danke-Woerter an Menschen auf dieser +Welt: + +Personen: +- Als erstes, vielen Dank an Mama und Papa; ohne euch wuerde ich nicht + existieren! +- Meiner Frau Angei für ihr Verständis für mein Projekt und moralischem + Support +- Meinen einzigen Bruder Thiemo fuer persoenlichen/moralischen Support +- Einem alten Ex-Kumpel namens "Phoenix" fuer die damaligen Hilfestellungen +- Linus Torwalds: Wenn Sie diesen Typen nicht kennen, kennen Sie Linux nicht! ;) + (http://www.kernel.org) +- Herr Guenter Werner: Viele Insider-Informationen, die ich in dieses Script + implementiert habe (wie z.B. die 24-Stunden-Sperren gegen URLs und dem + Account) (http://www.wds66.com) +- Herr Jörg Biel: Hat mir den Tipp gegeben, Schluessel in bestimmten SQL-Spalten + zu setzen (http://www.biel-newmedia.de) +- Herr Robert Niedziela: Hat mir diverese Patches (viele!) zugesandt. Danke Dir! + (http://www.mcpserver.de; http://www.mc-p.org) +- Herr Lars Möhlenbruch: Einige gute Hinweise und das Auflisten von Referrals im + Admin-Bereich (http://www.masterportal24.com) +- Herr Michael Dittrich: Verbesserung eines Werbetextes auf meinen Webseiten + (http://www.oshop.de) +- Herr Walter Ochsendorf: Guter Beta-Tester! Hat mich auf viele neue + Erweiterungen und sonstigen Verbesserungen gebracht (http://www.wo-net.com) +- Herr Schmidt: Er hat einen fatalen Fehler im Theme-System entdeckt. + (http://www.simplemail.de) + +Websites / Programmierer / etc.: +- SF.net: Hosten meine Projektdateien (nur Archive) + (http://sourceforge.net) +- Die gesamte PHP-Gruppe: Grossartige Arbeit! Man Leute, ihr geht ab! ;-) + (http://www.php.net) +- MySQL-Gruppe: Schnelle und stabile Datenbank-Engine + (http://www.mysql.com) +- GNOME: Midnight Commander fuer immer! Yeah... + (http://www.ibiblio.org/mc/) +- Server4You: Fuer den root-Server, der meine Projekte hostet. + (http://www.server4you.de) +- Allen Webmastern, die dieses Script installiert haben und auf neue Releases + warten. +- Irgentjemand, den ich noch vergessen habe... + +Danke euch allen fuer die Unterstuetzung! + +Roland Haeder (webmaster@mxchange.org) diff --git a/0.2.1/DOCS/de/TODO.txt b/0.2.1/DOCS/de/TODO.txt new file mode 100644 index 0000000000..9862993a06 --- /dev/null +++ b/0.2.1/DOCS/de/TODO.txt @@ -0,0 +1,27 @@ +============== += TODO-Liste = +============== + +[12/10/2006 11:50 Uhr]: + +--- OFFEN: --- +- Dokumentation erweitern! +- Englische Uebersetzung komplettieren! +- Mehr Datenbank-Schichten hinzufuegen, wie fuer ODBC/M$SQL/Oracle +- Hoeren Sie auf, "unfreie" Software zu verwenden und treten Sie unserer + Community bei. :-) +- Kaempft gegen Softwarepatente! Das ist Teufelszeug! +- CSS-Klassen reduzieren und weiter vereinfachen +- Von TABLE auf DIV-Container umstellen (behindertengerechter) +- AJAX einbinden + +--- ERLEDIGT: --- + +- Replace all HTTP_GET_VARS and HTTP_POST_VARS with _GET and _POST +- Replace SQL_QUERY() command with SQL_QUERY_ESC() commands where ever it is + needed to secure SQL queries. +- Secure ID numbers with bigintval() +- Secure other non-numberous data with sprintf() and later with new security + functions +- Use the abstract function SQL_FREERESULT() wherever we trasnfer massive data + from the database to free memory diff --git a/0.2.1/DOCS/de/UPGRADING.txt b/0.2.1/DOCS/de/UPGRADING.txt new file mode 100644 index 0000000000..0aa51b7c3c --- /dev/null +++ b/0.2.1/DOCS/de/UPGRADING.txt @@ -0,0 +1,29 @@ +Upgrades einspielen: +-------------------- + +- Sichern Sie sich alle von Ihnen geaenderten CSS-Dateien (oder erzeugen + Sie sich ein eigenes Theme (lesen Sie dazu themes/README.txt!) und + Templates, sowie die config.php ab. + +- Laden Sie wie Sie es von der Installation her kennen alle PHP-Scripte, + CSS-Dateien und Templates hoch. Lassen Sie aber dabei die Installations- + dateien aus (da Sie ja bereits das Script installiert haben und nur + updaten wollen.) + +- Laden Sie Ihre gesicherten Dateien alle wieder hoch. + +- Rufen Sie zum Testen die Eingangsseite (index.php) oder am besten gleich + den Admin-Bereich (admin.php) auf. Eventuell aktualisierte Erweiterungen + werden dann beruecksichtigt und es werden Ihnen Update-Aufgaben generiert. + +- Das Aufrufen und Hochladen der upgrade.php ist seit geraumer Zeit nicht + mehr noetig. Die Patches an der Datenbank werden zu einem durch die + Erweiterungen selber, aber auch zum anderen durch die Erweiterung + sql_patches erledigt + +------------------------------------------------------------------------ +- Rufen Sie nicht erneut die install.php auf! Diese ist zwar - +- theoretisch gegen ein erneutes Aufrufen abgesichert, Sie sollten es - +- aber dennoch nicht ausprobieren, da dies Ihre Daten loeschen kann! - +- Entfernen Sie also nach der Installation das Script! - +------------------------------------------------------------------------ diff --git a/0.2.1/DOCS/de/cache/README.txt b/0.2.1/DOCS/de/cache/README.txt new file mode 100644 index 0000000000..2ddeeeb8b7 --- /dev/null +++ b/0.2.1/DOCS/de/cache/README.txt @@ -0,0 +1,26 @@ +Deutsche README-Datei fuer Caching-System +========================================= + +1. Kurzinstallationsanleitung + +[- - - - - - -] + +1. Kurzinstallationsanleitung +----------------------------- + +- Ist bereits die .htaccess-Datei vorhanden setzen Sie die Zugriffsrechte auf + mindestens 444 oder 644 +- Ist das Verzeichnis cache bereits vorhanden, setzen Sie nur die Zugriffsrechte + auf 777 + +Falls alles nicht vorhanden ist: (was aber selten vorgekommen ist) + +- Legen Sie im inc-Verzeichnis ein Verzeichnis cache an und setzen Sie die + Zugriffsrechte auf 777 +- Legen Sie eine Datei .htaccess mit folgender Zeile an: + +Deny from all + +- Diese Datei bedarf noch weiteren Ausbaus! ;-) + +[-- ENDE VON README_cache.de --] diff --git a/0.2.1/DOCS/de/country/README.txt b/0.2.1/DOCS/de/country/README.txt new file mode 100644 index 0000000000..24e4f79acb --- /dev/null +++ b/0.2.1/DOCS/de/country/README.txt @@ -0,0 +1,20 @@ +Deutsche README-Datei zur Landescode-Erweiterung +================================================ + +Die SQL-Dateien im Verzeichnis DOCS/country haben die folgende Bedeutung: + +countries-europe.sql - Nur Europa +countries-full.sql - Alle Laender der Welt (oder fast alle?) +countries-sorted.sql - Alle Laender um Deutschland herum nach oben) + +Wobei Deutschland selber nicht in den SQL-Dateien vorhanden ist, da dies +von der Erweiterung selber mitgebracht wird. + +Hinweis: + +Die Dateien wurden von Lothar Menges mir zur Verfuegung +gestellt, bei Fragen wegen der Laendernamen, fragen Sie bitte ihn und nicht +mich. Auch trotz sorgfaeltiger Pruefung koennen immer noch Fehler enthalten +sein. Danke! + +[-- ENDE VON README.de --] diff --git a/0.2.1/DOCS/de/country/countries-europe.sql b/0.2.1/DOCS/de/country/countries-europe.sql new file mode 100644 index 0000000000..f6cc3ad58b --- /dev/null +++ b/0.2.1/DOCS/de/country/countries-europe.sql @@ -0,0 +1,36 @@ +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AT','Austria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BA','Bosnia and Herzegovina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BE','Belgium','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BG','Bulgaria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CH','Switzerland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CZ','Czech Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DK','Denmark','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EE','Estonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ES','Spain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EU','European Union','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FI','Finland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','United Kingdom','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','England','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Great Britain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Scotland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Channel Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GR','Greece','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HR','Croatia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HU','Hungary','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IE','Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IF','Northern Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IS','Iceland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IT','Italy','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LI','Liechtenstein','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LU','Luxembourg','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MC','Monaco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NL','Netherlands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NO','Norway','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NZ','New Zealand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PL','Poland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PT','Portugal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RO','Romania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SE','Sweden','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SI','Slovenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SK','Slovakia Slovak Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TR','Turkey','Y'); diff --git a/0.2.1/DOCS/de/country/countries-full.sql b/0.2.1/DOCS/de/country/countries-full.sql new file mode 100644 index 0000000000..6e9c7ea8e0 --- /dev/null +++ b/0.2.1/DOCS/de/country/countries-full.sql @@ -0,0 +1,257 @@ +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AC','Ascension','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AD','Andorra','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AE','United Arab Emirates','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AF','Afghanistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AG','Antigua and Barbuda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AI','Anguilla','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AL','Albania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AM','Armenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AN','Netherlands Antilles','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AO','Angola','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AQ','Antarctica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AR','Argentina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AS','American Samoa','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AT','Austria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AU','Australia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AW','Aruba','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AZ','Azerbaijan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BA','Bosnia and Herzegovina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BB','Barbados','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BD','Bangladesh','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BE','Belgium','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BF','Burkina Faso','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BG','Bulgaria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BH','Bahrain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BI','Burundi','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BJ','Benin','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BM','Bermuda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BN','Brunei Darussalam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BO','Bolivia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BR','Brazil','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BS','Bahamas','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BT','Bhutan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BV','Bouvet','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BW','Botswana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BY','Belarus','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BZ','Belize','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CA','Canada','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CC','Cocos','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CD','Congo Democratc Repuplic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CF','Central African Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CG','Congo Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CH','Switzerland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CI','Cote D Ivoire','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CK','Cook Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CL','Chile','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CM','Cameroon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CN','China','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CO','Colombia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CR','Costa Rica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CS','Serbia and Montenegro','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CT','Canton and Enderbury','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CU','Cuba','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CV','Cape Verde','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CX','Christmas Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CY','Cyprus','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CZ','Czech Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DJ','Djibuti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DK','Denmark','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DM','Dominica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DO','Dominican Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DZ','Algeria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EC','Ecuador','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EE','Estonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EG','Egypt','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EH','Western Sahara','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ER','Eritrea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ES','Spain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ET','Ethiopia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EU','European Union','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FI','Finland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FJ','Fiji','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FK','Falkland Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FM','Micronesia Fed. S.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FO','Faroe Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FR','Frabce','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GA','Gabon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','United Kingdom','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','England','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Great Britain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Scotland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Channel Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GD','Grenada','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GE','Georgia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GF','French Guiana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GG','Guernsey','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GH','Ghana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GI','Gibraltar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GL','Greenland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GM','Gambia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GN','Guinea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GP','Guadeloupe','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GQ','Guinea Equatorial','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GR','Greece','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GS','South Georgia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GT','Guatemala','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GU','Guam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GW','Guinea-Bissau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GY','Guyana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HK','Hong Kong','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HM','Heard- and MC Donald Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HN','Honduras','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HR','Croatia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HT','Haiti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HU','Hungary','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ID','Indonesia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IE','Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IF','Northern Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IL','Israel','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IM','Isle of Man','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IN','India','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IO','British Indian O.T.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IQ','Iraq','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IR','Iran Islamic Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IS','Iceland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IT','Italy','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JE','Jersey Bailwick','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JM','Jamaica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JO','Jordan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JP','Japan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JT','Johnston Atoll','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KE','Kenya','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KG','Kyrgyzstan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KH','Cambodia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KI','Kiribati','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KM','Comoros','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KN','Saint Kitts and Nevis','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KP','Korea Democratic P. Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KR','Korea Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KW','Kuwait','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KY','Cayman Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KZ','Kazakhstan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LA','Lao People Democratic Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LB','Lebanon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LC','St. Lucia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LI','Liechtenstein','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LK','Sri Lanka','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LR','Liberia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LS','Lesotho','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LT','Lithuania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LU','Luxembourg','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LV','Latvia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LY','Libyan Arab Jamahiriya','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MA','Morocco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MC','Monaco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MD','Moldova Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MG','Madagascar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MH','Marshall Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MI','Midway Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MK','Macedonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ML','Mali','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MM','Myanmar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MN','Mongolia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MO','Macau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MP','Northern Mariana Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MQ','Martinique','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MR','Mauritania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MS','Montserat','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MT','Malta','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MU','Mauritius','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MV','Maldives','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MW','Malawi','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MX','Mexico','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MY','Malaysia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MZ','Mozambique','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NA','Namibia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NC','New Caledonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NE','Niger','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NF','Norfolk Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NG','Nigeria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NI','Nicaragua','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NL','Netherlands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NO','Norway','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NP','Nepal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NQ','Dronning Mauds Land','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NR','Nauru','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NU','Niue','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NZ','New Zealand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('OM','Oman','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PA','Panama','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PE','Peru','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PF','French Polynesia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PG','Papua New Guinea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PH','Philippines','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PK','Parkistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PL','Poland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PM','St. Pierre and Miquelon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PN','Pitcairn Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PR','Puerto Rico','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','Palestian Authority','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','Gaza Strip','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','West Bank','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PT','Portugal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PW','Palau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PY','Paraguay','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('QA','Qatar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RE','Reunion','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RO','Romania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RU','Russian Federation','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RW','Rwanda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SA','Saudi Arabia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SB','Solomon Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SC','Seychelles','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SD','Sudan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SE','Sweden','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SG','Singapore','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SH','St. Helena','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SI','Slovenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SJ','Svalbard and Jan Mayen','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SK','Slovakia Slovak Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SL','Sierra Leone','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SM','San Marino','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SN','Senegal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SO','Somalia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SR','Suriname','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ST','Sao Tome and Principe','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SV','El Salvador','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SY','Syrian Arab Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SZ','Swaziland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TA','Tahiti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TC','Turks and Caicos Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TD','Chad','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TF','French Southern Ter.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TG','Togo','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TH','Thailand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TJ','Tajikistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TK','Ttokelau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TM','Turkmenistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TN','Tunisia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TO','Tonga','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TP','East Timor','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TR','Turkey','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TT','Trinidad and Tobago','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TV','Tuvalu','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TW','Taiwan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TZ','Tanzania U. Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UA','Ukraine','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UG','Uganda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UM','U.S. Minor Outlying Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('US','United States','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UY','Uruguay','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UZ','Uzbekistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VA','Vatican City State','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VA','Holy See','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VC','St. Vincent and Grenadines','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VE','Venezuela','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VG','Virgin Iland (British)','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VI','Virgin Iland (U.S.)','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VN','Viet Nam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VU','Vanuatu','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WF','Wallis anf Futuna Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WK','Wake Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WS','Samoa West','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('YE','Yemen','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('YT','Mayotte','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZA','South Africa','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZM','Zambia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZW','Zimbabwe','Y'); diff --git a/0.2.1/DOCS/de/country/countries-sorted.sql b/0.2.1/DOCS/de/country/countries-sorted.sql new file mode 100644 index 0000000000..85c0b1aa7b --- /dev/null +++ b/0.2.1/DOCS/de/country/countries-sorted.sql @@ -0,0 +1,257 @@ +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AT','Austria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BE','Belgium','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CH','Switzerland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CR','Costa Rica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CZ','Czech Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DK','Denmark','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ES','Spain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FI','Finland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FR','Frabce','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','United Kingdom','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','England','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Great Britain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Scotland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Channel Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GR','Greece','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HR','Croatia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HU','Hungary','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IE','Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IF','Northern Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IS','Iceland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IT','Italy','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LI','Liechtenstein','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LU','Luxembourg','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MC','Monaco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NL','Netherlands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NO','Norway','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PL','Poland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RO','Romania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RU','Russian Federation','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SE','Sweden','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SI','Slovenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SK','Slovakia Slovak Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TR','Turkey','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AC','Ascension','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AD','Andorra','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AE','United Arab Emirates','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AF','Afghanistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AG','Antigua and Barbuda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AI','Anguilla','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AL','Albania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AM','Armenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AN','Netherlands Antilles','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AO','Angola','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AQ','Antarctica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AR','Argentina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AS','American Samoa','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AU','Australia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AW','Aruba','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AZ','Azerbaijan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BA','Bosnia and Herzegovina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BB','Barbados','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BD','Bangladesh','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BF','Burkina Faso','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BG','Bulgaria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BH','Bahrain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BI','Burundi','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BJ','Benin','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BM','Bermuda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BN','Brunei Darussalam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BO','Bolivia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BR','Brazil','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BS','Bahamas','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BT','Bhutan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BV','Bouvet','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BW','Botswana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BY','Belarus','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BZ','Belize','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CA','Canada','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CC','Cocos','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CD','Congo Democratc Repuplic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CF','Central African Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CG','Congo Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CI','Cote D Ivoire','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CK','Cook Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CL','Chile','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CM','Cameroon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CN','China','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CO','Colombia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CS','Serbia and Montenegro','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CT','Canton and Enderbury','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CU','Cuba','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CV','Cape Verde','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CX','Christmas Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CY','Cyprus','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DJ','Djibuti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DM','Dominica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DO','Dominican Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DZ','Algeria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EC','Ecuador','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EE','Estonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EG','Egypt','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EH','Western Sahara','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ER','Eritrea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ET','Ethiopia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EU','European Union','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FJ','Fiji','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FK','Falkland Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FM','Micronesia Fed. S.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FO','Faroe Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GA','Gabon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GD','Grenada','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GE','Georgia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GF','French Guiana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GG','Guernsey','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GH','Ghana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GI','Gibraltar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GL','Greenland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GM','Gambia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GN','Guinea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GP','Guadeloupe','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GQ','Guinea Equatorial','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GS','South Georgia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GT','Guatemala','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GU','Guam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GW','Guinea-Bissau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GY','Guyana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HK','Hong Kong','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HM','Heard- and MC Donald Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HN','Honduras','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HT','Haiti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ID','Indonesia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IL','Israel','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IM','Isle of Man','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IN','India','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IO','British Indian O.T.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IQ','Iraq','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IR','Iran Islamic Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JE','Jersey Bailwick','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JM','Jamaica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JO','Jordan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JP','Japan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JT','Johnston Atoll','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KE','Kenya','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KG','Kyrgyzstan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KH','Cambodia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KI','Kiribati','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KM','Comoros','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KN','Saint Kitts and Nevis','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KP','Korea Democratic P. Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KR','Korea Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KW','Kuwait','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KY','Cayman Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KZ','Kazakhstan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LA','Lao People Democratic Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LB','Lebanon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LC','St. Lucia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LK','Sri Lanka','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LR','Liberia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LS','Lesotho','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LT','Lithuania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LV','Latvia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LY','Libyan Arab Jamahiriya','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MA','Morocco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MD','Moldova Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MG','Madagascar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MH','Marshall Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MI','Midway Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MK','Macedonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ML','Mali','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MM','Myanmar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MN','Mongolia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MO','Macau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MP','Northern Mariana Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MQ','Martinique','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MR','Mauritania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MS','Montserat','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MT','Malta','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MU','Mauritius','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MV','Maldives','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MW','Malawi','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MX','Mexico','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MY','Malaysia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MZ','Mozambique','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NA','Namibia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NC','New Caledonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NE','Niger','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NF','Norfolk Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NG','Nigeria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NI','Nicaragua','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NP','Nepal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NQ','Dronning Mauds Land','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NR','Nauru','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NU','Niue','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NZ','New Zealand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('OM','Oman','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PA','Panama','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PE','Peru','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PF','French Polynesia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PG','Papua New Guinea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PH','Philippines','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PK','Parkistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PM','St. Pierre and Miquelon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PN','Pitcairn Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PR','Puerto Rico','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','Palestian Authority','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','Gaza Strip','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','West Bank','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PT','Portugal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PW','Palau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PY','Paraguay','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('QA','Qatar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RE','Reunion','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RW','Rwanda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SA','Saudi Arabia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SB','Solomon Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SC','Seychelles','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SD','Sudan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SG','Singapore','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SH','St. Helena','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SJ','Svalbard and Jan Mayen','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SL','Sierra Leone','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SM','San Marino','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SN','Senegal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SO','Somalia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SR','Suriname','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ST','Sao Tome and Principe','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SV','El Salvador','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SY','Syrian Arab Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SZ','Swaziland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TA','Tahiti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TC','Turks and Caicos Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TD','Chad','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TF','French Southern Ter.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TG','Togo','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TH','Thailand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TJ','Tajikistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TK','Ttokelau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TM','Turkmenistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TN','Tunisia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TO','Tonga','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TP','East Timor','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TT','Trinidad and Tobago','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TV','Tuvalu','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TW','Taiwan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TZ','Tanzania U. Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UA','Ukraine','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UG','Uganda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UM','U.S. Minor Outlying Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('US','United States','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UY','Uruguay','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UZ','Uzbekistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VA','Vatican City State','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VA','Holy See','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VC','St. Vincent and Grenadines','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VE','Venezuela','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VG','Virgin Iland (British)','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VI','Virgin Iland (U.S.)','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VN','Viet Nam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VU','Vanuatu','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WF','Wallis anf Futuna Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WK','Wake Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WS','Samoa West','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('YE','Yemen','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('YT','Mayotte','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZA','South Africa','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZM','Zambia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZW','Zimbabwe','Y'); diff --git a/0.2.1/DOCS/de/doubler/README.txt b/0.2.1/DOCS/de/doubler/README.txt new file mode 100644 index 0000000000..5a745a09cd --- /dev/null +++ b/0.2.1/DOCS/de/doubler/README.txt @@ -0,0 +1,23 @@ +Hier ein Beispiel, wie der Verdoppler arbeitet: + - 1.000 bis 10.000 Punkte koennen verdoppelte werden. + - also 2.0000 bis 20.000 Punkte gibt der Verdoppler raus. + - nicht mehr, nicht weniger. + - es ist eine prozentuale Gebuehr von 10% (etwas happig, zum besseren + Verstaednnis der Rechnung aber okay) eingestellt. + +Ein typischer Ablauf: +1. Mitglied 1 zahlt 1.000 ein und will 2.000 haben +2. Im Verdoppler landen aber nur 1.000-10% = 900 Punkte +3. Mitglied 2 zahlt auch 1.000 ein und will auch 2.000 haben +4. Im Verdoppler landen wieder nur 1.000-10% = 900 Punkte +5. Das macht somit 1.800 Punkte. reicht nicht fuer Mitglied 1 aus! +6. Mitglied 3 zahlt auch 1.000 ein und will auch 3.000 haben +7. Im Verdoppler laden wieder nur 1.000-10% = 900 Punkte +8. Das macht somit 2.700 Punkte und reicht aus fuer Mitglied 1 +9. Mitglied 1 werden 2.000 Punkte ausbezahlt und im Verdoppler verbleiben 700 +10. Mitglied 4 zahlt .... usw.! + +Ihnen als Admin bringen nur die 10% was ein. Die sind futsch/geschreddert und +somit gibt es immer weniger Punkte im System. Mit Wernis/Klammlose klappt das +auch. Dann muessen die Mitglieder bei Ihnen die Waehrung einkaufen und Sie +verdienen etwas dran. diff --git a/0.2.1/DOCS/de/engine/README.txt b/0.2.1/DOCS/de/engine/README.txt new file mode 100644 index 0000000000..08f061e49f --- /dev/null +++ b/0.2.1/DOCS/de/engine/README.txt @@ -0,0 +1,40 @@ +Deutsche README-Datei fuer die Game-Engine +========================================== + +1. Engine-Modus einstellen +========================== + +Die Game-Engine kann in zwei Modis gesetzt werden: Server- und Client-Modus + +--- Server-Modus: --- + +- Alle externen Spielescriptes koennen auf die Export-Accounts zugreifen. + +- In diesem Modus kann die Engine durchaus einige !!!Gigabytes!!! Traffic + generieren. Dies liegt hauptsaechlich daran, dass eben - wenn Sie mehr + bekannter geworden sind - viele Spiele von aussen auf sie drauf zugreifen + und die Engine mit kleinen Antwort-Paketen antworten muss. + +- Nehmen wir an, ein Antwort-Paket ist durchschnittlich 10k gross. So + generieren die ersten 300.000 Anfragen "schlappe" 3,7 GB Traffic! + +- Diese Last kann keinesfalls ein "normaler" V-Server standhalten und Ihr + Hoster wird vorraussichtlich Ihnen im schlimsten Fall kuendigen oder Ihren + Server deaktivieren. + +- In diesem Modus koennen auch Punkte zwischen dem Export- und dem eigentlichen + Mailtausch-Account hin und her transferiert werden. + +- Dieser Modus kann auch zum Transferieren von Punkten zwischen zwei + Mailtauschs verwendet werden. + +--- Client-Modus: --- + +- In diesem Modus funktioniert nur das Transferieren von Punkten zwischen dem + Export- und dem eigentlichen Mailtausch-Account. Externe Spiele werden mit + einer 0 Byte grossen Antwort abgelehnt. + +- Die Server-Last ist also deutlich geringer. + +- Diesen Modus koennen Sie auch nutzen, um bespielsweise zwischen zwei + Mailtauschs Punkte transferieren zu koennen. diff --git a/0.2.1/DOCS/de/promoter.txt b/0.2.1/DOCS/de/promoter.txt new file mode 100644 index 0000000000..5e17b83fbd --- /dev/null +++ b/0.2.1/DOCS/de/promoter.txt @@ -0,0 +1 @@ +[GELEERT] \ No newline at end of file diff --git a/0.2.1/DOCS/de/rallye/README.txt b/0.2.1/DOCS/de/rallye/README.txt new file mode 100644 index 0000000000..20fb1c512c --- /dev/null +++ b/0.2.1/DOCS/de/rallye/README.txt @@ -0,0 +1,27 @@ +Rallye-Erweiterung +------------------ + +- Es kann immer nur eine Rallye zur Zeit laufen (wird aber nur beim Hinzufuegen + getestet, beim Editieren muessen Sie pruefen!), mehrere gleichzeitig + "ueberfuettert" nur Ihre Mitglieder! ;-) + +- Sie koennen beim Hinzufuegen von Rallyes entweder eine kleine Beschreibung + (HTML-Code erlaubt) eingeben oder ein Template verknuepfen: + + * Dieses muss sich - wie alle anderen Templates - im Ordner templates/de/html + befinden + * Der Dateiname muss mit rallye_ anfangen und .tpl aufhoeren. + * Das Mittelstueck des Template-Namens sollte nur Buchstaben aus dem US- + Alphabet und Unterstriche enthalten und nicht laenger als 255 Zeichen sein. + + Das Beispiel rallye_test.tpl von mir koennen Sie gerne zum Testen verwenden! + +- Lassen Sie die Rallye nicht ohne Preise anlaufen, also zuerst deaktiviert + (Standardauswahl) hinzufuegen, dann die Preise verknuepfen und schliesslich + unter "Rallyes verwalten" die Rallye aktivieren. + +- Das "Stechen" (gleiche Anzahl Refs und Punkte, was aber wegen der Punkte + selten vorkommt) ist noch nicht implementiert! + +- Es werden nur Refs und Punkte aus der ersten Ebene (also direkt geworbene + Mitglieder) ausgewertet. diff --git a/0.2.1/DOCS/de/rewrite/.htaccess b/0.2.1/DOCS/de/rewrite/.htaccess new file mode 100644 index 0000000000..114ce6623f --- /dev/null +++ b/0.2.1/DOCS/de/rewrite/.htaccess @@ -0,0 +1,5 @@ +RewriteEngine On + +RewriteRule ^cms/(.*)/wht/(.*)$ modules.php?module=$1&what=$2 [L] +RewriteRule ^cms/(.*)/act/(.*)$ modules.php?module=$1&action=$2 [L] +RewriteRule ^cms/(.*)$ modules.php?module=$1 [L] diff --git a/0.2.1/DOCS/de/rewrite/README.txt b/0.2.1/DOCS/de/rewrite/README.txt new file mode 100644 index 0000000000..2c49a4d56e --- /dev/null +++ b/0.2.1/DOCS/de/rewrite/README.txt @@ -0,0 +1,25 @@ +README-Datei zur .htaccess-Datei +================================ + +Die in diesem Verzeichnis befindliche .htaccess-Datei muessen Sie evtl. noch +mit Fehlerbehandlungszeilen erweitern: + +ErrorDocument 403 http://www.ihr-server.hier/fehler403.htm +ErrorDocument 404 http://www.ihr-server.hier/fehler404.htm + +Fuegen Sie diese Zeilen am Anfang der .htaccess-Datei ein und passen Sie die +Adressen an Ihren Server an! + +Die nun erweiterte Datei speichern Sie ab und laden Sie diese in das +Hauptverzeichnis des Mailtausches hoch (also dort, wo sich index.php, +modules.php usw. befindet). + +Wenn Sie beim Aufrufen Ihres Mailtausches Zugriffsfehler bekommen sollten, ist +meistens die mod_rewrite-Erweiterung von Apache nicht installiert. Lassen Sie +diese durch den Support Ihres Hosters aktivieren. + +Online-Dokumentation dazu gibt es bei Apache: + +http://httpd.apache.org/docs/mod/mod_rewrite.html + +[-- ENDE DER README-DATEI --] diff --git a/0.2.1/DOCS/de/rewrite/README_htaccess.de b/0.2.1/DOCS/de/rewrite/README_htaccess.de new file mode 100644 index 0000000000..2c49a4d56e --- /dev/null +++ b/0.2.1/DOCS/de/rewrite/README_htaccess.de @@ -0,0 +1,25 @@ +README-Datei zur .htaccess-Datei +================================ + +Die in diesem Verzeichnis befindliche .htaccess-Datei muessen Sie evtl. noch +mit Fehlerbehandlungszeilen erweitern: + +ErrorDocument 403 http://www.ihr-server.hier/fehler403.htm +ErrorDocument 404 http://www.ihr-server.hier/fehler404.htm + +Fuegen Sie diese Zeilen am Anfang der .htaccess-Datei ein und passen Sie die +Adressen an Ihren Server an! + +Die nun erweiterte Datei speichern Sie ab und laden Sie diese in das +Hauptverzeichnis des Mailtausches hoch (also dort, wo sich index.php, +modules.php usw. befindet). + +Wenn Sie beim Aufrufen Ihres Mailtausches Zugriffsfehler bekommen sollten, ist +meistens die mod_rewrite-Erweiterung von Apache nicht installiert. Lassen Sie +diese durch den Support Ihres Hosters aktivieren. + +Online-Dokumentation dazu gibt es bei Apache: + +http://httpd.apache.org/docs/mod/mod_rewrite.html + +[-- ENDE DER README-DATEI --] diff --git a/0.2.1/DOCS/de/task/README.txt b/0.2.1/DOCS/de/task/README.txt new file mode 100644 index 0000000000..e7b79475ec --- /dev/null +++ b/0.2.1/DOCS/de/task/README.txt @@ -0,0 +1,6 @@ +Deutsche README-Datei fuer das Task-System +========================================== + +- Sie vermissen im Admin-Bereich die Menuebeschreibungen zu den Hauptmenues? ++ Diese sind nun seit einiger Zeit komplett ausgebaut und werden mit aller + Wahrscheinlichkeit auch nicht mehr wiederkommen... Oder vielleicht doch? ;) diff --git a/0.2.1/DOCS/de/themes/README.txt b/0.2.1/DOCS/de/themes/README.txt new file mode 100644 index 0000000000..beff0c06c1 --- /dev/null +++ b/0.2.1/DOCS/de/themes/README.txt @@ -0,0 +1,69 @@ +Deutsche README-Datei fuer das Theme-System +=========================================== + +Diese Doku ist "quick'n'dirty" erstellt, also nicht vollstaendig, sollte aber +zum Erstellen eigener Themes und Portieren Ihres Designs von aelteren Versionen +ohne Theme-System (hoffentlich) reichen. + +[--- --- --- --- ---] + +1. Umsteigen von aelteren Versionen ohne Theme-System +----------------------------------------------------- + +------------ VERALTET ------------ +Ich gehe davon aus, dass Sie erstmal das 281'er Patch (in Versionen => +0.2.0-pre8 ist es bereits mit enthalten!) eingespielt haben. + +Bitte wundern Sie sich also nicht, wenn nicht Ihr Design beim Aufrufen Ihres +Mailtausches kommt! +------------ VERALTET ------------ + +Die jetzige Version enthaelt bereits das besagte 281'er Patch. Bitte verwenden +Sie die von Ihnen heruntergeladene Version! + +Lesen Sie gleich unter 2. weiter! + +[--- --- --- --- ---] + +2. Erstellen eigener Themes +--------------------------- + +Ich nehme mal beispielhaft an, Ihr Mailtausch heisst "XYZ-Mailtausch" (Sie haben +sich mit Sicherheit einen besseren Namen ausgedacht, als XYZ-Mailtausch...). + +Gehen Sie in das Verzeichnis /theme/ und legen Sie dort ein Verzeichnis "xyz" +(ohne den Anfuehrungszeichen) an. Sie sollten bei der Namensvergabe des +Verzeichnisses wenn moeglich nur Uni*-kompatible Zeichen verwenden: + +a-z und _ + +Auch sollten Sie keinen Leerschritt verwenden! + +Dann kopieren Sie die theme.php aus dem Verzeichnis default in Ihr Verzeichnis +"xyz", sowie alle Dateien aus /theme/default/css/ und /theme/default/images/ +nach /theme/xyz/css/ bzw. /theme/xyz/images/, die alle zu Ihrem Design +gehoehren sollen. + +Dann oeffenen Sie die Datei theme.php aus Ihrem Verzeichnis "xyz" und editieren +die Daten fuer Ihre Webseite / Namen / EMail-Adresse um. Diese finden Sie +unterhalb des Kommentarkopfes. Sie heissen wie folgt: + +- $THEME_NAME - Titel Ihres Design, der in der Auswahlbox erscheinen soll, + nicht laenger als 30 Zeichen! Beispiel "XYZ-Theme" + +- $THEME_AUTHOR - Nur Ihren vollstaendigen Namen oder Nicknamen (Pseudonym) + +- $THEME_EMAIL - Nur Ihre EMail-Adresse, unter der Sie erreichbar sind. + Beispiel: ihr.name@mein-hoster.de + +- $THEME_URL - Die Homepage-Adresse, unter der Sie erreichbar sind, oder + besser wo Ihr Theme zum Download angeboten wird. + +Wichtiges: +---------- + +Wenn Sie moechten, koennen Sie das Theme auch unter die GNU GPL stellen, damit es +zu meinem Hauptscript kompatibel ist. Wieso, beantwortet Ihnen gerne die Free +Software Foundation: http://www.fsf.org + +[ENDE VON README_themes.txt] diff --git a/0.2.1/DOCS/en/AUTHORS.txt b/0.2.1/DOCS/en/AUTHORS.txt new file mode 100644 index 0000000000..6baed3dc6d --- /dev/null +++ b/0.2.1/DOCS/en/AUTHORS.txt @@ -0,0 +1,33 @@ +[---------------------------------] +[-- All authors of this script: --] +[---------------------------------] + +- Roland Haeder + + (Project leader, Webmaster, main coder) + +- Mr. X + + (requested to be listed... ;-) ) + +[----------------------------------------] +[-- Inactive developers / contributors --] +[----------------------------------------] + +- Robert Niedziela + + (secondary programmer, some bugfixes and many improvements: + other settings in admin menu, delete emails, media data, + email archive email details) + +- Lars Möhlenbruch + + (Better HTML template support, list referrals of a member) + +- Erol Ilkan + + (New coder, some bugfixes, SQL fixes) + +- Lothar Mengens + + (Has contributed an SQL file with country codes) diff --git a/0.2.1/DOCS/en/CHANGES.txt b/0.2.1/DOCS/en/CHANGES.txt new file mode 100644 index 0000000000..7777c33a2c --- /dev/null +++ b/0.2.1/DOCS/en/CHANGES.txt @@ -0,0 +1,5 @@ +Die aktuellen Aenderungen habe ich leider nicht konsequent weitergefuehrt, werde dies aber ab der +Version 0.3.0 wieder machen, oder so. + +Roland + diff --git a/0.2.1/DOCS/en/CSS-PATCHES.txt b/0.2.1/DOCS/en/CSS-PATCHES.txt new file mode 100644 index 0000000000..ea6931e5aa --- /dev/null +++ b/0.2.1/DOCS/en/CSS-PATCHES.txt @@ -0,0 +1,111 @@ +Folgende Aenderungen muessen mit dem 180-Patch zussammen an der css/general.css +erledigt werden. Aber nur dann, wenn Sie von aelteren Versionen aufsteigen! + +[--- SUCHEN NACH: ---] +.admin.fatal + +[-- AUSTAUSCHEN DURCH: ---] +.admin_fatal + +[--- SUCHEN NACH: ---] +.admin.error + +[-- AUSTAUSCHEN DURCH: ---] +.admin_error + +[--- SUCHEN NACH: ---] +.admin.edit + +[-- AUSTAUSCHEN DURCH (NUR ZEILE 127 ---] +[-- bzw. nicht nach Zeile 200!): ---] +.admin_edit + +[--- SUCHEN NACH: ---] +.admin.desc_header + +[-- AUSTAUSCHEN DURCH: ---] +.admin_desc_header + +[--- SUCHEN NACH: ---] +.admin.desc_cont + +[-- AUSTAUSCHEN DURCH: ---] +.admin_desc_cont + +[--- SUCHEN NACH: ---] +.admin.logout + +[-- AUSTAUSCHEN DURCH: ---] +.admin_logout + +[--- SUCHEN NACH: ---] +.admin.editmenu + +[-- AUSTAUSCHEN DURCH: ---] +.admin_editmenu + +[-- KOMPLETT LOESCHEN: ---] +.admin.forms { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_seperator_b2 { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_seperator_b3 { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_seperator_br { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_seperator_b { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_header_br { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_table_br { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: ---] +.admin_table_b { + ...; + ... +} + +[-- NUR KLASSEN-NAME LOESCHEN: --] +.register_????????, + +(NUR PRO-VERSIONEN!) + +[-- KOMPLETT LOESCHEN: (SEHR ALTE VERSIONEN!) ---] +.admin.seperator { + ...; + ... +} + +[-- KOMPLETT LOESCHEN: (NEUERE VERSIONEN!) ---] +.admin_seperator { + ...; + ... +} + diff --git a/0.2.1/DOCS/en/CSS-PATCHES_05092004.txt b/0.2.1/DOCS/en/CSS-PATCHES_05092004.txt new file mode 100644 index 0000000000..ec0c4a416e --- /dev/null +++ b/0.2.1/DOCS/en/CSS-PATCHES_05092004.txt @@ -0,0 +1,87 @@ +You may want to to change the follow files to fully update to the new version: + +[-- OPEN: --] +css/general.css + +[-- DELETE COMPLETELY: ---] +span.fatal { + ... +} + +[-- DELETE COMPLETELY: ---] +.submit { + ... +} + +[-- DELETE COMPLETELY: ---] +.admin_choice { + ...; + ...; + ...; +} + +[-- SEARCH FOR: --] +.guest_menu_whats + +[-- REPLACE WITH: --] +.guest_menu_row, .guest_menu_bottom + +[-- SEARCH FOR: --] +.guest_menu_row, .guest_menu_bottom + +[-- CONTINUE SEARCH: --] +} + +[-- ADD BEFORE: --] + padding-left: 10px; + vertical-align: middle; + +[-- DELETE COMPLETELY: --] +.footer { + ...; + ... +} + +[-- SEARCH FOR: --] +.footer.lines + +[-- REPLACE WITH: --] +.footer_lines + +[-- CONTINUE SEARCH: --] + vertical-align : bottom; + font-size : 10px; +} + +[-- COMMENT: --] +In template member_header.tpl.de was an error. Mayb this is fixed in your new version. + +[-- OPEN: --] +templates/member_header.tpl.de + +[-- SEARCH ON EOL AND REMOVE: --] +
+ +[-- COMMENT: --] +If you want to have back the small dot (·) in front of every menu point, please change following things: +It is a good idea to keep the current files as described below when you want to use images for your menus + +[-- OPEN: --] +templates/guest_menu_bottom.tpl.de + +[-- SEARCH FOR: --] +$content + +[-- ADD BEFORE: --] +·  + +[-- OPEN: --] +templates/guest_menu_row.tpl.de + +[-- SEARCH FOR: --] +$content + +[-- ADD BEFORE: --] +·  + +[-- CLOSE/SAVE FILES --] diff --git a/0.2.1/DOCS/en/DESIGNING.txt b/0.2.1/DOCS/en/DESIGNING.txt new file mode 100644 index 0000000000..979146dc91 --- /dev/null +++ b/0.2.1/DOCS/en/DESIGNING.txt @@ -0,0 +1,732 @@ +0. Inhaltverzeichnis +-------------------- + +1. Intro +2. Wie Sie am besten anfangen +2.1. Allgemeine Farbeinstellungen + +----- ----- ----- ----- ----- + +1. Intro +-------- + +Ich moechte Ihnen hier zeigen, wie Sie das Design Schritt-Fuer-Schritt an +Ihre Wuensche angepasst bekommen. + +Dann gebe ich Ihnen eine Referenz, wo Sie nachvollziehen koennen, wo fuer +welche CSS-Klasse gedacht ist. + +Sie sollten allerdings beispielsweise wissen, was eine Klasse ist. Sollten +Sie dies nicht wissen, geben Sie einfach bei einer Suchmaschine Ihrer Wahl +das Suchwort "CSS-Klasse" ein. Sie finden dann genuegend Seiten, wo Sie +sich informieren koennen. + +Oder rufen Sie auch die (wohl?) bekannteste HTML-Dokumentation im Netz auf: + +http://www.selfhtml.org + +----- ----- ----- ----- ----- + +2. Wie Sie am besten anfangen +----------------------------- + +Die Haupt-CSS-Datei general.css mag auf dem ersten Blick sehr gross und +komplex aussehen. Lassen Sie sich davon nicht abschrecken! Um diese wird es +sich jetzt permanent drehen. + +Sie koennen diese also in einem zweiten Editor (WORDPAD.EXE oder WRITE.EXE +reicht voellig aus!) oeffnen und dann zwischen dieser Anleitung und der Datei +hin und her wechsel (Windows: ALT-TAB!). + +----- ----- ----- ----- ----- + +2.1. Allgemeine Farbeinstellungen +--------------------------------- + +Fangen wir als erstes mit dem generellen Aussehen (Body, Rumpf) an. Diese +Angaben sitzen auch passenderweise am Anfang der Datei. + +Auszug aus der orginalen general.css: +:----------------------------------: + +body { + background-color : #F4F9BE; + color : #000000; + font-family : Arial, Geneva, Helvetica, sans-serif; + font-size : 12px; + + scrollbar-base-color : #E9E4AE; + scrollbar-face-color : #CDEFCD; + scrollbar-highlight-color : #F4F9BE; + scrollbar-shadow-color : #CDEFCD; + scrollbar-3dlight-color : #DDDDDD; + scrollbar-arrow-color : #000000; + scrollbar-track-color : #CCEFCC; + scrollbar-darkshadow-color : #999999; + + margin : 0px; + margin-left : 0px; + margin-right : 0px; + margin-top : 0px; + margin-bottom : 0px; +} + +:----------------------------------: +Bis hier hin erstmal! + +Die ersten 4 Zeilen (lassen Sie dabei "body {" und alle spaeteren Namen dabei +ausser acht) geben die Hintergrundfarbe, Textfarbe, Schriftfamilie und die +Textgroesse an. + +Der naechste Block widmet sich den Farben des Rollbalkes vom Browser. + +Und der letzte 5-Zeilen-Block stellt den Abstand zwischen den Elementen ein. +Dies ist aber nur eine allgemeine Einstellung. Sie koennen spaeter auch +Feineinstellungen vornehmen, indem Sie solch Zeilen fuer die anderen Klassen +verwenden. + +Nun geht es mit den allgemeinen Tabellen-Einstellungen weiter: + +Auszug aus der originalen general.css: +:----------------------------------: + +table { + table-layout : auto; + border-spacing : 0px; + overflow : auto; +} + +:----------------------------------: + +Was diese Einstellungen bewirken, koennen Sie beispielsweise in der bekannten +Dokumentation "SelfHTML" (http://www.selfhtml.org) nachlesen. + +Weiter geht es mit dem Aussehen der Links: + +Auszug aus der originalen general.css: +:----------------------------------: + +A { + font-style : normal; + font-family : Arial, Geneva, Helvetica, sans-serif; + text-decoration : none; +} + +A:link { + color : #2e51a9; +} + +A:visited { + color : #AA0044; +} + +A:active { + color : #2e51a9; + background-color : transparent; +} + +A:hover { + color : #AA0044; + background-color : transparent; + text-decoration : underline overline; +} + +:----------------------------------: + +Hier habe ich gleich 5 Klassen auf einmal genommen, damit diese Dokumentation +kuerzer ausfaellt. + +In der ersten Klasse stellen Sie allgemeine Farbeinstellungen ein; die +naechsten Klassen stellen folgendes ein: + +- Allgemeine Linkfarbe +- Linkfarbe fuer bereits besuchte Links +- Linkfarbe fuer angeklickte Links +- Linkfarbe fuer Hover (Maus schwebt ueber Link, es wurde aber noch nicht + geklickt) + +Wir machen gleich weiter mit den allgemeinen Einstellungen um Formular- +Elemente. Hier habe ich gleich einiges zusammengefasst: + +Auszug aus der originalen general.css: +:----------------------------------: + +input, textarea, select, option { + color : #AA0044; + background-color : #EEFFEE; + border-color : #BBBBBB; + text-decoration : none; +} + +:----------------------------------: + +Diese Klasse fasst - wie bereits gesagt - einige HTML-Elemente zusammen: + +- Eingabefelder oder Buttons (input) +- Texteingabefelder (textarea) +- Auswahlmenues (select) +- Auswahloptionen (option) + +Damit ist der erste Teile "Allgemeine Farbeinstellungen abgeschlossen! Laden +Sie jetzt mal die geaenderte general.css auf Ihren Webserver in das css- +Verzeichnis hoch! + +Koennen Sie schon erahnen, wie Ihre Seite nun aussieht? Richtig! Etwas "bunt +durcheinander". Das macht erstmal soweit nichts, denn wir sind ja noch nicht +fertig mit Umdesignen. + +Nun geht es um etwas feinere Einstellungen... + +----- ----- ----- ----- ----- + +2.2. Detailelemente: Buttons, Auflistungen usw. +----------------------------------------------- + +Dieses Thema wird jetzt sehr lang, da alle weiteren Klassen behandelt werden. +Wir machen aber mal zwischendurch eine Pause, wo Sie sich dann Ihre Arbeit im +Browser ansehen koennen und nochmals nachkorregieren koennen. + +Sie werden also - der Wahrscheinlickeit nach - nicht den Ueberblick verlieren. +Auch hier gehen wir wieder Schritt fuer Schritt vor, so dass Sie in der +general.css einfach weiter nach unten "wandern" brauchen. + +Und los geht es mit den Absende- und Zuruecksetzen-Buttons: + +Auszug aus der originalen general.css: +:----------------------------------: + +.admin_reset, .guest_reset, .member_reset { + border-style : groove; + border : solid 1px #009900; + color : #AA0044; +} + +.admin_submit, .guest_submit, .member_submit { + color : #AA0044; + border-color : #009900; +} + +.admin_submit_reject { + border-style : groove; + color : #881111; + border-color : #009900; +} + +:----------------------------------: + +Ich habe hier gleich 3 Klassen auf einmal genommen: + +- Zuruecksetzen-Buttons (alle drei Menues gemeinsam) +- Absendebuttons in allen drei Menues +- Im Adminbereich: Button fuer Mailbuchung ablehnen + +Und weiter geht's mit den Auflisten-Elementen: + +Auszug aus der originalen general.css: +:----------------------------------: + +ul, ol { + margin-top : 0px; + margin-bottom : 0px; +} + +:----------------------------------: + +Nicht-nummerierte und nummerierte Listen werden hiermit eingestellt. Meine +Angaben stellen den Abstand zu anderen Objekten auf 0 Pixel ein. + +Und weiter geht es mit Klassen fuer auftretende Laufzeitfehler: + +Auszug aus der originalen general.css: +:----------------------------------: + +.runtime { + color : #118811; + background-color : #DDEEDD; + font-family : Arial, Geneva, Helvetica, sans-serif; +} + +.runtime.fatal { + color : #00AA00; +} + +.runtime.fatalcontent { + font-size : 20px; +} + +:----------------------------------: + +Die erste Klasse stellt allgemeine Dinge, wie Hintergrund- und Vordergrund- +farben, sowie die Schriftfamilie ein. Das letztere ist eigentlich nicht noetig. + +Die naechste Klasse stellt die Farbeinstellung fuer Fehlermeldungen ein +(SQL-Fehler meistens) und letzte stellt die Schriftgroesse fuer alle uebrigen +Meldungen (Titel leider auch) ein. + +Hier muss ich dringenst etwas aendern. Aber dieser Code-Teil ist auch sehr alt +und kommt aus meinen ersten Schritten mit diesem Mailtausch-Script. + +Weiter geht es mit dem Admin-Bereich: + +Auszug aus der originalen general.css: +:----------------------------------: + +.admin_fatal { + font-size : 18px; + color : #00AA00; +} + +.admin { + color : #118811; + background-color : #DDEEDD; + font-family : Arial, Geneva, Helvetica, sans-serif; +} + +.admin_note { + color : #FF0000; + font-size : 12px; +} + +.admin_edit, .member_confirm { + background-color : #eeffbc; +} + +:----------------------------------: + +Hier hat sich - wegen Farbgleichheit, koennen Sie also auch trennen - gleich +eine CSS-Klasse fuer den Mitgliederbereich eingeschlichen: + +"member_confirm" stellt die Tabelle fuer das Zeitframe beim Bestaetigen von +Mails ein. Der Reset widmet sich ganz und alleine dem Admin-Bereich: + +1.: Fehlermeldungen fuer den Admin (Modul gesperrt, etc.) und Fehlermeldungen im + Admin-Bereich beim Editieren von Gastmenue- und Adminmenue-Punkten + +2.: Allgemeine Einstellungen, wie Farben und Schriftartfamilie + +3.: Hinweise fuer den Admin ("Einstellungen gespeichert" beispielsweise) + +4.: Farbeinstellung beim Editieren aller drei Menue-Systeme + +Wieso auch immer, aber als naechstes hat sich eine Klasse fuer den Mitglieds- +bereich eingeschoben: + +Auszug aus der originalen general.css: +:----------------------------------: + +.member_banner { + background-color : #eeffbc; + width : 488px; +} + +:----------------------------------: + +Ahnen Sie schon, was diese Klasse soll? Ich schaetze mal, Sie haben auf die +Refbanner getippt. Hiemit werden aber die Einstellungen fuer Ihre Werbebanner +im Zeitframe beim Bestaetigen von Mails vorgenommen. + +Nicht dass Sie dies jetzt missverstehen: Es werden nur Desgin-Angaben fuer die +Tabelle um den Banner eingestellt, nicht der Banner selber wird geaendert! ;-) + +Und weiter geht es mit Admin-Klassen: + +Auszug aus der originalen general.css: +:----------------------------------: + +.admin_error { + background-color : #eeffbc; + color : #00AA00; + font-size : 10px; +} + +.admin_select, .guest_select, .member_select { + border : dotted 1px; + border-color : #009900; + background-color : #EEFFEE; +} + +.admin.register, .admin_desc_header, .admin_done, .admin_title, .member_title2, .guest_title2 { + background-color : #ddeedd; + color : #009900; +} + +:----------------------------------: + +.member_done, .guest_done { + color : #009900; +} + +.member_misc { + background-color : #DDEEDD; +} + +.admin_misc, .member_misc { + color : #000000; +} + +.admin_done2 { + color : #AA0044; +} + +.admin_green, .admin_no { + color : #009900; +} + +.admin_welcome { + background-color : #DDEEDD; + color : #009900; + vertical-align : middle; + font-size : 18px; + height : 50px; +} + +.admin_header { + background-color : #eeffbc; +} + +.admin_menu { + background-color : #DDEEDD; + color : #000077; + width : 230px; +} + +.admin_logout { + background-color : #AAFFAA; + color : #00AA00; +} + +.admin_desc_cont, .admin_table, .member_table { + background-color : #eeffbc; +} + +.admin_editmenu { + min-width : 500px; + max-width : 90%; +} + +.admin_form_header { + text-align : center; + height : 36px; + background-color : #eeffbc; + color : #009900; +} + +.member_header { + text-align : center; + height : 28px; + background-color : #eeffbc; +} + +.admin_failed, .guest_failed, .member_failed, .member_note { + color : #00AA00; +} + +.member_note_bg { + background-color : #eeffbc; +} + +.member_data { + background-color : #eeffbc; + color : #009900; + height : 20px; +} + +.admin_header_b1 { + border-bottom : 1px solid #AA0044; + background-color : #ddeedd; + height : 22px; +} + +.admin_snote { + font-size : 12px; +} + +.admin_normal, .guest_normal, .member_normal { + border-style : solid; + border : dotted 1px; + border-color : #009900; +} + +.member_stats { + vertical-align : top; + font-weight : bold; + height : 23px; + font-size : 16px; + border-style : none; + border : 0px; + background : #DDEEDD; + color : #000000; + margin-top : -4px; + margin-bottom : 1px; + cursor : default; +} + +.normal { + border-style : groove; +} + +.member_main { + background-color : #DDEEDD; +} + +.guest_title, .member_title { + color : #009900; + vertical-align : middle; + background-color : #DDEEDD; + height : 60px; +} + +.guest_login_header { + color : #009900; + vertical-align : middle; + background-color : #DDEEDD; +} + +.guest_menu, .member_menu { + width : 200px; + background-color : #DDEEDD; +} + +.guest_menu_title, .member_menu_title { + background-color : #BDEFCD; + color : #009900; + height : 25px; + width : 200px; + border : 1px solid #AA0044; +} + +.guest_menu_whats, .member_menu_whats { + border : 1px dotted #AA0044; + border-top : 0px; + background-color : #eeffbc; + height : 20px; +} + +.guest_menu_seperator, .member_menu_seperator { + height : 15px; +} + +.guest_content, .member_content { + background-color : #F4FFF4; + width : 99%; +} + +.guest_advert, .guest_login, .member_advert, .member_login { + background-color : #DDEEDD; + vertical-align : top; + margin-top : 10px; +} + +.master { + width : 100%; + height : 100%; + min-height : 90%; + max-height : 100%; +} + +.footer { + vertical-align : bottom; + font-size : 12px; +} + +.footer.lines { + width : 340px; + vertical-align : middle; + background-color : #E5EFE5; + height : 40px; +} + +.dashed { + border : dotted 1px; + border-color : #AA0044; +} + +.switch_sw1, .switch_mem1 { + background-color : #b8efc1; +} + +.switch_sw2, .switch_mem2 { + background-color : #b8fccb; +} + +.impressum { + font-size : 12px; + width : 320px; + vertical-align : middle; + background-color : #E5EFE5; + height : 70px; +} + +.mediadata { + background-color : #eeffbc; +} + +.media_header, .impressum_header { + background-color : #b8fccb; + align : center; + text-align : center; + color : #009900; + height : 26px; + font-weight : bold; + font-size : 20px; +} + +.media_left { + font-size : 14px; + width : 200px; +} + +.media_right { + color : #009900; + font-weight : bold; + font-size : 14px; + width : 70px; +} + +.admin_sep_footer { + background-color : #DDEEDD; + font-size : 1px; +} + +.admin_sep_footer2 { + background-color : #eeffbc; + font-size : 1px; +} + +.admin_footer, .member_refbanner, .member_update, .admin_del_link { + background-color : #DDEEDD; +} + +.member_footer { + height : 30px; + background-color : #DDEEDD; +} + +.admin_footer { + height : 30px +} + +.admin_task_header { + background-color : #DDEEDD; + color : #009900; + vertical-align : middle; + font-size : 18px; + height : 35px; +} + +.seperator { + font-size : 1px +} + +.tab1 { + align : center +} + +.admin_delete, .admin_yes { + border-style : groove; + border : solid 1px #00AA00; + background-color : #AA0044; + color : #DDEEDD; +} + +.guest_stats { + background-color : #eeffbc; + width : 460px; +} + +.guest_stats_title { + color : #009900; + vertical-align : middle; + background-color : #DDEEDD; + height : 30px; +} + +.guest_stats_l { + width : 344px; + text-align : right; +} + +.guest_stats_m { + width : 2px; +} + +.guest_stats_r, .guest_stats_lr, .guest_stats_rr { + color : #009900; + width : 28px; + font-weight : bold; + text-align : center; +} + +.guest_stats_ll, .guest_stats_rl { + width : 192px; + text-align : right; +} + +.guest_stats_footer { + color : #009900; + vertical-align : middle; + background-color : #DDEEDD; + height : 20px; +} + +.task_pre { + font-weight : bold; + margin-left : 0px; + margin-right : 0px; + margin-top : 10px; + margin-bottom : 10px; +} + +.impressum_body { + background-color : #DDEEDD; +} + +.guest_content_align, .member_content_align, .admin_content_align { + align : center; + text-align : center; + vertical-align : top; +} + +.member_mailidtop { + background-color : #DDEEDD; + width : 100%; + height : 100%; +} + +.list_categories, .admin_action_header, .admin_main, .admin_menu_main, .admin_menu_sub { + width : 100%; +} + +.member_unconfirmed { + background-color : #DDEEDD; + width : 100%; + align : center; + text-align : center; +} + +.you_are_here { + white-space : nowrap; + font-size : 14px; +} + +.tiny { font-size : 12px; } +.medium { font-size : 14px; } +.big { font-size : 20px; } + +.top { border-top : 1px dotted #4400AA; } +.bottom { border-bottom : 1px dotted #4400AA; } +.left { border-left : 1px dotted #4400AA; } +.right { border-right : 1px dotted #4400AA; } + +.top2 { border-top : 1px dotted #AA0044; } +.bottom2 { border-bottom : 1px dotted #AA0044; } +.left2 { border-left : 1px dotted #AA0044; } +.right2 { border-right : 1px dotted #AA0044; } + +.nobr { + white-space : nowrap; +} + +.guest_table { + background-color : #eeffbc; +} diff --git a/0.2.1/DOCS/en/EXTENSIONS.txt b/0.2.1/DOCS/en/EXTENSIONS.txt new file mode 100644 index 0000000000..6b71863812 --- /dev/null +++ b/0.2.1/DOCS/en/EXTENSIONS.txt @@ -0,0 +1,18 @@ +Info-Datei zum Einspielen von Erweiterungen +=========================================== + +Im Grunde genommen koennen Sie beim Updaten von Erweiterungen so vorgehen, +wie Sie es vom Upgraden des gesamten Script her kennen: + +- Eigen geaenderte Templates/CSS-Dateien sichern +- Alles (bis auf DOCS-Verzeichnis) hochladen +- Gesicherte Dateien wieder hochladen. +- In Adminbereich einloggen und nach Update-Aufgaben gucken + +Viel Erfolg!!! + +Und wenn Sie nicht weiterkommen, melden Sie sich bitte im Forum: + +http://forum.mxchange.org + +[EOF] diff --git a/0.2.1/DOCS/en/LICENSE.txt b/0.2.1/DOCS/en/LICENSE.txt new file mode 100644 index 0000000000..a3fb4dbe1e --- /dev/null +++ b/0.2.1/DOCS/en/LICENSE.txt @@ -0,0 +1,3 @@ +Please read the license file DOCS/LICENSE.txt for details. + +[EOF] diff --git a/0.2.1/DOCS/en/MENUE_HOVER.txt b/0.2.1/DOCS/en/MENUE_HOVER.txt new file mode 100644 index 0000000000..3c9aaa7b9a --- /dev/null +++ b/0.2.1/DOCS/en/MENUE_HOVER.txt @@ -0,0 +1,19 @@ +Change following CSS class: + +A:hover { + background-color : transparent; +} + +Add following CSS classes to general.css: + +.menu_blur { + display : block; +} + +.menu_blur:hover { + background-color : #deefac; +} + +Remove from following CSS class(es) the "padding-left: ??px" entry: + +.guest_menu_row, .guest_menu_bottom, .member_menu_row, .member_menu_bottom diff --git a/0.2.1/DOCS/en/PATCHES.txt b/0.2.1/DOCS/en/PATCHES.txt new file mode 100644 index 0000000000..d1cd3f30f4 --- /dev/null +++ b/0.2.1/DOCS/en/PATCHES.txt @@ -0,0 +1,28 @@ +Einspielen von Patches und wichtige Infos +========================================= + +Patches sind inkrement zur aktuellen Version (bitte im Admin-Bereich unter +"Verschiedes / Updates pruefen" schauen, ob eine neue Version raus ist). Das +heisst, sie bauen aufeinander auf und dementsprechend muessen sie in der +Reihenfolge installiert werden, in der ich sie durchnummeriert (Prefix) habe. + +Bei einigen Patches liefere ich Templates und/oder CSS-Dateien mit aus. Diese +muessen Sie natuerlich auch einspielen. + +Ist Ihnen das Patchen zu kompliziert, warten Sie einfach auf ein neues Update. +Von diesem brauchen Sie dann nur noch die PHP-Dokumente, Templates und CSS- +Dateien (neue nur!) hochladen. + +Das Einspielen von SQL-Dateien per upgrade.php oder PHPMyAdmin ist seit einigen +Versionen nicht mehr noetig. Dies wird entweder von den unzaehligen +Erweiterungen (einige dienen nur als Platzhalter, sollten aber dennoch aktuell +gehalten werden, damit Sie kein neues Feature / Patch verpassen) erledigt, oder +auch von der Erweiterung "sql_patches". + +Im Internet unter der Adresse www.mxchange.org habe ich eine FAQ Nr. 19 zum +Thema "Erweiterungen aktuell halten" eingestellt. Schauen Sie sich diese an, +wenn Sie wissen wollen, welche Erweiterungen Sie mindestens aktuell halten +sollten. Zudem veroeffentliche ich dort mal ab und zu eine weitere FAQ mit +interessanten Hinweisen aus Mails und Chats mit "Kunden" (wie Sie einer sind). + +[Ende der PATCHES.de] diff --git a/0.2.1/DOCS/en/PATCH_320.txt b/0.2.1/DOCS/en/PATCH_320.txt new file mode 100644 index 0000000000..6e10d1a3de --- /dev/null +++ b/0.2.1/DOCS/en/PATCH_320.txt @@ -0,0 +1,16 @@ +README fuer Patch Nr. 320 +========================= + +Wenn Sie dieses Patch fehlerfrei nutzen wollen, muessen Sie unbedingt aus dem +Template "metadata.tpl" die Zeile mit "description" entfernen, da diese seit +diesem Patch vom Script dynamisch eingefuegt wird. + +Die Beschreibung wird derzeit automatisch wie folgt generiert: +- Mailtausch-Titel (MAIN_TITLE) +- Titel von what-Datei + +Die Generierung erfolgt allerdings nur im Gastbereich, da nur dort +Suchmaschienen rankommen koennen. In den beiden anderen Menues ist dies +nicht erforderlich. + +[-- ENDE VON PATCH_320.txt --] diff --git a/0.2.1/DOCS/en/README.txt b/0.2.1/DOCS/en/README.txt new file mode 100644 index 0000000000..cf8226ebb3 --- /dev/null +++ b/0.2.1/DOCS/en/README.txt @@ -0,0 +1,66 @@ +The installation is kept as easy as possbile (we hope so... ;-)): + +- Uncompress the downloaded archive (e.g. with WinZIP or your favourite program) + into a new directory on your harddisc. A Directory called 'mxchange-x.x.x' + will be created by x.x.x is the current version and the non-free PRO version + contains a "pro" directory. + +- Upload the full *contents* of the '0.2.1' to your server. Files like + AUTHORS.de and so on are not neccessary. Please also include the SQL + files in your upload. + +- The script is now in installation mode. Just call the script's URL directly + like: http:// your server . com / exchange / (without the spaces!!!) and the + script will redirect you to the installation routine. You can now chosse an + other theme than default by simply adding it to install.php: + + - install.php?theme=business = Loads theme "Solid-Business" + - install.php?theme=desert = Loads theme "Desert-Storm" + +- The installation path (aka. absolute server path) and the installation URL + will be auto-detected and on 99% of every installation you don't need to + change it. Also the installation routine will keep it's fingers away from the + absolute path. + +- And for some versions now the URL will also be detect automatically! With a + chance up to 99% you also don't need to change this! + +- Just follow the instruction in your web browser. If you see some words with + only CAPITALS_AND_UNDERLINES then there is no translation available for your + selected language. + +------------------------------ +- For our english customers: - +------------------------------ + +Pre-installation: +- Set CHMOD 777 on the 'inc' directory (no sub-directories) and CHMOD 644 on + inc/config.php +- Reload the page in your browser and click on the button + +Page 1: +- First check URL if *NO* trailing slash is added and check the absolute path + which *MUST* have a trailing slash. +- Then enter the title of your exchange like: "John's mail promotion service" + (without the quotes) +- Then enter a cool slogan like "The visitors-engine *No. 1* for your + website!" (without the quotes) +- At last enter your valid email address. For example every mail orders will be + send to that address. + +Page 2: +- Enter all database stuff: host, database, prefix, login, 2x password + +Page 3: +- Currently skipped! + +Page 4: +- Currently skipped! + +Page 5: +- Several misc settings: Please keep OUTPUT_MODE and FRAMSET_ACTIVE on default + or your script won't work!!! +- If WRITE_FOOTER is switched on, our copyright note is placed on every page. If + you switch this option off our copyright note is moved into the "Impressum". + +Good luck! :-) diff --git a/0.2.1/DOCS/en/SECURITY.txt b/0.2.1/DOCS/en/SECURITY.txt new file mode 100644 index 0000000000..3bee3cc7e2 --- /dev/null +++ b/0.2.1/DOCS/en/SECURITY.txt @@ -0,0 +1,179 @@ +Deutschsprachige Informationen zu den Sicherheitsvorkehrungen +============================================================= + +Themenuebersicht: +----------------- + +1. Sicherheitscode beim Bestaetigen der Mails +2. IP- und E-Mail-Sperre im Anmeldeformular +3. Modul-Sicherheit +4. SQL-Injektionen und XSS-Attacken +5. URL-Sperre +6. Profilsperre +7. URL-Filtersystem +x. Haftbarkeit + +--- --- --- --- --- + +1. Sicherheitscode beim Bestaetigen der Mails +--------------------------------------------- + +Der Sicherheitscode gilt als eine Sicherheitsbarriere gegen Betrueger, die nur +Punkte ansammeln wollen und das moeglichst ohne die beworbene Seite zu besuchen +und sich anzusehen. Und genau dafuer ist der Mailtausch ja da, es soll die +beworbene Seite besucht werden. Auch dieses Script kann natuerlich nicht 100%-ig +dafuer sorgen, dass die Seite auch tatsaechlich besucht werden. Dazu gibt es +andere Methoden, die hier den Rahmen der Datei sprengen wuerden. + +Aber nun zum eigentlichen Thema zurueck. Wir nehmen erstmal an, der Code haetten +wir nicht eingebaut. + +Die Betrueger benutzen dann ein Programm, dass die URL genau nachbilden kann, die +aufgerufen wird, wenn die Zeit abgelaufen ist und die Punkte verguetet werden +(worum es den Fakern geht). Es wird also nicht das Frameset mit der beworbenen +Seite unten und oben das Zeit-Frame aufgerufen, sondern nur die Gutschrift-Seite. + +Ohne Code in der URL und Code im Muster-Bild ist dies kein Problem. + +Nehmen wir nun an, wir wuerden den Code im Muster-Bild direkt in die URL +einbinden, so kann dies auch mit wenigen Aenderungen am Faker-Programm umgangen +werden. + +Wenn JavaScript abgeschaltet wird, geht zwar im Browser nichts mehr, aber das +Faker-Programm funktioniert immer noch. Es musste also ein besserer Schutz her. + +Und hier kommt der Absicherungsmechanismus mit dem sogn. Site-Key und Date-Key +zur Geltung. + +Der Site-Key ist ein von mir zufallsmaessig eingegebener Code. Diesen koennen - +und in Sachen Sicherheit - und sollten Sie ihn auch aendern. Der Code sollte +dabei aus Zahlen, Buchstaben und anderen Zeichen bestehen. Diese koennen Sie +wild durcheinander eingeben. Wollen Sie die doppelten Anfuehrungszeichen +eingeben, so "escape-n" Sie diese bitte, indem Sie ein \ direkt vor das +Anfuehrungszeichen setzen. Das sieht dann so aus: \" Dies muss sein, da der +Site-Key auch in doppelten Anfuehrungszeichen steht und es somit zu +Scriptfehlern kommt. + +Dann gibt des den Date-Key. Dieser ist einfach das aktuelle Datum im +amerikanischem Format. Auch hier koennen Sie das Format gerne auf deutsch +umstellen. + +Diese beiden Codes stehen in der inc/config.php und koennen nach den oben +genannten Regeln geaendert werden. + +Wird eine Mail bestaetigt so, erzeugt das PHP-Script mailid_top.php in Zeile 229 +per rand() Funktion eine Zufallszahl zwichen 0 und 99999. Diese wird beim Laden +der Seite mit der Code-Eingabe an die URL dran gehaengt. + +Im Script mailid_top.php, Zeile 124 werden die beiden Codes mit dem User-Agent +(genaue Browserbezeichnung) und der Zufallszahl aus der URL aneinander gehaengt +und hexdec() codiert. Aus der dann resultierenden Zahl werden so viele Stellen +nach dem Dezimalpunkt extrahiert, wie viel Sie im Admin-Bereich eingestellt +haben. + +Weil die Zahl aus der URL mit den beiden Keys und dem User-Agent zusammen +codiert werden, sind diese unterschiedlich und koennen auch beim Abgleich des +eingegebenen Codes wieder neu generiert werden, da vor dem Ableich nach dem +selben Muster codiert wird. + +Dieses Verfahren haben die Entwickler von PHP-Nuke entwickelt +(http://www.phpnuke.org) und unterliegt genau wie unsere LITE-Version der GNU +GPL. + +Die PRO-Version wird bald diesbezueglich ein wenig abgeaendet, damit ein evtl. +Rechtsstreit vorgebeugt ist. + +2. IP- und E-Mail-Sperre im Anmeldeformular +------------------------------------------- + +Im Anmeldeformular gibt es eine zeitbegrenzte IP-Sperre. Diese soll verhindern, +dass der selbe Internet-User sich direkt hintereinander mit unterschiedlichen +E-Mail-Adressen anmelden kann. Gegen die selbe E-Mail Adresse besteht auch +weiterhin ein Schutzmechanimus. + +Es ist also weder moeglich, sich mit gleicher E-Mail-Adresse, noch innerhalb +einer einstellbaren Zeitspanne mit unterschiedlichen E-Mail-Adressen anzumelden. + +Beide Barrieren koennen Sie im Admin-Bereich veraendern, die Standart- +Einstellung ist mit einigen Webmastern abgeklaert und sollte sicher genug sein. + +3. Modul-Sicherheit +------------------- + +Anfangs habe ich auch hier das Sicherheitssystem von PHP-Nuke +(http://www.phpnuke.org) uebernommen. Ich merkte aber bald, dass dies beim +Programmieren sehr mueselig ist und habe mich fuer eine abgewandelte Version +entschieden. Die Idee, Include-Dateien so abzusichern habe ich aber dennoch von +PHP-Nuke uebernommen. + +Diese Sicherheitsbarriere ist fuer den normalen Besucher nicht sichtbar. Erst +wenn er versucht, Include-Dateien direkt aufzurufen (inc/config.php +beispielsweise), so wird eine rote Warnseite angezeigt und der Ablauf des +Scriptes "stirbt". + +Diese Grundsicherheit des Script kann nicht deaktiviert werden (ausser Sie sind +verrueckt genug und loeschen die Sperren aus jedem Script, selbstverstaendlich ist +das keine Sicherheit mehr gewaehrt und jeglicher Support-Anspruch verfaellt). + +4. SQL-Injektionen und XSS-Attacken +----------------------------------- + +Bis zur Version 0.2.0-pre10 mit Patch-Level 485 und aelter war es fuer einen +entfernten Angreifer theoretisch moeglich, SQL-Befehle einzuschleusen und auch +Attacken auf die Variable $PHP_SELF durchzufueheren. Seit Patch 486 und 487 +(laden Sie sich am Besten immer die aktuellsten Patches herunter!) sind nun +entsprechende Zeilen aus der inc/db/lib-mysql3.php (Funktion SQL_QUERY_ESC) +entfernt sollten nicht mehr angreifbar sein. Der generierten SQL-Befehl wurde +vor der Ausfuehrung nochmals "uebersetzt", also alle sicherheitsgefaehrdenen +Zeichen wieder eingebaut. Zudem existiert im Script +inc/libs/security_functions.php am Ende des Scriptes ein Mechanismus, der +XSS-Attacken vereiteln soll (und bis jetzt auch gut getan hat). + +5. URL-Sperre +------------- + +Was weniger mit der direkten Sicherheit des Scriptes zu tun hat, sondern eher +Ihren Mailtausch von Betruegern schuetzen soll, ist die Moeglichkeit, eine +zeitgesteuerte URL-Sperre einzurichten. Die selbe URL kann somit fuer eine +einstellbare Zeit nicht mehr beworben werden. Wir empfehlen hier dabei +mindestens 1 Tag, wenn nicht sogar eher 2 Tage. + +Leider ist diese Sperre mit dynamischen URLs leicht umrundbar. Es haelt jedoch +die Anfaenger fern. + +6. Profilsperre +--------------- + +Gleich wie die URL-Sperre URLs vor doppelter Bewerbung "schuetzt", so schuetzt +auch die Profilsperre das Mitgliederprofil vor erneutem Editieren innerhalb einer +bestimmten Zeit. Zudem arbeiten beide Sperren "Hand-In-Hand", was bedeutet, dass +sobald ein Mitglied eine Mail gebucht hat, fuer eine gewisse Zeit sein Profil +nicht mehr aendern kann. Auch diese Sperre gilt den Betruegern, die nach dem +Versand ihren Empfang auf 0 stellten und vor dem Versand (vor 00:00 Uhr) ihn +hochstellten, um zu versenden. Folglich konnten die anderen Mitglieder weniger +empfangsbereite Mitglieder erreichen. + +7. URL-Filtersystem +------------------- + +Das neuartige Filtersystem filtert URLs heraus, die nicht den Normungen +entsprechen. Dies soll zum einem verhindern - wir hatten es ebenfalls in einem +anderen Mailtausch mehrfach erlebt - dass URLs, wie mailto:adresse@host.de +beworben werden (oder auch Skype-Adressen). Aber es verhindert auch, dass "boese" +URLs, die den Server angreifen sollen, in das System legal gelangen und somit +alle Computer der Mitglieder - oder wenigstens den Computer des Admins angreifen +koennen (Trojaner). + +Das URL-Filtersystem selber basiert auf einer Meta-Sprache, die dann gueltige +URL-Filter (regulaere Ausdruecke) generiert und diese dann auf die beworbene URL +anwendet. Das Filtersystem laesst sich nun bald per Internet aktualisieren, was +das Aktuellhalten dann sehr stark vereinfacht. + +Die beworbene URL wird uebrigens vom URL-Lader (Dereferrer) nochmals angewand! + +x. Haftbarkeit +-------------- + +Querverweis auf die README.de-Datei... + +[EOF] diff --git a/0.2.1/DOCS/en/TEMPLATES.txt b/0.2.1/DOCS/en/TEMPLATES.txt new file mode 100644 index 0000000000..36843c37dd --- /dev/null +++ b/0.2.1/DOCS/en/TEMPLATES.txt @@ -0,0 +1,99 @@ +0. Themenuebersicht +=================== + +1. Neuartiges Template-System bei der MXChange-Engine: +2. Wichtige Aenderung am gesamten Template-System: +3. Sicherheitsgefaehrende Zeichen quoten + +[--- --- --- --- --- --- ---] + +1. Neuartiges Template-System bei der MXChange-Engine: +====================================================== + +Das neue Template-System umgeht endlich den Umweg mit den normalen Variablen, +die vom eval()-Befehl ge-eval-t werden (also ausgefuehrt werden). Es koennen +nun Konstanten direkt eingebunden werden: + +Vor und nach der einzubindenen Konstante muss ein {-- bzw. --} als Abschluss +gesetzt werden. Diese werden von LOAD_TEMPLATE() entsprechend umgewandelt in +". und ." (Anfuehrungszeichen-Punkt und andersrum). + +Die modules.php wierrum sichert die geposteten Daten gegen evaige Angriffe ab +(beispielsweise das Einbinden der MySQL-Daten), indem es das Dollarzeichen und +die normalen und geschwungenen Klammern quotet. + +Hier ein Beispiel: (Leerstellen nach {-- bzw. vor --} sind nicht noetig!) + +_WIRD_NICHT_EINGEBUNDEN {--_ABER_DIESE_KONSTANTE_SCHON--} + +Wird Fehler verursachen: +{--_ABSCHLUSS_FEHLT + +oder auch: +_ANFANG_FEHLT--} + +Achten Sie also darauf, dass diese Template-Klammern als Paar auftreten! + +[--- --- --- --- --- --- ---] + +2. Wichtige Aenderung am gesamten Template-System: +=================================================== + +Seit Version v0.2.0-pre4 habe ich etwas dateitechnisches am Template-System +geaendert: + +Alle Dateien im Verzeichnis templates/ und templates/emails/ sind umbenannt +und in neue Verzeichnisse verschoben. + +Ein paar Beispiele: + +- templates/guest_header.tpl.de ist nach templates/de/html/guest_header.tpl + verschoben worden. + +- templates/emails/done-admin.tpl.de ist nach templates/de/emails/done-admin.tpl + verschoben worden. + +Die Doppelendung der Datei entfaellt also und ist stattdessen als Verzeichnis- +name realisiert. Damit stehen allen weiteren Sprachen Tuer und Tor offen/ + +Wenn Sie eine aeltere Version als v0.2.0-pre4 besitzen, so koennen Sie gerne das +gesamte templates-Verzeichnis (inklusive emails-Verzeichnis) an mich senden und +ich wandle dann die Dateinamen um. + +Verwenden Sie dazu einfach diese Adresse: webmaster@mxchange.org + +Da ich hier einfach alles enpacke und nur kurz ein Shell-Script starte, kostet +diese Umwandlung Ihnen nichts. Selbstverstaendlich gebe ich Ihre Aenderungen +nicht an Dritte weiter. + +[--- --- --- --- --- --- ---] + +3. Sicherheitsgefaehrende Zeichen quoten +========================================= + +In modules.php von Zeile 48 bis 73 (veraltet; vielleicht lagern wir diese noch +aus? hmmm...) befindet sich ein Absicherungsmechanismus. Dieser verhindert, dass +sicherheitsgefaehrende Zeichen, wie $, (, ) usw. an das Script uebergeben +werden womit der Angreifer versuchen koennte, die MySQL-Daten beispielsweise +auszulesen. + +Diese werden durch folgende "Templates" ersetzt: + +Dollarzeichen = {DOLLAR_TAG} +Klammer-Auf = {OPEN_TAG} +Klammer-Zu = {CLOSE_TAG} +Template-Auf = {OPEN_TEMPLATE} (damit ist {-- gemeint!) +Template-Zu = {CLOSE_TEMPLATE} (damit ist --} gemeint!) + +Neu sind (v0.0.8 mit neusten Patches): +Abostrof (') = {QUOT} +Prozent (%) = {PER} +Semikolon (;) = {SEMI} + +Diese "Templates" werden nach dem eval()-Befehl in der LOAD_TEMPLATES()- +Funktion wieder gegen ihre urspruenglichen Zeichen ausgetauscht (damit diese +zwar vom Mitglied eingebbar aber vor dem eval()-Befehl abgesichert sind). + +Der Slash (/) und der Punkt (.) werden ge-quot-et (\ davor gesetzt!) + +[EOF] diff --git a/0.2.1/DOCS/en/THANK_YOU.txt b/0.2.1/DOCS/en/THANK_YOU.txt new file mode 100644 index 0000000000..a5aee4b2c8 --- /dev/null +++ b/0.2.1/DOCS/en/THANK_YOU.txt @@ -0,0 +1,36 @@ +So here are some bigger or smaller words to people on the world: + +Persona: +- First of all, thanks to mum and dad, I would never see the light of this world + without you! :-) +- My only-one brother for personal/moral support +- My best-friend "Phoenix" I know him for over 10 years... (URL not allowed to + give away!) +- Linus Torwalds: If you you don't know this guy you really don't know Linux... + ;-) +- Mr. Guenter Werner: Many insider informations which are implementated in this + script (like 24h URL- and account-lock) +- Mr. Jörg Biel: Gives me the hint to add index to several SQL columns + (http://www.biel-newmedia.de) +- Mr. Robert Niedziela: Sends several patches (a lot!) to me. Thank you. + (http://www.mcpserver.de; http://www.mc-p.org) +- Mr. Lars Möhlenbruch: Some nice hints and referral listing script (admin area) + (http://www.masterportal24.com) +- Mr. Michael Dittrich: MyAutoInstaller-Community into text + (http://www.oshop.de) +- Mr. Walter Ochsendorf: Good beta tester! Gives hints for new extensions and + improvements (http://www.wo-net.com) +- Mr. Schmidt: He founds a major bug in theme system! (http://www.simplemail.de) + +Websites / programmers / etc.: +- SF.net: hosting my project files (archives only) http://sourceforge.net +- The PHP-group: great work! Man, you all rock!!! ;-) http://www.php.net +- MySQL group: fast and stable database engine http://www.mysql.com +- GNOME: Midnight Commander for ever! Yeah... http://www.ibiblio.org/mc/ +- Server4You for hosting my project http://www.server4you.de +- All webmasters who has installed this script and waiting out for new releases +- Anyone else I forgot... + +Thank you all for supporting me! + +Roland Haeder diff --git a/0.2.1/DOCS/en/TODO.txt b/0.2.1/DOCS/en/TODO.txt new file mode 100644 index 0000000000..481a7c11e9 --- /dev/null +++ b/0.2.1/DOCS/en/TODO.txt @@ -0,0 +1,15 @@ +TODO +---- + +[2004-10-14/02:10 pm]: + +- Extend the documenation! +- Complete english language translation +- Replace SQL_QUERY() command with SQL_QUERY_ESC() commands where ever it is + needed to secure SQL queries. +- Use the abstract function SQL_FREERESULT() wherever we trasnfer massive data + from the database to free memory +- Simplify CSS classes +- Add more database abstraction layers like ODBC/M$SQL/Oracle +- Stop using un-free software and join us. :-) +- Fight against software patents! They are evil! diff --git a/0.2.1/DOCS/en/UPGRADING.txt b/0.2.1/DOCS/en/UPGRADING.txt new file mode 100644 index 0000000000..bb937b9ca3 --- /dev/null +++ b/0.2.1/DOCS/en/UPGRADING.txt @@ -0,0 +1,29 @@ +Upgrades einspielen: +-------------------- + +- Sichern Sie sich alle von Ihnen geaenderten CSS-Dateien (oder erzeugen + Sie sich ein eigenes Theme (lesen Sie dazu README_themes.de!) und + Templates, sowie die config.php ab. + +- Laden Sie wie Sie es von der Installation her kennen alle PHP-Scripte, + CSS-Dateien und Templates hoch. Lassen Sie aber dabei die Installations- + dateien aus (da Sie ja bereits das Script installiert haben und nur + updaten wollen.) + +- Laden Sie Ihre gesicherten Dateien alle wieder hoch. + +- Rufen Sie zum Testen die Eingangsseite (index.php) oder am besten gleich + den Admin-Bereich (admin.php) auf. Eventuell aktualisierte Erweiterungen + werden dann beruecksichtigt und es werden Ihnen Update-Aufgaben generiert. + +- Das Aufrufen und Hochladen der upgrade.php ist seit geraumer Zeit nicht + mehr noetig. Die Patches an der Datenbank werden zu einem durch die + Erweiterungen selber, aber auch zum anderen durch die Erweiterung + sql_patches erledigt + +------------------------------------------------------------------------ +- Rufen Sie nicht erneut die install.php auf! Diese ist zwar - +- theoretisch gegen ein erneutes Aufrufen abgesichert, Sie sollten es - +- aber dennoch nicht ausprobieren, da dies Ihre Daten loeschen kann! - +- Entfernen Sie also nach der Installation das Script! - +------------------------------------------------------------------------ diff --git a/0.2.1/DOCS/en/cache/README.txt b/0.2.1/DOCS/en/cache/README.txt new file mode 100644 index 0000000000..b154de7d8d --- /dev/null +++ b/0.2.1/DOCS/en/cache/README.txt @@ -0,0 +1,19 @@ +Deutsche README-Datei fuer Caching-System +========================================= + +- Ist bereits die .htaccess-Datei vorhanden setzen Sie die Zugriffsrechte auf + mindestens 444 oder 644 +- Ist das Verzeichnis cache bereits vorhanden, setzen Sie nur die Zugriffsrechte + auf 777 + +Falls alles nicht vorhanden ist: (was aber selten vorgekommen ist) + +- Legen Sie im inc-Verzeichnis ein Verzeichnis cache an und setzen Sie die + Zugriffsrechte auf 777 +- Legen Sie eine Datei .htaccess mit folgender Zeile an: + +Deny from all + +- Diese Datei bedarf noch weiteren Ausbaus! ;-) + +[-- ENDE VON README_cache.de --] diff --git a/0.2.1/DOCS/en/country/README.txt b/0.2.1/DOCS/en/country/README.txt new file mode 100644 index 0000000000..24e4f79acb --- /dev/null +++ b/0.2.1/DOCS/en/country/README.txt @@ -0,0 +1,20 @@ +Deutsche README-Datei zur Landescode-Erweiterung +================================================ + +Die SQL-Dateien im Verzeichnis DOCS/country haben die folgende Bedeutung: + +countries-europe.sql - Nur Europa +countries-full.sql - Alle Laender der Welt (oder fast alle?) +countries-sorted.sql - Alle Laender um Deutschland herum nach oben) + +Wobei Deutschland selber nicht in den SQL-Dateien vorhanden ist, da dies +von der Erweiterung selber mitgebracht wird. + +Hinweis: + +Die Dateien wurden von Lothar Menges mir zur Verfuegung +gestellt, bei Fragen wegen der Laendernamen, fragen Sie bitte ihn und nicht +mich. Auch trotz sorgfaeltiger Pruefung koennen immer noch Fehler enthalten +sein. Danke! + +[-- ENDE VON README.de --] diff --git a/0.2.1/DOCS/en/country/countries-europe.sql b/0.2.1/DOCS/en/country/countries-europe.sql new file mode 100644 index 0000000000..f6cc3ad58b --- /dev/null +++ b/0.2.1/DOCS/en/country/countries-europe.sql @@ -0,0 +1,36 @@ +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AT','Austria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BA','Bosnia and Herzegovina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BE','Belgium','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BG','Bulgaria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CH','Switzerland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CZ','Czech Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DK','Denmark','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EE','Estonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ES','Spain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EU','European Union','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FI','Finland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','United Kingdom','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','England','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Great Britain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Scotland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Channel Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GR','Greece','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HR','Croatia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HU','Hungary','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IE','Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IF','Northern Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IS','Iceland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IT','Italy','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LI','Liechtenstein','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LU','Luxembourg','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MC','Monaco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NL','Netherlands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NO','Norway','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NZ','New Zealand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PL','Poland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PT','Portugal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RO','Romania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SE','Sweden','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SI','Slovenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SK','Slovakia Slovak Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TR','Turkey','Y'); diff --git a/0.2.1/DOCS/en/country/countries-full.sql b/0.2.1/DOCS/en/country/countries-full.sql new file mode 100644 index 0000000000..6e9c7ea8e0 --- /dev/null +++ b/0.2.1/DOCS/en/country/countries-full.sql @@ -0,0 +1,257 @@ +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AC','Ascension','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AD','Andorra','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AE','United Arab Emirates','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AF','Afghanistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AG','Antigua and Barbuda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AI','Anguilla','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AL','Albania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AM','Armenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AN','Netherlands Antilles','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AO','Angola','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AQ','Antarctica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AR','Argentina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AS','American Samoa','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AT','Austria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AU','Australia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AW','Aruba','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AZ','Azerbaijan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BA','Bosnia and Herzegovina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BB','Barbados','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BD','Bangladesh','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BE','Belgium','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BF','Burkina Faso','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BG','Bulgaria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BH','Bahrain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BI','Burundi','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BJ','Benin','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BM','Bermuda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BN','Brunei Darussalam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BO','Bolivia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BR','Brazil','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BS','Bahamas','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BT','Bhutan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BV','Bouvet','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BW','Botswana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BY','Belarus','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BZ','Belize','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CA','Canada','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CC','Cocos','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CD','Congo Democratc Repuplic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CF','Central African Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CG','Congo Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CH','Switzerland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CI','Cote D Ivoire','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CK','Cook Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CL','Chile','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CM','Cameroon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CN','China','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CO','Colombia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CR','Costa Rica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CS','Serbia and Montenegro','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CT','Canton and Enderbury','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CU','Cuba','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CV','Cape Verde','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CX','Christmas Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CY','Cyprus','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CZ','Czech Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DJ','Djibuti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DK','Denmark','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DM','Dominica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DO','Dominican Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DZ','Algeria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EC','Ecuador','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EE','Estonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EG','Egypt','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EH','Western Sahara','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ER','Eritrea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ES','Spain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ET','Ethiopia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EU','European Union','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FI','Finland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FJ','Fiji','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FK','Falkland Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FM','Micronesia Fed. S.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FO','Faroe Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FR','Frabce','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GA','Gabon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','United Kingdom','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','England','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Great Britain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Scotland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Channel Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GD','Grenada','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GE','Georgia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GF','French Guiana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GG','Guernsey','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GH','Ghana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GI','Gibraltar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GL','Greenland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GM','Gambia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GN','Guinea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GP','Guadeloupe','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GQ','Guinea Equatorial','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GR','Greece','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GS','South Georgia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GT','Guatemala','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GU','Guam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GW','Guinea-Bissau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GY','Guyana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HK','Hong Kong','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HM','Heard- and MC Donald Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HN','Honduras','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HR','Croatia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HT','Haiti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HU','Hungary','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ID','Indonesia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IE','Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IF','Northern Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IL','Israel','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IM','Isle of Man','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IN','India','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IO','British Indian O.T.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IQ','Iraq','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IR','Iran Islamic Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IS','Iceland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IT','Italy','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JE','Jersey Bailwick','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JM','Jamaica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JO','Jordan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JP','Japan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JT','Johnston Atoll','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KE','Kenya','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KG','Kyrgyzstan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KH','Cambodia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KI','Kiribati','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KM','Comoros','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KN','Saint Kitts and Nevis','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KP','Korea Democratic P. Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KR','Korea Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KW','Kuwait','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KY','Cayman Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KZ','Kazakhstan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LA','Lao People Democratic Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LB','Lebanon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LC','St. Lucia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LI','Liechtenstein','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LK','Sri Lanka','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LR','Liberia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LS','Lesotho','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LT','Lithuania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LU','Luxembourg','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LV','Latvia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LY','Libyan Arab Jamahiriya','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MA','Morocco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MC','Monaco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MD','Moldova Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MG','Madagascar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MH','Marshall Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MI','Midway Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MK','Macedonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ML','Mali','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MM','Myanmar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MN','Mongolia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MO','Macau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MP','Northern Mariana Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MQ','Martinique','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MR','Mauritania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MS','Montserat','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MT','Malta','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MU','Mauritius','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MV','Maldives','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MW','Malawi','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MX','Mexico','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MY','Malaysia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MZ','Mozambique','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NA','Namibia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NC','New Caledonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NE','Niger','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NF','Norfolk Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NG','Nigeria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NI','Nicaragua','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NL','Netherlands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NO','Norway','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NP','Nepal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NQ','Dronning Mauds Land','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NR','Nauru','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NU','Niue','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NZ','New Zealand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('OM','Oman','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PA','Panama','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PE','Peru','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PF','French Polynesia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PG','Papua New Guinea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PH','Philippines','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PK','Parkistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PL','Poland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PM','St. Pierre and Miquelon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PN','Pitcairn Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PR','Puerto Rico','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','Palestian Authority','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','Gaza Strip','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','West Bank','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PT','Portugal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PW','Palau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PY','Paraguay','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('QA','Qatar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RE','Reunion','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RO','Romania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RU','Russian Federation','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RW','Rwanda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SA','Saudi Arabia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SB','Solomon Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SC','Seychelles','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SD','Sudan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SE','Sweden','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SG','Singapore','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SH','St. Helena','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SI','Slovenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SJ','Svalbard and Jan Mayen','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SK','Slovakia Slovak Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SL','Sierra Leone','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SM','San Marino','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SN','Senegal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SO','Somalia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SR','Suriname','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ST','Sao Tome and Principe','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SV','El Salvador','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SY','Syrian Arab Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SZ','Swaziland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TA','Tahiti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TC','Turks and Caicos Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TD','Chad','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TF','French Southern Ter.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TG','Togo','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TH','Thailand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TJ','Tajikistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TK','Ttokelau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TM','Turkmenistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TN','Tunisia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TO','Tonga','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TP','East Timor','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TR','Turkey','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TT','Trinidad and Tobago','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TV','Tuvalu','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TW','Taiwan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TZ','Tanzania U. Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UA','Ukraine','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UG','Uganda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UM','U.S. Minor Outlying Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('US','United States','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UY','Uruguay','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UZ','Uzbekistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VA','Vatican City State','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VA','Holy See','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VC','St. Vincent and Grenadines','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VE','Venezuela','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VG','Virgin Iland (British)','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VI','Virgin Iland (U.S.)','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VN','Viet Nam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VU','Vanuatu','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WF','Wallis anf Futuna Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WK','Wake Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WS','Samoa West','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('YE','Yemen','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('YT','Mayotte','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZA','South Africa','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZM','Zambia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZW','Zimbabwe','Y'); diff --git a/0.2.1/DOCS/en/country/countries-sorted.sql b/0.2.1/DOCS/en/country/countries-sorted.sql new file mode 100644 index 0000000000..85c0b1aa7b --- /dev/null +++ b/0.2.1/DOCS/en/country/countries-sorted.sql @@ -0,0 +1,257 @@ +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AT','Austria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BE','Belgium','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CH','Switzerland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CR','Costa Rica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CZ','Czech Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DK','Denmark','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ES','Spain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FI','Finland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FR','Frabce','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','United Kingdom','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','England','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Great Britain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Scotland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GB','Channel Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GR','Greece','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HR','Croatia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HU','Hungary','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IE','Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IF','Northern Ireland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IS','Iceland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IT','Italy','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LI','Liechtenstein','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LU','Luxembourg','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MC','Monaco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NL','Netherlands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NO','Norway','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PL','Poland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RO','Romania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RU','Russian Federation','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SE','Sweden','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SI','Slovenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SK','Slovakia Slovak Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TR','Turkey','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AC','Ascension','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AD','Andorra','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AE','United Arab Emirates','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AF','Afghanistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AG','Antigua and Barbuda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AI','Anguilla','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AL','Albania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AM','Armenia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AN','Netherlands Antilles','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AO','Angola','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AQ','Antarctica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AR','Argentina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AS','American Samoa','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AU','Australia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AW','Aruba','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('AZ','Azerbaijan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BA','Bosnia and Herzegovina','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BB','Barbados','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BD','Bangladesh','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BF','Burkina Faso','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BG','Bulgaria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BH','Bahrain','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BI','Burundi','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BJ','Benin','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BM','Bermuda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BN','Brunei Darussalam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BO','Bolivia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BR','Brazil','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BS','Bahamas','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BT','Bhutan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BV','Bouvet','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BW','Botswana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BY','Belarus','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('BZ','Belize','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CA','Canada','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CC','Cocos','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CD','Congo Democratc Repuplic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CF','Central African Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CG','Congo Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CI','Cote D Ivoire','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CK','Cook Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CL','Chile','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CM','Cameroon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CN','China','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CO','Colombia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CS','Serbia and Montenegro','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CT','Canton and Enderbury','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CU','Cuba','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CV','Cape Verde','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CX','Christmas Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('CY','Cyprus','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DJ','Djibuti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DM','Dominica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DO','Dominican Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('DZ','Algeria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EC','Ecuador','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EE','Estonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EG','Egypt','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EH','Western Sahara','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ER','Eritrea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ET','Ethiopia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('EU','European Union','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FJ','Fiji','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FK','Falkland Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FM','Micronesia Fed. S.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('FO','Faroe Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GA','Gabon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GD','Grenada','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GE','Georgia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GF','French Guiana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GG','Guernsey','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GH','Ghana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GI','Gibraltar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GL','Greenland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GM','Gambia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GN','Guinea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GP','Guadeloupe','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GQ','Guinea Equatorial','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GS','South Georgia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GT','Guatemala','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GU','Guam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GW','Guinea-Bissau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('GY','Guyana','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HK','Hong Kong','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HM','Heard- and MC Donald Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HN','Honduras','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('HT','Haiti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ID','Indonesia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IL','Israel','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IM','Isle of Man','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IN','India','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IO','British Indian O.T.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IQ','Iraq','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('IR','Iran Islamic Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JE','Jersey Bailwick','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JM','Jamaica','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JO','Jordan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JP','Japan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('JT','Johnston Atoll','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KE','Kenya','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KG','Kyrgyzstan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KH','Cambodia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KI','Kiribati','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KM','Comoros','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KN','Saint Kitts and Nevis','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KP','Korea Democratic P. Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KR','Korea Republic','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KW','Kuwait','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KY','Cayman Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('KZ','Kazakhstan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LA','Lao People Democratic Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LB','Lebanon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LC','St. Lucia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LK','Sri Lanka','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LR','Liberia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LS','Lesotho','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LT','Lithuania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LV','Latvia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('LY','Libyan Arab Jamahiriya','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MA','Morocco','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MD','Moldova Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MG','Madagascar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MH','Marshall Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MI','Midway Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MK','Macedonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ML','Mali','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MM','Myanmar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MN','Mongolia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MO','Macau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MP','Northern Mariana Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MQ','Martinique','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MR','Mauritania','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MS','Montserat','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MT','Malta','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MU','Mauritius','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MV','Maldives','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MW','Malawi','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MX','Mexico','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MY','Malaysia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('MZ','Mozambique','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NA','Namibia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NC','New Caledonia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NE','Niger','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NF','Norfolk Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NG','Nigeria','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NI','Nicaragua','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NP','Nepal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NQ','Dronning Mauds Land','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NR','Nauru','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NU','Niue','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('NZ','New Zealand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('OM','Oman','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PA','Panama','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PE','Peru','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PF','French Polynesia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PG','Papua New Guinea','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PH','Philippines','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PK','Parkistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PM','St. Pierre and Miquelon','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PN','Pitcairn Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PR','Puerto Rico','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','Palestian Authority','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','Gaza Strip','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PS','West Bank','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PT','Portugal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PW','Palau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('PY','Paraguay','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('QA','Qatar','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RE','Reunion','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('RW','Rwanda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SA','Saudi Arabia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SB','Solomon Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SC','Seychelles','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SD','Sudan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SG','Singapore','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SH','St. Helena','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SJ','Svalbard and Jan Mayen','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SL','Sierra Leone','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SM','San Marino','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SN','Senegal','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SO','Somalia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SR','Suriname','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ST','Sao Tome and Principe','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SV','El Salvador','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SY','Syrian Arab Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('SZ','Swaziland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TA','Tahiti','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TC','Turks and Caicos Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TD','Chad','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TF','French Southern Ter.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TG','Togo','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TH','Thailand','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TJ','Tajikistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TK','Ttokelau','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TM','Turkmenistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TN','Tunisia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TO','Tonga','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TP','East Timor','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TT','Trinidad and Tobago','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TV','Tuvalu','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TW','Taiwan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('TZ','Tanzania U. Rep.','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UA','Ukraine','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UG','Uganda','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UM','U.S. Minor Outlying Ilands','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('US','United States','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UY','Uruguay','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('UZ','Uzbekistan','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VA','Vatican City State','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VA','Holy See','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VC','St. Vincent and Grenadines','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VE','Venezuela','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VG','Virgin Iland (British)','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VI','Virgin Iland (U.S.)','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VN','Viet Nam','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('VU','Vanuatu','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WF','Wallis anf Futuna Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WK','Wake Iland','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('WS','Samoa West','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('YE','Yemen','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('YT','Mayotte','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZA','South Africa','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZM','Zambia','Y'); +INSERT INTO `mxchange_countries` (`code`, `descr`, `is_active`) VALUES ('ZW','Zimbabwe','Y'); diff --git a/0.2.1/DOCS/en/doubler/README.txt b/0.2.1/DOCS/en/doubler/README.txt new file mode 100644 index 0000000000..5a745a09cd --- /dev/null +++ b/0.2.1/DOCS/en/doubler/README.txt @@ -0,0 +1,23 @@ +Hier ein Beispiel, wie der Verdoppler arbeitet: + - 1.000 bis 10.000 Punkte koennen verdoppelte werden. + - also 2.0000 bis 20.000 Punkte gibt der Verdoppler raus. + - nicht mehr, nicht weniger. + - es ist eine prozentuale Gebuehr von 10% (etwas happig, zum besseren + Verstaednnis der Rechnung aber okay) eingestellt. + +Ein typischer Ablauf: +1. Mitglied 1 zahlt 1.000 ein und will 2.000 haben +2. Im Verdoppler landen aber nur 1.000-10% = 900 Punkte +3. Mitglied 2 zahlt auch 1.000 ein und will auch 2.000 haben +4. Im Verdoppler landen wieder nur 1.000-10% = 900 Punkte +5. Das macht somit 1.800 Punkte. reicht nicht fuer Mitglied 1 aus! +6. Mitglied 3 zahlt auch 1.000 ein und will auch 3.000 haben +7. Im Verdoppler laden wieder nur 1.000-10% = 900 Punkte +8. Das macht somit 2.700 Punkte und reicht aus fuer Mitglied 1 +9. Mitglied 1 werden 2.000 Punkte ausbezahlt und im Verdoppler verbleiben 700 +10. Mitglied 4 zahlt .... usw.! + +Ihnen als Admin bringen nur die 10% was ein. Die sind futsch/geschreddert und +somit gibt es immer weniger Punkte im System. Mit Wernis/Klammlose klappt das +auch. Dann muessen die Mitglieder bei Ihnen die Waehrung einkaufen und Sie +verdienen etwas dran. diff --git a/0.2.1/DOCS/en/engine/README.txt b/0.2.1/DOCS/en/engine/README.txt new file mode 100644 index 0000000000..08f061e49f --- /dev/null +++ b/0.2.1/DOCS/en/engine/README.txt @@ -0,0 +1,40 @@ +Deutsche README-Datei fuer die Game-Engine +========================================== + +1. Engine-Modus einstellen +========================== + +Die Game-Engine kann in zwei Modis gesetzt werden: Server- und Client-Modus + +--- Server-Modus: --- + +- Alle externen Spielescriptes koennen auf die Export-Accounts zugreifen. + +- In diesem Modus kann die Engine durchaus einige !!!Gigabytes!!! Traffic + generieren. Dies liegt hauptsaechlich daran, dass eben - wenn Sie mehr + bekannter geworden sind - viele Spiele von aussen auf sie drauf zugreifen + und die Engine mit kleinen Antwort-Paketen antworten muss. + +- Nehmen wir an, ein Antwort-Paket ist durchschnittlich 10k gross. So + generieren die ersten 300.000 Anfragen "schlappe" 3,7 GB Traffic! + +- Diese Last kann keinesfalls ein "normaler" V-Server standhalten und Ihr + Hoster wird vorraussichtlich Ihnen im schlimsten Fall kuendigen oder Ihren + Server deaktivieren. + +- In diesem Modus koennen auch Punkte zwischen dem Export- und dem eigentlichen + Mailtausch-Account hin und her transferiert werden. + +- Dieser Modus kann auch zum Transferieren von Punkten zwischen zwei + Mailtauschs verwendet werden. + +--- Client-Modus: --- + +- In diesem Modus funktioniert nur das Transferieren von Punkten zwischen dem + Export- und dem eigentlichen Mailtausch-Account. Externe Spiele werden mit + einer 0 Byte grossen Antwort abgelehnt. + +- Die Server-Last ist also deutlich geringer. + +- Diesen Modus koennen Sie auch nutzen, um bespielsweise zwischen zwei + Mailtauschs Punkte transferieren zu koennen. diff --git a/0.2.1/DOCS/en/promoter.txt b/0.2.1/DOCS/en/promoter.txt new file mode 100644 index 0000000000..463049555c --- /dev/null +++ b/0.2.1/DOCS/en/promoter.txt @@ -0,0 +1,7 @@ +With MXChange you can start a free promotion services. Other webmasters are +able to join your service and promote their projects over this script. This is +done by they can order mails (when they have registered) and sending them over +categories like "Music", "Health", "Computer", "Internet" and so on to other +members. Other members may want to click on confirmation links within the mails +to get more points which they can use to promote their own project. This way is +called an exchange and of course spamming is strictly forbidden. diff --git a/0.2.1/DOCS/en/rallye/README.txt b/0.2.1/DOCS/en/rallye/README.txt new file mode 100644 index 0000000000..20fb1c512c --- /dev/null +++ b/0.2.1/DOCS/en/rallye/README.txt @@ -0,0 +1,27 @@ +Rallye-Erweiterung +------------------ + +- Es kann immer nur eine Rallye zur Zeit laufen (wird aber nur beim Hinzufuegen + getestet, beim Editieren muessen Sie pruefen!), mehrere gleichzeitig + "ueberfuettert" nur Ihre Mitglieder! ;-) + +- Sie koennen beim Hinzufuegen von Rallyes entweder eine kleine Beschreibung + (HTML-Code erlaubt) eingeben oder ein Template verknuepfen: + + * Dieses muss sich - wie alle anderen Templates - im Ordner templates/de/html + befinden + * Der Dateiname muss mit rallye_ anfangen und .tpl aufhoeren. + * Das Mittelstueck des Template-Namens sollte nur Buchstaben aus dem US- + Alphabet und Unterstriche enthalten und nicht laenger als 255 Zeichen sein. + + Das Beispiel rallye_test.tpl von mir koennen Sie gerne zum Testen verwenden! + +- Lassen Sie die Rallye nicht ohne Preise anlaufen, also zuerst deaktiviert + (Standardauswahl) hinzufuegen, dann die Preise verknuepfen und schliesslich + unter "Rallyes verwalten" die Rallye aktivieren. + +- Das "Stechen" (gleiche Anzahl Refs und Punkte, was aber wegen der Punkte + selten vorkommt) ist noch nicht implementiert! + +- Es werden nur Refs und Punkte aus der ersten Ebene (also direkt geworbene + Mitglieder) ausgewertet. diff --git a/0.2.1/DOCS/en/rewrite/.htaccess b/0.2.1/DOCS/en/rewrite/.htaccess new file mode 100644 index 0000000000..114ce6623f --- /dev/null +++ b/0.2.1/DOCS/en/rewrite/.htaccess @@ -0,0 +1,5 @@ +RewriteEngine On + +RewriteRule ^cms/(.*)/wht/(.*)$ modules.php?module=$1&what=$2 [L] +RewriteRule ^cms/(.*)/act/(.*)$ modules.php?module=$1&action=$2 [L] +RewriteRule ^cms/(.*)$ modules.php?module=$1 [L] diff --git a/0.2.1/DOCS/en/rewrite/README.txt b/0.2.1/DOCS/en/rewrite/README.txt new file mode 100644 index 0000000000..2c49a4d56e --- /dev/null +++ b/0.2.1/DOCS/en/rewrite/README.txt @@ -0,0 +1,25 @@ +README-Datei zur .htaccess-Datei +================================ + +Die in diesem Verzeichnis befindliche .htaccess-Datei muessen Sie evtl. noch +mit Fehlerbehandlungszeilen erweitern: + +ErrorDocument 403 http://www.ihr-server.hier/fehler403.htm +ErrorDocument 404 http://www.ihr-server.hier/fehler404.htm + +Fuegen Sie diese Zeilen am Anfang der .htaccess-Datei ein und passen Sie die +Adressen an Ihren Server an! + +Die nun erweiterte Datei speichern Sie ab und laden Sie diese in das +Hauptverzeichnis des Mailtausches hoch (also dort, wo sich index.php, +modules.php usw. befindet). + +Wenn Sie beim Aufrufen Ihres Mailtausches Zugriffsfehler bekommen sollten, ist +meistens die mod_rewrite-Erweiterung von Apache nicht installiert. Lassen Sie +diese durch den Support Ihres Hosters aktivieren. + +Online-Dokumentation dazu gibt es bei Apache: + +http://httpd.apache.org/docs/mod/mod_rewrite.html + +[-- ENDE DER README-DATEI --] diff --git a/0.2.1/DOCS/en/rewrite/README_htaccess.de b/0.2.1/DOCS/en/rewrite/README_htaccess.de new file mode 100644 index 0000000000..2c49a4d56e --- /dev/null +++ b/0.2.1/DOCS/en/rewrite/README_htaccess.de @@ -0,0 +1,25 @@ +README-Datei zur .htaccess-Datei +================================ + +Die in diesem Verzeichnis befindliche .htaccess-Datei muessen Sie evtl. noch +mit Fehlerbehandlungszeilen erweitern: + +ErrorDocument 403 http://www.ihr-server.hier/fehler403.htm +ErrorDocument 404 http://www.ihr-server.hier/fehler404.htm + +Fuegen Sie diese Zeilen am Anfang der .htaccess-Datei ein und passen Sie die +Adressen an Ihren Server an! + +Die nun erweiterte Datei speichern Sie ab und laden Sie diese in das +Hauptverzeichnis des Mailtausches hoch (also dort, wo sich index.php, +modules.php usw. befindet). + +Wenn Sie beim Aufrufen Ihres Mailtausches Zugriffsfehler bekommen sollten, ist +meistens die mod_rewrite-Erweiterung von Apache nicht installiert. Lassen Sie +diese durch den Support Ihres Hosters aktivieren. + +Online-Dokumentation dazu gibt es bei Apache: + +http://httpd.apache.org/docs/mod/mod_rewrite.html + +[-- ENDE DER README-DATEI --] diff --git a/0.2.1/DOCS/en/task/README.txt b/0.2.1/DOCS/en/task/README.txt new file mode 100644 index 0000000000..e7b79475ec --- /dev/null +++ b/0.2.1/DOCS/en/task/README.txt @@ -0,0 +1,6 @@ +Deutsche README-Datei fuer das Task-System +========================================== + +- Sie vermissen im Admin-Bereich die Menuebeschreibungen zu den Hauptmenues? ++ Diese sind nun seit einiger Zeit komplett ausgebaut und werden mit aller + Wahrscheinlichkeit auch nicht mehr wiederkommen... Oder vielleicht doch? ;) diff --git a/0.2.1/DOCS/en/themes/README.txt b/0.2.1/DOCS/en/themes/README.txt new file mode 100644 index 0000000000..eaac1a96a2 --- /dev/null +++ b/0.2.1/DOCS/en/themes/README.txt @@ -0,0 +1,64 @@ +Deutsche README-Datei fuer das Theme-System +=========================================== + +Diese Doku ist "quick'n'dirty" erstellt, also nicht vollstaendig, sollte aber +zum Erstellen eigener Themes und Portieren Ihres Designs von aelteren Versionen +ohne Theme-System (hoffentlich) reichen. + +[--- --- --- --- ---] + +1. Umsteigen von aelteren Versionen ohne Theme-System +----------------------------------------------------- + +Ich gehe davon aus, dass Sie erstmal das 281'er Patch (in Versionen => +0.2.0-pre8 ist es bereits mit enthalten!) eingespielt haben. + +Bitte wundern Sie sich also nicht, wenn nicht Ihr Design beim Aufrufen Ihres +Mailtausches kommt! + +Lesen Sie gleich unter 2. weiter! + +[--- --- --- --- ---] + +2. Erstellen eigener Themes +--------------------------- + +Ich nehme mal beispielhaft an, Ihr Mailtausch heisst "XYZ-Mailtausch" (Sie haben +sich mit Sicherheit einen besseren Namen ausgedacht, als XYZ-Mailtausch...). + +Gehen Sie in das Verzeichnis /theme/ und legen Sie dort ein Verzeichnis "xyz" +(ohne den Anfuehrungszeichen) an. Sie sollten bei der Namensvergabe des +Verzeichnisses wenn moeglich nur Uni*-kompatible Zeichen verwenden: + +a-z und _ + +Auch sollten Sie keinen Leerschritt verwenden! + +Dann kopieren Sie die theme.php aus dem Verzeichnis default in Ihr Verzeichnis +"xyz", sowie alle Dateien aus /css/ (nicht aus /theme/default/css/ !) und +/images/ nach /theme/xyz/css/ bzw. /theme/xyz/css/, die alle zu Ihrem Design +gehoehren sollen. + +Dann oeffenen Sie die Datei theme.php aus Ihrem Verzeichnis "xyz" und editieren +die Daten fuer Ihre Webseite / Namen / EMail-Adresse um. Diese finden Sie +unterhalb des Kommentarkopfes. Sie heissen wie folgt: + +- $THEME_NAME - Titel Ihres Design, der in der Auswahlbox erscheinen soll, + nicht laenger als 30 Zeichen! Beispiel "XYZ-Theme" + +- $THEME_AUTHOR - Nur Ihren vollstaendigen Namen oder Nicknamen (Pseudonym) + +- $THEME_EMAIL - Nur Ihre EMail-Adresse, unter der Sie erreichbar sind. + Beispiel: ihr.name@mein-hoster.de + +- $THEME_URL - Die Homepage-Adresse, unter der Sie erreichbar sind, oder + besser wo Ihr Theme zum Download angeboten wird. + +Wichtiges: +---------- + +Sie sollten - wenn es geht - das Theme auch unter die GNU GPL stellen, damit es +zu meinem Hauptscript kompatibel ist. Wieso, beantwortet Ihnen gerne die +Free Software Foundation: http://www.fsf.org + +[ENDE VON README_themes.txt] diff --git a/0.2.1/admin.php b/0.2.1/admin.php new file mode 100644 index 0000000000..0af52e8fdd --- /dev/null +++ b/0.2.1/admin.php @@ -0,0 +1,63 @@ + diff --git a/0.2.1/agb.php b/0.2.1/agb.php new file mode 100644 index 0000000000..05086b28f5 --- /dev/null +++ b/0.2.1/agb.php @@ -0,0 +1,62 @@ + diff --git a/0.2.1/beg.php b/0.2.1/beg.php new file mode 100644 index 0000000000..d90f4ff9bd --- /dev/null +++ b/0.2.1/beg.php @@ -0,0 +1,256 @@ + 0) && ($CONFIG['beg_uid'] != $uid)) + { + // Update counter + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET beg_clicks=beg_clicks+1 WHERE userid=%d AND status='CONFIRMED' LIMIT 1", + array($uid), __FILE__, __LINE__); + + // Check for last entry for userid w/o IP number + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_beg_ips WHERE (timeout > ".(time() - $CONFIG['beg_timeout'])." OR (timeout > ".(time() - $CONFIG['beg_uid_timeout'])." AND userid=%d)) AND remote_ip='%s' LIMIT 1", + array($uid, getenv('REMOTE_ADDR')), __FILE__, __LINE__); + if ((SQL_NUMROWS($result) == 0) && ($POINTS > 0) && (!$login)) + { + // Free memory + SQL_FREERESULT($result); + + if (!IS_ADMIN()) + { + // Remember remote address, userid and timestamp for next click + // but only when there is no admin begging. + // Admins shall be able to test it! + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_beg_ips (userid, remote_ip, timeout) VALUES('%s', '%s', UNIX_TIMESTAMP())", + array($uid, getenv('REMOTE_ADDR')), __FILE__, __LINE__); + } + + // Set mode depending on how many mails the member has to confirm + $locked = false; + if (($ref_payout > 0) && ($CONFIG['direct_pay'] == "N")) $locked = true; + + // Is begging rallye active? + if ($CONFIG['beg_rallye'] == "Y") + { + // Add points to rallye account + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET beg_points=beg_points+%s WHERE userid=%d LIMIT 1", + array($POINTS, $uid), __FILE__, __LINE__); + } + else + { + // Add points to account + ADD_POINTS_REFSYSTEM($uid, $POINTS, false, "0", $locked, strtolower($CONFIG['beg_mode'])); + } + + // Subtract begged points from member account if the admin has selected one + if ($CONFIG['beg_uid'] > 0) + { + // Subtract from this account + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid=%d LIMIT 1", + array($POINTS, bigintval($CONFIG['beg_uid'])), __FILE__, __LINE__); + + // Update mediadata as well + if (GET_EXT_VERSION("mediadata") >= "0.0.4") + { + // Update database + MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $POINTS); + } + } + + // Set message + define('__BEG_MSG', LOAD_TEMPLATE("beg_done", true)); + } + elseif ($login) + { + // Logged in user found! + define('__BEG_MSG', LOAD_TEMPLATE("beg_login", true)); + + // Free memory + SQL_FREERESULT($result); + } + else + { + // Free memory + SQL_FREERESULT($result); + + // Clicked received while reload lock is active + define('__BEG_MSG', LOAD_TEMPLATE("beg_failed", true)); + } + + // Include header + require_once(PATH."inc/header.php"); + + // Load final template + LOAD_TEMPLATE("beg_link"); + + // Include footer + require_once(PATH."inc/footer.php"); + } + elseif (($status != "CONFIRMED") && ($status != "failed")) + { + // Maybe locked/unconfirmed account? + switch ($status) + { + case "LOCKED" : $msg = CODE_ID_LOCKED ; break; // Locked account + case "UNCONFIRMED": $msg = CODE_ID_UNCONFIRMED; break; // Unconfirmed account + } + } + elseif (($uid == "0") || ($status == "failed")) + { + // Inalid or locked account, so let's find out + $result = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE nickname='%s' LIMIT 1", + array($_GET['uid']), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) + { + // Locked account + $msg = CODE_ACCOUNT_LOCKED; + } + else + { + // Invalid nickname! (404) + $msg = CODE_USER_404; + } + + // Free memory + SQL_FREERESULT($result); + } + elseif ($uid = $CONFIG['beg_uid']) + { + // Webmaster's ID cannot beg for points! + $msg = CODE_BEG_SAME_AS_OWN; + } + + // Reload to index module + if ((!empty($msg)) && (!empty($msg))) LOAD_URL(URL."/modules.php?module=index&msg=".$msg); + } + else + { + // No userid entered + LOAD_URL(URL."/modules.php?module=index"); + } +} + else +{ + // You have to configure first! + LOAD_URL(URL."/install.php"); +} +// Really all done here... ;-) +?> diff --git a/0.2.1/birthday_confirm.php b/0.2.1/birthday_confirm.php new file mode 100644 index 0000000000..3a96015fbd --- /dev/null +++ b/0.2.1/birthday_confirm.php @@ -0,0 +1,140 @@ + 0) && ($CONFIG['direct_pay'] == "N")) $locked = true; + + // Add points to account + ADD_POINTS_REFSYSTEM($uid, $GIFT, false, "0", $locked, strtolower($CONFIG['birthday_mode'])); + + // Remove entry from table + $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_birthday WHERE userid=%d LIMIT 1", + array($uid), __FILE__, __LINE__); + + // Update mediadata if version is 0.0.4 or newer + if (GET_EXT_VERSION("mediadata") >= "0.0.4") + { + // Update database + MEDIA_UPDATE_ENTRY(array("total_points"), "add", $GIFT); + } + + // Transfer data to constants for the template + define('__SALUT', TRANSLATE_SEX($salut)); + define('__SNAME', $sname); + define('__FNAME', $fname); + define('__GIFT' , $GIFT); + + // Load message from template + define('__MSG', LOAD_TEMPLATE("birthday_msg", true)); + } + else + { + // Unconfirmed / locked accounts cannot get points + define('__MSG', BIRTHDAY_CANNOT_STATUS_1.TRANSLATE_STATUS($status).BIRTHDAY_CANNOT_STATUS_2); + } + } + else + { + // Cannot load data! + define('__MSG', BIRTHDAY_CANNOT_LOAD_DATA); + } + + // Free memory + SQL_FREERESULT($result); + + // Set this because we have no module in URI + $GLOBALS['module'] = "birthday_confirm"; + + // Include header + include(PATH."inc/header.php"); + + // Load birthday header template (for your banners, e.g.?) + define('__BIRTHDAY_HEADER', LOAD_TEMPLATE("birthday_header", true)); + + // Load birthday footer template (for your banners, e.g.?) + define('__BIRTHDAY_FOOTER', LOAD_TEMPLATE("birthday_footer", true)); + + // Load final template and output it + LOAD_TEMPLATE("birthday_confirm"); + + // Include footer + include(PATH."inc/footer.php"); +} + else +{ + // You have to configure first! + LOAD_URL(URL."/install.php"); +} +// Really all done here... ;-) +?> diff --git a/0.2.1/click.php b/0.2.1/click.php new file mode 100644 index 0000000000..cef35361a5 --- /dev/null +++ b/0.2.1/click.php @@ -0,0 +1,73 @@ + diff --git a/0.2.1/confirm.php b/0.2.1/confirm.php new file mode 100644 index 0000000000..a58af9ba82 --- /dev/null +++ b/0.2.1/confirm.php @@ -0,0 +1,74 @@ + diff --git a/0.2.1/css.php b/0.2.1/css.php new file mode 100644 index 0000000000..671db7750e --- /dev/null +++ b/0.2.1/css.php @@ -0,0 +1,65 @@ + diff --git a/0.2.1/doubler.php b/0.2.1/doubler.php new file mode 100644 index 0000000000..eb0e9dc8f4 --- /dev/null +++ b/0.2.1/doubler.php @@ -0,0 +1,326 @@ += $CONFIG['doubler_min']) && ($_POST['points'] <= $CONFIG['doubler_max'])); + + // Check all together + if ((!empty($uid)) && ($password == generateHash($_POST['pass'], substr($password, 0, -40))) && ($status == "CONFIRMED") && ($probe_points)) + { + // Nickname resolved to a unique userid or direct userid entered by the member + $DOUBLER_UID = $uid; + + // Calulcate points + $POINTS = GET_TOTAL_DATA($uid, "user_points", "points") - GET_TOTAL_DATA($uid, "user_data", "used_points"); + + // So let's continue with probing his points amount + if (($POINTS - $CONFIG['doubler_left'] - $_POST['points'] * $CONFIG['doubler_charge']) >= 0) + { + // Enough points are left so let's continue with the doubling process + // Create doubling "account" width *DOUBLED* points + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_doubler (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s', '%s', '%s', '".$_SERVER['REMOTE_ADDR']."', UNIX_TIMESTAMP(), 'N', 'N')", + array($uid, bigintval($GLOBALS['refid']), bigintval($_POST['points'] * 2)), __FILE__, __LINE__); + + // Subtract entered points + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid=%d LIMIT 1", + array($_POST['points'], $uid), __FILE__, __LINE__); + + // Update mediadata as well + if (GET_EXT_VERSION("mediadata") >= "0.0.4") + { + // Update database + MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $_POST['points']); + } + + // Add points to "total payed" including charge + $points = $_POST['points'] - $_POST['points'] * $CONFIG['doubler_charge']; + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_config SET doubler_points=doubler_points+%s WHERE config='0' LIMIT 1", + array($points), __FILE__, __LINE__); + $CONFIG['doubler_points'] += $points; + + // Destroy cache + if (GET_EXT_VERSION("cache") >= "0.1.2") + { + if ($CACHE->cache_file("config", true)) $CACHE->cache_destroy(); + } + + // Add second line for the referral but only when uid != refid + if (($GLOBALS['refid'] > 0) && ($GLOBALS['refid'] != $uid)) + { + // Okay add a refid line and apply refid percents + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_doubler (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s', '0', '%s', '".$_SERVER['REMOTE_ADDR']."', UNIX_TIMESTAMP(), 'N', 'Y')", + array(bigintval($GLOBALS['refid']), bigintval($_POST['points'] * 2 * $CONFIG['doubler_ref'])), __FILE__, __LINE__); + + // And that's why we dont't want to you more than one referral level of doubler-points. ^^^ + } + + // Update usage counter + $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_config SET doubler_counter=doubler_counter+1 WHERE config='0' LIMIT 1", __FILE__, __LINE__); + $CONFIG['doubler_counter']++; + + // Set constant + define('__DOUBLER_MSG', LOAD_TEMPLATE("doubler_reflink", true, $_POST['userid'])); + } + else + { + // Not enougth points left + define('__ERROR_MSG', DOUBLER_FORM_NO_POINTS_LEFT); + } + + } + elseif ($status == "CONFIRMED") + { + // Account is unconfirmed! + define('__ERROR_MSG', DOUBLER_FORM_WRONG_PASS); + } + elseif ($status == "UNCONFIRMED") + { + // Account is unconfirmed! + define('__ERROR_MSG', DOUBLER_FORM_STATUS_UNCONFIRMED); + } + elseif ($status == "LOCKED") + { + // Account is locked by admin / holiday! + define('__ERROR_MSG', DOUBLER_FORM_STATUS_LOCKED); + } + elseif ($_POST['points'] < $CONFIG['doubler_min']) + { + // Not enougth points entered + define('__ERROR_MSG', DOUBLER_FORM_POINTS_MIN); + } + elseif ($_POST['points'] > $CONFIG['doubler_max']) + { + // Too much points entered + define('__ERROR_MSG', DOUBLER_FORM_POINTS_MAX); + } + elseif ($probe_nickname) + { + // Cannot resolv nickname -> userid + define('__ERROR_MSG', DOUBLER_FORM_404_NICKNAME); + } + else + { + // Wrong password or account not found + define('__ERROR_MSG', DOUBLER_FORM_404_MEMBER); + } + } + elseif (empty($_POST['userid'])) + { + // Login not entered + define('__ERROR_MSG', DOUBLER_FORM_404_LOGIN); + } + elseif (empty($_POST['pass'])) + { + // Password not entered + define('__ERROR_MSG', DOUBLER_FORM_404_PASSWORD); + } + elseif (empty($_POST['points'])) + { + // points not entered + define('__ERROR_MSG', DOUBLER_FORM_404_POINTS); + } + } + + // Set messages to nothing + if (!defined('__DOUBLER_MSG')) define('__DOUBLER_MSG', ""); + if (!defined('__ERROR_MSG')) define('__ERROR_MSG' , ""); + + // Shall I check for points immediately? + if ($CONFIG['doubler_send_mode'] == "DIRECT") require(PATH."inc/doubler_send.php"); + + // Output header + include(PATH."inc/header.php"); + + // Banner in text + define('__DOUBLER_BANNER', LOAD_TEMPLATE("doubler_banner", true)); + + // Load header/footer templates + define('__DOUBLER_HEADER', LOAD_TEMPLATE("doubler_header", true)); + define('__DOUBLER_FOOTER', LOAD_TEMPLATE("doubler_footer", true)); + + if (!empty($uid)) + { + // Transfer userid/nickname to constant + define('__REFID', $uid); + } + elseif (!empty($GLOBALS['refid'])) + { + // Transfer userid/nickname to constant + define('__REFID', $GLOBALS['refid']); + } + else + { + // Transfer default refid to constant + define('__REFID', $CONFIG['def_refid']); + } + + // Percent values etc. + define('__CHARGE_VALUE', TRANSLATE_COMMA($CONFIG['doubler_charge'] * 100)); + define('__REF_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_ref'] * 100)); + define('__TOTAL_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_points'])); + define('__MIN_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_min'])); + define('__MAX_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_max'])); + + // Text "Enter login" + if (EXT_IS_ACTIVE("nickname")) + { + // Choose login/nickname + define('DOUBLER_ENTER_LOGIN', GUEST_ENTER_LOGIN_NICKNAME); + } + else + { + // Simple login ID + define('DOUBLER_ENTER_LOGIN', GUEST_ENTER_LOGIN); + } + + // Which mail-send-mode did the admin setup? + switch ($CONFIG['doubler_send_mode']) + { + case "DIRECT": + define('DOUBLER_PAYOUT_TIME', DOUBLER_PAYOUT_TIME_DIRECT); + break; + + case "RESET": + define('DOUBLER_PAYOUT_TIME', DOUBLER_PAYOUT_TIME_RESET); + break; + } + + // Generate table with already payed out doubles + define('__DOUBLER_PAYOUT_HISTORY', DOUBLER_GENERATE_TABLE("0", "Y", "N", "DESC")); + + // Generate timemark + define('__TIMEOUT_MARK', CREATE_FANCY_TIME($CONFIG['doubler_timeout'])); + + // Usage counter + define('__DOUBLER_COUNTER', $CONFIG['doubler_counter']); + + // Points left to doubler + define('__LEFT_VALUE', TRANSLATE_COMMA(DOUBLER_GET_TOTAL_POINTS_LEFT())); + + // Output neccessary form for this + LOAD_TEMPLATE("doubler_index"); + + // Output footer + include(PATH."inc/footer.php"); +} + else +{ + // You have to configure first! + LOAD_URL(URL."/install.php"); +} + +// Really all done here... ;-) +?> diff --git a/0.2.1/img.php b/0.2.1/img.php new file mode 100644 index 0000000000..f8686a6e87 --- /dev/null +++ b/0.2.1/img.php @@ -0,0 +1,67 @@ + diff --git a/0.2.1/inc/.htaccess b/0.2.1/inc/.htaccess new file mode 100644 index 0000000000..14249c50bd --- /dev/null +++ b/0.2.1/inc/.htaccess @@ -0,0 +1 @@ +Deny from all \ No newline at end of file diff --git a/0.2.1/inc/.secret/.a37fde8c5ab1752c8dd327eb8b32b7dadd936de52b0e5c2d0 b/0.2.1/inc/.secret/.a37fde8c5ab1752c8dd327eb8b32b7dadd936de52b0e5c2d0 new file mode 100644 index 0000000000..503c23dc48 --- /dev/null +++ b/0.2.1/inc/.secret/.a37fde8c5ab1752c8dd327eb8b32b7dadd936de52b0e5c2d0 @@ -0,0 +1 @@ +8df386b9d36be1fd48c3a4958260e072194a87e9e9 \ No newline at end of file diff --git a/0.2.1/inc/.secret/.deba26cfafe1cb6cc264c05daaee48d821c4c2d5e0d7c6aa8 b/0.2.1/inc/.secret/.deba26cfafe1cb6cc264c05daaee48d821c4c2d5e0d7c6aa8 new file mode 100644 index 0000000000..ec121e88dd --- /dev/null +++ b/0.2.1/inc/.secret/.deba26cfafe1cb6cc264c05daaee48d821c4c2d5e0d7c6aa8 @@ -0,0 +1 @@ +3b742878f776b62d0b85d4e490712b3616f7ecf27 \ No newline at end of file diff --git a/0.2.1/inc/.secret/.htaccess b/0.2.1/inc/.secret/.htaccess new file mode 100644 index 0000000000..14249c50bd --- /dev/null +++ b/0.2.1/inc/.secret/.htaccess @@ -0,0 +1 @@ +Deny from all \ No newline at end of file diff --git a/0.2.1/inc/autopurge.php b/0.2.1/inc/autopurge.php new file mode 100644 index 0000000000..aa874900c8 --- /dev/null +++ b/0.2.1/inc/autopurge.php @@ -0,0 +1,450 @@ + 0)) +{ + // First calculate the timestamp + if (function_exists('CREATE_TIME_SELECTIONS')) + { + $PURGE = time() - $CONFIG['auto_purge']; + } + else + { + $PURGE = time() - $CONFIG['auto_purge'] * 24 * 60 * 60; + } + + // Init variables + $admin_points = "0"; + + // Then check for outdated mail order. We don't delete them just the confirmation links will be deleted. + $result = SQL_QUERY_ESC("SELECT s.id, s.userid, s.pool_id, t.price +FROM "._MYSQL_PREFIX."_user_stats AS s +LEFT JOIN "._MYSQL_PREFIX."_payments AS t +ON s.payment_id=t.id +WHERE s.timestamp_ordered <= %s ORDER BY s.userid", + array(bigintval($PURGE)), __FILE__, __LINE__); + if (SQL_NUMROWS($result) > 0) + { + // Start deleting procedure + $uid = "0"; $points = "0"; + while(list($mid, $sender, $pool, $price) = SQL_FETCHROW($result)) + { + // Check if confirmation links are purged or not + $result_links = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_links WHERE stats_id=%d LIMIT 1", + array(bigintval($mid)), __FILE__, __LINE__); + if (SQL_NUMROWS($result_links) == 1) + { + // Free memory + SQL_FREERESULT($result_links); + + // At least one link was found, enougth to pay back the points + if (($uid != $sender) && ($uid > 0) && ($points > 0)) + { + // Directly add points back to senders account + AUTOPURGE_ADD_POINTS($uid, $points); + $points = "0"; + } + // Add points + $uid = $sender; $points += $price; $admin_points += $price; + + // Remove confirmation links from queue + $result_del = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE stats_id=%d", + array(bigintval($mid)), __FILE__, __LINE__); + + // Update status of order + $result_update = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_pool SET data_type='DELETED' WHERE id=%d LIMIT 1", + array(bigintval($pool)), __FILE__, __LINE__); + } + } + + // Add last points to last user account + if ($points > 0) AUTOPURGE_ADD_POINTS($uid, $points); + } + + // Free memory + SQL_FREERESULT($result); + + // Is the 'bonus' extension installed and activated? + if (EXT_IS_ACTIVE("bonus", true)) + { + // Check for bonus campaigns + $result = SQL_QUERY_ESC("SELECT id, points FROM "._MYSQL_PREFIX."_bonus WHERE data_type='SEND' AND timestamp <= %s ORDER BY id", + array(bigintval($PURGE)), __FILE__, __LINE__); + if (SQL_NUMROWS($result) > 0) + { + // Start deleting procedure + $points = "0"; + while (list($bid, $price) = SQL_FETCHROW($result)) + { + // Check if confirmation links are purged or not + $result_links = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_links WHERE bonus_id=%d", + array(bigintval($bid)), __FILE__, __LINE__); + if (SQL_NUMROWS($result_links) > 0) + { + // At least one link was found, enougth to pay back the points + $points += $price * SQL_NUMROWS($result_links); + + // Free memory + SQL_FREERESULT($result_links); + + // Remove confirmation links from queue + $result_del = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE bonus_id=%d", + array(bigintval($bid)), __FILE__, __LINE__); + + // Update status of order + $result_update = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_bonus SET data_type='DELETED' WHERE id=%d LIMIT 1", + array(bigintval($bid)), __FILE__, __LINE__); + } + } + + // Add points to jackpot + ADD_JACKPOT($points); + + // Add points for the admin + $admin_points += $points; + } + + // Free memory + SQL_FREERESULT($result); + } + + // Add points from deleted accounts to jackpot, but here just add to notify mail + if ($admin_points > 0) + { + // Send mail to admin + if (GET_EXT_VERSION("admins") >= "0.4.1") + { + SEND_ADMIN_EMAILS_PRO(AUTOPURGE_ADMIN_SUBJECT, "admin_autopurge_points", TRANSLATE_COMMA($points), "0"); + } + else + { + $msg = LOAD_EMAIL_TEMPLATE("admin_autopurge_points", TRANSLATE_COMMA($points), "0"); + SEND_ADMIN_EMAILS(AUTOPURGE_ADMIN_SUBJECT, $msg); + } + } +} + +// Shall I look for inactive accounts and autopurge inactive accounts? +if ($CONFIG['ap_inactive'] == "Y") +{ + // Ok, let's have a look... + $since = bigintval(time() - $CONFIG['ap_in_since']); + $EXCLUDE_LIST = " AND d.userid != c.def_refid"; + + // Check for more extensions + if (EXT_IS_ACTIVE("beg")) $EXCLUDE_LIST .= " AND d.userid != c.beg_uid"; + if (EXT_IS_ACTIVE("bonus")) $EXCLUDE_LIST .= " AND d.userid != c.bonus_uid"; + if (EXT_IS_ACTIVE("doubler")) $EXCLUDE_LIST .= " AND d.userid != c.doubler_uid"; + + // Check for new holiday extension + if (GET_EXT_VERSION("holiday") >= "0.1.3") + { + $EXCLUDE_LIST .= " AND d.holiday_active = 'N'"; + } + + // Check for all accounts + $result_inactive = SQL_QUERY_ESC("SELECT DISTINCT d.userid, d.email, d.last_online +FROM "._MYSQL_PREFIX."_user_data AS d, "._MYSQL_PREFIX."_config AS c +WHERE d.status='CONFIRMED' AND d.joined < %s AND d.last_online < %s AND d.ap_notified < %s +".$EXCLUDE_LIST." +ORDER BY d.userid", array($since, $since, $since), __FILE__, __LINE__); + + if (SQL_NUMROWS($result_inactive) > 0) + { + // Prepare variables and constants... + $UIDs = ""; + define('__INACTIVE_SINCE', ($CONFIG['ap_in_since'] / 60 / 60)); + define('__INACTIVE_TIME' , ($CONFIG['ap_in_time'] / 60 / 60)); + + // Mark found accounts as inactive and send an email + while(list($uid, $email, $last) = SQL_FETCHROW($result_inactive)) + { + // Remember userids for the admin + $UIDs .= $uid.", "; + + // Get date/time from timestamp + $last = MAKE_DATETIME($last, "0"); + + // Load mail template + $msg = LOAD_EMAIL_TEMPLATE("member_autopurge_inactive", $last, bigintval($uid)); + SEND_EMAIL($email, AUTOPURGE_MEMBER_INACTIVE_SUBJECT, $msg); + + // Update this account + $result_update = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET ap_notified=UNIX_TIMESTAMP() WHERE userid=%d LIMIT 1", + array(bigintval($uid)), __FILE__, __LINE__); + } + + // Remove last comma + $UIDs = str_replace(", ", "\n", substr($UIDs, 0, -2)); + + // Send mail notification to admin + if (GET_EXT_VERSION("admins") >= "0.4.1") + { + SEND_ADMIN_EMAILS_PRO(AUTOPURGE_ADMIN_INACTIVE_SUBJECT, "admin_autopurge_inactive", $UIDs, ""); + } + else + { + $msg = LOAD_EMAIL_TEMPLATE("admin_autopurge_inactive", $UIDs, ""); + SEND_ADMIN_EMAILS(AUTOPURGE_ADMIN_INACTIVE_SUBJECT, $msg); + } + } + + // Free memory + SQL_FREERESULT($result_inactive); + + // Now let's have a look for inactive accounts we want to delete we newly use the same exclude list + // here for e.g. excluding holiday users + $time = bigintval(time() - $CONFIG['ap_in_time']); + $result_inactive = SQL_QUERY_ESC("SELECT d.userid, d.email, d.last_online +FROM "._MYSQL_PREFIX."_user_data AS d, "._MYSQL_PREFIX."_config AS c +WHERE status='CONFIRMED' AND joined < %s AND last_online< %s AND ap_notified < %s +".$EXCLUDE_LIST." +ORDER BY userid", + array($since, $since, $time), __FILE__, __LINE__); + if (SQL_NUMROWS($result_inactive) > 0) + { + // Prepare variable... + $UIDs = ""; + + // Delete inactive accounts + while (list($uid, $email, $last) = SQL_FETCHROW($result_inactive)) + { + // Remember userids for the admin + $UIDs .= $uid.", "; + + // Get date/time from timestamp + $last = MAKE_DATETIME($last, "0"); + + // Finnaly delete this inactive account + DELETE_USER_ACCOUNT(bigintval($uid), LOAD_EMAIL_TEMPLATE("member_autopurge_delete", $last, "")); + } + + // Remove last comma + $UIDs = str_replace(", ", "\n", substr($UIDs, 0, -2)); + + // Send mail notification to admin + if ($CONFIG['ap_un_mail'] == "Y") + { + if (GET_EXT_VERSION("admins") >= "0.4.1") + { + SEND_ADMIN_EMAILS_PRO(AUTOPURGE_ADMIN_DELETE_SUBJECT, "admin_autopurge_delete", $UIDs, ""); + } + else + { + $msg = LOAD_EMAIL_TEMPLATE("admin_autopurge_delete", $UIDs, ""); + SEND_ADMIN_EMAILS(AUTOPURGE_ADMIN_DELETE_SUBJECT, $msg); + } + } + } + + // Free memory + SQL_FREERESULT($result_inactive); +} + +// Shall I auto-purge unconfirmed accounts? +if ($CONFIG['ap_unconfirmed'] == "Y") +{ + // Init variables and find unconfirmed accounts which I shall auto-purge + $time = bigintval(time() - $CONFIG['ap_un_time']); + $result_uncon = SQL_QUERY_ESC("SELECT userid, email, joined FROM "._MYSQL_PREFIX."_user_data WHERE status='UNCONFIRMED' AND joined < %s ORDER BY userid", + array($time), __FILE__, __LINE__); + if (SQL_NUMROWS($result_uncon) > 0) + { + // Prepare variable... + $UIDs = ""; + define('__UNCONFIRMED_TIME' , ($CONFIG['ap_un_time'] / 60 / 60)); + + // Delete inactive accounts + while (list($uid, $email, $joined) = SQL_FETCHROW($result_uncon)) + { + // Remember userids for the admin + $UIDs .= $uid.", "; + + // Get date/time from timestamp + $joined = MAKE_DATETIME($joined, "0"); + + // Finnaly delete this inactive account + DELETE_USER_ACCOUNT($uid, LOAD_EMAIL_TEMPLATE("member_autopurge_unconfirmed", $joined, "")); + } + + // Remove last comma + $UIDs = str_replace(", ", "\n", substr($UIDs, 0, -2)); + + // Send mail notification to admin + if ($CONFIG['ap_un_mail'] == "Y") + { + if (GET_EXT_VERSION("admins") >= "0.4.1") + { + SEND_ADMIN_EMAILS_PRO(AUTOPURGE_ADMIN_UNCONFIRMED_SUBJECT, "admin_autopurge_unconfirmed", $UIDs, ""); + } + else + { + $msg = LOAD_EMAIL_TEMPLATE("admin_autopurge_unconfirmed", $UIDs, ""); + SEND_ADMIN_EMAILS(AUTOPURGE_ADMIN_UNCONFIRMED_SUBJECT, $msg); + } + } + } + + // Free memory + SQL_FREERESULT($result_uncon); +} + +// Check version (must be > 0.0) +if ((GET_EXT_VERSION("task") > "0.0") && ($CONFIG['ap_tasks'] == "Y")) +{ + // Purge deleted tasks (no notification to admin) + $since = bigintval(time() - $CONFIG['ap_tasks_time']); + $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_task_system WHERE status='DELETED' AND task_created <= %s", + array($since), __FILE__, __LINE__); + $DELETED = SQL_AFFECTEDROWS(); + + if (($DELETED > 0) && ($CONFIG['ap_tasks_mail'] == "Y")) + { + // Send out email to admin + if (GET_EXT_VERSION("admins") >= "0.4.1") + { + SEND_ADMIN_EMAILS_PRO(AUTOPURGE_ADMIN_TASKS_SUBJECT, "admin_autopurge_tsks", $DELETED, ""); + } + else + { + $msg = LOAD_EMAIL_TEMPLATE("admin_autopurge_tsks", $DELETED, ""); + SEND_ADMIN_EMAILS(AUTOPURGE_ADMIN_TASKS_SUBJECT, $msg); + } + } +} + +// Search for mails from deleted members? +if ($CONFIG['ap_del_mails']) +{ + // Okay, let's check for them... + $since = bigintval(time() - $CONFIG['ap_dm_timeout']); + $result_mails = SQL_QUERY_ESC("SELECT sender FROM "._MYSQL_PREFIX."_pool WHERE data_type='DELETED' AND timestamp <= %s ORDER BY sender", + array($since), __FILE__, __LINE__); + + // Reset counter... + $DELETED = 0; + + // Do we have "purged" mails? + if (SQL_NUMROWS($result_mails) > 0) + { + // Okay, check for their sender's + while(list($sender) = SQL_FETCHROW($result_mails)) + { + // Check now... + $fount = SQL_NUMROWS(SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1", array(bigintval($sender)), __FILE__, __LINE__)); + if ($found == 0) + { + // Okay we found some mails! + $result_remove = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_pool WHERE sender=%d", + array(bigintval($sender)), __FILE__, __LINE__); + $DELETED += SQL_AFFECTEDROWS(); + + // Reset query (to prevent possible errors) ... + $since = bigintval(time() - $CONFIG['ap_dm_timeout']); + $result_mails = SQL_QUERY_ESC("SELECT sender FROM "._MYSQL_PREFIX."_pool WHERE data_type='DELETED' AND timestamp <= %s ORDER BY sender", + array($since), __FILE__, __LINE__); + } + } + } + + // Free memory + SQL_FREERESULT($result_mails); + + // Now let's check for stats entries as well + $since = bigintval(time() - $CONFIG['ap_dm_timeout']); + $result_mails = SQL_QUERY_ESC("SELECT sender FROM "._MYSQL_PREFIX."_pool WHERE data_type='DELETED' AND timestamp <= %s ORDER BY sender", + array($since), __FILE__, __LINE__); + + // Do we have "purged" mails? + if (SQL_NUMROWS($result_mails) > 0) + { + // Okay, check for their sender's + while(list($sender) = SQL_FETCHROW($result_mails)) + { + // Check now... + $found = SQL_NUMROWS(SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1", array(bigintval($sender)), __FILE__, __LINE__)); + if ($found == 0) + { + // Okay we found some mails! + $result_remove = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_stats WHERE sender=%d", array(bigintval($sender)), __FILE__, __LINE__); + $DELETED += SQL_AFFECTEDROWS(); + + // Reset query (to prevent possible errors) ... + $since = bigintval(time() - $CONFIG['ap_dm_timeout']); + $result_mails = SQL_QUERY_ESC("SELECT sender FROM "._MYSQL_PREFIX."_user_stats WHERE data_type='DELETED' AND timestamp_send <= %s ORDER BY sender", + array($since), __FILE__, __LINE__); + } + } + } + + // Free memory + SQL_FREERESULT($result_mails); + + // Do we have deleted mails and the admin want's to receive a notification + if (($DELETED > 0) && ($CONFIG['ap_dm_notify'] == "Y")) + { + // Send out email to admin + if (GET_EXT_VERSION("admins") >= "0.4.1") + { + SEND_ADMIN_EMAILS_PRO(AUTOPURGE_ADMIN_DEL_MAILS_SUBJECT, "admin_autopurge_del_mails", $DELETED, ""); + } + else + { + $msg = LOAD_EMAIL_TEMPLATE("admin_autopurge_del_mails", $DELETED, ""); + SEND_ADMIN_EMAILS(AUTOPURGE_ADMIN_DEL_MAILS_SUBJECT, $msg); + } + } +} + +if (EXT_IS_ACTIVE("rallye")) +{ + // Check expired rallyes (hard-coded 3 days limit for displaying expired rallyes!) + require_once(PATH."inc/libs/rallye_functions.php"); + RALLYE_DELETE_EXPIRED_RALLYES(); +} +// +if (EXT_IS_ACTIVE("bonus")) +{ + // Check for expired turbo bonus lines + require_once(PATH."inc/libs/bonus_functions.php"); + BONUS_PURGE_EXPIRED_TURBO_BONUS(); +} +// +?> diff --git a/0.2.1/inc/birthday_mails.php b/0.2.1/inc/birthday_mails.php new file mode 100644 index 0000000000..095071be29 --- /dev/null +++ b/0.2.1/inc/birthday_mails.php @@ -0,0 +1,3 @@ + diff --git a/0.2.1/inc/cache/.htaccess b/0.2.1/inc/cache/.htaccess new file mode 100644 index 0000000000..14249c50bd --- /dev/null +++ b/0.2.1/inc/cache/.htaccess @@ -0,0 +1 @@ +Deny from all \ No newline at end of file diff --git a/0.2.1/inc/config.php b/0.2.1/inc/config.php new file mode 100644 index 0000000000..6c4d029b7e --- /dev/null +++ b/0.2.1/inc/config.php @@ -0,0 +1,160 @@ +Roland Häder"); + +// CFG: ERROR_REPORTING +@error_reporting(0); + +// CFG: REGISTER-GLOBALS +@import_request_variables(''); + +// CFG: SITE-KEY +define('SITE_KEY', "gg42ny8-4yng23498-mf423igum-mtu248utn42-mf4839gun43"); + +// CFG: DATE-KEY +define('DATE_KEY', date("d-m-Y (l-F-T)", time())); + +// CFG: DEFAULT-LANGUAGE +define('DEFAULT_LANG', "de"); + +// CFG: NULLPASS-WARNING +define('warn_no_pass', true); + +// CFG: WRITE-FOOTER +define('WRITE_FOOTER', true); + +// CFG: OUTPUT-MODE +define('OUTPUT_MODE', "render"); + +// CFG: MAIN_TITLE +define('MAIN_TITLE', "Your mail-exchanger title"); + +// CFG: SLOGAN +define('SLOGAN', "Your cool slogan here"); + +// Auto-detection... +$URL = "http://".getenv('SERVER_NAME').dirname($_SERVER['PHP_SELF']); +while (substr($URL, -1, 1) == "/") { $URL = substr($URL, 0, -1); } +$PATH = substr(dirname(__FILE__), 0, -3); + +// CFG: HOST-URL (without trailing '/' !) +define('URL', $URL); + +// CFG: SERVER-PATH +define('PATH', $PATH); + +// CFG: WEBMASTER +define('WEBMASTER', "you@some-hoster.tld.invalid"); + +// CFG: INSTALLED +define('mxchange_installed', false); + +// CFG: ADMIN-SETUP +define('admin_registered', false); + +// CFG: FRAMESET +define('frameset_active', false); + +// CFG: DEBUG-MODE (if enabled all mails will be *displayed* and *not* send!) +define('DEBUG_MODE', false); + +// When we are not installing +if (!defined('mxchange_installing')) define('mxchange_installing', false); + +// Language stuff (default is german) +require_once(PATH."inc/language.php"); + +// We need general functions and database stuff here +require_once(PATH."inc/functions.php"); +require_once(PATH."inc/mysql-manager.php"); + +// Your MySQL data (we don't like M$ SQL ;-) ) +$MySQL = array( + // CFG: MYSQL-HOST + 'host' => "localhost", + // CFG: MYSQL-DBASE + 'dbase' => "db", + // CFG: MYSQL-LOGIN + 'login' => "user", + // CFG: MYSQL-PASSWORD + 'password' => "pass", +); + +// CFG: MYSQL-PREIFX +define('_MYSQL_PREFIX', "mxchange"); + +// CFG: DATABASE-TYPE +define('_DB_TYPE', "mysql3"); + +// Lead-Code data +define('LEAD_CODE_ENABLED', true); +define('LEAD_EXPIRY_TIME' , (30*24*60*60)); // == 30 days + +// SMTP-Subsystem (keep all empty to use legacy mail() command!) +define('SMTP_HOSTNAME', ""); +define('SMTP_USER ', ""); +define('SMTP_PASSWORD', ""); + +// SSL cookies? (enable only if you have SSL, URLs will begin with https://) +define('SSL_COOKIES', false); + +// CFG: BACKLINK (Enable backlink to mxchange.org in footer? rel=external is set!) +define('ENABLE_BACKLINK', true); + +// Connect to the MySQL database... +require_once(PATH."inc/mysql-connect.php"); + +// +?> diff --git a/0.2.1/inc/daily-reset.php b/0.2.1/inc/daily-reset.php new file mode 100644 index 0000000000..21a8ebef63 --- /dev/null +++ b/0.2.1/inc/daily-reset.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/0.2.1/inc/databases.php b/0.2.1/inc/databases.php new file mode 100644 index 0000000000..cc06566c34 --- /dev/null +++ b/0.2.1/inc/databases.php @@ -0,0 +1,129 @@ + "%uid%", // User-ID + 11 => "%vorname%", // Surname + 12 => "%nachname%", // Family name + 13 => "%anrede%", // Salutation +); +// +// One day +define('ONE_DAY', 60*60*24); + +// +// Timestamp for yesterday, today ... all at 00:00 am +define('START_YDAY', MAKE_TIME(0, 0, 0, time() - ONE_DAY)); +define('START_TDAY', MAKE_TIME(0, 0, 0, time())); + +$COOKIES = substr(URL, strpos(substr(URL, 8), "/") + 8); +if ((strpos($COOKIES, "/") == "0") && (strpos(substr(URL, 8), "/") > 0)) +{ + // Script was installed into a sub directory + if (substr($COOKIES, -1) != "/") $COOKIES .= "/"; +} + else +{ + // No more sub directories added to URL + $COOKIES = "/"; +} + +// Cookie-Path ( for lame servers... ;-) ) +define('COOKIE_PATH', $COOKIES); + +// Base directory for access logfiles +define('LOGS_BASE', "logs"); + +// Base directory for usage statistics +define('USAGE_BASE', "usage"); + +// Server-URL (DO NOT CHANGE THIS OR YOU CANNOT CHECK FOR UPDATES/EXTENSIONS!) +define('SERVER_URL', "http://www.mxchange.org"); + +// This current patch level +define('CURR_PATCH_LEVEL', "514"); + +// Take a prime number which is long (if you know a longer one please try it out!) +define('_PRIME', 591623); + +// Calculate with the prime number (for code generation) +define('_ADD', (_PRIME * _PRIME / (pi() * $CONFIG['code_length'] + 1))); + +// +?> diff --git a/0.2.1/inc/db/.htaccess b/0.2.1/inc/db/.htaccess new file mode 100644 index 0000000000..14249c50bd --- /dev/null +++ b/0.2.1/inc/db/.htaccess @@ -0,0 +1 @@ +Deny from all \ No newline at end of file diff --git a/0.2.1/inc/db/lib-mysql3.php b/0.2.1/inc/db/lib-mysql3.php new file mode 100644 index 0000000000..7fb9da902a --- /dev/null +++ b/0.2.1/inc/db/lib-mysql3.php @@ -0,0 +1,274 @@ + +".MYSQL_QUERY_STRING."
+".$sql_string); + + if (($CSS != "1") && ($CSS != "-1") && (DEBUG_MODE) && (DEBUG_SQL)) + { + // + // Debugging stuff... + // + $fp = @fopen(PATH."debug.log", 'a') or mxchange_die("Cannot write debug.log!"); + if (!isset($OK)) { + // Write first entry + fwrite($fp, "Module=".$GLOBALS['module']."\n"); + $OK = true; + } + fwrite($fp, $F."(LINE=".$L."|NUM=".SQL_NUMROWS($result)."|AFFECTED=".SQL_AFFECTEDROWS()."): ".str_replace('\r', '', str_replace('\n', " ", $sql_string))."\n"); + fclose($fp); + } + + // Count DB hits + if (!isset($CONFIG['db_hits'])) + { + // Count in dummy variable + $CONFIG['db_hits'] = 0; + } + else + { + // Count to config array + $CONFIG['db_hits']++; + } + return $result; +} + +// SQL num rows +function SQL_NUMROWS($result) +{ + if ($result != false) + { + $lines = @mysql_num_rows($result); + if (empty($lines)) $lines = "0"; + + } + else + { + // No resource given, no lines found! + $lines = "0"; + } + return $lines; +} + +// SQL affected rows +function SQL_AFFECTEDROWS($lnk="x", $F="dummy", $L="dummy") +{ + global $link; + // $lnk will be ignored for now! + $lines = @mysql_affected_rows($link); + return $lines; +} + +// SQL fetch row +function SQL_FETCHROW($result) +{ + $DATA = array(); + $DATA = @mysql_fetch_row($result); + return $DATA; +} + +// SQL fetch array +function SQL_FETCHARRAY($res=false, $nr=0, $remove_numerical=true) +{ + // Is a result resource set? + if (!$res) return false; + + // Initialize array + $row = array(); + + // Load row from database + $row = @mysql_fetch_array($res); + + // Return only arrays here + if (is_array($row)) + { + // Shall we remove numerical data here automatically? + if ($remove_numerical) + { + // So let's remove all numerical elements to save memory! + $max = count($row); + for ($idx = 0; $idx < ($max / 2); $idx++) + { + // Remove entry + unset($row[$idx]); + } + } + + // Return row + return $row; + } + else + { + // Return a false here... + return false; + } +} + +// SQL result +function SQL_RESULT($res, $row, $field) +{ + $result = @mysql_result($res, $row, $field); + return $result; +} +// SQL connect +function SQL_CONNECT($host, $login, $password, $F, $L) +{ + $connect = @mysql_connect($host, $login, $password) or ADD_FATAL($F." (".$L."):".mysql_error()); + return $connect; +} +// SQL select database +function SQL_SELECT_DB($DB, $link, $F, $L) +{ + $DB = @mysql_select_db($DB, $link) or ADD_FATAL($F." (".$L."):".mysql_error()); + return $DB; +} +// SQL close link +function SQL_CLOSE($link, $F, $L) +{ + global $CONFIG, $CACHE, $CFG_CACHE; + if ((GET_EXT_VERSION("cache") >= "0.0.7") && (isset($CONFIG['db_hits'])) && (isset($CONFIG['cache_hits'])) && (is_object($CACHE))) + { + // Update counter for db/cache + $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_config SET db_hits='".$CONFIG['db_hits']."', cache_hits='".$CONFIG['cache_hits']."' WHERE config='0' LIMIT 1", __FILE__, __LINE__); + + // Update cache here + if (GET_EXT_VERSION("cache") >= "0.1.2") + { + if ($CACHE->cache_file("config", true)) + { + // Replace data + $CACHE->cache_replace("cache_hits", $CONFIG['cache_hits'], "0", $CFG_CACHE); + $CACHE->cache_replace("db_hits" , $CONFIG['db_hits'] , "0", $CFG_CACHE); + } + } + } + + // Close database link + $close = @mysql_close($link) or ADD_FATAL($F." (".$L."):".mysql_error()); + return $close; +} +// SQL free result +function SQL_FREERESULT($result) +{ + $res = @mysql_free_result($result); + return $res; +} +// SQL string escaping +function SQL_QUERY_ESC($qstring, $data, $file, $line, $run=true, $strip=true) +{ + global $link; + $eval = "\$query = sprintf(\"".$qstring."\""; + foreach ($data as $var) + { + if (!empty($var)) + { + if ($strip) { + $eval .= ", SQL_ESCAPE(\"".strip_tags($var)."\")"; + } else { + $eval .= ", SQL_ESCAPE(\"".$var."\")"; + } + } + else + { + $eval .= ", ''"; + } + } + $eval .= ");"; + // + // Debugging + // + //$fp = fopen(PATH."escape_debug.log", 'a') or mxchange_die("Cannot write debug.log!"); + //fwrite($fp, $file."(".$line."): ".str_replace('\r', '', str_replace('\n', " ", $eval))."\n"); + //fclose($fp); + eval($eval); + if ($run) + { + // Run SQL query (default) + return SQL_QUERY($query, $file, $line); + } + else + { + // Return secured string + return $query; + } +} +// Get ID from last INSERT command +function SQL_INSERTID() +{ + return @mysql_insert_id(); +} +// Escape a string for the database +function SQL_ESCAPE($str) +{ + global $link; + if (!is_resource($link)) { + // Fall-back to addslashes() when there is no link + return addslashes($str); + } + + if (function_exists('mysql_real_escape_string')) { + // The new and improved version + return mysql_real_escape_string($str, $link); + } elseif (function_exists('mysql_escape_string')) { + // The obsulete function + return mysql_escape_string($str, $link); + } else { + // If nothing else works + return addslashes($str); + } +} +// SELECT query string from table, columns and so on... ;-) +function SQL_RESULT_FROM_ARRAY ($table, array $columns, $idRow, $id) { + // Prepare the SQL statement + $SQL = "SELECT ".implode(", ", $columns)." FROM "._MYSQL_PREFIX."_".$table." WHERE ".$idRow."=%d LIMIT 1"; + + // Return the result + return SQL_QUERY_ESC($SQL, array(bigintval($id)), __FILE__, __LINE__); +} +// +?> diff --git a/0.2.1/inc/db/lib.php b/0.2.1/inc/db/lib.php new file mode 100644 index 0000000000..58dd1c105f --- /dev/null +++ b/0.2.1/inc/db/lib.php @@ -0,0 +1,59 @@ + diff --git a/0.2.1/inc/doubler_send.php b/0.2.1/inc/doubler_send.php new file mode 100644 index 0000000000..b9e3fc1587 --- /dev/null +++ b/0.2.1/inc/doubler_send.php @@ -0,0 +1,203 @@ += %s AND d.completed='N' AND d.is_ref='N' +ORDER BY d.timemark", array($DOUBLER_POINTS, $min), __FILE__, __LINE__); + +// Check for accounts with limitation +$result_main = SQL_QUERY_ESC("SELECT DISTINCT d.id, d.userid, d.points, d.remote_ip, d.timemark +FROM "._MYSQL_PREFIX."_doubler AS d +LEFT JOIN "._MYSQL_PREFIX."_user_data AS u +ON d.userid=u.userid +WHERE u.status='CONFIRMED' AND d.points <= %s AND d.points >= %s AND d.completed='N' AND d.is_ref='N' +ORDER BY d.timemark +LIMIT %s", array($DOUBLER_POINTS, $min, $CONFIG['doubler_max_sent']), __FILE__, __LINE__); + +if (((SQL_NUMROWS($result_total) > 0) && ($CONFIG['doubler_sent_all'] == "Y")) || ((SQL_NUMROWS($result_main) == $CONFIG['doubler_group_sent']) && ($CONFIG['doubler_sent_all'] == "N"))) +{ + // Switch to matching SQL resource + $result_load = $result_main; + if ((SQL_NUMROWS($result_total) > 0) && ($CONFIG['doubler_sent_all'] == "Y")) $result_load = $result_total; + + // At least one account was found + while(list($id, $uid, $points, $ip, $time) = SQL_FETCHROW($result_load)) + { + // Only double when points are enougth! + if ($DOUBLER_POINTS >= $points) + { + // Check for his ref points + $result_ref = SQL_QUERY_ESC("SELECT SUM(points) FROM "._MYSQL_PREFIX."_doubler WHERE refid=%d AND completed='N' AND is_ref='Y'", + array(bigintval($uid)), __FILE__, __LINE__); + list($ref) = SQL_FETCHROW($result_ref); + + // Free memory + SQL_FREERESULT($result_ref); + + // Zero refid when empty (might be helpful!) + if (empty($ref)) $ref = 0; + if (($ref > 0) && ($DOUBLER_UID == $uid) && (!empty($ref))) + { + // Referral points found so add them and set line(s) to completed='Y' + $points += $ref; + $result_ref = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_doubler SET completed='Y' WHERE refid=%d AND completed='N' AND is_ref='Y'", + array(bigintval($uid)), __FILE__, __LINE__); + } + else + { + // No referral points found + $ref = "0"; + } + + // Exclude webmaster from doubling... + if ($uid != $CONFIG['doubler_uid']) + { + // Add points + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_points SET points=points+%s WHERE userid=%d AND ref_depth='0' LIMIT 1", + array($points, bigintval($uid)), __FILE__, __LINE__); + + // Update mediadata as well + if (GET_EXT_VERSION("mediadata") >= "0.0.4") + { + // Update database + MEDIA_UPDATE_ENTRY(array("total_points"), "add", $points); + } + } + + // Set entry as "payed" + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_doubler SET completed='Y' WHERE id=%d LIMIT 1", + array(bigintval($id)), __FILE__, __LINE__); + + $OK = false; + // Check for jackpot inclusion in doubling process + if (($jackpot > 0) && ($jackpot >= $points) && ($CONFIG['doubler_jackpot'] == "Y")) + { + // Subtract points from jackpot + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_jackpot SET points=points-%s WHERE ok='ok' LIMIT 1", + array($points), __FILE__, __LINE__); + $jackpot -= $jackpot; + + // Okay, done! + $OK = true; + } + + // Exclude also webmaster's ID in taking points from webmaster's account + if (($user > 0) && ($user >= $points) && (!$OK) && ($CONFIG['doubler_uid'] > 0) && ($uid != $CONFIG['doubler_uid'])) + { + // Add points to used points + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid='' LIMIT 1", + array($points, $CONFIG['doubler_uid']), __FILE__, __LINE__); + + // Update mediadata as well + if (GET_EXT_VERSION("mediadata") >= "0.0.4") + { + // Update database + MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $points); + } + + // Okay, done! + $OK = true; + } + + // Update doubler's account only when others are not updated + if (!$OK) + { + // Add points to used doubler points + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_config SET doubler_used=doubler_used+%s WHERE config='0' LIMIT 1", + array($points), __FILE__, __LINE__); + + // Destroy cache + if (GET_EXT_VERSION("cache") >= "0.1.2") + { + if ($CACHE->cache_file("config", true)) $CACHE->cache_destroy(); + } + } + + // Update variables to prevent errors + $CONFIG['doubler_used'] += $points; + $DOUBLER_POINTS -= $points; + + // Prepare array + $content = array( + // Doubler transmission ID + 'id' => $id, + // Doubled points + 'points' => TRANSLATE_COMMA($points), + // Timemark + 'when' => MAKE_DATETIME($time, "2"), + // IP number when the member submitted the doubling form + 'ip' => $ip, + ); + + // Load mail template and send mail away... + $msg = LOAD_EMAIL_TEMPLATE("member_doubler", $content, $uid); + SEND_EMAIL($uid, DOUBLER_MEMBER_SUBJECT, $msg); + } + } +} + +// Free memory +SQL_FREERESULT($result_total); +SQL_FREERESULT($result_main); + +// +?> diff --git a/0.2.1/inc/extensions.php b/0.2.1/inc/extensions.php new file mode 100644 index 0000000000..6cf5e7c2ed --- /dev/null +++ b/0.2.1/inc/extensions.php @@ -0,0 +1,564 @@ +v".$EXT_VER.":
".$UPDATE_NOTES."

\n"; + $UPDATE_NOTES = ""; + } + elseif (($EXT_VER == "0.0") || ($EXT_VER == "0.0.0")) + { + // Initial release + $NOTES .= "v".$EXT_VER.":
".INITIAL_RELEASE."

\n"; + } + else + { + $NOTES .= "v".$EXT_VER.":
".NO_UPDATE_NOTES."

\n"; + } + } + } + + // Does this extension depends on an outstanding update of another update? + if (!empty($EXT_UPDATE_DEPENDS)) + { + // Backup SQL commands and clear current + $SQLs2 = $SQLs; $SQLs = array(); $test = false; + + // Backup language as well + $LANG_BCK = $EXT_LANG_PREFIX; + + // Load required extension also in update mode + $file = sprintf(PATH."inc/extensions/ext-%s.php", $EXT_UPDATE_DEPENDS); + + // Check for required file + if (file_exists($file) && is_readable($file)) + { + // File exists so let's load it + $VER_BACKUP = $EXT_VERSION; + require($file); + $EXT_VERSION = $VER_BACKUP; + + // If versions mismatch update extension first + $ext_ver = GET_EXT_VERSION($EXT_UPDATE_DEPENDS); + if (empty($ext_ver)) + { + // Extension not registered so far so first load task's ID... + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE task_type='EXTENSION' AND subject LIKE '[%s:]%%' LIMIT 1", + array($EXT_UPDATE_DEPENDS), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) + { + // Task found so load task's ID and register extension... + list($task) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + $test = EXTENSION_REGISTER($EXT_UPDATE_DEPENDS, $task, $dry_run); + } + } + elseif ($ext_ver != $EXT_VERSION) + { + // Ok, update this extension now + EXTENSION_UPDATE(basename($file), $EXT_UPDATE_DEPENDS, $ext_ver, $dry_run); + $test = true; + } + else + { + // Nothing to register / update before... + $test = true; + } + } + else + { + // Required file for update does not exists! + $test = true; + // But this is fine for the first time... + } + + // Finally restore previous SQLs + $SQLs = $SQLs2; unset($SQLs2); + $EXT_LANG_PREFIX = $LANG_BCK; + } + else + { + // Does not depend on an other extension + $test = true; + } + + // Does everthing before wents ok? + if ($test) + { + // "Dry-run-mode" activated? + if (!$dry_run) + { + // Are there any SQL commands to run? + if (count($SQLs) > 0) + { + foreach ($SQLs as $sql) + { + $sql = trim($sql); + // Run SQL command + if (!empty($sql)) + { + // Run SQLs without compiling them... + $result = SQL_QUERY($sql, __FILE__, __LINE__, false); + } + } + } + + // Check for added include files + if (count($INC_POOL > 0)) + { + // Loads every include file + foreach ($INC_POOL as $inc) + { + require_once($inc); + } + } + + // Register extension + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_extensions (ext_name, ext_lang_file, ext_active, ext_version) VALUES ('%s', '%s', 'N', '%s')", + array($ext_name, $EXT_LANG_PREFIX, $EXT_VERSION), __FILE__, __LINE__); + + // Update task management + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_task_system SET status='SOLVED' WHERE id=%d LIMIT 1", + array(bigintval($id)), __FILE__, __LINE__); + + // In normal mode return a true on success + $ret = true; unset($SQLs); + } + else + { + // Rewrite SQL command to keep { and } inside + foreach ($SQLs as $key=>$sql) + { + $sql = str_replace('{', "{", str_replace('}', "}", $sql)); + $SQLs[$key] = $sql; + } + + // In "dry-run" mode return array with all SQL commands + $ret = $SQLs; + + // Remove all SQL commands + unset($SQLs); + } + } + else + { + // No, an error occurs while registering extension :-( + $ret = false; + } + } + elseif (($id > 0) && (!empty($ext_name))) + { + // Remove task from system when id and extension's name is valid + $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_task_system WHERE id=%d AND status='NEW' LIMIT 1", + array(bigintval($id)), __FILE__, __LINE__); + } + // Return status code + return $ret; +} +// +function EXTENSION_RUN_SQLS($id, $EXT_LOAD_MODE) +{ + global $CACHE; + // This shall never do a non-admin user! + if (!IS_ADMIN()) return false; + + // Get extension's name + $result = SQL_QUERY_ESC("SELECT ext_name FROM "._MYSQL_PREFIX."_extensions WHERE id=%d LIMIT 1", + array(bigintval($id)), __FILE__, __LINE__); + list($ext_name) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + if (empty($ext_name)) return false; + + // Load extension in detected mode + $file = sprintf(PATH."inc/extensions/ext-%s.php", $ext_name); $SQLs = array(); + if (file_exists($file) && is_readable($file)) require($file); + if ((is_array($SQLs) && (sizeof($SQLs) > 0))) + { + // Run SQL commands... + foreach ($SQLs as $sql) + { + $sql = trim($sql); + if (!empty($sql)) + { + // Run SQL command + $result = SQL_QUERY($sql, __FILE__, __LINE__, false); + } + } + + // Remove cache file(s) if extension is active + if (EXT_IS_ACTIVE("cache")) + { + // Remove cache filer + if ($CACHE->cache_file("extensions", true)) $CACHE->cache_destroy(); + if ($CACHE->cache_file("mod_reg", true)) $CACHE->cache_destroy(); + if ($CACHE->cache_file("config", true)) $CACHE->cache_destroy(); + } + } +} +// +function EXT_IS_ACTIVE ($ext_name, $ignore_admin=false, $ignore_cache=false) +{ + global $EXTENSIONS, $CONFIG; + + // Extensions are all inactive during installation + if ((!mxchange_installed) || (mxchange_installing) || (empty($ext_name))) return false; + + // Extension's file name will also be checked + $FILE = PATH."inc/extensions/ext-".$ext_name.".php"; + if ((!file_exists($FILE)) && (!is_readable($FILE))) return false; + //* DEBUG: */ echo "*".$ext_name."*
"; + + // Failed is the default + $ret = false; + if ((!empty($EXTENSIONS['ext_active'][$ext_name])) && (!$ignore_cache)) + { + // Load from cache + $active = $EXTENSIONS['ext_active'][$ext_name]; + + // Count cache hits + if (isset($CONFIG['cache_hits'])) $CONFIG['cache_hits']++; + } + else + { + // Load from database + $result = SQL_QUERY_ESC("SELECT ext_active FROM "._MYSQL_PREFIX."_extensions WHERE ext_name='%s' LIMIT 1", + array($ext_name), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 0) + { + // Extension was not found! + return false; + } + list($active) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + + // Write cache array + $EXTENSIONS['ext_active'][$ext_name] = $active; + } + + // Is this extension activated? (For admins we always have active extensions...) + $inc = sprintf(PATH."inc/extensions/ext-%s.php", $ext_name); + // Shorter way + return ( + ( + ($active == "Y") || ( + (IS_ADMIN()) && + (!$ignore_admin) && + (!empty($active)) + ) + ) && ( + file_exists($inc) + ) && ( + is_readable($inc) + ) + ); +} +// +function GET_EXT_VERSION ($ext_name) +{ + global $EXTENSIONS, $CONFIG; + // Extensions are all inactive during installation + if ((!mxchange_installed) || (mxchange_installing)) return ""; + + // Is the cache written? + if (!empty($EXTENSIONS['ext_version'][$ext_name])) + { + // Load data from cache + $ret = $EXTENSIONS['ext_version'][$ext_name]; + + // Count cache hits + if (isset($CONFIG['cache_hits'])) $CONFIG['cache_hits']++; + } + else + { + // Load from database + $result = SQL_QUERY_ESC("SELECT ext_version FROM "._MYSQL_PREFIX."_extensions WHERE ext_name='%s' LIMIT 1", + array($ext_name), __FILE__, __LINE__); + list($ret) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + + // Set cache + $EXTENSIONS['ext_version'][$ext_name] = $ret; + } + return $ret; +} +// +function EXTENSION_UPDATE($file, $ext, $EXT_VER, $dry_run=false) +{ + // This shall never do a non-admin user! + global $CACHE, $CONFIG, $NOTES; $SQLs = array(); + if ((!IS_ADMIN()) || (empty($ext))) return false; + + // Load extension in update mode + $EXT_LOAD_MODE = "update"; $EXT_UPDATE_DEPENDS = ""; $NOTES = ""; + include(PATH."inc/extensions/".$file); + if (!empty($EXT_UPDATE_DEPENDS)) + { + // Update another extension first! + $test = EXTENSION_UPDATE(("ext-".$EXT_UPDATE_DEPENDS.".php"), $EXT_UPDATE_DEPENDS, GET_EXT_VERSION($EXT_UPDATE_DEPENDS), $dry_run); + } + + // Check if version is updated + if ((($EXT_VERSION != $EXT_VER) || ($dry_run)) && (is_array($EXT_VER_HISTORY))) + { + // Search for starting point + $start = array_search($EXT_VER, $EXT_VER_HISTORY); + $NOTES = ""; + + // And load SQL queries in order of version history + for ($idx = ($start + 1); $idx < sizeof($EXT_VER_HISTORY); $idx++) + { + // Remove old SQLs array to prevent possible bugs + if (!$dry_run) { unset($SQLs); $SQLs = array(); } + + // Set version + $EXT_VER = $EXT_VER_HISTORY[$idx]; + + // Include again... + include(PATH."inc/extensions/".$file); + + // Add notes + if ($CONFIG['verbose_sql'] == "Y") + { + $EXT_VER = $EXT_VER_HISTORY[$idx]; + if (!empty($UPDATE_NOTES)) + { + // Update notes found + $NOTES .= "v".$EXT_VER.":
".$UPDATE_NOTES."

\n"; + $UPDATE_NOTES = ""; + } + elseif ($EXT_VER == "0.0") + { + // Initial release + $NOTES .= "v".$EXT_VER.":
".INITIAL_RELEASE."

\n"; + } + else + { + $NOTES .= "v".$EXT_VER.":
".NO_UPDATE_NOTES."

\n"; + } + } + + // Run SQLs + if ((is_array($SQLs)) && (!$dry_run)) + { + // Run SQL commands + foreach ($SQLs as $sql) + { + $sql = trim($sql); + if (!empty($sql)) + { + // Run SQL command... + $result = SQL_QUERY($sql, __FILE__, __LINE__, false); + } + } + } elseif (GET_EXT_VERSION("sql_patches") == "") { + // Remove SQLs if extension is not installed + $SQLs = array(); + } + } + + if (!$dry_run) + { + // In normal mode insert task and update extension's version... + $ext_subj = "[UPDATE-".$ext."-".$EXT_VERSION.":] ".ADMIN_UPDATE_EXT_SUBJ; + + // Create task + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE subject='%s' LIMIT 1", + array($ext_subj), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 0) + { + // Task not created so it's a brand-new extension which we need to register and create a task for! + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_task_system (assigned_admin, userid, status, task_type, subject, text, task_created) VALUES ('%s', '0', 'NEW', 'EXTENSION_UPDATE', '%s', '%s', UNIX_TIMESTAMP())", + array(GET_ADMIN_ID(SQL_ESCAPE($_COOKIE['admin_login'])), $ext_subj, addslashes($NOTES)), __FILE__, __LINE__); + } + + // Free memory + SQL_FREERESULT($result); + + // Update extension's version + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_extensions SET ext_version='%s' WHERE ext_name='%s' LIMIT 1", + array($EXT_VERSION, $ext), __FILE__, __LINE__); + + // Update cache + if (EXT_IS_ACTIVE("cache")) + { + if ($CACHE->cache_file("extensions", true) == true) $CACHE->cache_destroy(); + if ($CACHE->cache_file("config", true) == true) $CACHE->cache_destroy(); + if ($CACHE->cache_file("mod_reg", true) == true) $CACHE->cache_destroy(); + } + + // Remove array + unset($SQLs); + } + else + { + // In "dry-run" mode return array with SQL commands + return $SQLs; + } + } +} +// +function EXTENSION_VERBOSE_TABLE($SQLs, $title=ADMIN_SQLS_EXECUTED_ON_REMOVAL, $dashed="", $switch=false, $WIDTH="480") +{ + global $CONFIG; + + $S = false; $SW = 2; $i = 1; + $OUT = ""; + if ((is_array($SQLs)) && (GET_EXT_VERSION("sql_patches")) && ($CONFIG['verbose_sql'] == "Y")) + { + $OUT = "
+
+ + +\n"; + foreach ($SQLs as $idx=>$sql) + { + $sql = trim($sql); + if (!empty($sql)) + { + $S = true; + $OUT .= " + + +\n"; + if ($switch) $SW = 3 - $SW; + $i++; + } + } + } + + if ((!$S) && (GET_EXT_VERSION("sql_patches")) && ($CONFIG['verbose_sql'] == "Y")) + { + // No addional SQL commands to run + $OUT .= " + +\n"; + } + + if (!empty($OUT)) { + // Add missing close-table tag + $OUT .= "
+ ".$title.": +
".$i.". + ".$sql." +
+ ".ADMIN_NO_ADDIONAL_SQLS." +
+\n"; + } + return $OUT; +} +// +function GET_EXT_NAME($id) +{ + $ret = ""; + global $EXTENSIONS, $CONFIG; + if (!empty($EXTENSIONS['ext_id'][$id])) + { + // Load from cache + $ret = $EXTENSIONS['ext_id'][$id]; + + // Count cache hits + $CONFIG['cache_hits']++; + } + else + { + // Load from database + $result = SQL_QUERY_ESC("SELECT ext_name FROM "._MYSQL_PREFIX."_extensions WHERE id=%d LIMIT 1", + array(bigintval($id)), __FILE__, __LINE__); + list($ret) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + } + return $ret; +} +// +function GET_EXT_ID($name) +{ + $ret = "0"; + global $EXTENSIONS, $CONFIG; + if ((isset($EXTENSIONS['ext_id'])) && (is_array($EXTENSIONS['ext_id']))) + { + // Load from cache + $ret = array_search($name, $EXTENSIONS['ext_id']); + + // Count cache hits + $CONFIG['cache_hits']++; + } + else + { + // Load from database + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_extensions WHERE ext_name='%s' LIMIT 1", + array($name), __FILE__, __LINE__); + list($ret) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + } + return $ret; +} +// +?> diff --git a/0.2.1/inc/extensions/.htaccess b/0.2.1/inc/extensions/.htaccess new file mode 100644 index 0000000000..14249c50bd --- /dev/null +++ b/0.2.1/inc/extensions/.htaccess @@ -0,0 +1 @@ +Deny from all \ No newline at end of file diff --git a/0.2.1/inc/extensions/ext- b/0.2.1/inc/extensions/ext- new file mode 100644 index 0000000000..925df141c5 --- /dev/null +++ b/0.2.1/inc/extensions/ext- @@ -0,0 +1,96 @@ + diff --git a/0.2.1/inc/extensions/ext-active.php b/0.2.1/inc/extensions/ext-active.php new file mode 100644 index 0000000000..682034c26c --- /dev/null +++ b/0.2.1/inc/extensions/ext-active.php @@ -0,0 +1,137 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD active_limit bigint(20) not null default '10'"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('setup', 'config_active', 'Aktiv-Liste', 'Einstellungen an der Aktiv-Liste (Heute Online im Gastbereich) vornehmen.', 8)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Aktiven-Liste im Gastbereich ist nun einschränkbar."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate: SQL-Anweisungen geschützt."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['active_limit'] = $DUMMY['active_limit']; // Only display X most active users for today + unset($DUMMY); + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "active"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-admins.php b/0.2.1/inc/extensions/ext-admins.php new file mode 100644 index 0000000000..dd40fecfc8 --- /dev/null +++ b/0.2.1/inc/extensions/ext-admins.php @@ -0,0 +1,293 @@ +Access Control Lines sind zu deutsch Zugriffkontrollzeilen, mit denen Sie einstellen können, was welcher Admin machen darf oder nicht."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins_acls MODIFY id bigint(20) not null auto_increment"; + break; + + case "0.4.0": // SQL queries for v0.4.0 + $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admins_mails"; + $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_admins_mails ( +id bigint(20) not null auto_increment, +admin_id bigint(20) not null default '0', +mail_template varchar(255) not null, +KEY (admin_id), +PRIMARY KEY (id) +) TYPE=MyISAM"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('admins', 'admins_mails', 'Admin-Mails', 'Stellen Sie hier ein, welcher Admin welche Mail erhalten soll. Sie können dies (derzeit) jedoch erst, wenn einmal die Mail versendet wurde!', '5')"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Kontrollieren Sie, welche Mails welcher Admin oder alle (admin_id=0) bekommen soll oder im UserLog (admin_id=-1) verzeichnet werden soll. Standartmässig wird weiter an alle versendet."; + break; + + case "0.4.1": // SQL queries for v0.4.1 + $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admins_mails WHERE mail_template LIKE '% %'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Admins-Mails-Tabelle geleert."; + + case "0.4.4": // SQL queries for v0.4.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "&admin= in &amp;admin= umgewandelt."; + break; + + case "0.4.5": // SQL queries for v0.4.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vorbereitet auf Cache-System"; + break; + + case "0.4.6": // SQL queries for v0.4.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit cache-Erweiterung gefixt. Der Admin-Bereich war permanent gesperrt."; + break; + + case "0.4.7": // SQL queries for v0.4.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Es wurde die Zeitmarke der Cache-Datei admins.cache mit berücksichtigt."; + break; + + case "0.4.8": // SQL queries for v0.4.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.4.9": // SQL queries for v0.4.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.5.0": // SQL queries for v0.5.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.5.1": // SQL queries for v0.5.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Cache wird endlich gelöscht, wenn Admin entfernt wird."; + break; + + case "0.5.2": // SQL queries for v0.5.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Löschen von Admin-Accounts repariert und HTML-Code ausgelagert in Templates."; + break; + + case "0.5.3": // SQL queries for v0.5.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.5.4": // SQL queries for v0.5.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt."; + break; + + case "0.5.5": // SQL queries for v0.5.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkt Admin-Mails korregiert: SQL-Anweisung war fehlerhaft; und HTML-Code in Templates ausgelagert."; + break; + + case "0.5.6": // SQL queries for v0.5.6 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET what='admins_contct' WHERE what='admins_contact' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Namenskonflikt zwischen den Erweiterungen admins und (kommender) contact."; + break; + + case "0.5.7": // SQL queries for v0.5.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Links wegen what=admins_contct geändert."; + break; + + case "0.5.8": // SQL queries for v0.5.8 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET what='admins_contct' WHERE what='admins_contact' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ein Punkt in der Versionsnummernliste verhinderte das 0.5.6-Update."; + break; + + case "0.5.9": // SQL queries for v0.5.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate: SQL-Anweisungen geschützt."; + break; + + case "0.6.0": // SQL queries for v0.6.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link in "ACL Einstellen" zum Admin-Kontaktformular korregiert."; + break; + + case "0.6.1": // SQL queries for v0.6.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Speichern von Admin-Accounts klappt wieder."; + break; + + case "0.6.2": // SQL queries for v0.6.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bitte verschieben Sie die admins-Templates (Ordner: ".PATH."/templates/de/emails/) in den neuen Order admins!"; + break; + + case "0.6.3": // SQL queries for v0.6.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.6.4": // SQL queries for v0.6.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit der Rechtevererbung beseitigt: Geben Sie nun ein Hauptmenü frei (Allow), dann kann der Admin auch die Untermenüs erreichen. Zudem können Sie gezielte Untermenüs im freigegeben Hauptmenü dennoch sperren."; + break; + + case "0.6.5": // SQL queries for v0.6.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.6.6": // SQL queries for v0.5.6 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET what='admins_contct' WHERE what='admins_contact' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Namenskonflikt zwischen den Erweiterungen admins und (kommender) contact."; + break; + + case "0.6.7": // SQL queries for v0.6.7 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins ADD la_mode enum('global', 'OLD', 'NEW') not null default 'global'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Namenskonflikt zwischen den Erweiterungen admins und (kommender) contact. Beseitigung eines Fehlers HTTP_POSR_VARS beim Ändern von Administratoren."; + break; + + case "0.6.8": // SQL queries for v0.6.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "setcookie() mit @-Zeichen gegen ungewollte Ausgaben abgesichert."; + break; + + case "0.6.9": // SQL queries for v0.6.9 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Admin-Management' WHERE action = 'admins' AND what='' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Verwaltung nach Management umbenannt."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "admins"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-admintheme1.php b/0.2.1/inc/extensions/ext-admintheme1.php new file mode 100644 index 0000000000..860d55fcca --- /dev/null +++ b/0.2.1/inc/extensions/ext-admintheme1.php @@ -0,0 +1,95 @@ + diff --git a/0.2.1/inc/extensions/ext-admintheme_default.php b/0.2.1/inc/extensions/ext-admintheme_default.php new file mode 100644 index 0000000000..b65b43da68 --- /dev/null +++ b/0.2.1/inc/extensions/ext-admintheme_default.php @@ -0,0 +1,95 @@ + diff --git a/0.2.1/inc/extensions/ext-autopurge.php b/0.2.1/inc/extensions/ext-autopurge.php new file mode 100644 index 0000000000..5fe3e356d3 --- /dev/null +++ b/0.2.1/inc/extensions/ext-autopurge.php @@ -0,0 +1,294 @@ +Warning: Missing argument 2 for create_timestamp_from_selections() in ".PATH."inc/libs/pro_functions.php on line 227 behoben."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + + $UPDATE_NOTES = "Anstelle von ref_depth wurde level programmiert."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD autopurge_tasks enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD ap_tasks_time bigint(20) not null default '".(60*60*24*7)."'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bereinigung von zu löschenden Aufgaben klappt wieder. Zeitlimit für genanntes kann eingestellt werden (Default = 7 Tage).

Bitte aktualisieren Sie auch die Admin-Templates!"; + break; + + case "0.2.0": // SQL queries for v0.2.0 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD ap_in_notify enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD ap_un_notify enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD ap_tasks_notify enum('Y', 'N') not null default 'Y'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mail wird bei Löschung von Aufgaben ausgesendet.

Bitte aktualisieren Sie auch die Admin-Templates!"; + break; + + case "0.2.1": // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Diverse angebundene Erweiterungen gefixt."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Betreffzeile für gelöschte Aufgaben korregiert."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erweiterung bleibt wegen integrierten Schalters immer aktiv."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Auto-Löschung von Bestätigungslinks kann unter "Sonstige Einstellungen" abgeschaltet werden (0 setzen!)"; + break; + + case "0.2.5": // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Jackpot beseitigt ({!POINTS!} wurden nicht gutgeschrieben.)"; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link zum Mitgliedsprofil in Funktion ADMIN_USER_PROFILE_LINK() ausgelagert."; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link zum Mitgliedsprofil in Funktion ADMIN_USER_PROFILE_LINK() ausgelagert."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mailbetreffs korregiert."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Template admin_config_autopurge_pro.tpl ist überflüssig geworden. Bitte löschen Sie dies!"; + break; + + case "0.3.1": // SQL queries for v0.3.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Datumsformat festgelegt auf ausführlich."; + break; + + case "0.3.2": // SQL queries for v0.3.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.3.3": // SQL queries for v0.3.3 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD ap_del_mails enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD ap_dm_notify enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD ap_dm_timeout bigint(20) not null default '86400'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Von bereits gelöschten Mitgliedern die Mails löschen integriert."; + break; + + case "0.3.4": // SQL queries for v0.3.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler mit timestamp_send (Zeile 308) beseitigt."; + break; + + case "0.3.5": // SQL queries for v0.3.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler mit ap_del_emails (Einstellungen im Admin-Bereich) beseitigt."; + break; + + case "0.3.6": // SQL queries for v0.3.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die Accounts der Standart-Referral-ID, der Bonus-ID, Bettellink-ID und der Verdoppler-ID werden nun nicht mehr gelöscht und tauchen auch unterhalb der Inaktiven-Liste nicht mehr auf."; + break; + + case "0.3.7": // SQL queries for v0.3.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.3.8": // SQL queries for v0.3.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.3.9": // SQL queries for v0.3.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "if-Anweisungen auf Funktion empty() umgestellt. Unter Auto-Löschung finden Sie nun auch die Einstellungen zu Mailbestätigungs wieder. Zudem werden keine Urlauber (neue Urlaubsschaltung beachtet) mehr als inaktiv erkannt."; + break; + + case "0.4.0": // SQL queries for v0.4.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Template-Problem beseitigt. Dies verhinderte das Abspeichern der Einstellungen."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + // Transfer all to the $CONFIG array... + $CONFIG['ap_inactive'] = $DUMMY['autopurge_inactive']; // Autopurge inactive accounts (yes/no) + $CONFIG['ap_unconfirmed'] = $DUMMY['autopurge_unconfirmed']; // Autopurge unconfirmed accounts (yes/no) + $CONFIG['ap_tasks'] = $DUMMY['autopurge_tasks']; // Autopurge out-dated tasks (yes/no) + $CONFIG['ap_in_mail'] = $DUMMY['ap_in_notify']; // Send email to admin when purging inactive accounts (yes/no) + $CONFIG['ap_un_mail'] = $DUMMY['ap_un_notify']; // Send email to admin when purging unconfirmed accounts (yes/no) + $CONFIG['ap_tasks_mail'] = $DUMMY['ap_tasks_notify']; // Send email to admin when purging out-dated tasks (yes/no) + $CONFIG['ap_in_since'] = $DUMMY['ap_inactive_since']; // Timeout for confirmed accounts when they become inactive (seconds) + $CONFIG['ap_in_time'] = $DUMMY['ap_inactive_time']; // Timeout for inactive accounts when they are automatically deleted (seconds) + $CONFIG['ap_un_time'] = $DUMMY['ap_unconfirmed_time']; // Timeout for unconfirmed accounts when they are automatically deleted (seconds) + $CONFIG['ap_tasks_time'] = $DUMMY['ap_tasks_time']; // Timeout for out-dated tasks + $CONFIG['ap_del_mails'] = $DUMMY['ap_del_mails']; // Autopurge mails from deleted users? + $CONFIG['ap_dm_notify'] = $DUMMY['ap_dm_notify']; // Send email to admin when purging mails from deleted users (yes/no) + $CONFIG['ap_dm_timeout'] = $DUMMY['ap_dm_timeout']; // Timeout for mails from deleted users + + // Save some RAM... + unset($DUMMY); + + // Do we have a daily-reset-run? + if (defined('__DAILY_RESET') && (!DEBUG_MODE) && ($CSS != 1)) + { + // Yes, we have. So let's auto-purge some campaigns, inactive users and unconfirmed accounts + $INC_POOL[] = PATH."inc/autopurge.php"; + } + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "autopurge"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "Y"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-bank.php b/0.2.1/inc/extensions/ext-bank.php new file mode 100644 index 0000000000..454e7e64bf --- /dev/null +++ b/0.2.1/inc/extensions/ext-bank.php @@ -0,0 +1,199 @@ + diff --git a/0.2.1/inc/extensions/ext-beg.php b/0.2.1/inc/extensions/ext-beg.php new file mode 100644 index 0000000000..10cc8d5eac --- /dev/null +++ b/0.2.1/inc/extensions/ext-beg.php @@ -0,0 +1,321 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.3": // SQL queries for v0.0.3 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_points_max double(20,5) not null default '0.10000'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Maximale Obergrenze an {!POINTS!} einstellbar (Standart: 0,1 {!POINTS!})"; + break; + + case "0.0.4": // SQL queries for v0.0.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Überlange Kommastellen bei Punktangaben aus Bettellink und Gastbereich entfernt und Admin-Templates repariert ("Unbekannte Spalte beg_points_ma")."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Im Mitgliedsmenü wurde die Beschreibung aus dem Gastmenü verwendet."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_uid bigint(20) not null default '0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ein Mitgliedsaccount (empfehlenswert ist Ihr eigenes!) kann zum Abbuchen der {!POINTS!} verwendet werden. Template admin_config_beg.tpl (und pro!) nicht vergessen, zu aktualisieren."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_ip_timeout bigint(20) not null default '1800'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Zeitsperre gegen die selbe IP-Nummer hinzugefügt."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bitte verschieben Sie die beg-Templates (Ordner: ".PATH."/templates/".GET_LANGUAGE()."/html/) in den neuen Order beg!"; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.1.2": + // Get current month + $curr = date("m", time()); + if (strlen($curr) == 1) $curr = "0".$curr; + if ($curr == "00") $curr = "12"; + + // SQL queries for v0.1.2 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_mode enum('DIRECT', 'REF') not null default 'REF'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_month char(2) not null default '".$curr."'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_ranks tinyint(4) not null default '10'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_active enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_rallye enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD beg_points double(21,5) not null default '0.00000'"; + $VIS = "N"; $LOCKED = "Y"; + if (EXT_IS_ACTIVE("beg")) { $VIS = "Y"; $LOCKED = "N"; } + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, visible, locked, sort) VALUES ('main', 'beg2', 'Bettel-Rallye', '".$VIS."', '".$LOCKED."', '7')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('user', 'list_beg', 'Bettel-Rallye', 'Listet alle Teilnehmer der monatlichen Bettel-Rallye auf.', '12')"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Optionale Bettel-Rallye möglich. Und die erbettelten {!POINTS!} können entweder nur dem bettelndem Mitglied direkt oder auch seinem Werber gutgeschrieben werden können."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erbettelte {!POINTS!} werden nach Deaktivierung der Bettel-Rallye gelöscht."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Rechtlichen Hinweis im Mitgliedsbereich vergessen (member_list_beg.tpl); Template member_beg_404.tpl fehlte!"; + break; + + case "0.1.5": // SQL queries for v0.1.5 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title='Bettellink/-rallye', descr='IP-Sperre, {!POINTS!}-Vergütung und auch die Bettel-Rallye können Sie hier einstellen.' WHERE what='config_beg' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlendes Template im Admin-Bereich hinzugefügt. Im Admin-Bereich Hinweis hinzugefügt, wenn Bettel-Rallye inaktiv ist. Bitte Script inc/monthly_beg.php löschen!"; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Es wurden immer dem ersten bettelndem Mitglied die {!POINTS!} gutgeschrieben."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_ral_en_notify enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_ral_di_notify enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_new_mem_notify enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_notify_bonus double(20,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_notify_wait bigint(20) not null default '30'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD beg_ral_notify bigint(20) not null default '0'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD beg_ral_en_notify bigint(20) not null default '0'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD beg_ral_di_notify bigint(20) not null default '0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die Mitglieder können nun optional automatisch über eine aktivierte und/oder deaktivierte Bettel-Rallye informiert werden. Beide Benachrichtigungen können Sie unter Einstellungen --> Bettel-Link/-rallye seperat ein- und ausschalten! Zudem ist eine Sperre gegen eingeloggte Mitglieder eingebaut, die das Klicken auf den eigenen Bettel-Link etwas erschweren soll."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler im täglichen Reset beseitigt."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden."; + break; + + case "0.2.0": // SQL queries for v0.2.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bei ".POINTS."-Gleichstand wird als nächstes nach wer als letztes Online war umsortiert."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler unknown column 'uid' beseitigt."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD beg_include_own enum('Y', 'N') not null default 'N'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Eigene User-ID von Bettel-Rallye ausschliessbar."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abfrage des Account-Status eingebaut. Es können nur bestätigte Accounts betteln."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='extras', sort='1' WHERE what='beg' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='rals', sort='3', title='Bettel-Rallye' WHERE what='beg2' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['beg_timeout'] = $DUMMY['beg_timeout']; // Global timeout + $CONFIG['beg_uid_timeout'] = $DUMMY['beg_uid_timeout']; // Timeout for one userid + $CONFIG['beg_ip_timeout'] = $DUMMY['beg_ip_timeout']; // Timeout for one IP number + $CONFIG['beg_points'] = $DUMMY['beg_points']; // Minimum beggable points + $CONFIG['beg_points_max'] = $DUMMY['beg_points_max']; // Maximum beggable points + $CONFIG['beg_uid'] = $DUMMY['beg_uid']; // Account to subtract begged points from + $CONFIG['beg_mode'] = $DUMMY['beg_mode']; // Payment mode: direct or over referral system? + $CONFIG['beg_month'] = $DUMMY['beg_month']; // Current month + $CONFIG['beg_ranks'] = $DUMMY['beg_ranks']; // Maximum member who will win + $CONFIG['beg_active'] = $DUMMY['beg_active']; // Only active members can win? + $CONFIG['beg_rallye'] = $DUMMY['beg_rallye']; // Is the begging rallye activated? + $CONFIG['beg_ral_en_notify'] = $DUMMY['beg_ral_en_notify']; // Notify members on enabled rallye? + $CONFIG['beg_ral_di_notify'] = $DUMMY['beg_ral_di_notify']; // Notify members on disabled rallye? + $CONFIG['beg_notify_bonus'] = $DUMMY['beg_notify_bonus']; // When points are > 0 and bonus extension is installed, a bonus mail with this amount of points will be send instead of an enable-notification! + $CONFIG['beg_new_mem_notify'] = $DUMMY['beg_new_mem_notify']; // Notify members on disabled rallye? + $CONFIG['beg_notify_wait'] = $DUMMY['beg_notify_wait']; // Time to wait in seconds for bonus mails + $CONFIG['beg_include_own'] = $DUMMY['beg_include_own']; // Include webmaster's own userid in rallye? + unset($DUMMY); + + // Remove old entries + $OLD = $CONFIG['beg_timeout']; + if ($CONFIG['beg_uid_timeout'] > $OLD) $OLD = $CONFIG['beg_uid_timeout']; + $result_ext = SQL_QUERY("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_beg_ips WHERE timeout < ".(time() - $OLD - 60*60), __FILE__, __LINE__); + + if (defined('__DAILY_RESET') && (!DEBUG_MODE) && ($CSS != 1)) + { + // Daily reset was run so let's check if begging rallye is active + if ($CONFIG['beg_rallye'] == "Y") + { + // Check for our winers + $INC_POOL[] = PATH."inc/monthly/monthly_beg.php"; + } + else + { + // Reset begging points + $INC_POOL[] = PATH."inc/reset/reset_beg.php"; + } + } + + // Check for beg rallye is active and send mails out + if (($CONFIG['beg_rallye'] == "Y") && ($CONFIG['beg_new_mem_notify'] == "Y")) + { + // Include file for sending out mails + $INC_POOL[] = PATH."inc/mails/beg_mails.php"; + } + + // Return code for the URL + define('CODE_BEG_SAME_AS_OWN', 100); + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "beg"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-birthday.php b/0.2.1/inc/extensions/ext-birthday.php new file mode 100644 index 0000000000..d0120ff0c4 --- /dev/null +++ b/0.2.1/inc/extensions/ext-birthday.php @@ -0,0 +1,212 @@ +birtday_confirm.php durchgeführt."; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vergessenes _OB_CACHING gesetzt."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ausgabe des generierten HTML-Codes nach inc/footer.php verlagert."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wort Punkte dynamisiert."; + break; + + case "0.3.2": // SQL queries for v0.3.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate: SQL-Anweisungen geschützt."; + break; + + case "0.3.3": // SQL queries for v0.3.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bitte verschieben Sie die birthday-Templates (Ordner: ".PATH."/templates/".GET_LANGUAGE()."/html/) in den neuen Order birthday!"; + break; + + case "0.3.4": // SQL queries for v0.3.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.3.5": // SQL queries for v0.3.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.3.6": // SQL queries for v0.3.6 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD birthday_mode enum('DIRECT', 'REF') not null default 'DIRECT'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD birthday_active enum('Y', 'N') not null default 'N'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vergütungsmodus des Geburtstagsbonus einstellbar."; + break; + + case "0.3.7": // SQL queries for v0.3.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Im Script inc/birthday_mails.php hat sich ein Zeichen mit dem Code 160 eingeschlichen, welches einen Parser Error verursachte, aber wie eine gewöhnliche Leerstelle aussah."; + break; + + case "0.3.8": // SQL queries for v0.3.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + + // Copy config to main array + $CONFIG['birthday_points'] = $DUMMY['birthday_points']; + $CONFIG['birthday_mode'] = $DUMMY['birthday_mode']; + $CONFIG['birthday_active'] = $DUMMY['birthday_active']; + + // Save some RAM... + unset($DUMMY); + + if ((defined('__DAILY_RESET')) && ($CONFIG['birthday_points'] > 0)) + { + // Daily reset was run and we shall pay points so we start checking for members who + // has a birthday for today + $INC_POOL[] = PATH."inc/mails/birthday_mails.php"; + } + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "birthday"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-bonus.php b/0.2.1/inc/extensions/ext-bonus.php new file mode 100644 index 0000000000..b6b9c6d6f3 --- /dev/null +++ b/0.2.1/inc/extensions/ext-bonus.php @@ -0,0 +1,603 @@ +paidlinks."; + break; + + case "0.2.0": // SQL queries for v0.2.0 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_bonus SET target_send=mails_sent WHERE target_send='0' AND mails_sent>0 AND receivers != ''"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Behebt ein Versand-Problem mit den Bonus-Mails. Es wurde die Spalte target_send nicht beim Einfügen der Buchung gessetzt. Bitte laden Sie sich dazu - wenn nicht bereits geschehen - alle Patches bis mindestens Patch 240 unter Updates prüfen herunter."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE what='config_bonus' LIMIT 1"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu VALUES (NULL,'setup','config_bonus','Bonus-{!POINTS!}',8,'Richten Sie Bonus-{!POINTS!} ein, die beim x'ten Klick auf die Mail verbucht werden sollen. Beispiele: Der 1. Klick sollte mehr {!POINTS!} zusätzlich bekommen, als der 10. Klick.')"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD login_bonus double(20,3) not null default '10.000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD turbo_bonus double(20,3) not null default '100.000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD login_timeout bigint(20) not null default '86400'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD turbo_rates varchar(255) not null default '50;20;10'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_ranks tinyint(4) not null default '10'"; + // Use actual month for this update + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD last_bonus_month char(2) not null default '".date("m", time())."'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD login_bonus double(20,3) not null default '0.000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD turbo_bonus double(20,3) not null default '0.000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_stats ADD bonus_stats enum('Y', 'N') not null default 'N'"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_extensions SET ext_has_css='Y' WHERE ext_name='bonus' AND ext_has_css='N' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Login-Bonus und Turbo-Klick-Bonus intergriert."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_turbo"; + $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_bonus_turbo ( +id bigint(20) NOT NULL auto_increment, +userid bigint(20) NOT NULL default '0', +mail_id bigint(20) NOT NULL default '0', +bonus_id bigint(20) NOT NULL default '0', +level bigint(20) NOT NULL default '0', +points double(20,3) NOT NULL default '0.000', +timemark varchar(32) NOT NULL default '0', +PRIMARY KEY(id), +KEY mail_id (mail_id), +KEY bonus_id (bonus_id), +KEY userid (userid) +) TYPE=MyISAM"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Turbo-Bonus wird in Tabelle gezählt für Anzeige, wer alles bereits geklickt hat und welchen Platz er gemacht hat."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE action='main' AND what='bonus' LIMIT 1"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu VALUES (NULL,'main','bonus','Aktiv-Rallye',7,'Y','Y','',0)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Aktiv-Rallye mit Klick-Vergütung hinzugefügt."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_urls"; + $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_customer"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Tabellen "._MYSQL_PREFIX."_bonus_urls und "._MYSQL_PREFIX."_bonus_customer entfernt, da dies bald von der Erweiterung paidlinks erledigt wird."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Turbo-Bonus klappt wieder (dies sind {!POINTS!} die an die schnellsten Klicker vergütet werden!)"; + break; + + case "0.2.8": // SQL queries for v0.2.8 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_bonus SET timestamp='0' WHERE timestamp='0000000000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_bonus_turbo CHANGE points points double(22,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config CHANGE turbo_bonus turbo_bonus double(22,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config CHANGE login_bonus login_bonus double(22,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data CHANGE turbo_bonus turbo_bonus double(22,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data CHANGE login_bonus login_bonus double(22,5) not null default '0.00000'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "5 Nachkommastellen implementiert"; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate am Script show_bonus.php durchgeführt."; + break; + + case "0.3.2": // SQL queries for v0.3.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Design "Solid-Business" eingebaut."; + break; + + case "0.3.3": // SQL queries for v0.3.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.3.4": // SQL queries for v0.3.4 + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('user', 'list_bonus', 'Aktiv-Rallye-Teilnehmer', 'Listet alle Mitglieder auf, die einen Aktiv-Bonus haben und zeigt die derzeit möglichen Gewinner an.', 10)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link Aktiv-Rallye-Teilnehmer hinzugefügt, inklusive manuelle Vorbereitung der Vergütung."; + break; + + case "0.3.5": // SQL queries for v0.3.5 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_mode enum('UID', 'JACKPOT', 'ADD') not null default 'ADD'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_uid bigint(20) not null default '0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Der Login-Bonus Aktiv-Bonus (= Klick-Bonus) können nun zuerst von einem Mitgliederaccount (das sollte Ihres sein!), vom Jackpot abgezogen oder einfach dazuadiert werden."; + break; + + case "0.3.6": // SQL queries for v0.3.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "In der Admin-Liste werden nur aktive Mitglieder gelistet und zudem die späteste Zeitmarke für die Auswertung angezeigt."; + break; + + case "0.3.7": // SQL queries for v0.3.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitglieder-Account auwählbar, von dem die {!POINTS!} für den Aktiv- und Login-Bonus abgebucht werden."; + break; + + case "0.3.8": // SQL queries for v0.3.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ausgabe des generierten HTML-Codes nach inc/footer.php verlagert."; + break; + + case "0.3.9": // SQL queries for v0.3.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlende Variablen gefixt."; + break; + + case "0.4.0": // SQL queries for v0.4.0 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_timeout bigint(20) not null default '".(ONE_DAY * 7)."'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_lines bigint(20) not null default '10'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Automatisches Löschen von Turbo-Bonus-Zeilen ("._MYSQL_PREFIX."_bonus_turbo) und begrenzte Anzahl von Einträgen hinzugefügt."; + break; + + case "0.4.1": // SQL queries for v0.4.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vergütung des Aktiv-Bonus repariert."; + break; + + case "0.4.2": // SQL queries for v0.4.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Admin-Bereich / Aktiv-Teilnehmer auflisten: Problem mit Konstante __AUTOPURGE_TIMEOUT und das Template admin_list_bonus.tpl korregiert."; + break; + + case "0.4.3": // SQL queries for v0.4.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Verbesserung des Versandes von HTML-Bonus-Mails."; + break; + + case "0.4.4": // SQL queries for v0.4.4 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_order double(20,5) not null default '15.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_ref double(20,5) not null default '100.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_stats double(20,5) not null default '5.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_active enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_order double(20,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_ref double(20,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_stats double(20,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_stats ADD is_stats enum('Y', 'N') not null default 'N'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bonus-{!POINTS!} für: Mailbestellung, Referral-Werbung (bei Best. der EMail-Adresse) und wenn 100% Klickrate jeder Mailbuchung erreicht wurde.
Template admin_config_bonus_pro.tpl ist überflüssig geworden. Bitte löschen Sie dies!
Eingestellte Bonus-{!POINTS!} für Rank 2 war um eins verschoben."; + break; + + case "0.4.5": // SQL queries for v0.4.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abzug vom Bonus-Account integriert."; + break; + + case "0.4.6": // SQL queries for v0.4.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Rank 2 bekommt nun auch seine {!POINTS!} gutgeschrieben."; + break; + + case "0.4.7": // SQL queries for v0.4.7 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_user_data SET login_bonus=0, turbo_bonus=0,bonus_ref=0,bonus_order=0,bonus_stats=0"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die Aktiv-Rallye wurde nicht auf 0 {!POINTS!} gesetzt. Dieser Fehler ist nun behoben. Allerdings ist mit diesem Update auch die Aktiv-Rallye zurückgesetzt worden."; + break; + + case "0.4.8": // SQL queries for v0.4.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "In inc/monthly_bonus.php fehlte ein Punkt; Fehler besseitigt."; + break; + + case "0.4.9": // SQL queries for v0.4.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Login-Bonus wird mit angezeigt."; + break; + + case "0.5.0": // SQL queries for v0.5.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit is_hundred beim täglichen Reset beseitigt."; + break; + + case "0.5.1": // SQL queries for v0.5.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit bonus_stats / Zeile 31 beim täglichen Reset beseitigt."; + break; + + case "0.5.2": // SQL queries for v0.5.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.5.3": // SQL queries for v0.5.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Speichern der Aktiv-{!POINTS!} für Platz 2 bis x korregiert."; + break; + + case "0.5.4": // SQL queries for v0.5.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Variablenfehler in inc/monthly_bonus.php behoben."; + break; + + case "0.5.5": // SQL queries for v0.5.5 + // Get previous month + $prev = date("m", time()) - 1; + if (strlen($prev) == 1) $prev = "0".$prev; + if ($prev == "00") $prev = "12"; + + // Reset monthly active rallye + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_config SET last_bonus_month='".$prev."' WHERE config='0' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Weitere Variablenfehler in inc/monthly_bonus.php haben dafür gesorgt, dass die monatliche Aktiv-Rallye nicht ausgeschüttet wurde. Mit diesem Update wurde die Ausschüttung initialisiert. Ihre Mitglieder bekommen voraussichtlicht nichts doppelt vergütet."; + break; + + case "0.5.6": // SQL queries for v0.5.6 + // Get current month + $curr = date("m", time()); + if (strlen($curr) == 1) $curr = "0".$curr; + if ($curr == "00") $curr = "12"; + + // Generate timemark... + $mark = mktime(0, 0, 0, $curr, 1, date("Y", time())); + + // Update accounts which are not active last months + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_user_data +SET turbo_bonus=0, login_bonus=0, bonus_order=0, bonus_stats=0, bonus_ref=0 +WHERE last_online < ".$mark." ORDER BY userid"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ein weiterer Scriptfehler hat nur die Gewinner aus der Aktiv-Rallye genommen. Die anderen Mitglieder sind somit "nach oben gerutsch"."; + break; + + case "0.5.7": // SQL queries for v0.5.7 + break; + + case "0.5.8": // SQL queries for v0.5.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit is_hundred beim täglichen Reset endlich beseitigt."; + break; + + case "0.5.9": // SQL queries for v0.5.9 + $UPDATE_NOTES = "Fehlermeldung /home/verzeichnis/html/inc/stats_bonus.php (42):You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' WHERE userid='59' LIMIT 1' at line 1 beseitigt."; + break; + + case "0.6.0": // SQL queries for v0.6.0 + $UPDATE_NOTES = "SQL-Fehlermeldung in inc/monthly_bonus.php beseitigt."; + break; + + case "0.6.1": // SQL queries for v0.6.1 + $UPDATE_NOTES = "Versand von Bonus-Mails repariert."; + break; + + case "0.6.2": // SQL queries for v0.6.2 + $UPDATE_NOTES = "Löschen von bereits gelöschten Mails wird nun abgelehnt."; + break; + + case "0.6.3": // SQL queries for v0.6.3 + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.6.4": // SQL queries for v0.6.4 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title='Aktiv-Rallye' WHERE what='config_bonus' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Der Menüpunkt "Bonus-{!POINTS!}" unter Einstellungen wird nach "Aktiv-Rallye umbenannt. Und die Aktiv-Rallye konnte aufgrund eines Template-Fehlers nicht gespeichert werden."; + break; + + case "0.6.5": // SQL queries for v0.6.5 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_stats ADD bonus_stats enum('Y', 'N') not null default 'N'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler mit bonus_stats beseitigt."; + break; + + case "0.6.6": // SQL queries for v0.6.6 + $UPDATE_NOTES = "Template-Fehler beseitigt im Admin-Bereich."; + break; + + case "0.6.7": // SQL queries for v0.6.7 + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.6.8": // SQL queries for v0.6.8 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_bonus SET data_type='SEND' WHERE data_type != 'SEND' AND data_type != 'DELETED' AND receivers='' AND target_send='0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Eingegebene Anzahl auszusendener Bonus-Mails wurde bei der Empfänderauswahl nicht berücksichtigt. Zudem wird jetzt das eingestellte Auswahlverfahren mitberücksichtigt."; + break; + + case "0.6.9": // SQL queries for v0.6.9 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_order_yn enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_ref_yn enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_stats_yn enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_login_yn enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_click_yn enum('Y', 'N') not null default 'Y'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Es können nun auch die folgenden Vergütungen bei der Auswertung der monatlichen Aktiv-Rallye mit berücksichtigt werden: Mailbestätigung (war vorher schon), Login-, Mailbuchung, Referral und Statistik-Bonus (100% Klickrate erreicht)."; + break; + + case "0.7.0": // SQL queries for v0.7.0 + $UPDATE_NOTES = "Zuschaltung von weiteren Bonis wird jetzt auch bei der Auflistung der mitmachenden Mitglieder im Mitgliedsbereich beachtet."; + break; + + case "0.7.1": // SQL queries for v0.7.1 + $UPDATE_NOTES = "Im Adminbereich wird nun ebenfalls die Zuschaltung von weiteren Bonis berücksichtigt. Zudem wird der Gesamtbonus an alle Mitglieder errechnet und auch angezeigt."; + break; + + case "0.7.2": // SQL queries for v0.7.2 + $UPDATE_NOTES = "Die Vergütung der erreichten 100%-Klickrate war noch wegen Programmierungen am Script auskommentiert. Sorry!"; + break; + + case "0.7.3": // SQL queries for v0.7.3 + $UPDATE_NOTES = "Gutgeschriebene Bonus-{!POINTS!} werden nach Deaktivierung der Aktiv-Rallye gelöscht."; + break; + + case "0.7.4": // SQL queries for v0.7.4 + $UPDATE_NOTES = "Rechtlichen Hinweis im Mitgliedsbereich vergessen. (member_bonus.tpl)"; + break; + + case "0.7.5": // SQL queries for v0.7.5 + $UPDATE_NOTES = "Im Admin-Bereich Hinweis hinzugefügt, wenn Aktiv-Rallye inaktiv ist. Bitte Script inc/monthly_bonus.php löschen!"; + break; + + case "0.7.6": // SQL queries for v0.7.6 + $UPDATE_NOTES = "Auswahlmechanismus der Gewinner repariert. Trotz Hinzuschalten von weiteren zu berücksichtigen Boni wurden diese bei der Sortierung der User-IDs nicht berücksichtig."; + break; + + case "0.7.7": // SQL queries for v0.7.7 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_en_notify enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_di_notify enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_new_mem_notify enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_notify_points double(20,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_notify_wait bigint(20) not null default '30'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_ral_notify bigint(20) not null default '0'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_ral_en_notify bigint(20) not null default '0'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_ral_di_notify bigint(20) not null default '0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Optionale automatische Benachrichtigung über aktivierte und/oder deaktivierte Aktiv-Rallye einstellbar."; + break; + + case "0.7.8": // SQL queries for v0.7.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler im täglichen Reset beseitigt."; + break; + + case "0.7.9": // SQL queries for v0.7.9 + $UPDATE_NOTES = "Dollarzeichen fehlte in inc/reset/reset_bonus.php, Zeile 39"; + break; + + case "0.8.0": // SQL queries for v0.8.0 + $UPDATE_NOTES = "De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden."; + break; + + case "0.8.1": // SQL queries for v0.8.1 + $UPDATE_NOTES = "Bei ".POINTS."-Gleichstand wird als nächstes nach wer als letztes Online war umsortiert."; + break; + + case "0.8.2": // SQL queries for v0.8.2 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_include_own enum('Y', 'N') not null default 'N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_bonus ADD is_notify enum('Y', 'N') not null default 'N'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Eigene User-ID von Aktiv-Rallye ausschliessbar. Benachrichtigungsmails sind von Aktiv-Rallye ausgeschlossen."; + break; + + case "0.8.3": // SQL queries for v0.8.3 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='rals', sort='2', title='Aktiv-Rallye' WHERE what='bonus' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + break; + + case "0.8.4": // SQL queries for v0.8.4 + $UPDATE_NOTES = "Ladeproblem bei nicht installierter Erweiterung cache gefixt."; + break; + + case "0.8.5": // SQL queries for v0.8.5 + $UPDATE_NOTES = "CSS-Klassenname gefixt in Templates."; + break; + + case "0.8.6": // SQL queries for v0.8.6 + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['login_bonus'] = $DUMMY['login_bonus']; // Bonus points for successfull logins + $CONFIG['turbo_bonus'] = $DUMMY['turbo_bonus']; // Bonus points for the fastest clicker, No. 1 + $CONFIG['bonus_rates'] = $DUMMY['turbo_rates']; // Points for clicker no. 2 to x + $CONFIG['bonus_ranks'] = $DUMMY['bonus_ranks']; // Total ranks who can win + $CONFIG['login_timeout'] = $DUMMY['login_timeout']; // Time in seconds between two logins + $CONFIG['bonus_month'] = $DUMMY['last_bonus_month']; // Last month where click-bonus are "paid" + $CONFIG['bonus_mode'] = $DUMMY['bonus_mode']; // Mode for adding points for login/click bonus + $CONFIG['bonus_uid'] = $DUMMY['bonus_uid']; // Member account to take points from + $CONFIG['bonus_lines'] = $DUMMY['bonus_lines']; // Number of lines to display in show_bonus.php + $CONFIG['bonus_timeout'] = $DUMMY['bonus_timeout']; // Auto-Purge timeout for bonus lines in mxchange_bonus_turbo + $CONFIG['bonus_order'] = $DUMMY['bonus_order']; // Bonus points for ordering mails + $CONFIG['bonus_ref'] = $DUMMY['bonus_ref']; // Bonus points for "making" a referral + $CONFIG['bonus_stats'] = $DUMMY['bonus_stats']; // Bonus points for 100% clickrate in mail stats + $CONFIG['bonus_active'] = $DUMMY['bonus_active']; // De/activate bonus active rallye + $CONFIG['bonus_order_yn'] = $DUMMY['bonus_order_yn']; // Include order bonus in analysis? + $CONFIG['bonus_ref_yn'] = $DUMMY['bonus_ref_yn']; // Include referral bonus in analysis? + $CONFIG['bonus_stats_yn'] = $DUMMY['bonus_stats_yn']; // Include statistics bonus in analysis? + $CONFIG['bonus_login_yn'] = $DUMMY['bonus_login_yn']; // Include login bonus in analysis? + $CONFIG['bonus_click_yn'] = $DUMMY['bonus_click_yn']; // Include "mailid" bonus in analysis? + $CONFIG['bonus_en_notify'] = $DUMMY['bonus_en_notify']; // Notify members about enabled active rallye? + $CONFIG['bonus_di_notify'] = $DUMMY['bonus_di_notify']; // Notify members about disabled active rallye? + $CONFIG['bonus_new_mem_notify'] = $DUMMY['bonus_new_mem_notify']; // Notify members about disabled active rallye? + $CONFIG['bonus_notify_points'] = $DUMMY['bonus_notify_points']; // Bonus points for the enable-notification mail? 0 = disable! + $CONFIG['bonus_notify_wait'] = $DUMMY['bonus_notify_wait']; // Time to wait in seconds for bonus mails + $CONFIG['bonus_include_own'] = $DUMMY['bonus_include_own']; // Include webmaster's own userid in active rallye? + unset($DUMMY); + + if (defined('__DAILY_RESET') && (!DEBUG_MODE) && ($CSS != 1)) + { + // Daily reset was run so let's check if active rallye is activated + if ($CONFIG['bonus_active'] == "Y") + { + // Run active rallye + if($CONFIG['bonus_stats'] > 0) $INC_POOL[] = PATH."inc/stats_bonus.php"; + $INC_POOL[] = PATH."inc/monthly/monthly_bonus.php"; + } + else + { + // Reset points + $INC_POOL[] = PATH."inc/reset/reset_bonus.php"; + } + } + + // Check for bonus rallye is active and send mails out + if (($CONFIG['bonus_active'] == "Y") && ($CONFIG['bonus_new_mem_notify'] == "Y")) + { + // Include file for sending out mails + $INC_POOL[] = PATH."inc/mails/bonus_mails.php"; + } + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "bonus"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-cache.php b/0.2.1/inc/extensions/ext-cache.php new file mode 100644 index 0000000000..19af19496f --- /dev/null +++ b/0.2.1/inc/extensions/ext-cache.php @@ -0,0 +1,224 @@ +cache_file("extensions", true)) $CACHE->cache_destroy(); + } + $UPDATE_NOTES = "Spalte "keep_active" ist hinzugefügt. Cache wurde reinitialisiert."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Registrierung der Cache-Erweiterung repariert"; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Validierung der Cache-Datei admins.cache integriert."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD db_hits bigint(20) not null default '0'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD cache_hits bigint(20) not null default '0'"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('stats', 'cache_stats', 'DB-Cache', 'Auf Cache und gesamte Datenbank registrierte Anfragen anzeigen.', 4)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Hits auf den Cache werden gezählt."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Das Umschreiben der Cache-Daten hat eine Fehlermeldung Falsches Passwort! im Admin-Bereich verursacht."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Interne Datenfeld-Management korregiert und Cache-Statistiken korregiert."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit fehlender admins-Erweiterung beseitigt."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler Division durch 0 repariert in den DB-Cache Statistiken."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die Tabelen "._MYSQL_PREFIX."_config, "._MYSQL_PREFIX."_refsystem, "._MYSQL_PREFIX."_refdepths und "._MYSQL_PREFIX."_mod_reg werden nun auch ausgelagert."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD cache_admins enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD cache_acls enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD cache_exts enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD cache_config enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD cache_modreg enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD cache_refdepth enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD cache_refsys enum('Y', 'N') not null default 'Y'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Alle cache-baren Tabellen sind nun einzelnt ein- bzw. ausschaltbar. Falls die eine oder andere ausgelagerte Tabelle also Fehler verursachen sollte, so können Sie diese hier abschalten. Beachten Sie aber bitte, dass dann mehr Abfragen an die Datenbank gestellt wird und dies bedeutend mehr Zeit braucht, als nur die Daten aus einem Datenfeld zu laden, das sich im Speicher aufhält."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler Division durch 0 repariert in inc/load_cache.php."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Weitere Fehler im System beseitigt."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Probleme w&auuml;hrend des Installationsvorganges beseitigt."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "CSS-Klassenname gefixt in Templates."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + + // Load config and destroy dummy array + $CONFIG['cache_update'] = $DUMMY['cache_update']; // Last time the cache files are been re-created + $CONFIG['cache_path'] = $DUMMY['cache_path']; // Relative path for the cache files to 'inc/' + $CONFIG['cache_tested'] = $DUMMY['cache_tested']; // Says if cache path is tested or not + $CONFIG['db_hits'] = $DUMMY['db_hits']; // Counted hits on the database (all!) + $CONFIG['cache_hits'] = $DUMMY['cache_hits']; // Counted hits on the cache arrays in memory + $CONFIG['cache_admins'] = $DUMMY['cache_admins']; // Is the table '_admins' cacheable? + $CONFIG['cache_acls'] = $DUMMY['cache_acls']; // Is the table '_admins_acls' cacheable? + $CONFIG['cache_exts'] = $DUMMY['cache_exts']; // Is the table '_extensions' cacheable? + $CONFIG['cache_config'] = $DUMMY['cache_config']; // Is the table '_config' cacheable? + $CONFIG['cache_modreg'] = $DUMMY['cache_modreg']; // Is the table '_mod_reg' cacheable? + $CONFIG['cache_refdepth'] = $DUMMY['cache_refdepth']; // Is the table '_refdepths' cacheable? + $CONFIG['cache_refsys'] = $DUMMY['cache_refsys']; // Is the table '_refsystem' cacheable? + unset($DUMMY); + + // Create instance on class + if ($CACHE_FILE != "init") + { + // Initialize cache system only when it's needed + $CACHE = new mxchange_cache($CONFIG['cache_update'], PATH."inc/".$CONFIG['cache_path'], $CONFIG['cache_tested']); + if ($CACHE->ret != "done") + { + // Failed to initialize cache sustem + ADD_FATAL(__FILE__."(".__LINE__."): ".CACHE_CANNOT_INITIALIZE); + } + } + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "cache"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-country.php b/0.2.1/inc/extensions/ext-country.php new file mode 100644 index 0000000000..3f7f7ef1fe --- /dev/null +++ b/0.2.1/inc/extensions/ext-country.php @@ -0,0 +1,125 @@ + diff --git a/0.2.1/inc/extensions/ext-demo.php b/0.2.1/inc/extensions/ext-demo.php new file mode 100644 index 0000000000..d713d65e0a --- /dev/null +++ b/0.2.1/inc/extensions/ext-demo.php @@ -0,0 +1,92 @@ +Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "demo"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-doubler.php b/0.2.1/inc/extensions/ext-doubler.php new file mode 100644 index 0000000000..74186d2656 --- /dev/null +++ b/0.2.1/inc/extensions/ext-doubler.php @@ -0,0 +1,279 @@ +none) + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_uid bigint(20) not null default '0'"; + // Total payed out points from your doublers + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_points double(20,5) not null default '0.00000'"; + // Sending mode of mails (immediately/daily reset) + // --> This also means who fast the doubled points will be payed out! + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_send_mode enum('DIRECT', 'RESET') not null default 'DIRECT'"; + // Timeout for entries to be purged (default: one week) + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_timeout bigint(20) not null default '".(60*60*24*7)."'"; + // Number of newest entries to display + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_display_new tinyint(3) not null default '10'"; + // Number of entries which will be payed out soon + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_display_pay tinyint(3) not null default '10'"; + // Number of entries which are already payed out + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_display_old tinyint(3) not null default '10'"; + // Points used by every member + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD doubler_points double(20,5) not null default '0.00000'"; + // Counter for usage of the doubler + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_counter bigint(20) not null default '0'"; + + // + // --- MENU SYSTEMS --- + // + // Admin menu + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('doubler', '', '{!POINTS!}-Verdoppler', 'Einstellungen und Einträge auflisten.', 4)"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('doubler', 'list_doubler', 'Auflisten', 'Einträge aus der Verdiensttabelle auflisten', 1)"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('doubler', 'config_doubler', 'Einstellungen', 'Prozentuale Gebühr usw. einstellen.', 2)"; + + // Guest menu (informations / default doubler link) + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_guest_menu (action, what, title, sort, visible, locked) VALUES ('main', 'doubler', 'Verdoppeln!', 3, 'Y', 'Y')"; + + // Member menu + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, visible, locked, sort) VALUES ('main', 'doubler', 'Verdoppeln!', 'Y', 'Y', 7)"; + break; + +case "remove": // Do stuff when removing extension + // SQL commands to run + $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_doubler"; + $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE action='doubler' LIMIT 3"; + $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_guest_menu WHERE what='doubler' LIMIT 1"; + $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE what='doubler' LIMIT 1"; + break; + +case "activate": // Do stuff when admin activates this extension + // SQL commands to run + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE what='doubler' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='N' WHERE what='doubler' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_mod_reg SET locked='N', hidden='N', admin_only='N', mem_only='N' WHERE module='doubler' LIMIT 1"; + break; + +case "deactivate": // Do stuff when admin deactivates this extension + // SQL commands to run + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='Y' WHERE what='doubler' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='Y' WHERE what='doubler' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_mod_reg SET locked='Y' WHERE module='doubler' LIMIT 1"; + break; + +case "update": // Update an extension + switch ($EXT_VER) + { + case "0.0.1": // SQL queries for v0.0.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit User-ID behoben!"; + break; + + case "0.0.2": // SQL queries for v0.0.2 + // Total used points + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_used double(20,5) not null default '0.00000'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Gebühr wird vom Verdoppler-Pott abgezogen."; + break; + + case "0.0.3": // SQL queries for v0.0.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Drei SQL-Fehler beseitigt."; + break; + + case "0.0.4": // SQL queries for v0.0.4 + // Shall I use the doubler's account to take points from? (Y/N, default=Y) + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_own enum('Y', 'N') not null default 'Y'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = POINTS."-Guthaben des Verdopplers kann optional nicht mit einbezogen werden."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Counter-Stand und noch zum Verdoppeln übrige {!POINTS!} in Templates eingebunden. Auflistung in Admin-Bereich komplettiert."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_config SET doubler_used=doubler_used+(SUM(d.points)*c.doubler_charge) +FROM "._MYSQL_PREFIX."_doubler AS d, "._MYSQL_PREFIX."_config AS c +WHERE d.completed='N'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_max_sent tinyint(4) not null default '1'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_group_sent tinyint(4) not null default '1'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_sent_all enum('Y', 'N') not null default 'Y'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Gebührenabzug wird beim Einzahlen abgezogen (wurde von Auszahlung abgezogen) und maximal bei Auszahlung zu kontrollierende Accounts einstellbar.
Template admin_config_doubler_pro.tpl ist überflüssig geworden. Bitte löschen Sie dies!"; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar.

Minus-Guthaben des Verdoppler-Accounts repariert und Mitgliedsmail erweitert mit Transaktionsummer und IP-Nummer."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bitte verschieben Sie die doubler-Templates (Ordner: ".PATH."/templates/".GET_LANGUAGE()."/html/) in den neuen Order doubler!"; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Zwei SQL-Fehler in inc/doubler_send.php beseitigt."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='extras', sort='4' WHERE what='doubler' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['doubler_charge'] = $DUMMY['doubler_charge']; + $CONFIG['doubler_jackpot'] = $DUMMY['doubler_jackpot']; + $CONFIG['doubler_own'] = $DUMMY['doubler_own']; + $CONFIG['doubler_uid'] = $DUMMY['doubler_uid']; + $CONFIG['doubler_points'] = $DUMMY['doubler_points']; + $CONFIG['doubler_used'] = $DUMMY['doubler_used']; + $CONFIG['doubler_send_mode'] = $DUMMY['doubler_send_mode']; + $CONFIG['doubler_timeout'] = $DUMMY['doubler_timeout']; + $CONFIG['doubler_display_new'] = $DUMMY['doubler_display_new']; + $CONFIG['doubler_display_pay'] = $DUMMY['doubler_display_pay']; + $CONFIG['doubler_display_old'] = $DUMMY['doubler_display_old']; + $CONFIG['doubler_ref'] = $DUMMY['doubler_ref']; + $CONFIG['doubler_min'] = $DUMMY['doubler_min']; + $CONFIG['doubler_max'] = $DUMMY['doubler_max']; + $CONFIG['doubler_left'] = $DUMMY['doubler_left']; + $CONFIG['doubler_counter'] = $DUMMY['doubler_counter']; + $CONFIG['doubler_max_sent'] = $DUMMY['doubler_max_sent']; + $CONFIG['doubler_group_sent'] = $DUMMY['doubler_group_sent']; + $CONFIG['doubler_sent_all'] = $DUMMY['doubler_sent_all']; + unset($DUMMY); + + if ((defined('__DAILY_RESET')) && ($CONFIG['doubler_send_mode'] == "RESET")) + { + // So let's check for points + $INC_POOL[] = PATH."inc/doubler_send.php"; + } + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "doubler"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-holiday.php b/0.2.1/inc/extensions/ext-holiday.php new file mode 100644 index 0000000000..f0a181d0eb --- /dev/null +++ b/0.2.1/inc/extensions/ext-holiday.php @@ -0,0 +1,250 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link zum Mitgliedsprofil in Funktion ADMIN_USER_PROFILE_LINK() ausgelagert."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate: SQL-Anweisungen geschützt."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern der Urlaubsanfrage korregiert."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD holiday_active enum('Y', 'N') not null default 'N'"; + $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_max_receive WHERE value='0' LIMIT 1"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD holiday_lock bigint(20) not null default '".(60*60*24*2)."'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die Mitglieder-Accounts werden nicht mehr gesperrt, sondern nur auf Urlaub geschaltet. Lassen Sie sich nicht davon verwirren, dass sie "freigegeben" sind!"; + break; + + case "0.1.4": // SQL queries for v0.1.4 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD holiday_mode enum('DIRECT', 'RESET') not null default 'RESET'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Urlaubsschaltung wird erst Abends um 00:00 Uhr aktiv und nicht durch die Beantragung. Dies kann nun auch auf direkte Umstellung eingestellt werden."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD holiday_mode enum('DIRECT', 'RESET') not null default 'RESET'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD holiday_activated bigint(20) not null default '0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlende Tabellenspalte hinzugefügt."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "if-Anweisungen auf Funktion empty() umgestellt."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu_las (la_id, la_action, la_what) VALUES ('member', '', 'list_holiday')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu_las (la_id, la_action, la_what) VALUES ('member', '', 'del_holiday')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu_las (la_id, la_action, la_what) VALUES ('config', '', 'config_holiday')"; + + // Depends on sql_patches (or you have to execute these both SQL statements by phpMyAdmin + $EXT_UPDATE_DEPENDS = "sql_patches"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erweiterung in's neue Menüsystem integriert."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='account', sort='2', title='In Urlaub' WHERE what='holiday' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + break; + + case "0.2.0": // SQL queries for v0.2.0 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Urlaubsmanagement' WHERE action = 'holiday' AND what='' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + // Copy data to config array + $CONFIG['holiday_max'] = $DUMMY['holiday_max']; // Maximum days for holiday + $CONFIG['holiday_lock'] = $DUMMY['holiday_lock']; // Lock deactivation in member area for X seconds + $CONFIG['holiday_mode'] = $DUMMY['holiday_mode']; // Mode for activating holiday + unset($DUMMY); + + // Do we have a daily-reset-run? + if (((defined('__DAILY_RESET')) && ($CONFIG['holiday_mode'] == "RESET")) || ($CONFIG['holiday_mode'] == "DIRECT")) + { + // Ok, let's check for finished holidays and unlock those accounts + $INC_POOL[] = PATH."inc/reset/reset_holiday.php"; + } + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "holiday"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-html_mail.php b/0.2.1/inc/extensions/ext-html_mail.php new file mode 100644 index 0000000000..aad152db42 --- /dev/null +++ b/0.2.1/inc/extensions/ext-html_mail.php @@ -0,0 +1,174 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate: SQL-Anweisungen geschützt."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + + // Define all arrary variables as global! + global $HTML_TAGS, $URL_ENDS, $VALID_EMAI_CHARS; + + // Valid HTML tags (only simple and no attributes!) + $HTML_TAGS = array( + "b", + "i", + "u", + "ol", + "ul", + "li", + "strong", + "center", + "left", + "right", + "br", + ); + + // URL ends which are used to indentify the end of an URL or email link + // Don't use these chars in links... ;-) + // + $URL_ENDS = array( + " ", + "\n", + "\r", + ")", + ); + + // Valid email chars (without @, or do you want to have another @ inside your email addy?) + $VALID_EMAIL_CHARS = array( + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', + 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', + 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '-', '.', '_', '0', '1', + '2', '3', '4', '5', '6', '7', '8', '9' + ); + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "html_mail"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-mailid.php b/0.2.1/inc/extensions/ext-mailid.php new file mode 100644 index 0000000000..faff53f35a --- /dev/null +++ b/0.2.1/inc/extensions/ext-mailid.php @@ -0,0 +1,250 @@ +uid, mailid und bonusid durch die eigene Funktion bigintval() in den beiden Dateien mailid.php und mailid_top.php."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Weisse Seite im Mozilla bzw. Seite nicht gefunden unter dem IE behoben."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "register_globals-Problem behoben"; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mailbestätigung klappt wieder."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "5 Nachkommastellen implementiert"; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Probe-Fix wegen falschen Bestätigungcodes bei Druck auf Return-Taste. Bitte aktualisieren Sie auch das Template mailid_confirm_buttom.tpl, damit die Bestätigung ohne Code auch klappt!"; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate an den Scripten mailid.php und mailid_top.php durchgeführt."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sende-Pool wird nicht mehr benötigt, um die Bestätigung durchzuführen."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Template mailid_frameset.tpl nach mailid_frames.tpl umbenannt."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ausgabe des generierten HTML-Codes nach inc/footer.php verlagert."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlende Variablen gefixt."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Gesamt-{!POINTS!} werden nun nach Bestätigung angezeigt. Bitte aktualisieren Sie die Templates mailid_points_done.tpl, mailid_points_done2.tpl und mailid_frames.tpl !"; + break; + + case "0.2.0": // SQL queries for v0.2.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Variablen abgesichert (Diverse Warnhinweise des Webservers sind damit unterbunden)."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Parser-Fehler beseitigt."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler wegen fehlende Datenfeldelementen behoben."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Modul mailid war nicht gesetzt. Dadurch wurden die URLs (loader z.B.) umgeschrieben und führten somit zu Fehlern."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Den Punkte in der Gesamt-{!POINTS!}-Anzahl in ein Komma umgewandelt."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden."; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wenn die ".POINTS." dem noch auf Auszahlung wartendem Guthaben aufaddiert wird, wird eine entsprechende Nachricht ausgegeben (neue Templates mailid_points_locked und mailid_points_locked2 sind hinzugekommen!)"; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bonus- und Standart-Referral-ID ausblendbar aus Aktiv-Rallye und bekommt kein Aktiv-Guthaben."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Code wiederholen nach Code eingeben hin geändert."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlende Templates hinzugefügt."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "mailid.php und mailid_top.php können erst bei aktivierter Erweiterung mailid benutzt werden. Solange gibt es fatale Fehlermeldungen."; + break; + + case "0.3.2": // SQL queries for v0.3.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bitte das Template ".PATH."/templates/de/html/mailid/mailid_points_lcoked2.tpl löschen. Noices fixed."; + break; + + case "0.3.3": // SQL queries for v0.3.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Variablen-Handling skriptglobal geändert."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "mailid"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-maintenance.php b/0.2.1/inc/extensions/ext-maintenance.php new file mode 100644 index 0000000000..0f94d7a652 --- /dev/null +++ b/0.2.1/inc/extensions/ext-maintenance.php @@ -0,0 +1,125 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate: SQL-Anweisungen geschützt."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['maintenance'] = $DUMMY['maintenance']; + unset($DUMMY); + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "maintenance"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "Y"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-mediadata.php b/0.2.1/inc/extensions/ext-mediadata.php new file mode 100644 index 0000000000..2d487093d8 --- /dev/null +++ b/0.2.1/inc/extensions/ext-mediadata.php @@ -0,0 +1,155 @@ +aktuellen Zustandes berücksichtigen kann und nicht bereits gelöschter Mitglieder."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "if-Anweisungen auf Funktion empty() umgestellt."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mediendaten mussten komplett regeneriert werden."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD mt_start bigint(20) not null default '0'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD mt_stage bigint(20) not null default '500'"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('setup', 'config_mediadata', 'Mediendaten', 'Stellen Sie allgemeine Einstellungen zu den Mediendaten ein.', 10)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Start des ".MT_WORD2." und Anzahl Anmeldungen aufgenommen. (Task #13)
+Bitte stellen Sie diesen derzeit manuell unter Einstellungen-Medidata selber einstellen."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['mt_start'] = $DUMMY['mt_start']; + $CONFIG['mt_stage'] = $DUMMY['mt_stage']; + unset($DUMMY); + break; +} + +if ((isset($dry_run)) && (isset($EXT_LOAD_MODE))) +{ + if ((!$dry_run) && ($EXT_LOAD_MODE == "update") && ($EXT_VER == "0.0.4")) + { + // Add auto-check file + $INC_POOL[] = PATH."inc/gen_mediadata.php"; + } +} + +// Language file prefix +$EXT_LANG_PREFIX = "mediadata"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "Y"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-mods.php b/0.2.1/inc/extensions/ext-mods.php new file mode 100644 index 0000000000..19a8142431 --- /dev/null +++ b/0.2.1/inc/extensions/ext-mods.php @@ -0,0 +1,126 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Modul-Management' WHERE action = 'mods' AND what='' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Verwaltung auf Management umgestellt."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "mods"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-mydata.php b/0.2.1/inc/extensions/ext-mydata.php new file mode 100644 index 0000000000..50696e3fd1 --- /dev/null +++ b/0.2.1/inc/extensions/ext-mydata.php @@ -0,0 +1,177 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Anrede "Firma" hinzugefügt."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Datumsformat festgelegt auf ausführlich."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Email-Adresse wird vor dem Speichern auf G¨tigkeit hin getestet."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Einbindung der Erweiterung country, die Sie sich noch optional von meiner Seite herunterladen müssen.
+
+Wichtig: Laden Sie noch die Template member_mydata_overview und member_mydata_edit (beide zu finden unter templates/".GET_LANGUAGE()."/html/member/ !) mit hoch!"; + + // Depends on 'country'! + $EXT_UPDATE_DEPENDS = "country"; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Es werden dem Mitglied nur aktivierte Ländercodes zur Auswahl angeboten."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "SQL-Anweisungen mit SQL_QUERY_ESC() abgesichert."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die Einstellungen können nun auch ohne der Erweiterung country abgespeichert werden."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "mydata"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-newsletter.php b/0.2.1/inc/extensions/ext-newsletter.php new file mode 100644 index 0000000000..040af4a4c5 --- /dev/null +++ b/0.2.1/inc/extensions/ext-newsletter.php @@ -0,0 +1,191 @@ +Immer aktiv für diese Erweiterung deaktiviert."; + break; + + case "0.0.3": // SQL queries for v0.0.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.0.4": // SQL queries for v0.0.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bitte Script inc/monthly_newsletter.php löschen!"; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Script inc/monthly/monthly_newsletter.php wird nicht mehr ausgeführt, wenn die Erweiterung nicht aktiviert ist."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Nur bei installierter Erweiterung html_mail können Sie auch HTML-Mails versenden."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD nl_month char(2) not null default '".date("m", time())."'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Nur bei installierter Erweiterung html_mail können Sie auch HTML-Mails versenden."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config DROP nl_currency"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Währung auf die Erweiterung ext-other.zip verlagert. Bitte auch diese aktualisieren."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['nl_charge'] = $DUMMY['nl_charge']; // Charge for your members to switch off the newsletter + $CONFIG['nl_month'] = $DUMMY['nl_month']; // Last month of check interval + unset($DUMMY); + + // URL ends which are used to indentify the end of an URL or email link + // Don't use these chars in links... ;-) + // + $URL_ENDS = array( + " ", + "\n", + "\r", + ")", + ); + + // Valid email chars (without @, or do you want to have another @ inside your email addy?) + $VALID_EMAIL_CHARS = array( + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', + 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', + 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '-', '.', '_', '0', '1', + '2', '3', '4', '5', '6', '7', '8', '9' + ); + + if (defined('__DAILY_RESET') && (!DEBUG_MODE) && ($CSS != 1)) + { + // Daily reset was run so let's check out for expired newsletter orders + $INC_POOL[] = PATH."inc/monthly/monthly_newsletter.php"; + } + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "newsletter"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-nickname.php b/0.2.1/inc/extensions/ext-nickname.php new file mode 100644 index 0000000000..0c90319bc3 --- /dev/null +++ b/0.2.1/inc/extensions/ext-nickname.php @@ -0,0 +1,197 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data DROP nick_uid"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Auswahlfür Mitglied ob mit Nickname oder User-ID einloggen entfernt."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Zum Zusenden eines neuen Passwortes kann jetzt entweder der Nickname / User-ID ODER die angemeldete EMail-Adresse eingegeben werden."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "CSS-Datei in general.css verschmolzen (Patch 435!)"; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='extras', sort='2' WHERE what='nickname' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitglieder ohne Nickname sollten kein *failed* mehr sehen."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + define('__NICKNAME_LANG_CHARS', $DUMMY['nickname_chars']); + define('__NICKNAME_LENGTH' , $DUMMY['nickname_len']); + define('__NICKNAME_PATTERN' , $DUMMY['nickname_pattern']); + unset($DUMMY); + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "nickname"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-online.php b/0.2.1/inc/extensions/ext-online.php new file mode 100644 index 0000000000..318920a717 --- /dev/null +++ b/0.2.1/inc/extensions/ext-online.php @@ -0,0 +1,125 @@ +Unknown column 'visibled' in 'field list' behoben."; + break; + + case "0.0.2": // SQL queries for v0.0.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.3": // SQL queries for v0.0.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.0.4": // SQL queries for v0.0.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erstellung der Datenbanktabelle "._MYSQL_PREFIX."_online in diese Erweiterung ausgelagert."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "online"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-optimize.php b/0.2.1/inc/extensions/ext-optimize.php new file mode 100644 index 0000000000..a955e2e139 --- /dev/null +++ b/0.2.1/inc/extensions/ext-optimize.php @@ -0,0 +1,124 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "optimize"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "Y"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-order.php b/0.2.1/inc/extensions/ext-order.php new file mode 100644 index 0000000000..0349ccd8fa --- /dev/null +++ b/0.2.1/inc/extensions/ext-order.php @@ -0,0 +1,314 @@ +mail_order korregiert auf mail_orders."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + break; + + case "0.2.0": // SQL queries for v0.2.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Templates member_frameset-back.tpl und member_frameset-send.tpl nach member_order_back.tpl und member_order_send.tpl umbenannt."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Es wird nun überprüft ob auch genügend Empfänger eingegeben worden sind und ob auch genügend empfangsbereit sind."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD order_min bigint(20) not null default '10'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Minimum an Empfänger pro Mailbuchung einstellbar. Standart: 10 Empfänger"; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Anzahl mindestens einszustellende Empfänger wird nun auch angezeigt."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Speicherung der Einstellungen klappt."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler in Mailbuchung behoben: Es wurde beim Ermitteln der nötigen {!POINTS!} die maximale Anzahl von Usern in der Kategorie gewählt und +nicht die vom Mitglied eingegebene. Resultat: Das Script beschwerte sich, der User hätte nicht genügend {!POINTS!} auf dem Konto. Ein Rechenbeispiel: +
    +
  1. Das Mitglied wählt eine Kategorie XYZ mit maximal 15 Empfängern aus.
  2. +
  3. Es stellt die Mailart "3 {!POINTS!} Kosten / Mail" ein.
  4. +
  5. Es hat aber nur {!POINTS!} für 10 Empfänger und gibt 10 ein.
  6. +
  7. Das Script hatte bis zu dieser Version 3 {!POINTS!} * 15 = 45 {!POINTS!} gerechnet, hat das Mitglied mehr oder gleich 45 {!POINTS!}, fiehl dieser Fehler nicht + auf.
  8. +
  9. Hatte es aber, wie hier im Beispiel 31 {!POINTS!}, konnte es nicht mehr buchen.
  10. +
  11. Jetzt ist der Fehler endlich weg! Machen Sie dies bitte Ihren Mitgliedern bekannt.
  12. +
"; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler mit __MIN_VALUE behoben."; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Konstantenproblem beseitigt."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit nicht funktionierenden Mailbuchungen beseitigt."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Basis-Modul order.php abgesichert, wenn Erweiterung nicht aktiviert ist."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD order_select varchar(255) not null default 'userid'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD order_mode enum('ASC', 'DESC') not null default 'DESC'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Beworbene URL wird nun getestet."; + break; + + case "0.3.2": // SQL queries for v0.3.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Datumsformat festgelegt auf ausführlich."; + break; + + case "0.3.3": // SQL queries for v0.3.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Unter Einstellungen - Mailbuchungsseite war immer die Tabellenspalte Mitgliedsnummer ausgewählt."; + break; + + case "0.3.4": // SQL queries for v0.3.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Dateiamenskonflikt zwischen den Erweiterungen support und order behoben."; + break; + + case "0.3.5": // SQL queries for v0.3.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Das Mitglied konnte geziehlt die Anzahl Mailbuchungen durch Abspeichern seines Profiles beeinflussen. Der Fehler war eine falsche Tabellenspalte. Dies war max_mails, die durch das Mitglieder veränderbar ist und zur Festellung der Maximalen Mailbuchungen herangezogen wurde."; + break; + + case "0.3.6": // SQL queries for v0.3.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Im Modul order (inc/modules/order.php) wurde fehlerhafterweise die Erweiterung beg getestet."; + break; + + case "0.3.7": // SQL queries for v0.3.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "SQL-Anweisungen mit SQL_QUERY_ESC() abgesichert."; + break; + + case "0.3.8": // SQL queries for v0.3.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mailbuchungsseite korregiert."; + break; + + case "0.3.9": // SQL queries for v0.3.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erneuten Fehler in Mailbuchungsseite behoben."; + break; + + case "0.4.0": // SQL queries for v0.4.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = POINTS."-Abzug klappt wieder. Danke an Andreman!"; + break; + + case "0.4.1": // SQL queries for v0.4.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.4.2": // SQL queries for v0.4.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.4.3": // SQL queries for v0.4.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Neue Urlaubsschaltung mit integriert."; + break; + + case "0.4.4": // SQL queries for v0.4.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ein WHERE ext_active='Y' tauchte bei einigen Betreibern auf und ist mit dieser Version beseitigt."; + break; + + case "0.4.5": // SQL queries for v0.4.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden."; + break; + + case "0.4.6": // SQL queries for v0.4.6 + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('order', '', 'Mailbuchungen', 3, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('order', 'order2', 'Framekiller-Mails', 2, 'Y', 'N')"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='order', sort='1', title='Klick-Mails' WHERE what='order' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + break; + + case "0.4.7": // SQL queries for v0.4.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['order_min'] = $DUMMY['order_min']; // Order at least X mails + $CONFIG['order_max'] = $DUMMY['order_max_full']; // Ordering mode: as much as possible or as much as the user want's to receive + $CONFIG['order_select'] = $DUMMY['order_select']; // Sorting mode for selecting users while looking some up for mail delivery + $CONFIG['order_mode'] = $DUMMY['order_mode']; // Ascending or descending sort order for above + unset($DUMMY); + + // Do daily reset only when installed and extension version is at least 0.1.1 + if ((defined('__DAILY_RESET')) && (!mxchange_installing) && (mxchange_installed) && (admin_registered) && (GET_EXT_VERSION("order") >= "0.1.1")) + { + // Reset mail order values + $result_ext = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_user_data SET mail_orders='0' WHERE mail_orders > 0", __FILE__, __LINE__); + } + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "order"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-other.php b/0.2.1/inc/extensions/ext-other.php new file mode 100644 index 0000000000..2b112012a8 --- /dev/null +++ b/0.2.1/inc/extensions/ext-other.php @@ -0,0 +1,195 @@ +Warning: Missing argument 2 for create_timestamp_from_selections() in ".PATH."inc/libs/pro_functions.php on line 227 behoben."; + break; + + case "0.0.2": // SQL queries for v0.0.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Speichern der Einstellungen vereinfacht. Es wird dazu die Funktion ADMIN_SAVE_SETTINGS() verwendet."; + break; + + case "0.0.3": // SQL queries for v0.0.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.0.4": // SQL queries for v0.0.4 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD max_comma tinyint(4) not null default '3'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Angezeigte Kommastellen können zwischen 0 und 5 eingestellt werden."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen endlich beseitigt."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ausgabemodus der CSS-Dateien hinzugefügt. Bitte auch das Admin-Template aktualisieren!"; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erweiterung bleibt wegen integrierten Schalters immer aktiv."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern der Einstellungen repariert."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Folgende Einstellungen können auf 0 gesetzt werden: +
    +
  1. Selbe beworbene URL nicht mehr bewerbar (0 = URL kann sofort wieder gebucht werden)
  2. +
  3. Gütigkeitsdauer der Bestätigungslinks (0 = Bestätigungslinks laufen nie ab)
  4. +
  5. Sperrzeit des Mitgliedprofiles nach Änderung (0 = Mitglied kann sein Account immer und sofort ändern)
  6. +
  7. Profilaktualisierungsinterval (0 = Es wird keine Mail zum Profilaktualisierunng durch das Mitglied ausgesendet(
  8. +
  9. Erneute Aussendung der Mail (0 = Siehe oben)
  10. +
"; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Gast- und Mitgliedsmenüs lassen sich voneinander getrentt ein- und auschalten."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wort "Baustelle" vom Auto-Versand entfernt, da dieser nun klappt."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD reject_url varchar(255) not null default '".URL."'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bei Ablehnung der URL wird jetzt endlich eine Standart-URL eingesetzt, die konfigurierbar ist. Fehler beim Laden der Konfiguration gefunden."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD currency varchar(255) not null default '€'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Standart-Währung der Gebühren für alle Erweiterungen geltend hinzugefügt."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die sonstigen Einstellungen lassen sich nun nur noch ändern, wenn die Erweiterung other auch installiert ist. Anderfalls gibt es einen SQL-Fehler beim Speichern und GROSS_GESCHRIEBENE Worte im Formular."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['max_comma'] = $DUMMY['max_comma']; // Maximum numbers behind commata + $CONFIG['reject_url'] = $DUMMY['reject_url']; // Default rejection URL + define('__CURRENCY', $DUMMY['currency']); // This is the currency for fees! They shall normally remain in real money currencies... + unset($DUMMY); + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "other"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "Y"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-payout.php b/0.2.1/inc/extensions/ext-payout.php new file mode 100644 index 0000000000..ad46067be7 --- /dev/null +++ b/0.2.1/inc/extensions/ext-payout.php @@ -0,0 +1,252 @@ +member_payout.tpl."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.2.0": // SQL queries for v0.2.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "5 Nachkommastellen implementiert."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts CHANGE payout_total payout_total double(22,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types CHANGE rate rate double(22,5) not null default '0.00000'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + + case "0.2.2": // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Buttons aus Aufgabenauflisten ausgelagert"; + break; + + case "0.2.3": // SQL queries for v0.2.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ausgabe der Auszahlungsmöglichkeiten im Mitgliedsbereich repariert."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt."; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link zum Mitgliedsprofil in Funktion ADMIN_USER_PROFILE_LINK() ausgelagert."; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Work-Arount-Lösung zu temporären Problemen mit der Task-ID eingebaut."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Nachricht an Admin bei Auszahlungsanfrage wird endlich versendet."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler in Auszahlungsfunktion beseitigt, wenn Umrechnungsrate ungleich 1 eingestellt ist."; + break; + + case "0.3.2": // SQL queries for v0.3.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.3.3": // SQL queries for v0.3.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.3.4": // SQL queries for v0.3.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Anzahl zu überweisende {!POINTS!} müssen immer grösser 0 sein, ansonsten bricht das Script mit einer Fehlermeldung an das Mitglied ab."; + break; + + case "0.3.5": // SQL queries for v0.3.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.3.6": // SQL queries for v0.3.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."; + break; + + case "0.3.7": // SQL queries for v0.3.7 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Auszahlungsmanagement' WHERE action = 'payouts' AND what='' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Verwaltung nach Management umgestellt."; + break; + + case "0.3.8": // SQL queries for v0.3.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "payout"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-profile.php b/0.2.1/inc/extensions/ext-profile.php new file mode 100644 index 0000000000..b02411916f --- /dev/null +++ b/0.2.1/inc/extensions/ext-profile.php @@ -0,0 +1,138 @@ +profile_update und prof_reupdate > 0 sind."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Datumsformat festgelegt auf ausführlich."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Namenskonflikt gelösst mit Erweiterung update (kommt noch raus!)"; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + } + break; + +default: // Do stuff when extension is loaded + // Do we have a daily-reset-run? + if (defined('__DAILY_RESET') && (!DEBUG_MODE) && ($CSS != 1)) + { + // So let's check for profiles which needs an update + $INC_POOL[] = PATH."inc/profile-updte.php"; + } + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "profile"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-rallye.php b/0.2.1/inc/extensions/ext-rallye.php new file mode 100644 index 0000000000..427bba4661 --- /dev/null +++ b/0.2.1/inc/extensions/ext-rallye.php @@ -0,0 +1,358 @@ +Unknown column 'd.useid' in 'on clause' behoben."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler Template nicht gefunden behoben und Admin-Formulare ausgelagert"; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist. Und der vorherige Fehler Template nicht gefunden ist endlich beseitigt."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_users CHANGE curr_points curr_points double(23,5) not null default '0.00000'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "5 Nachkommastellen implementiert."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Anzeigefehler im Gast-/Mitgliedsbereich behoben."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Admin-Mails korregiert."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Aktivierte bzw. abgelaufene Rallyes werden nur ausserhalb des CSS-Modus geladen (wenn also nicht css.php aufgerufen wurde)"; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Weitere Templates vom Admin-Bereich ausgelagert und Referral-Anazahl in der Mail zur Rallye-Ankündigung repariert."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Funktion ADMIN_USER_PROFILE_LINK() mit Verlinkung auf Referral-Liste implementiert."; + break; + + case "0.2.0": // SQL queries for v0.2.0 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD min_users bigint(20) not null default '0'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD min_prices bigint(20) not null default '3'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ablaufen der Rallyes intergriert. Bauen Sie in Ihr Template templates/de/emails/member/member_rallye_notifty.tpl folgende zwei Zeilen ein:
+
    +
  • $DATA[min_users]
  • +
  • $DATA[min_prices]
  • +
+Zudem sollten Sie mindestens folgende Templates (in templates/".GET_LANGUAGE()."/html/guest/ !) aktualisieren:
+
    +
  • guest_rallye_footer.tpl
  • +
  • guest_rallye_header.tpl
  • +
"; + break; + + case "0.2.1": // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Links wegen what=admins_contct geändert."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkt "Rallyes verwalten" repariert."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Automatisches Starten von Referral-Rallyes repariert."; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fatalen Fehler beseitigt."; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "if-Anweisungen auf Funktion empty() umgestellt."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erweiterung für automatisch generierte Admin-Kontaktlinks geändert."; + break; + + case "0.3.2": // SQL queries for v0.3.2 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='rals', sort='1', title='Referral-Rallye' WHERE what='rallyes' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + break; + + case "0.3.3": // SQL queries for v0.3.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Rallyes werden nun nur dann automatisch beseitigt, wenn die Erweiterung autopurge installiert und aktiviert ist."; + break; + + case "0.3.4": // SQL queries for v0.3.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + // Do stuff only when not in CSS mode + if (($CSS != "1") && ($CSS != "-1")) + { + // Get total member count + $TOTAL = GET_TOTAL_DATA("CONFIRMED", "user_data", "userid", "status", true); + + // Add more data on higher versions + $ADD1 = ""; $ADD2 = ""; $OR = ""; + if (GET_EXT_VERSION("rallye") >= "0.2.0") + { + $ADD1 = ", min_users, min_prices"; + $ADD2 = ", d.min_users, d.min_prices"; + $OR = " OR (d.min_users <= ".$TOTAL." AND d.min_users > 0)"; + } + + // Check for new started but not notified rallyes + $result = SQL_QUERY("SELECT SQL_SMALL_RESULT id, title, start_time, end_time, send_notify".$ADD1." +FROM "._MYSQL_PREFIX."_rallye_data +WHERE is_active='Y' AND notified='N' AND expired='N' AND start_time <= ".time()." AND end_time > ".time()." +LIMIT 1", __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) + { + // Start rallye + RALLYE_AUTOSTART_RALLYES($result); + } + + // Free memory + SQL_FREERESULT($result); + + // Check for expired rallyes + $result = SQL_QUERY("SELECT SQL_SMALL_RESULT d.id, d.title, d.start_time, d.end_time, d.send_notify".$ADD2." +FROM "._MYSQL_PREFIX."_rallye_data AS d +WHERE d.is_active='Y' AND d.notified='Y' AND d.expired='N' AND (d.end_time <= ".time()."".$OR.") +LIMIT 1", __FILE__, __LINE__); + if ((SQL_NUMROWS($result) == 1) && (EXT_IS_ACTIVE("autopurge"))) + { + // End rallye here... + RALLYE_EXPIRE_RALLYES($result); + } + + // Free memory + SQL_FREERESULT($result); + } + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "rallye"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-register.php b/0.2.1/inc/extensions/ext-register.php new file mode 100644 index 0000000000..cc9ad96a6e --- /dev/null +++ b/0.2.1/inc/extensions/ext-register.php @@ -0,0 +1,340 @@ +Profildaten ändern ein.', 12)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Einstellbare Pflichtfelder hinzugefügt."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_extensions SET ext_has_css='Y' WHERE ext_name='register' AND ext_has_css='N' LIMIT 1"; + + // This update depends on sql_patches update! + $EXT_UPDATE_DEPENDS = "sql_patches"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "CSS-Datei kann per Admin-Bereich ein- und ausgeschaltet werden."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // This update depends on sql_patches update! + $EXT_UPDATE_DEPENDS = "sql_patches"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Standart Referral-ID kann per Admin-Bereich eingestellt werden (war vorher nur in modules.php und index.php direkt eingebbar.)"; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Konfiguration der Pflichtangaben ausgelagert in Template"; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Pflichtfelder wieder eingebaut (waren irgentwie ausgebaut???)"; + break; + + case "0.2.0": // SQL queries for v0.2.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sämtliche Sperren bei eingeloggten Admin deaktiviert."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Cookie refid aus Anmeldeformular entfernt."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Design "Solid-Business" eingebaut."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt."; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Referral-ID wird endlich korrekt gesetzt."; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Parse error in what-register.php beseitigt."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Anrede "Firma" hinzugefügt."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Email-Adresse wird vor dem Speichern auf G¨tigkeit hin getestet."; + break; + + case "0.3.2": // SQL queries for v0.3.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Einbindung der Erweiterung country, die Sie sich noch optional von meiner Seite herunterladen müssen.
+
+Wichtig: Laden Sie noch das Template guest_register.tpl mit hoch, welches unter templates/".GET_LANGUAGE()."/html/guest/ zu finden ist!"; + + // Depends on 'country' + $EXT_UPDATE_DEPENDS = "country"; + break; + + case "0.3.3": // SQL queries for v0.3.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Es werden dem Mitglied nur aktivierte Ländercodes zur Auswahl angeboten."; + break; + + case "0.3.4": // SQL queries for v0.3.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Auf Grund der Integration der neue Erweiterung country in die Anmeldephase klappte die Anmeldung nicht. Die dazu nütige Verknüpfung ist nun eingebaut und die Anmeldung klappt wieder. Vielen Dank nochmals an den Bug-Reporter (Fehlermelder)!"; + break; + + case "0.3.5": // SQL queries for v0.3.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Design wird nach Anmeldung auch endlich im Mitgliedsmenü übernommen."; + break; + + case "0.3.6": // SQL queries for v0.3.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlermeldung Fatal error: Call to undefined function: get_theme() in /../../guest/what-register.php on line 190 beseitigt."; + break; + + case "0.3.7": // SQL queries for v0.3.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlermeldung Fatal error: Call to undefined function: get_curr_themee() in /../../guest/what-register.php on line 190 beseitigt."; + break; + + case "0.3.8": // SQL queries for v0.3.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Weitere SQL-Befehle abgesichert."; + break; + + case "0.3.9": // SQL queries for v0.3.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.4.0": // SQL queries for v0.4.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.4.1": // SQL queries for v0.4.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + break; + + case "0.4.2": // SQL queries for v0.4.2 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD register_default ENUM('Y', 'N') NOT NULL DEFAULT 'N'"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET what='config_register2' WHERE what='config_reg' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Bei der Anmeldung kann die Standart-Auswahl zwischen Ja/Nein umgeschaltet werden. Das Ändern des Templates templates/".GET_LANGUAGE()."/html/guest/guest_register.tpl ist nicht mehr nötig."; + break; + + case "0.4.3": // SQL queries for v0.4.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Parser-Error in inc/modules/guest/what-register.php beseitigt."; + break; + + case "0.4.4": // SQL queries for v0.4.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Anmeldefehler (EMail-Adresse war immer ein Ausrufezeichen) beseitigt."; + break; + + case "0.4.5": // SQL queries for v0.4.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "if-Anweisungen auf Funktion empty() umgestellt."; + break; + + case "0.4.6": // SQL queries for v0.4.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Einstellung nach ".POINTS."-Einstellungen verlagert."; + break; + + case "0.4.7": // SQL queries for v0.4.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "setcookie() mit @-Zeichen gegen ungewollte Ausgaben abgesichert."; + break; + + case "0.4.8": // SQL queries for v0.4.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."; + break; + + case "0.4.9": // SQL queries for v0.4.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit nicht anzeigbaren Kategorien in der Anmeldung beseitigt."; + break; + + case "0.5.0": // SQL queries for v0.5.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlermeldung Fatal error: Call to undefined function REGISTER_ADD_CATEGORY_TABLE() in {!PATH!}/inc/modules/guest/what-register.php on line 434 beseitigt."; + break; + + case "0.5.1": // SQL queries for v0.5.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mail-Template register-member.tpl gefixt. Danke an wliepe für die Fehlerfindung!"; + break; + + case "0.5.2": // SQL queries for v0.5.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + // Copy data to config array + $CONFIG['register_default'] = $DUMMY['register_default']; // Is Yes/No the default selection in category selection? + unset($DUMMY); + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "register"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-repair.php b/0.2.1/inc/extensions/ext-repair.php new file mode 100644 index 0000000000..8dee3d914f --- /dev/null +++ b/0.2.1/inc/extensions/ext-repair.php @@ -0,0 +1,126 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET what='repair_amnu' WHERE what='repair_amenu' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET what='repair_gmnu' WHERE what='repair_gmenu' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET what='repair_mmnu' WHERE what='repair_mmenu' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Konflikt mit Menü-Erweiterung und dieser behoben. Dateien what-repair_*menu.php sind obsulete (veraltet, bitte löschen!)"; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "repair"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-rewrite.php b/0.2.1/inc/extensions/ext-rewrite.php new file mode 100644 index 0000000000..1b4866270a --- /dev/null +++ b/0.2.1/inc/extensions/ext-rewrite.php @@ -0,0 +1,151 @@ +Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['rewrite_skipped_mods'] = $DUMMY['rewrite_skip']; + unset($DUMMY); + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "rewrite"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-sql_patches.php b/0.2.1/inc/extensions/ext-sql_patches.php new file mode 100644 index 0000000000..8dea8f06e4 --- /dev/null +++ b/0.2.1/inc/extensions/ext-sql_patches.php @@ -0,0 +1,618 @@ +mxchange_config musste die Spalte auto_purge (autom. Löschen von Bestätigungsmails angepasst werden (war auf dem Testsystem auf tiny(4) gesetzt.)"; + break; + + case "0.0.3": // SQL queries for v0.0.3 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD points_word varchar(255) not null default 'Punkte'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Das Wort "Punkte" kann nun per Datenbank geändert werden. Damit können Sie anstelle des Wortes Punkte auch Klammlose oder € schreiben."; + break; + + case "0.0.4": // SQL queries for v0.0.4 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD mails_page bigint(20) not null default '10'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Anzahl Mails pro Seite in EMail-Details ansehen und EMail-Archiv hinzugefügt."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD index_home varchar(255) not null default 'welcome'"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('setup', 'config_home', 'Home-Seite festlegen', 'Stellen Sie hier ein, welcher Menüpunkt (what-welcome ist Standart) als Einstiegspunkt in das Menüsystem genutzt werden soll.', 5)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die what-welcome.php ist derzeit die "Home"-Seite (Eingangsseite). Dies kann nun per Datenbank geändert werden."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_extensions ADD ext_has_css enum('Y', 'N') not null default 'N'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Es können nun SQL-Updates von einander abhängig gemacht werden und die CSS-Datei kann per Admin-Bereich (wegen Debuggings) ein- bzw. ausgeschaltet werden."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD verbose_sql enum('Y', 'N') not null default 'Y'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die SQL-Anweisungen werden bei eingeschalteter Verbose-Funktion detailiert angezeigt."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD menu_blur_spacer varchar(255) not null default ' · '"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Nette Mouse-Hover-Effekte eingebaut (Anleitung MENUE_HOVER.txt zum Patchen der general.css bitte lesen!)"; + break; + + case "0.0.9": // SQL queries for v0.0.9 + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('email', 'list_unconfirmed', 'Unbest. Mails auflisten', 'Schauen Sie sich hier unbestätigte Maillinks an. Bitte diesen Link nur über dem EMail-Archiv oder EMail-Details aufrufen, direkt aufgerufen bekommen Sie eine Fehlermeldung.', 8)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Unbestätigte Maillinks können unter Email-Management -> Unbest. Mails auflisten aufgelistet werden."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD reg_points_mode enum('ref', 'direct') not null default 'ref'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Soll der einmalige Ref-Bonus über das Referral-System (also alle oberen Refs bekommen auch etwas davon ab) oder direkt dem Werber aufgebucht werden?"; + break; + + case "0.1.1": // SQL queries for v0.1.1 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title='Home-/Eingangsseite', descr='Stellen Sie hier ein, welcher Menüpunkt (what-welcome ist Standart) als Einstiegspunkt in das Menüsystem genutzt werden soll und wie die automatische Weiterleitung in der Eingangsseite funktionieren soll.' WHERE what='config_home' LIMIT 1"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD index_delay tinyint(4) not null default '-1'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD index_cookie bigint(20) not null default '31536000'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sie können nun hier die Verzögerungszeit in der Eingangsseite einstellen."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('setup', 'config_refid', 'Standart-Ref-ID', 'Stellen Sie hier die User-ID ein, die genommen werden soll, wenn der Gast n icht per Referral-Link Ihren Mailtausch aufgerufen hat.', 7)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD def_refid bigint(20) not null default '0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Standart Referral-ID kann per Admin-Bereich eingestellt werden (war vorher nur in modules.php und index.php direkt eingebbar.)"; + break; + + case "0.1.3": // SQL queries for v0.1.3 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD refid_target enum('register', 'index') not null default 'register'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Auf welche Seite soll der Ref-Link zeigen? Eingangsseite oder Anmeldeformular?"; + break; + + case "0.1.4": // SQL queries for v0.1.4 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD default_theme varchar(255) not null default '".GET_CURR_THEME()."'"; + $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE action='theme' LIMIT 3"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('theme', '', 'Themes', 'Verwalten Sie hier alle Designs (Themes) Ihres Mailtausch-Scriptes.', 8)"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('theme', 'theme_import', 'Importieren', 'Es wird das Verzeichnis "theme" nach neuen Ordnern durchsucht und anschliessend in die Datenbank gesperrt aufgenommen.', 1)"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('theme', 'theme_edit', 'Modifizieren', 'Ändern Sie Titel, Freigaben usw. an den Themes. Sie können bis auf das Standart-Theme "default" auch Themes aus der Datenbank entfernen. Vorher sollten Sie es jedoch vom Server löschen, damit es niht erneut importiert werden kann.', 2)"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_guest_menu (action, what, title, sort, visible, locked) VALUES ('themes', '', 'Design-Auswahl', 4, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('themes', '', 'Design-Auswahl', 3, 'Y', 'N')"; + $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_themes"; + $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_themes ( +id bigint(20) not null auto_increment, +theme_path varchar(255) not null default '', +theme_active enum('Y', 'N') not null default 'N', +theme_ver varchar(255) not null default '0.0', +PRIMARY KEY(id) +) TYPE=MyISAM"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Theme-Support integriert. Bitte laden Sie sich zu dieser Version das 281-Patch (wenn Ihr Script v0.2.0-pre7 ist) herunter, da ansonsten die Themes nicht klappen werden!"; + break; + + case "0.1.5": // SQL queries for v0.1.5 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_extensions DROP ext_has_admin"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Spalte ext_has_admin aus der Tabelle "._MYSQL_PREFIX."_extensions entfernt, da sie keinen Sinn mehr macht."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD enable_title_deco enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD title_left varchar(10) not null default '[--'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD title_middle varchar(10) not null default '-'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD title_right varchar(10) not null default '--]'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD enable_mod_title enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD enable_what_title enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('setup', 'config_title', 'Seitentitel ändern', 'De-/aktivieren Sie hier die Dekorationen, sowie Modul-Titel und what-Titel im Seitentitel.', 8)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Dekorationen des Seitentiteles lassen sich ein- und ausschalten und selber definieren; Modul-Titel und Titel der what-Dateien kann hinzugefügt werden."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "mad_counter und last_mad werden nun aus der Datenbank geladen"; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.2.0": // SQL queries for v0.2.0 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_jackpot CHANGE points points double(22,5) not null default '0.00000'"; + + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payments CHANGE payment payment double(22,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payments CHANGE price price double(22,5) not null default '0.00000'"; + + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data CHANGE used_points used_points double(22,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_points CHANGE points points double(22,5) not null default '0.00000'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_points CHANGE locked_points locked_points double(22,5) not null default '0.00000'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "5 Nachkommastellen implementiert"; + break; + + case "0.2.1": // SQL queries for v0.2.1 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD css_php enum('DIRECT', 'FILE') not null default 'FILE'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Ausgabe der CSS-Dateien entweder per css.php oder sie sind direkt eingebunden."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erweiterung bleibt wegen integrierten Schalters immer aktiv."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD guest_menu enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD member_menu enum('Y', 'N') not null default 'Y'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD youre_here enum('Y', 'N') not null default 'Y'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Gast- und Mitgliedsmenüs lassen sich getrennt voneinander abschalten."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + $auto_type = "png"; // PNG image is the default + if ((file_exists(PATH."theme/".GET_CURR_THEME()."/images/code_bg.jpg")) && function_exists('imagecreatefromjpeg')) + { + // Switch to JPEG format + $auto_type = "jpg"; + } + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD img_type enum('jpg', 'png') not null default '".$auto_type."'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Generierung des Mailbestätigungscodes hängt davon ab, ob die PHP-Funktion imagecreatefromjpeg() und das JPEG-Bild vorhanden sind oder nicht."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data CHANGE receive_mails receive_mails bigint(20) not null default '0'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data CHANGE max_mails max_mails bigint(20) not null default '0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Spalten max_mails und receive_mails auf bigint(20) gesetzt."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('user', 'sub_points', '{!POINTS!} abziehen', 'Allen oder einem Mitglied {!POINTS!} abziehen.', 8)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abzug von {!POINTS!} nun möglich."; + break; + + case "0.2.7": // SQL queries for v0.2.7 + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort) VALUES ('main', 'themes', 'Designs', 6)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD curr_theme varchar(255) not null default 'default'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD stats_limit bigint(20) not null default '10'"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET what='config_stats' WHERE what='stats' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "
    +
  1. Das Mitglied kann das derzeitige Design in sein Profil abspeichern.
  2. +
  3. Mitgliederstatistik mit Seitennavigation.
  4. +
"; + break; + + case "0.2.8": // SQL queries for v0.2.8 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD last_login varchar(10) not null default '0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Letzter Login wird gespeichert, Cache wird bei installierter Cache-Erweiterung bei Sprachenänderung aufgefrischt."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD mt_word varchar(255) not null default 'Mailtausch'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD mt_word2 varchar(255) not null default 'Mailtausches'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD mt_word3 varchar(255) not null default 'Mailtauscher'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title='{!POINTS!}/Referral-Ebenen' WHERE what='config_points' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title='Mailvergütungen...' WHERE what='payments' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Zwei Menüpunkte umbenannt."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_extensions ADD UNIQUE KEY (ext_name)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_themes ADD UNIQUE KEY (theme_path)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_themes ADD INDEX (theme_active)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins ADD UNIQUE KEY (login)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD INDEX (status)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_refbanner ADD INDEX (visible)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_refdepths ADD UNIQUE KEY (level)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_refsystem ADD INDEX (level)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_pool ADD INDEX (data_type)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_mod_reg ADD UNIQUE KEY (module)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admin_menu ADD INDEX (action)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admin_menu ADD INDEX (what)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_task_system ADD INDEX (task_type)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_task_system ADD INDEX (status)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_task_system ADD INDEX (task_created)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_task_system ADD FULLTEXT (subject)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_task_system ADD INDEX (subject)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_extensions ADD INDEX (ext_active)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD INDEX (status)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD FULLTEXT (family)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD INDEX (max_mails)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD INDEX (password)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_guest_menu ADD INDEX (action)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_guest_menu ADD INDEX (what)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_guest_menu ADD INDEX (sort)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_guest_menu ADD INDEX (visible)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_guest_menu ADD INDEX (locked)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_member_menu ADD INDEX (what)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_member_menu ADD INDEX (sort)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_member_menu ADD INDEX (visible)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_member_menu ADD INDEX (locked)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_cats ADD INDEX (visible)"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_cats ADD INDEX (sort)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Eindeutige Schlüssel (UNIQUE KEY) und normale Schlüssel (INDEX) gesetzt."; + break; + + case "0.3.2": // SQL queries for v0.3.2 + // Connection table between the menu system and the "logical area" system + $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admin_menu_las"; + $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_admin_menu_las ( +id bigint(20) not null auto_increment, +la_id varchar(255) not null default '', +la_action varchar(255) not null default '', +la_what varchar(255) not null default '', +INDEX (la_id), +INDEX (la_action), +INDEX (la_what), +PRIMARY KEY(id) +) TYPE=MyISAM"; + // All "logical areas" together + $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admin_menu_las_data"; + $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_admin_menu_las_data ( +id bigint(20) not null auto_increment, +la_id varchar(255) not null default '', +la_title varchar(255) not null default '', +la_posx bigint(20) not null default '0', +la_posy bigint(20) not null default '0', +UNIQUE KEY (la_id), +INDEX (la_posx), +INDEX (la_posy), +PRIMARY KEY(id) +) TYPE=MyISAM"; + // Which menu do you like? + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD admin_menu enum('NEW', 'OLD') not null default 'OLD'"; + + // Insert menus + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('setup', 'config_admin', 'Adminmenü', 'Diverse Einstellungen am Adminmenü vornehmen.', 9)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Logische Bereiche (Logical Areas = LAs) eingeführt. Dadurch wird das immer stärker anwachsende Admin-Menü in grosse Hauptgruppen unterteilt, wodurch ein Auffinden von Menüpunkten verbessert wird."; + break; + + case "0.3.3": // SQL queries for v0.3.3 + // Switch of the "intelligent menu sorter" when you want to have a fixed menu structure... + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD admin_menu_sorter enum('Y', 'N') not null default 'Y'"; + + // The statistics table + $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admin_menu_stats"; + $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_admin_menu_stats ( +id bigint(20) not null auto_increment, +aid bigint(20) not null default '0', +type enum('la', 'action', 'what') not null default 'what', +clicks bigint(20) not null default '0', +INDEX (aid), +PRIMARY KEY (id) +) TYPE=MyISAM"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Admin-abhängig werden nun Klicks im Admin-Menü gezählt, die zur automatischen Anpassung des Menüs in den logischen Bereichen diennen. Dieses "intelligente Unbauen" können Sie auch ganz abschalten."; + break; + + case "0.3.4": // SQL queries for v0.3.4 + // List accounts with no referral + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('user', 'list_norefs', 'Mitglieder ohne Werber', 'Finden Sie hier alle Mitglieder-Accounts, die von niemandem ({--MAIN_TITLE--} wird in der Mail als Werber angegebenen) geworben wurden.', 7)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fügt den Menüpunkt "Mitglieder ohne Werber" in die Mitglieder-Management hinzu. Mit dieser neuen Funktion können Sie nach Mitglieder-Accounts ohne Werber suchen. TODO-ID #2 CLOSED"; + break; + + case "0.3.5": // SQL queries for v0.3.5 + // List accounts with no referral + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('stats', '', 'Statistiken', 4, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('stats', 'stats2', 'Framekiller-Mails', 2, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('extras', '', 'Extras', 5, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('rals', '', 'Rallyes', 6, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('account', '', 'Ihr Account', 7, 'Y', 'N')"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET sort='8' WHERE action='themes' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='stats', sort='1', title='Klick-Mails' WHERE what='stats' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='account', sort='1', title='Designs' WHERE what='themes' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='extras', sort='3' WHERE what='reflinks' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + break; + + case "0.3.6": // SQL queries for v0.3.6 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD salt_length tinyint(4) not null default '9'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD pass_scramble varchar(255) not null default ''"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data MODIFY password varchar(255) not null default ''"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data MODIFY user_hash varchar(255) not null default ''"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins MODIFY password varchar(255) not null default ''"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD rand_no bigint(20) not null default '0'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD file_hash varchar(255) not null default ''"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD master_salt varchar(255) not null default ''"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_config SET rand_no=(ROUND(RAND() * 99999) + 100000) WHERE config='0' LIMIT 1"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_mod_reg ADD has_menu enum('Y', 'N') NOT NULL default 'N'"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_mod_reg SET has_menu='Y' WHERE module='admin' OR module='index' OR module='login' LIMIT 3"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Passwort-System mit Zufallshash erweitert (Schutzt gegen Dictionary-Attacks!)"; + break; + + case "0.3.7": // SQL queries for v0.3.7 + $UPDATE_NOTES = "Problem während des Installationsvorganges behoben."; + break; + + case "0.3.8": // SQL queries for v0.3.8 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admin_menu CHANGE descr descr MEDIUMTEXT NULL"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_pool CHANGE `text` `text` LONGTEXT NOT NULL"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Beschreibungstexte für Admin-Menüs können länger sein. Diverse Fixes."; + break; + + case "0.3.9": // SQL queries for v0.3.9 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = REPLACE(title, '--POINTS--', '!POINTS!') WHERE title LIKE '%--POINTS--%'"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET descr = REPLACE(descr, '--POINTS--', '!POINTS!') WHERE descr LIKE '%--POINTS--%'"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET title = REPLACE(title, '--POINTS--', '!POINTS!') WHERE title LIKE '%--POINTS--%'"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET title = REPLACE(title, '--POINTS--', '!POINTS!') WHERE title LIKE '%--POINTS--%'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Beschreibungstexte für Admin-Menüs können länger sein. Diverse Fixes."; + break; + + case "0.4.0": // SQL queries for v0.4.0 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Email-Management' WHERE action = 'email' AND what='' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Email-Verwaltung nach Email-Management umbenannt."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + + // When the sql_patches is not installed we cannot load it's configuration... *sigh* + if (GET_EXT_VERSION("sql_patches") != "") { + $CONFIG['ext_autopurge'] = $DUMMY['ext_autopurge']; + $CONFIG['mails_page'] = $DUMMY['mails_page']; + $CONFIG['index_home'] = $DUMMY['index_home']; + $CONFIG['verbose_sql'] = $DUMMY['verbose_sql']; + $CONFIG['middot'] = $DUMMY['menu_blur_spacer']; + $CONFIG['reg_points_mode'] = $DUMMY['reg_points_mode']; + $CONFIG['index_delay'] = $DUMMY['index_delay']; + $CONFIG['index_cookie'] = $DUMMY['index_cookie']; + $CONFIG['def_refid'] = $DUMMY['def_refid']; + $CONFIG['refid_target'] = $DUMMY['refid_target']; + $CONFIG['default_theme'] = $DUMMY['default_theme']; + $CONFIG['title_decoration'] = $DUMMY['enable_title_deco']; + $CONFIG['title_mod_show'] = $DUMMY['enable_mod_title']; + $CONFIG['title_what_show'] = $DUMMY['enable_what_title']; + $CONFIG['title_left'] = $DUMMY['title_left']; + $CONFIG['title_middle'] = $DUMMY['title_middle']; + $CONFIG['title_right'] = $DUMMY['title_right']; + $CONFIG['mad_counter'] = $DUMMY['mad_count']; + $CONFIG['last_mad'] = $DUMMY['mad_timestamp']; + $CONFIG['css_php'] = $DUMMY['css_php']; + $CONFIG['guest_menu'] = $DUMMY['guest_menu']; + $CONFIG['member_menu'] = $DUMMY['member_menu']; + $CONFIG['youre_here'] = $DUMMY['youre_here']; + $CONFIG['img_type'] = $DUMMY['img_type']; + $CONFIG['stats_limit'] = $DUMMY['stats_limit']; + $CONFIG['admin_menu'] = $DUMMY['admin_menu']; + $CONFIG['admin_menu_sorter'] = $DUMMY['admin_menu_sorter']; + $CONFIG['salt_length'] = $DUMMY['salt_length']; + $CONFIG['pass_scramble'] = trim($DUMMY['pass_scramble']); + $CONFIG['file_hash'] = trim($DUMMY['file_hash']); + $CONFIG['master_salt'] = trim($DUMMY['master_salt']); + $CONFIG['secret_key'] = ""; + + // Read key from secret file + if ((empty($CONFIG['file_hash'])) || (empty($CONFIG['master_salt'])) || (empty($CONFIG['pass_scramble']))) + { + // Maybe need setup of secret key! + require_once(PATH."inc/gen_sql_patches.php"); + + if (GET_EXT_VERSION("cache") >= "0.1.2") + { + // Remove extensions and mod_reg cache file + require_once(PATH."inc/libs/cache_functions.php"); + require_once(PATH."inc/extensions/ext-cache.php"); + if ($CACHE->cache_file("extensions", true)) $CACHE->cache_destroy(); + if ($CACHE->cache_file("mod_reg", true)) $CACHE->cache_destroy(); + } + } + + // Test again + if ((!empty($CONFIG['file_hash'])) && (!empty($CONFIG['master_salt'])) && (!empty($CONFIG['pass_scramble']))) + { + // File hash fas generated so we can also file the secret file... hopefully. + if ((file_exists(PATH."inc/.secret/.".$CONFIG['file_hash'])) && (is_readable(PATH."inc/.secret/.".$CONFIG['file_hash']))) + { + $CONFIG['secret_key'] = implode("", file(PATH."inc/.secret/.".$CONFIG['file_hash'])); + } + else + { + // Cannot read secret file! + die("Cannot read secret file!"); + } + } + + // Transfer words/numbers to constants + define('POINTS' , $DUMMY['points_word']); + define('MT_WORD' , $DUMMY['mt_word']); + define('MT_WORD2', $DUMMY['mt_word2']); + define('MT_WORD3', $DUMMY['mt_word3']); + define('_MAX' , $DUMMY['rand_no']); + } else { + // Set some lame ;-) default settings + $CONFIG['def_refid'] = 0; + $CONFIG['title_decoration'] = "N"; + $CONFIG['title_mod_show'] = "Y"; + $CONFIG['title_middle'] = "-"; + //$CONFIG['verbose_sql'] = "N"; + define('MT_WORD' , DEFAULT_MT_WORD ); + define('MT_WORD2', DEFAULT_MT_WORD2); + define('POINTS' , DEFAULT_POINTS); + } + + // Remove dummy config array + unset($DUMMY); + break; +} + +// Language file prefix (hmmm, what shall I write with SQL fixes? ;-) ) +$EXT_LANG_PREFIX = "sql_patches"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "Y"; + +// +?> \ No newline at end of file diff --git a/0.2.1/inc/extensions/ext-support.php b/0.2.1/inc/extensions/ext-support.php new file mode 100644 index 0000000000..205674fbe1 --- /dev/null +++ b/0.2.1/inc/extensions/ext-support.php @@ -0,0 +1,139 @@ +Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Dateiamenskonflikt zwischen den Erweiterungen support und order behoben."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate vom 27.08.2005."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern der Support-Anfrage repariert und Mail wird an Mitglied wieder versendet."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "support"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-task.php b/0.2.1/inc/extensions/ext-task.php new file mode 100644 index 0000000000..7e634b4dcb --- /dev/null +++ b/0.2.1/inc/extensions/ext-task.php @@ -0,0 +1,255 @@ +Warning: Missing argument 2 for create_timestamp_from_selections() in ".PATH."inc/libs/pro_functions.php on line 227 behoben."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "&admin= in &amp;admin= umgewandelt."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erstellung der Extra-Übersichten verbessert."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler bei Abfrage der payout-Erweiterung beseitigt."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Task-Liste ausgelagert als Template"; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Design "Solid-Business" eingebaut."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link zum Mitgliedsprofil in Funktion ADMIN_USER_PROFILE_LINK() ausgelagert."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Links wegen what=admins_contct geändert."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Weitere Direkt-Links eingebaut:
+"; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Direkt Links zum Sponsorenbereich vorbereitend eingebaut."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Es werden alle installierten und aktivierten Themes angezeigt und verlinkt."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "CSS-Datei in general.css verschmolzen (Patch 435!)"; + break; + + case "0.2.0": // SQL queries for v0.2.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Alle Administratoren, Referral-Banner und aktivierte Referral-Banner werden nun eingeblendet."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit überlanger Textbreite beseitigt."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link zum Freischalten von Sponoren-Accounts korregiert."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sortierungsreihenfolge grundlegend geändert: Es wird jetzt nach Mitglieder-ID, Aufgabenbereich, Infos und nach dem Erstellunsdatum sortiert."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Nur mit bonus v0.6.9 oder höher: Zuschaltbare Bonis werden auch bei der Ermittlung Anzahl teilnehmender Mitglieder mit ber&uumk;cksichtigt."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Teilnehmer der Bettel-Rallye werden angezeigt."; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link zum direkten Aufheben einer Urlaubsschaltung eines Mitgliedes korregiert."; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "if-Anweisungen auf Funktion empty() umgestellt. Update-Aufgaben werden nach "Bearbeitung" nicht mehr als Erledigt gesetzt. Dies hatte sonst den Anschein, die Update-Aufgaben müssten erledigt werden, um die Erweiterungs-Updates einzuspielen, was aber automatisch geschieht."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Export-Accounts werden in Task-Übersicht aufgelistet."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Diverse Fixes an den Templates (Notice-Hinweise vom PHP-Interpreter entfernt)."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "task"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-theme.php b/0.2.1/inc/extensions/ext-theme.php new file mode 100644 index 0000000000..248ba1bac5 --- /dev/null +++ b/0.2.1/inc/extensions/ext-theme.php @@ -0,0 +1,118 @@ +setcookie() mit @-Zeichen gegen ungewollte Ausgaben abgesichert."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Variablen-Handling skriptglobal geändert."; + break; + } + break; + +default: // Do stuff when extension is loaded + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "theme"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-top10.php b/0.2.1/inc/extensions/ext-top10.php new file mode 100644 index 0000000000..20abaafbc0 --- /dev/null +++ b/0.2.1/inc/extensions/ext-top10.php @@ -0,0 +1,158 @@ +Column: 'userid' in group statement is ambiguous im Gastbereich beseitigt."; + break; + + case "0.0.2": // SQL queries for v0.0.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert."; + break; + + case "0.0.3": // SQL queries for v0.0.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.0.4": // SQL queries for v0.0.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Im Gastbereich konnte als Nicht-Admin die Seite nicht geöffnet werden."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Design "Solid-Business" eingebaut."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Rechtschreibefehler beseitigt."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['top10_max'] = $DUMMY['top10_max']; + unset($DUMMY); + break; +} + +// Language file prefix +$EXT_LANG_PREFIX = "top10"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-transfer.php b/0.2.1/inc/extensions/ext-transfer.php new file mode 100644 index 0000000000..45fa47f6cf --- /dev/null +++ b/0.2.1/inc/extensions/ext-transfer.php @@ -0,0 +1,315 @@ +Warning: Missing argument 2 for create_timestamp_from_selections() in ".PATH."inc/libs/pro_functions.php on line 227 behoben."; + break; + + case "0.0.3": // SQL queries for v0.0.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Überflüssige unset()-Anweisungen aus der what-config_transfer.php entfernt. Dies wird bereits von der eigenen Funktion ADMIN_SAVE_SETTINGS() erledigt."; + break; + + case "0.0.3": // SQL queries for v0.0.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist."; + break; + + case "0.0.5": // SQL queries for v0.0.5 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD ap_transfer enum('Y', 'N') not null default 'Y'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link Auflisten im Admin-Bereich hatte das eingeloggte Mitglied und nicht den eingeloggten Admin abgefragt. Automatisches Löschen von veraltete Einträgen kann unabhängig von der autopurge-Erweiterung de-/aktiviert werden. Bitte aktualisieren Sie auch die beiden Admin-Templates!"; + break; + + case "0.0.6": // SQL queries for v0.0.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert."; + break; + + case "0.0.7": // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.0.8": // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit E in Transaktionsnummer beseitigt."; + break; + + case "0.0.9": // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + break; + + case "0.1.0": // SQL queries for v0.1.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + break; + + case "0.1.1": // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Design "Solid-Business" eingebaut."; + break; + + case "0.1.2": // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.1.3": // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link zum Mitgliedsprofil in Funktion ADMIN_USER_PROFILE_LINK() ausgelagert."; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Template admin_config_transfer_pro.tpl ist überflüssig geworden. Bitte löschen Sie dies!"; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wort Punkte dynamisiert."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Parser-Error im Mitgliedsbereich beseitigt."; + break; + + case "0.2.0": // SQL queries for v0.2.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Durchführung des Transfers korregiert."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu_las (la_id, la_action, la_what) VALUES ('member', '', 'list_transfer')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu_las (la_id, la_action, la_what) VALUES ('member', '', 'del_transfer')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu_las (la_id, la_action, la_what) VALUES ('config', '', 'config_transfer')"; + + // Depends on sql_patches (or you have to execute these both SQL statements by phpMyAdmin + $EXT_UPDATE_DEPENDS = "sql_patches"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erweiterung in's neue Menüsystem integriert."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Touring-Code wiederholen nach Touring-Code eingeben hin geändert."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='extras', sort='5' WHERE what='transfer' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Mitgliedsmenü komplett geändert."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Die ".POINTS." können nun wieder wie gewohnt transferiert werden. Der Grund für ".TRANSFER_INVALID_PASSWORD." war, dass der Cookie-Hash ein anderer ist, als der in der Datenbank... :-/"; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlermeldung Notice: Undefined index: to_uid in ".PATH."/inc/modules/member/what-transfer.php on line 301 gefixt. Danke an Piter01."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + // Maximum of listed transfers for out- and in-transfers + $CONFIG['transfer_max'] = $DUMMY['transfer_max']; + // Age in seconds + $CONFIG['transfer_age'] = $DUMMY['transfer_age']; + // Lock timeout for member settings + $CONFIG['transfer_timeout'] = $DUMMY['transfer_timeout']; + // Balance after points transfer + $CONFIG['transfer_balance'] = $DUMMY['transfer_balance']; + // Length of touring code + $CONFIG['transfer_code'] = $DUMMY['transfer_code']; + // Length of touring code + $CONFIG['ap_transfer'] = $DUMMY['ap_transfer']; + unset($DUMMY); + + if ((defined('__DAILY_RESET')) && ($CONFIG['ap_transfer'] == "Y")) + { + // Automatically remove outdated or not displayed transactions + TRANSFER_AUTPPURGE($CONFIG['transfer_max'], $CONFIG['transfer_age']); + } + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "transfer"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "N"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-user.php b/0.2.1/inc/extensions/ext-user.php new file mode 100644 index 0000000000..dfa638fdc2 --- /dev/null +++ b/0.2.1/inc/extensions/ext-user.php @@ -0,0 +1,225 @@ +Sie sind hier im Menüpunkt Online-Liste erweitert."; + break; + + case "0.1.4": // SQL queries for v0.1.4 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD emails_received bigint(20) not null default '0'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Anzahl empfangener Mails wird angezeigt. Diese Anzeige kann fehlerhaft sein, wenn Sie bereits Mitglieder in Ihrem {!MT_WORD!} haben sollen!"; + break; + + case "0.1.5": // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.6": // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + break; + + case "0.1.7": // SQL queries for v0.1.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Erweiterung bleibt wegen integrierten Schalters immer aktiv."; + break; + + case "0.1.8": // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + break; + + case "0.1.9": // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Link zum Mitgliedsprofil in Funktion ADMIN_USER_PROFILE_LINK() ausgelagert."; + break; + + case "0.2.0": // SQL queries for v0.2.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "User-Liste ausgelagert in Templates und überbreite Zeile in 2er-Zeile umgewandelt."; + break; + + case "0.2.1": // SQL queries for v0.2.1 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD user_alpha tinyint(4) not null default '10'"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('setup', 'config_user', 'Mitgliederliste', 'Anzahl Mitglieder pro Seite, Anzahl Buchstaben pro Zeile usw.', 8)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "User-Liste ist konfigurierbar: Anzahl Mitglieder pro Seite und Anzahl Buchstaben pro Zeile; Template-Fehler beseitigt."; + break; + + case "0.2.2": // SQL queries for v0.2.2 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data CHANGE sex sex enum('M', 'F', 'C') not null default 'M'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Anrede "Firma" hinzugefügt."; + break; + + case "0.2.3": // SQL queries for v0.2.3 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Datumsformat festgelegt auf ausführlich."; + break; + + case "0.2.4": // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + break; + + case "0.2.5": // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "SQL-Anweisungen abgesichert."; + break; + + case "0.2.6": // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + break; + + case "0.2.7": // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + break; + + case "0.2.8": // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "if-Anweisungen auf Funktion empty() umgestellt."; + break; + + case "0.2.9": // SQL queries for v0.2.9 + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('user', 'user_contct', 'Mitglied kontaktieren', 'Kontaktieren Sie hier Ihre Mitglieder ganz direkt über ein Webformular. Sie brauchen somit kein EMail-Programm mehr starten!', 8)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Admin-Kontaktformular hinzugefügt."; + break; + + case "0.3.0": // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt.
Diverse Fixes für 0.2.1-Beta1 Release."; + break; + + case "0.3.1": // SQL queries for v0.3.1 + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Mitglieder-Management' WHERE action = 'user' AND what='' LIMIT 1"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Verwaltung auf Management umgestellt"; + break; + + case "0.3.2": // SQL queries for v0.3.2 + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "PHP-Hinweis in Userauflistung gefixt (trat bei fehlender nickname-Erweiterung auf) und Darstellungsfehler von 0.00000 unbestätigten Mails gefixt."; + break; + } + break; + +default: // Do stuff when extension is loaded + $DUMMY = LOAD_CONFIG("0"); + $CONFIG['user_limit'] = $DUMMY['user_limit']; + $CONFIG['user_alpha'] = $DUMMY['user_alpha']; + unset($DUMMY); + break; +} +// Language file prefix +$EXT_LANG_PREFIX = "user"; + +// Extension is always active? +$EXT_ALWAYS_ACTIVE = "Y"; + +// +?> diff --git a/0.2.1/inc/extensions/ext-wernis.php b/0.2.1/inc/extensions/ext-wernis.php new file mode 100644 index 0000000000..04588c87a3 --- /dev/null +++ b/0.2.1/inc/extensions/ext-wernis.php @@ -0,0 +1,116 @@ + diff --git a/0.2.1/inc/fatal_errors.php b/0.2.1/inc/fatal_errors.php new file mode 100644 index 0000000000..57b9bf3372 --- /dev/null +++ b/0.2.1/inc/fatal_errors.php @@ -0,0 +1,93 @@ + 0) || (!empty($FATAL[0]))) +{ + // Main div container + LOAD_TEMPLATE("fatal_header"); + + // Set unset variable + if (empty($check)) $check = ""; + if (mxchange_installing) { + // While we are installing ouput other header than while it is installed... :-) + $OUT = ""; + foreach ($FATAL as $key=>$value) { + // Prepare content for the template + $content = array( + 'key' => ($key + 1), + 'value' => $value + ); + + // Load row template + $OUT .= LOAD_TEMPLATE("install_fatal_row", true, $content); + } + + // Load main template + LOAD_TEMPLATE("install_fatal_table", false, $OUT); + } elseif (mxchange_installed) { + // Display all runtime fatal errors + $OUT = ""; + foreach ($FATAL as $key=>$value) { + // Prepare content for the template + $content = array( + 'key' => ($key + 1), + 'value' => $value + ); + + // Load row template + $OUT .= LOAD_TEMPLATE("runtime_fatal_row", true, $content); + } + + // Load main template + mxchange_die(LOAD_TEMPLATE("runtime_fatal_table", true, $OUT)); + } + $CORR = FATAL_REPORT_ERRORS; + + // PHP warnings fixed + if ($check == "done") { + if (IS_ADMIN()) $CORR = FATAL_CORRECT_ERRORS; + } + + // Load footer template + LOAD_TEMPLATE("fatal_footer", false, $CORR); +} + +// +?> diff --git a/0.2.1/inc/footer.php b/0.2.1/inc/footer.php new file mode 100644 index 0000000000..ac69417377 --- /dev/null +++ b/0.2.1/inc/footer.php @@ -0,0 +1,96 @@ + +"); + } + + // Output the generated HTML code or do nothing in direct-mode + if (!empty($FATAL[0])) + { + // Output fatal error messages + require_once(PATH."inc/fatal_errors.php"); + } + + // Shall we display the copyright notice? + if ((empty($frame)) && (basename($_SERVER['PHP_SELF']) != "mailid_top.php") && (WRITE_FOOTER == true)) + { + LOAD_TEMPLATE("copyright"); + } + + // Load page footer + LOAD_TEMPLATE("page_footer"); + + if (((frameset_active) || ($GLOBALS['module'] == "frametester")) && ($FOOTER == "1")) + { + // Add the closing NOFRAMES tag + OUTPUT_HTML (""); + } + // And the last closing HTML tag + OUTPUT_HTML (""); + + // Footer has been reached + $FOOTER = 1; + + // Output HTML code + OUTPUT_HTML (""); + + // Close link + if ($link) { SQL_CLOSE($link, __FILE__, __LINE__); } else { ADD_FATAL(NO_DB_LINK); } +} + elseif ($CSS == "1") +{ + // Footer has been reached + $FOOTER = 1; + + // Output CSS content + OUTPUT_HTML (""); +} +// +?> diff --git a/0.2.1/inc/functions.php b/0.2.1/inc/functions.php new file mode 100644 index 0000000000..78a2a183e1 --- /dev/null +++ b/0.2.1/inc/functions.php @@ -0,0 +1,2073 @@ + + + "; + OUTPUT_HTML ($OUT); +} +// Close a table (you may want to add some footer stuff here) +function CLOSE_TABLE($ADD="") +{ + OUTPUT_HTML (" +"); + if (!empty($ADD)) OUTPUT_HTML ($ADD); + OUTPUT_HTML (""); +} +// Output HTML code directly or "render" it. You addionally switch the new-line character off +function OUTPUT_HTML ($HTML, $NEW_LINE = true) { + // Some global variables + global $OUTPUT, $FOOTER, $CSS; + + // Do we have HTML-Code here? + if (!empty($HTML)) { + // Yes, so we handle it as you have configured + switch (OUTPUT_MODE) + { + case "render": + // That's why you don't need any \n at the end of your HTML code... :-) + if (_OB_CACHING == "on") + { + // Output into PHP's internal buffer + echo stripslashes($HTML); + + // That's why you don't need any \n at the end of your HTML code... :-) + if ($NEW_LINE) echo "\n"; + } + else + { + // Render mode for old or lame servers... + $OUTPUT .= $HTML; + + // That's why you don't need any \n at the end of your HTML code... :-) + if ($NEW_LINE) $OUTPUT .= "\n"; + } + break; + + case "direct": + // If we are switching from render to direct output rendered code + if ((!empty($OUTPUT)) && (_OB_CACHING != "on")) { echo $OUTPUT; $OUTPUT = ""; } + + // The same as above... ^ + echo stripslashes($HTML); + if ($NEW_LINE) echo "\n"; + break; + + default: + // Huh, something goes wrong or maybe you have edited config.php ??? + die ("".FATAL_ERROR.": ".LANG_NO_RENDER_DIRECT); + break; + } + } elseif ((_OB_CACHING == "on") && ($FOOTER == 1)) { + // Output cached HTML code + $OUTPUT = ob_get_contents(); + + // Clear output buffer for later output + ob_end_clean(); + + if ((EXT_IS_ACTIVE("rewrite", true)) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) { + $OUTPUT = REWRITE_LINKS($OUTPUT); + } + + // Compile and run finished rendered HTML code + while (strpos($OUTPUT, "{!") > 0) { + $eval = "\$OUTPUT = \"" . COMPILE_CODE(addslashes($OUTPUT)) . "\";"; + @eval($eval); + } + + // Output code here, DO NOT REMOVE! ;-) + echo stripslashes($OUTPUT); + flush(); + } elseif ((OUTPUT_MODE == "render") && (!empty($OUTPUT))) { + // Rewrite links when rewrite extension is active + if ((EXT_IS_ACTIVE("rewrite", true)) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) { + $OUTPUT = REWRITE_LINKS($OUTPUT); + } + + // Compile and run finished rendered HTML code + while (strpos($OUTPUT, "{!") > 0) { + $eval = "\$OUTPUT = \"" . COMPILE_CODE(addslashes($OUTPUT)) . "\";"; + @eval($eval); + } + + // Output code here, DO NOT REMOVE! ;-) + echo stripslashes($OUTPUT); + flush(); + } +} +// Add a fatal error message to the queue array +function ADD_FATAL ($message, $extra="") +{ + global $FATAL; + if (empty($extra)) { + // Regular text message to add to $FATAL + $FATAL[] = $message; + } else { + // $message is text with a mask plus extras to insert into the text + $FATAL[] = sprintf($message, $extra); + } +} +// Load a template file and return it's content (only it's name; do not use ' or ") +function LOAD_TEMPLATE($template, $return=false, $content="") +{ + // Add more variables which you want to use in your template files + global $DATA, $username; + $ACTION = SQL_ESCAPE($GLOBALS['action']); + $WHAT = SQL_ESCAPE($GLOBALS['what']); + $ret = ""; + if (empty($GLOBALS['refid'])) $GLOBALS['refid'] = 0; + $REFID = $GLOBALS['refid']; + + if ($template == "member_support_form") + { + // Support request of a member + $result = SQL_QUERY_ESC("SELECT sex, surname, family FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1", + array($GLOBALS['userid']), __FILE__, __LINE__); + list($sex, $surname, $family) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + $salut = TRANSLATE_SEX($sex); + } + + // Generate date/time string + $date_time = MAKE_DATETIME(time(), "1"); + + // Base directory + $BASE = PATH."templates/".GET_LANGUAGE()."/html/"; + $MODE = ""; + + // Check for admin/guest/member templates + if (strpos($template, "admin_") > -1) + { + // Admin template found + $MODE = "admin/"; + } + elseif (strpos($template, "guest_") > -1) + { + // Guest template found + $MODE = "guest/"; + } + elseif (strpos($template, "member_") > -1) + { + // Member template found + $MODE = "member/"; + } + elseif (strpos($template, "install_") > -1) + { + // Installation template found + $MODE = "install/"; + } + elseif (strpos($template, "ext_") > -1) + { + // Extension template found + $MODE = "ext/"; + } + elseif (strpos($template, "la_") > -1) + { + // "Logical-area" template found + $MODE = "la/"; + } + else + { + // Test for extension + $test = substr($template, 0, strpos($template, "_")); + if (EXT_IS_ACTIVE($test)) + { + // Set extra path to extension's name + $MODE = $test."/"; + } + } + + //////////////////////// + // Generate file name // + //////////////////////// + $file = $BASE.$MODE.$template.".tpl"; + + if ((!empty($GLOBALS['what'])) && ((strpos($template, "_header") > 0) || (strpos($template, "_footer") > 0)) && (($MODE == "guest/") || ($MODE == "member/") || ($MODE == "admin/"))) + { + // Select what depended header/footer template file for admin/guest/member area + $file2 = sprintf("%s%s%s_%s.tpl", + $BASE, + $MODE, + $template, + SQL_ESCAPE($GLOBALS['what']) + ); + + // Probe for it... + if (file_exists($file2)) $file = $file2; + + // Remove variable from memory + unset($file2); + } + + // Does the special template exists? + if (!file_exists($file)) + { + // Reset to default template + $file = $BASE.$template.".tpl"; + } + + // Now does the final template exists? + if (file_exists($file)) + { + // The local file does exists so we load it. :) + $tmpl_file = implode("", file($file)); + + // Replace ' to our own chars to preventing them being quoted + while (strpos($tmpl_file, "\'") !== false) { $tmpl_file = str_replace("\'", "{QUOT}", $tmpl_file); } + + // Do we have to compile the code? + if ((strpos($tmpl_file, "\$") !== false) || (strpos($tmpl_file, '{--') !== false) || (strpos($tmpl_file, '--}') > 0)) + { + // Okay, compile it! + $tmpl_file = "\$ret=\"".COMPILE_CODE(addslashes($tmpl_file))."\";"; + eval($tmpl_file); + } + else + { + // Simply return loaded code + $ret = $tmpl_file; + } + + // Add surrounding HTML comments to help finding bugs faster + $ret = "\n".$ret."\n"; + } + elseif ((IS_ADMIN()) || ((mxchange_installing) && (!mxchange_installed))) + { + // Only admins shall see this warning or when installation mode is active + $ret = "
".TEMPLATE_404."
+(".basename($file).")
+
+".TEMPLATE_CONTENT." +
".print_r($content, true)."
+".TEMPLATE_DATA." +
".print_r($DATA, true)."
+

"; + } + if (!empty($ret)) + { + // Not empty so let's put it out! ;) + if ($return) + { + // Return the HTML code + return $ret; + } + else + { + // Output direct + OUTPUT_HTML ($ret); + } + } + elseif (DEBUG_MODE) + { + // Warning, empty output! + return "E:".$template."
\n"; + } +} +// +function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML="N", $FROM="") +{ + // Compile subject line (for POINTS constant etc.) + $eval = "\$SUBJECT = \"".COMPILE_CODE(addslashes($SUBJECT))."\";"; + eval($eval); + $SUBJECT = html_entity_decode($SUBJECT); + + // Set from header + if (!eregi("@", $TO)) + { + // Value detected, load email from database + if (EXT_IS_ACTIVE("msg")) + { + ADD_MESSAGE_TO_BOX($TO, $SUBJECT, $MSG, $HTML); + return; + } + else + { + $result_email = SQL_QUERY_ESC("SELECT email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1", array(bigintval($TO)), __FILE__, __LINE__); + list($TO) = SQL_FETCHROW($result_email); + SQL_FREERESULT($result_email); + } + } + + // Not in PHPMailer-Mode + if (!CHECK_PHPMAILER_USAGE()) { + if (empty($FROM)) { + // Load email header template + if (!DEBUG_MODE) $FROM = LOAD_EMAIL_TEMPLATE("header"); + } else { + if (!DEBUG_MODE) $FROM .= LOAD_EMAIL_TEMPLATE("header"); + } + } + + // Fix HTML parameter (default is no!) + if (empty($HTML)) $HTML = "N"; + if (DEBUG_MODE) + { + // In debug mode we want to display the mail instead of sending it away so we can debug this part + echo "
+  ".$TO."
+  ".$SUBJECT."
+  ".$MSG."
+
\n"; + } + elseif (($HTML == "Y") && (EXT_IS_ACTIVE("html_mail", true))) + { + // Send mail as HTML away + SEND_HTML_EMAIL($TO, $SUBJECT, $MSG, $FROM); + } + elseif (!empty($TO)) + { + // Compile email + $TO = COMPILE_CODE($TO); + + // Send Mail away + SEND_RAW_EMAIL(stripslashes($TO), COMPILE_CODE($SUBJECT), stripslashes($MSG), $FROM); + } + elseif ($HTML == "N") + { + // Problem found! + SEND_RAW_EMAIL(WEBMASTER, COMPILE_CODE($SUBJECT), stripslashes($MSG), $FROM); + } +} +// Check if legacy or PHPMailer command +// @private +function CHECK_PHPMAILER_USAGE() { + return (((defined('SMTP_HOSTNAME')) && (defined('SMTP_USER')) && (defined('SMTP_PASSWORD'))) || ((SMTP_HOSTNAME != "") && (SMTP_USER != ""))); +} + +// Send a raw email +// @private +function SEND_RAW_EMAIL ($to, $subject, $msg, $from) { + // Shall we use PHPMailer class or legacy mode? + if (CHECK_PHPMAILER_USAGE()) { + // Use PHPMailer class with SMTP enabled + require_once(PATH."inc/phpmailer/class.phpmailer.php"); + require_once(PATH."inc/phpmailer/class.smtp.php"); + + // get new instance + $mail = new PHPMailer(); + + $mail->IsSMTP(); + $mail->SMTPAuth = true; + $mail->Host = SMTP_HOSTNAME; + $mail->Port = 25; + $mail->Username = SMTP_USER; + $mail->Password = SMTP_PASSWORD; + $mail->From = $from; + $mail->FromName = MAIN_TITLE; + $mail->Subject = $subject; + if ((EXT_IS_ACTIVE("html_mail")) && (strip_tags($msg) != $msg)) { + $mail->Body = $msg; + $mail->AltBody = "Your mail program required HTML support to read this mail!"; + $mail->WordWrap = 70; + $mail->IsHTML(true); + } else { + $mail->Body = $msg; + } + $mail->AddAddress($to, ""); + $mail->AddReplyTo(WEBMASTER,MAIN_TITLE); + $mail->AddCustomHeader("Errors-To:".WEBMASTER); + $mail->AddCustomHeader("X-Loop:".WEBMASTER); + $mail->Send(); + } else { + // Use legacy mail() command + @mail($to, $subject, $msg, $from); + } +} +// +function GEN_PASS($LEN="x") +{ + global $CONFIG; + if ($LEN == "x") $LEN = $CONFIG['pass_len']; + // Initialize array with all allowed chars + $ABC = explode(",", "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9,-,+,_,/"); + // Initialize randomizer + mt_srand((double) microtime() * 1000000); + + // Start creating password + $PASS = ""; + for ($i = 0; $i < $LEN; $i++) + { + $PASS .= $ABC[mt_rand(0, sizeof($ABC) -1)]; + } + + // When the size is below 40 we can also add additional security by scrambling it + if (strlen($PASS) <= 40) + { + // Also scramble the password + $PASS = scrambleString($PASS); + } + return $PASS; +} +// +function MAKE_DATETIME($time, $mode="0") +{ + if ($time == 0) { + // Never happend + return NEVER_HAPPENED; + } else { + // Filter out numbers + $time = bigintval($time); + } + + switch (GET_LANGUAGE()) + { + case "de": // German date / time format + switch ($mode) + { + case "0": $ret = date("d.m.Y \u\m H:i \U\h\\r", $time); break; + case "1": $ret = strtolower(date("d.m.Y - H:i", $time)); break; + case "2": $ret = date("d.m.Y|H:i", $time); break; + case "3": $ret = date("d.m.Y", $time); break; + } + break; + + default: // Default is the US date / time format! + switch ($mode) + { + case "0": $ret = date("r", $time); break; + case "1": $ret = date("Y-m-d - g:i A", $time); break; + case "2": $ret = date("y-m-d|H:i", $time); break; + case "3": $ret = date("y-m-d", $time); break; + } + } + return $ret; +} +// +function TRANSLATE_COMMA($dotted, $cut=true) +{ + global $CONFIG; + // Default is 3 you can change this in admin area "Misc -> Misc Options" + if (empty($CONFIG['max_comma'])) $CONFIG['max_comma'] = "3"; + if (!ereg("\.", $dotted)) $dotted .= ".".str_repeat("0", $CONFIG['max_comma']); + if ($cut) + { + // Remove trailing zeros + $dot = str_replace(".", "x", $dotted); + while(substr($dot, -1, 1) == "0") + { + $dot = substr($dot, 0, -1); + } + if (substr($dot, -1, 1) == "x") + { + // Last char is the 'x' + $dotted = substr($dot, 0, -1); + } + else + { + // Last char is a number + $dotted = str_replace("x", ".", $dot); + } + } + switch (GET_LANGUAGE()) + { + case "de": + $pos = strpos($dotted, "."); + if ($pos > 0) + { + if ($cut) + { + // Cut x numbers behind comma + $dotted = str_replace(".", ",", substr($dotted, 0, ($pos + $CONFIG['max_comma'] + 1))); + } + else + { + // Replace comma with dot + $dotted = str_replace(".", ",", $dotted); + } + } + elseif (!$cut) + { + if (empty($pos)) + { + $dotted = "0,".str_repeat("0", $CONFIG['max_comma']); + } + else + { + $dotted .= ",".str_repeat("0", $CONFIG['max_comma']); + } + } + break; + + default: + if (!$cut) + { + if ($pos > 0) + { + $dotted = substr($dotted, 0, ($pos + $CONFIG['max_comma'] + 1)); + } + else + { + $dotted .= ".".str_repeat("0", $CONFIG['max_comma']); + } + } + break; + } + return $dotted; +} +// +function DEREFERER($URL) +{ + $URL = URL."/modules.php?module=loader&url=".urlencode(base64_encode(COMPILE_CODE($URL))); + return $URL; +} +// +function TRANSLATE_SEX($sex) +{ + switch ($sex) + { + case "M": $ret = SEX_M; break; + case "F": $ret = SEX_F; break; + case "C": $ret = SEX_C; break; + default : $ret = $sex; break; + } + return $ret; +} +// +function GET_POOL_TYPE($PT) +{ + switch ($PT) + { + case "TEMP" : $ret = POOL_TEMP; break; + case "SEND" : $ret = POOL_SEND; break; + case "NEW" : $ret = POOL_NEW; break; + case "ADMIN" : $ret = POOL_ADMIN; break; + case "ACTIVE" : $ret = POOL_ACTIVE; break; + case "DELETED": $ret = POOL_DELETED; break; + default : $ret = POOL_UNKNOWN." (".$PT.")"; break; + } + return $ret; +} +// +function FRAMETESTER($URL) +{ + global $_SERVER; + $URL = URL."/modules.php?module=frametester&url=".urlencode(base64_encode(COMPILE_CODE($URL))); + return $URL; +} +// +function SELECTION_COUNT($array) +{ + $ret = "0"; + if (is_array($array)) + { + foreach ($array as $key=>$sel) + { + if (!empty($sel)) $ret++; + } + } + return $ret; +} +// +function IMG_CODE ($code, $TYPE, $DATA, $uid) +{ + return "\"Code\""; +} +// +function TRANSLATE_STATUS($status) +{ + switch ($status) + { + case "UNCONFIRMED": + $ret = ACCOUNT_UNCONFIRMED; + break; + + case "CONFIRMED": + $ret = ACCOUNT_CONFIRMED; + break; + + case "LOCKED": + $ret = ACCOUNT_LOCKED; + break; + + default: + $ret = UNKNOWN_STATUS_1.$status.UNKNOWN_STATUS_2; + break; + } + return $ret; +} +// +function GET_LANGUAGE() +{ + global $_COOKIE, $_GET; + + if (!empty($_GET['mx_lang'])) + { + // Accept only first 2 chars + $lang = substr($_GET['mx_lang'], 0, 2); + } + else + { + // Do nothing + $lang = ""; + } + + // Set default return value to default language from config + $ret = DEFAULT_LANG; + + // Check GET variable and cookie + if (!empty($lang)) + { + // Check if main language file does exist + if (file_exists(PATH."inc/language/".$lang.".php")) + { + // Okay found, so let's update cookies + SET_LANGUAGE($lang); + } + } + elseif (!empty($_COOKIE['mx_lang'])) + { + // Return stored value from cookie + $ret = $_COOKIE['mx_lang']; + } + return $ret; +} +// +function SET_LANGUAGE($lang) +{ + global $CONFIG; + + // Accept only first 2 chars! + $lang = substr(SQL_ESCAPE(strip_tags($lang)), 0, 2); + + // Set cookie + @setcookie("mx_lang", $lang, (time() + $CONFIG['online_timeout']), COOKIE_PATH); + + // Set array + $_COOKIE['mx_lang'] = $lang; +} +// +function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0") +{ + global $DATA, $CONFIG, $REPLACER; + + // Keept for backward-compatiblity (please replace these variables against our new {--CONST--} syntax!) + $MAIN_TITLE = MAIN_TITLE; $URL = URL; $WEBMASTER = WEBMASTER; + $surname = ""; $family = ""; $nick = ""; $sex = "N"; + + // Prepare IP number and User Agent + $REMOTE_ADDR = getenv('REMOTE_ADDR'); + $HTTP_USER_AGENT = getenv('HTTP_USER_AGENT'); + + $ADMIN = MAIN_TITLE; + if (!empty($_COOKIE['admin_login'])) + { + // Load Admin data + $result = SQL_QUERY_ESC("SELECT email FROM "._MYSQL_PREFIX."_admins WHERE login='%s' LIMIT 1", + array(SQL_ESCAPE($_COOKIE['admin_login'])), __FILE__, __LINE__); + list($ADMIN) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + } + + // Expiration in a nice output format + if ($CONFIG['auto_purge'] == 0) + { + // Will never expire! + $EXPIRATION = MAIL_WILL_NEVER_EXPIRE; + } + elseif (function_exists('CREATE_FANCY_TIME')) + { + // Create nice date string + $EXPIRATION = CREATE_FANCY_TIME($CONFIG['auto_purge']); + } + else + { + // Display days only + $EXPIRATION = round($CONFIG['auto_purge']/60/60/24)." "._DAYS; + } + switch ($template) + { + case "bonus-mail": // Load data for the bonus mail + $BONUSID = $DATA[0]; + $content = $DATA[2]; + $POINTS = TRANSLATE_COMMA($DATA[4]); + $TIME = $DATA[5]; + $TARGET_URL = $DATA[8]; + $CATEGORY = GET_CATEGORY($DATA[9]); + $DATA[10] = $UID; + + // Replace variables + foreach ($REPLACER as $key=>$value) + { + if (isset($DATA[$key])) $content = str_replace($value, $DATA[$key], $content); + } + break; + + case "order-admin": + case "order-member": + $BLOCKS = $CONFIG['max_send']; + $SUBJECT = $DATA[0]; + $content = $DATA[1]; + $PAYMENT = GET_PAYMENT($DATA[3]); + $TARGET_URL = $DATA[5]; + $CATEGORY = GET_CATEGORY($DATA[6]); + break; + + case "order-reject": + case "order-deleted": + case "order-accept": + $TARGET_URL = $DATA[0]; + $URL = $DATA[0]; + $SUBJECT = $DATA[1]; + break; + + case "new-pass": + $PASS = $DATA[0]; + $REMOTE = $DATA[1]; + break; + + case "confirm-member": + $POINTS = $CONFIG['points_register']; + break; + + case "confirm-referral": + $PERCENT = $DATA[0]; + $LEVEL = $DATA[1]; + $POINTS = $DATA[2]; + $REFID = $DATA[3]; + break; + + case "normal-mail": + $SEND_UID = $DATA[1]; + $CATEGORY = GET_CATEGORY($DATA[9]); + $TIME = GET_PAY_POINTS($DATA[5], "time"); + $TARGET_URL = $DATA[7]; + $POINTS = TRANSLATE_COMMA(GET_PAY_POINTS($DATA[5], "payment")); + // Warning! This ID has changed from 10 to 11! + $MAILID = $DATA[11]; + + // Replace variables + foreach ($REPLACER as $key=>$value) + { + if (isset($DATA[$key])) $content = str_replace($value, $DATA[$key], $content); + } + break; + + case "done-member": + case "done-admin": + $SEND_UID = $DATA[1]; + $CATEGORY = GET_CATEGORY($DATA[9]); + $TARGET_URL = $DATA[7]; + break; + + case "back-admin": + case "back-member": + $POINTS = TRANSLATE_COMMA($DATA[10]); + break; + + case "add-points": + $POINTS = $_POST['points']; + break; + + case "guest_request_confirm": + $HASH = $DATA[2]; + break; + } + + // Load user's data + if ($UID > 0) + { + if (EXT_IS_ACTIVE("nickname")) + { + // Load nickname + $result = SQL_QUERY_ESC("SELECT surname, family, sex, email, nickname FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1", + array(bigintval($UID)), __FILE__, __LINE__); + list($surname, $family, $sex, $email, $nick) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + } + else + { + // Load normal data + $result = SQL_QUERY_ESC("SELECT surname, family, sex, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1", + array(bigintval($UID)), __FILE__, __LINE__); + list($surname, $family, $sex, $email) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + $nick = "---"; + } + } + else + { + // Neutral sex and email address is default + $sex = "N"; + $email = WEBMASTER; + } + + // Translate M to male or F to female + $salut = TRANSLATE_SEX($sex); + + // Store email for some functions in global data array + $DATA['email'] = $email; + + // Base directory + $BASE = PATH."templates/".GET_LANGUAGE()."/emails/"; + + // Check for admin/guest/member templates + if (strpos($template, "admin_") > -1) + { + // Admin template found + $file = $BASE."admin/".$template.".tpl"; + } + elseif (strpos($template, "guest_") > -1) + { + // Guest template found + $file = $BASE."guest/".$template.".tpl"; + } + elseif (strpos($template, "member_") > -1) + { + // Member template found + $file = $BASE."member/".$template.".tpl"; + } + else + { + // Test for extension + $test = substr($template, 0, strpos($template, "_")); + if (EXT_IS_ACTIVE($test)) + { + // Set extra path to extension's name + $file = $BASE.$test."/".$template.".tpl"; + } + else + { + // No special filename + $file = $BASE.$template.".tpl"; + } + } + + // Does the special template exists? + if (!@file_exists($file)) + { + // Reset to default template + $file = $BASE.$template.".tpl"; + } + + // Now does the final template exists? + if (@file_exists($file)) + { + // The local file does exists so we load it. :) + $tmpl_file = @implode("", @file($file)); + $tmpl_file = addslashes($tmpl_file); + + // Compile code + $tmpl_file = COMPILE_CODE($tmpl_file); + + // Run code + $tmpl_file = "\$content=\"".$tmpl_file."\";"; + eval($tmpl_file); + + // Replace HTML confirm chars + $content = html_entity_decode($content); + } + elseif (!empty($template)) + { + // Template file not found! + $content = TEMPLATE_404.": ".$template; + } + else + { + // No template name supplied! + $content = NO_TEMPLATE_SUPPLIED; + } + return COMPILE_CODE($content); +} +// +function MAKE_TIME($H, $M, $S, $stamp) +{ + // Extract day, month and year from given timestamp + $DAY = date("d", $stamp); + $MONTH = date("m", $stamp); + $YEAR = date("Y", $stamp); + + // Create timestamp for wished time which depends on extracted date + return mktime($H, $M, $S, $MONTH, $DAY, $YEAR); +} +// +function LOAD_URL($URL) +{ + // Add some data to URL if cookies are not accepted + if ((!defined('__COOKIES')) || (!__COOKIES)) $URL = ADD_URL_DATA($URL); + + // Probe for bot from search engine + if ((eregi("spider", getenv('HTTP_USER_AGENT'))) || (eregi("bot", getenv('HTTP_USER_AGENT'))) || (eregi("spider", getenv('HTTP_USER_AGENT')))) + { + // Search engine bot detected so let's rewrite many chars for the link + $URL = htmlentities(strip_tags($URL), ENT_QUOTES); + + // Output new location link as anchor + OUTPUT_HTML ("".$URL."\n"); + } + elseif (!headers_sent()) + { + // Load URL when headers are not sent + @header ("Location: ".str_replace("&", "&", $URL)); + } + else + { + // Output error message + include(PATH."inc/header.php"); + OUTPUT_HTML (LOAD_URL_ERROR_1.$URL.LOAD_URL_ERROR_2); + include(PATH."inc/footer.php"); + } + exit(); +} +// +function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) { + global $SEC_CHARS, $URL_CHARS; + $ARRAY = $SEC_CHARS; + + // Select smaller set of chars to replace when we e.g. want to compile URLs + if (!$full) $ARRAY = $URL_CHARS; + + // Compile constants + if ($constants) { + // BEFORE 0.2.1 : Language and data constants + // WITH 0.2.1+ : Only language constants + $code = str_replace("{--", '".', str_replace("--}", '."', $code)); + + // BEFORE 0.2.1 : Not used + // WITH 0.2.1+ : Data constants + $code = str_replace("{!", '".', str_replace("!}", '."', $code)); + } + + // Compile QUOT and other non-HTML codes + foreach ($ARRAY['to'] as $k => $to) { + // Do the reversed thing as in inc/libs/security_functions.php + $code = str_replace($to, $ARRAY['from'][$k], $code); + } + + // But shall I keep simple quotes for later use? + if ($simple) $code = str_replace("\'", "{QUOT}", $code); + + // Find $content[bla][blub] entries + @preg_match_all('/\$(content|DATA)((\[([a-zA-Z0-9-_]+)\])*)/', $code, $matches); + + // Are some matches found? + if ((count($matches) > 0) && (count($matches[0]) > 0)) { + // Replace all matches + $matchesFound = array(); + foreach ($matches[0] as $key=>$match) { + // Avoid replacing matches multiple times + if (!isset($matchesFound[$match])) { + // Not yet replaced! + $code = str_replace($match, "\".".$match.".\"", $code); + $matchesFound[$match] = 1; + } + + // Take all string elements + if (("".bigintval($matches[4][$key])."" != $matches[4][$key]) && (!isset($matchesFound[$key."_".$matches[4][$key]]))) { + // Replace it in the code + $code = str_replace("[".$matches[4][$key]."]", "['".$matches[4][$key]."']", $code); + $matchesFound[$key."_".$matches[4][$key]] = 1; + } + } + } + + // Return compiled code + return $code; +} +// +/************************************************************************ + * * + * Gaenderter Sortier-Algorythmus, $array wird nach dem Array (!) * + * $a_sort sortiert: * + * * + * $array - Das 3-dimensionale Array, das paralell sortiert werden soll * + * $a_sort - Array, das die Sortiereihenfolge der ersten Elementeben * + * $primary_key - Prim.rschl.ssel aus $a_sort, nach dem sortiert wird * + * $order - Sortiereihenfolge: -1 = A-Z, 0 = keine, 1 = Z-A * + * $nums - true = Als Zahlen sortieren, false = Als Zeichen sortieren * + * * + * $a_sort muss Elemente enthalten, deren Wert Schluessel von $array * + * sind... Klingt kompliziert, suchen Sie mal mein Beispiel, dann sehen * + * Sie, dass es doch nicht so schwer ist! :-) * + * * + ************************************************************************/ +function array_pk_sort(&$array, $a_sort, $primary_key = 0, $order = -1, $nums = false) +{ + $dummy = $array; + while ($primary_key < count($a_sort)) + { + foreach ($dummy[$a_sort[$primary_key]] as $key=>$value) + { + foreach ($dummy[$a_sort[$primary_key]] as $key2=>$value2) + { + $match = false; + if (!$nums) + { + // Sort byte-by-byte (also numbers will be interpreted as chars! E.g.: "9" > "10") + if (($key != $key2) && (strcmp(strtolower($dummy[$a_sort[$primary_key]][$key]), strtolower($dummy[$a_sort[$primary_key]][$key2])) == $order)) $match = true; + } + elseif ($key != $key2) + { + // Sort numbers (E.g.: 9 < 10) + if (($dummy[$a_sort[$primary_key]][$key] < $dummy[$a_sort[$primary_key]][$key2]) && ($order == -1)) $match = true; + if (($dummy[$a_sort[$primary_key]][$key] > $dummy[$a_sort[$primary_key]][$key2]) && ($order == 1)) $match = true; + } + if ($match) + { + // We have found two different values, so let's sort whole array + foreach ($dummy as $sort_key=>$sort_val) + { + $t = $dummy[$sort_key][$key]; + $dummy[$sort_key][$key] = $dummy[$sort_key][$key2]; + $dummy[$sort_key][$key2] = $t; + unset($t); + } + } + } + } + + // Count one up + $primary_key++; + } + + // Write back sorted array + $array = $dummy; +} +// +function ADD_SELECTION($TYPE, $DEFAULT, $PREFIX="", $id="0") +{ + global $MONTH_DESCR; $OUT = ""; + if ($TYPE == "yn") + { + // This is a yes/no selection only! + if ($id > 0) $PREFIX .= "[".$id."]"; + $OUT .= " \n"; + } + switch ($TYPE) + { + case "day": // Day + for ($idx = 1; $idx < 32; $idx++) + { + $OUT .= " \n"; + } + } + else + { + // Get current year and subtract 16 (for erotic content) + $OUT .= " \n"; + $YEAR = date("Y", time()) - 16; + for ($idx = 1930; $idx <= $YEAR; $idx++) + { + $OUT .= " \n"; + } + return $OUT; +} + +// +?> diff --git a/0.2.1/inc/libs/output_functions.php b/0.2.1/inc/libs/output_functions.php new file mode 100644 index 0000000000..e95766d9f2 --- /dev/null +++ b/0.2.1/inc/libs/output_functions.php @@ -0,0 +1,177 @@ +$from) + { + // Do the reversed thing as in inc/libs/security_functions.php + $code = str_replace($from, $SEC_CHARS['from'][$k], $code); + } + + // But keep simple quotes for later use + if ($simple) $code = str_replace("'", "{QUOT}", $code); + + // Return compiled code + return $code; +} +// Load a template file and return it's content (only it's name; do not use ' or ") +function get_template ($template, $return=false, $content="") +{ + // Add more variables which you want to use in your template files + global $DATA, $ACTION, $WHAT; + $REFID = bigintval($_COOKIE['refid']); + + if ($template == "member_support_form") + { + // Support request of a member + $ID = bigintval($_COOKIE['userid']); + $result = SQL_QUERY_ESC("SELECT sex, surname, family FROM "._MYSQL_PREFIX."_user_data WHERE userid='%s' LIMIT 1", array($ID), __FILE__, __LINE__); + list($sex, $surname, $family) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + $salut = TRANSLATE_SEX($sex); + } + + // Base directory + $BASE = PATH."templates/".GET_LANGUAGE()."/html/"; + $MODE = ""; + + // Check for admin/guest/member templates + if (strpos($template, "admin_") > -1) + { + // Admin template found + $MODE = "admin/"; + } + elseif (strpos($template, "guest_") > -1) + { + // Guest template found + $MODE = "guest/"; + } + elseif (strpos($template, "member_") > -1) + { + // Member template found + $MODE = "member/"; + } + elseif (strpos($template, "install_") > -1) + { + // Installation template found + $MODE = "install/"; + } + elseif (strpos($template, "mailid_") > -1) + { + // Mail confirmation template found + $MODE = "mailid/"; + } + + // Generate file name + $file = $BASE.$MODE.$template.".tpl"; + if ((!empty($HTTP_GET_VARS['what'])) && ((strpos($template, "_header") > 0) || (strpos($template, "_footer") > 0)) && (($MODE == "guest/") || ($MODE == "member/") || ($MODE == "admin/"))) + { + // Select what depended header/footer template file for admin/guest/member area + $file2 = $BASE.$MODE.$template."_".$HTTP_GET_VARS['what'].".tpl"; + + // Probe for it... + if (file_exists($file2)) $file = $file2; + + // Remove variable from memory + unset($file2); + } + + // Does the special template exists? + if (!file_exists($file)) + { + // Reset to default template + $file = PATH."templates/".GET_LANGUAGE()."/html/".$template.".tpl"; + } + + // Now does the final template exists? + if (file_exists($file)) + { + // The local file does exists so we load it. :) + $tmpl_file = implode("", file($file)); + $tmpl_file = str_replace("'", "{QUOT}", $tmpl_file); + + // Compile and run code + $ret = COMPILE_CODE(addslashes($tmpl_file), false, true); + $ret = "\n".$ret."\n"; + } + elseif (IS_ADMIN()) + { + // Only admins shall see this warning + $ret = "
".TEMPLATE_404."
+(".basename($file).") +

"; + } + if ($return) + { + // Return the HTML code + return $ret; + } + else + { + // Output directly + $this->add_html ($ret); + } +} + + // END OF CLASS +} +// +?> diff --git a/0.2.1/inc/libs/payout_functions.php b/0.2.1/inc/libs/payout_functions.php new file mode 100644 index 0000000000..e74d587bf1 --- /dev/null +++ b/0.2.1/inc/libs/payout_functions.php @@ -0,0 +1,86 @@ + 0) + { + // Pay this out! + $result = SQL_QUERY_ESC("SELECT id, type, rate, min_points +FROM "._MYSQL_PREFIX."_payout_types +WHERE %s >= min_points +ORDER BY type", array($POINTS), __FILE__, __LINE__); + if (SQL_NUMROWS($result) > 0) + { + OUTPUT_HTML ("
+
".PAYOUT_NOW.":

+
    "); + // Now let's check + while (list($id, $type, $rate, $mpoi) = SQL_FETCHROW($result)) + { + $type = COMPILE_CODE($type); + if ($POINTS >= $mpoi) + { + // Ok we found one + $P = $POINTS * $rate - 0.5; + OUTPUT_HTML ("
  • ".PAYOUT_IN.": ".$type." (".PAYOUT_MAX." ".round($P)." ".$type.")
  • "); + } + } + + // Free memory + SQL_FREERESULT($result); + OUTPUT_HTML ("
"); + } + else + { + // No payout types setup so far + OUTPUT_HTML ("

".PAYOUT_NO_PAYOUT_TYPES."

"); + } + } + else + { + // Points is empty + OUTPUT_HTML ("

".PAYOUT_NO_POINTS_ENTERED."

"); + } +} +// +?> diff --git a/0.2.1/inc/libs/pro_functions.php b/0.2.1/inc/libs/pro_functions.php new file mode 100644 index 0000000000..8ee80870c6 --- /dev/null +++ b/0.2.1/inc/libs/pro_functions.php @@ -0,0 +1,3 @@ + diff --git a/0.2.1/inc/libs/rallye_functions.php b/0.2.1/inc/libs/rallye_functions.php new file mode 100644 index 0000000000..6a59dfb102 --- /dev/null +++ b/0.2.1/inc/libs/rallye_functions.php @@ -0,0 +1,842 @@ + 0 AND d.mails_confirmed >= %s AND p.ref_depth='1' AND p.points > 0 AND d.userid=%d", + array($CONFIG['ref_payout'], bigintval($uid)), __FILE__, __LINE__); + list($cpoints) = SQL_FETCHROW($result_ref); + SQL_FREERESULT($result_ref); + + if (empty($cpoints)) $cpoints = "0.00000"; + + // Add info line + $result_ref = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_rallye_users (rallye_id, userid, refs, curr_points) +VALUES ('%s', '%s', '%s', '%s')", + array(bigintval($id), bigintval($uid), bigintval($cnt), $cpoints), __FILE__, __LINE__); + $un = true; + } + + // Ignored but for the template required refs (made before start of rallye) + $DATA['refs'] = $cnt; + + // Shall I notify this member? + if (($notify == "Y") && ($un)) + { + // Load email template and send it to the user + $msg = LOAD_EMAIL_TEMPLATE("member_rallye_notify", $prices, $uid); + SEND_EMAIL($uid, RALLYE_MEMBER_NOTIFY.$title, $msg); + } + } + + // Send email to admin + $templ = "admin_rallye_no_notify"; + if ($notify == "Y") $templ = "admin_rallye_notify"; + if (GET_EXT_VERSION("admins") < "0.4.1") + { + // Use old method to send out + $msg = LOAD_EMAIL_TEMPLATE($templ, $prices, 0); + SEND_ADMIN_EMAILS(RALLYE_ADMIN_NOTIFY.$title, $msg); + } + else + { + // Use new system to send out + SEND_ADMIN_EMAILS_PRO(RALLYE_ADMIN_NOTIFY.$title, $templ, $prices, "0"); + } + + // Free memory + SQL_FREERESULT($result_user); +} +// +function RALLYE_ADD_PRICES($rallye,$mode="email") +{ + // Output mode + switch($mode) + { + case "email": $mode = "\n"; break; + case "html" : $mode = "
\n"; break; + } + + // Load prices + $result_prices = SQL_QUERY("SELECT price_level, points, info FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id='".$rallye."' ORDER BY price_level", __FILE__, __LINE__); + if (SQL_NUMROWS($result_prices) > 0) + { + // Load prices + if ($mode == "\n") $prices = RALLYE_MEMBER_PRICES_ADDED.":".$mode."------------------------------".$mode; + $prices = ""; + while (list($level, $points, $info) = SQL_FETCHROW($result_prices)) + { + $prices .= $level.RALLYE_PRICE.": "; + if (!empty($info)) + { + $prices .= $info; + } + else + { + $prices .= $points." ".POINTS; + } + $prices .= "".$mode; + } + + // Free memory + SQL_FREERESULT($result_prices); + } + else + { + // No prices??? + $prices = RALLYE_MEMBER_NO_PRICES.$mode; + } + // Add last line for email mode + if ($mode == "\n") $prices .= "------------------------------"; + + // Return price list + return $prices; +} +// +function RALLYE_ADD_TOPUSERS($rallye,$default=0) +{ + global $CONFIG; + $since = (time() - $CONFIG['ap_in_since']); + + // First check how many prices are set + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%d ORDER BY price_level", + array(bigintval($rallye)), __FILE__, __LINE__); + $prices = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + // And load only limited users + $result = SQL_QUERY_ESC("SELECT DISTINCT u.userid, u.refs, u.curr_points FROM "._MYSQL_PREFIX."_rallye_users AS u +LEFT JOIN "._MYSQL_PREFIX."_refsystem AS r +ON u.userid=r.userid +WHERE u.rallye_id=%d AND r.counter > 0 ORDER BY u.refs DESC", + array(bigintval($rallye)), __FILE__, __LINE__); + + // Load users + $DATA = array( + 'uid' => array(), + 'ref' => array(), + 'cpoints' => array() + ); + + while(list($uid, $refs, $cpoints) = SQL_FETCHROW($result)) + { + // Get current refs + $cnt = RALLYE_GET_REFCOUNT($uid, $refs); + + // Points of ref's + $result_ref = SQL_QUERY_ESC("SELECT DISTINCT p.points FROM "._MYSQL_PREFIX."_user_points AS p +LEFT JOIN "._MYSQL_PREFIX."_user_data AS d +ON p.userid=d.userid +WHERE d.userid=%d AND d.status='CONFIRMED' AND p.ref_depth='1' AND d.max_mails > 0 AND d.mails_confirmed >= %s AND d.last_online >= %s +LIMIT 1", array(bigintval($uid), $CONFIG['ref_payout'], $since), __FILE__, __LINE__); + list($refpoints) = SQL_FETCHROW($result_ref); + SQL_FREERESULT($result_ref); + + if (empty($refpoints)) $refpoints = "0"; + + // And subtract start refs + $cnt -= $refs; + + $_uid = "---"; + // List only users with at least one ref! + if (($cnt > 0) && ($refpoints > $cpoints)) { $_uid = $uid; } else { $cnt = ""; } + + // Save values to array + $DATA['uid'][] = $_uid; + $DATA['ref'][] = $cnt; + $DATA['cpoints'][] = $cpoints; + } + + // Free memory + SQL_FREERESULT($result); + + // Sort whole array + array_pk_sort($DATA, array("ref", "cpoints"), 0, 1, true); + + // Generate table + $OUT = LOAD_TEMPLATE("guest_rallye_header", true); + $SW = 2; + for ($idx = 0; $idx < $prices; $idx++) + { + if (empty($DATA['uid'][$idx])) $DATA['uid'][$idx] = "---"; + if (empty($DATA['ref'][$idx])) $DATA['ref'][$idx] = "---"; + // Add row + $OUT .= " +   ".($idx+1).". + "; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= $DATA['uid'][$idx]; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= " + "; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= $DATA['ref'][$idx]; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= " +\n"; + $SW = 3 - $SW; + } + // Add footer + $OUT .= LOAD_TEMPLATE("guest_rallye_footer", true); + + // And finnally return the output + return $OUT; +} +// Run this function only when a new member has confirmed his email address! +function RALLYE_AUTOADD_USER($uid) +{ + global $DATA; + // Check for an auto-add rallye + $result = SQL_QUERY("SELECT id, title, start_time, end_time, send_notify FROM "._MYSQL_PREFIX."_rallye_data WHERE is_active='Y' AND notified='Y' AND auto_add_new_user='Y' AND expired='N' LIMIT 1", __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) + { + // Load data + list($id, $title, $start, $end, $notify) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + + // Check if line is already included... + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%d AND userid=%d LIMIT 1", + array(bigintval($id), bigintval($uid)), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 0) + { + // Add userid and his ref count to table + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_rallye_users (rallye_id, userid, refs) +VALUES ('%s', '%s', '0')", + array(bigintval($id), bigintval($uid)), __FILE__, __LINE__); + } + else + { + // Free memory + SQL_FREERESULT($result); + } + + if ($notify == "Y") + { + // Transfer all neccessary data to the global $DATA array + $DATA['start'] = MAKE_DATETIME($start, "2"); + $DATA['end'] = MAKE_DATETIME($end , "2"); + $DATA['now_t'] = MAKE_DATETIME(time(), "2"); + $DATA['title'] = $title; + $DATA['id'] = $id; // ID for the rallye details link + $DATA['ref'] = "0"; + + // Load prices + $prices = RALLYE_ADD_PRICES($id); + + // Send notification to member + $msg = LOAD_EMAIL_TEMPLATE("member_rallye_notify", $prices, $uid); + SEND_EMAIL($uid, RALLYE_MEMBER_NOTIFY.$title, $msg); + } + } +} +// +function RALLYE_EXPIRE_RALLYES($result) +{ + global $DATA, $CONFIG; + + // Latest online time + $since = (time() - $CONFIG['ap_in_since']); + + // Load rallye data + list($id, $title, $start, $end, $notify, $min_users, $min_prices) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + + // Load users array (!) with assigned prices + $prices = RALLYE_LOAD_USERS_ARRAY($id); + + // Init array + $DATA = array(); $cnt = 0; + $users = array(); + $DATA['title'] = $title; + $DATA['start'] = MAKE_DATETIME($start, "1"); + $DATA['end'] = MAKE_DATETIME($end , "1"); + $DATA['now_t'] = MAKE_DATETIME(time(), "1"); + + // Just count... + $TOTAL = 0; + foreach($prices['uid'] as $key=>$uid) + { + // Check status + // active = 1: account is still confirmed + // active = 0: account is deleted or locked + $result = SQL_QUERY_ESC("SELECT COUNT(userid) AS active +FROM "._MYSQL_PREFIX."_user_data +WHERE userid=%d AND status='CONFIRMED' AND last_online >= %s +LIMIT 1", array(bigintval($uid), $since), __FILE__, __LINE__); + list($active) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + + $prices['active'][$key] = $active; + + // Allow valid and active users with at least one ref to get points + if (($uid > 0) && ($prices['ref'][$key] > 0) && ($active == 1) && ($prices['cpoints'][$key] > 0)) + { + $TOTAL++; + } + } + + if (($TOTAL < $min_prices) || ($TOTAL == 0)) + { + // Do not end this rallye! + return; + } + + // Expire rallye + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_rallye_data SET expired='Y' WHERE id=%d LIMIT 1", + array(bigintval($id)), __FILE__, __LINE__); + + // Run array through (by uid is the most important 2nd-level-array) + foreach($prices['uid'] as $key=>$uid) + { + // Allow valid and active users with at least one ref to get points + if (($uid > 0) && ($prices['ref'][$key] > 0) && ($prices['active'][$key] == 1) && ($prices['cpoints'][$key] > 0)) + { + // Transfer data to array for the mail template + $DATA['level'] = $prices['level'][$key]; + $DATA['points'] = $prices['points'][$key]; + $DATA['info'] = $prices['info'][$key]; + $DATA['ref'] = $prices['ref'][$key]; + + if ($DATA['points'] > 0) + { + // Add points directly to user's account + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_points SET points=points+%s WHERE userid=%d AND ref_depth='0' LIMIT 1", + array($DATA['points'], bigintval($uid)), __FILE__, __LINE__); + + // Update mediadata as well + if (GET_EXT_VERSION("mediadata") >= "0.0.4") + { + // Update database + MEDIA_UPDATE_ENTRY(array("total_points"), "add", $DATA['points']); + } + } + + if ($notify == "Y") + { + // Prepare infos for the mail template + if (!empty($DATA['info'])) + { + // Take direct infos + $DATA['infos'] = $DATA['info']; + } + else + { + // Take points + $DATA['infos'] = $DATA['points']." ".POINTS; + } + + // Add suffix to template name + $template = "member_rallye_expired"; + if ($DATA['level'] == 1) + { + // The winner! + $template .= "_gold"; + } + elseif ($DATA['level'] == 2) + { + // The vice winner! + $template .= "_silver"; + } + elseif ($DATA['level'] == 3) + { + // The bronce winner + $template .= "_bronce"; + } + + // Load template + $msg = LOAD_EMAIL_TEMPLATE($template, $DATA, $uid); + SEND_EMAIL($uid, RALLYE_MEMBER_EXPIRED.": ".$DATA['level']." "._RALLYE_PRICE, $msg); + } + + // Count userid + $cnt++; + $users['uid'][$uid] = $uid; + $users['poi'][$uid] = $DATA['infos']; + } + } + + // Select template depending on notfication is switch on / off + if ($notify == "Y") + { + $templ = "admin_rallye_expired"; + } + elseif (is_array($users['uid'])) + { + $templ = "admin_rallye_expired_no"; + $cnt = RALLYE_LOAD_USER_DATA($users); + } + + // Send mail to admin + if (GET_EXT_VERSION("admins") < "0.4.1") + { + // Use old method to send out + $msg = LOAD_EMAIL_TEMPLATE($templ, $cnt, 0); + SEND_ADMIN_EMAILS(RALLYE_ADMIN_EXPIRED.": ".$title, $msg); + } + else + { + // Use new system to send out + SEND_ADMIN_EMAILS_PRO(RALLYE_ADMIN_EXPIRED.": ".$title, $templ, $cnt, 0); + } + + // Add task + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_task_system (status, task_type, subject, text, task_created) +VALUES ('NEW', 'RALLYE_EXPIRED', '".RALLYE_ADMIN_EXPIRED.": %s', '".RALLYE_ADMIN_EXPIRED_TEXT."', UNIX_TIMESTAMP())", + array($title), __FILE__, __LINE__); + + // All work done here... +} +// +function RALLYE_LOAD_USER_DATA($uids_array) +{ + // Implode user ids + $uid_string = implode(",", $uids_array['uid']); + + // Load users + $result = SQL_QUERY_ESC("SELECT userid, sex, surname, family, email FROM "._MYSQL_PREFIX."_user_data WHERE userid IN(%s) AND status='CONFIRMED' ORDER BY userid LIMIT %s", + array($uid_string, count($uids_array)), __FILE__, __LINE__); + $ret = ""; + while (list($u, $sex, $surname, $family, $email) = SQL_FETCHROW($result)) + { + $ret .= TRANSLATE_SEX($sex)." ".$surname." ".$family." (".$email.") - ".$uids_array['poi'][$u]."\n"; + } + + // Return result + return substr($ret, 0, -1); +} +// +function RALLYE_LOAD_PRICES_ARRAY($rallye) +{ + // Init multi array + $prices = array( + 'level' => array(), + 'points' => array(), + 'info' => array() + ); + + // Load prices + $result = SQL_QUERY_ESC("SELECT price_level, points, info FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%d ORDER BY price_level", + array(bigintval($rallye)), __FILE__, __LINE__); + while(list($level, $points, $info) = SQL_FETCHROW($result)) + { + $prices['level'][] = $level; + $prices['points'][] = $points; + $prices['info'][] = $info; + } + + // Free memory + SQL_FREERESULT($result); + + // Return array + return $prices; +} +// +function RALLYE_LOAD_USERS_ARRAY($rallye) +{ + global $CONFIG; + + // Fix zero points to 0.00000 + if ($CONFIG['ref_payout'] == "0") $CONFIG['ref_payout'] = "0.00000"; + + // Init multi array + $users = array( + 'uid' => array(), + 'ref' => array(), + 'cpoints' => array(), + ); + + // Load users uid old points earned + $result_user = SQL_QUERY_ESC("SELECT userid, refs, curr_points FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%d ORDER BY userid", + array(bigintval($rallye)), __FILE__, __LINE__); + while(list($uid, $refs, $cpoints) = SQL_FETCHROW($result_user)) + { + // Load current ref count + $cnt = RALLYE_GET_REFCOUNT($uid, $refs); + + // Points of ref's + $result_ref = SQL_QUERY_ESC("SELECT DISTINCT SUM(p.points) +FROM "._MYSQL_PREFIX."_user_points AS p +LEFT JOIN "._MYSQL_PREFIX."_user_data AS d +ON p.userid=d.userid +WHERE d.status='CONFIRMED' AND d.max_mails > 0 AND d.mails_confirmed >= %s AND p.ref_depth='1' AND p.points > 0 AND d.userid=%d", + array($CONFIG['ref_payout'], bigintval($uid)), __FILE__, __LINE__); + list($refpoints) = SQL_FETCHROW($result_ref); + SQL_FREERESULT($result_ref); + + if (empty($refpoints)) $refpoints = "0"; + + // Store calculated new refs to array + $users['uid'][] = $uid; + $users['ref'][] = abs($cnt - $refs); + $users['cpoints'][] = $refpoints - $cpoints; + } + + // Free memory + SQL_FREERESULT($result_user); + + // Sort array for refs (descending) + array_pk_sort($users, array("ref", "cpoints"), 0, 1, true); + + // Load prices array (!) + $prices = RALLYE_LOAD_PRICES_ARRAY($rallye); + + // Merge users into prices + foreach ($prices['level'] as $k=>$lvl) + { + $prices['uid'][$k] = $users['uid'][$k]; + if (empty($prices['uid'][$k])) $prices['uid'][$k] = "---"; + $prices['ref'][$k] = $users['ref'][$k]; + if (empty($prices['ref'][$k])) $prices['ref'][$k] = "---"; + $prices['cpoints'][$k] = $users['cpoints'][$k]; + } + + // Return completed array + return $prices; +} +// +function RALLYE_LIST_WINNERS($rallye,$default=0) +{ + // First check how many prices are set + $result_prices = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%d ORDER BY price_level", + array(bigintval($rallye)), __FILE__, __LINE__); + $prices = SQL_NUMROWS($result_prices); + SQL_FREERESULT($result_prices); + + // Load data + $DATA = RALLYE_LOAD_USERS_ARRAY($rallye); + + // Generate table + $OUT = LOAD_TEMPLATE("guest_rallye_expired_header", true); + $SW = 2; + for ($idx = 0; $idx < $prices; $idx++) + { + // Check status + // active = 1: account is still confirmed + // active = 0: account is deleted or locked + $result_active = SQL_QUERY_ESC("SELECT COUNT(userid) FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d AND status='CONFIRMED' LIMIT 1", + array(bigintval($DATA['uid'][$idx])), __FILE__, __LINE__); + list($active) = SQL_FETCHROW($result_active); + SQL_FREERESULT($result_active); + + if (empty($DATA['uid'][$idx])) $DATA['uid'][$idx] = "---"; + if ((empty($DATA['ref'][$idx])) || ($DATA['ref'][$idx] == 0) || ($active == 0) || ("".round($DATA['cpoints'][$idx])."" == "0") || (empty($DATA['cpoints'][$idx]))) + { + // Allow valid and active users with at least one ref to get points + $DATA['ref'][$idx] = "---"; + $DATA['uid'][$idx] = "---"; + } + if (!empty($DATA['info'][$idx])) + { + // Take direct infos + $DATA['infos'][$idx] = $DATA['info'][$idx]; + } + else + { + // Take ppints + $DATA['infos'][$idx] = $DATA['points'][$idx]." ".POINTS; + } + + // Add row + $ADD = ""; + $OUT .= " +   ".($idx+1).". + "; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= $DATA['uid'][$idx]; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= " + "; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= $DATA['ref'][$idx]; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= " + "; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= $DATA['infos'][$idx]; + if (($DATA['uid'][$idx] == $default) && ($default > 0)) $OUT .= ""; + $OUT .= " +\n"; + $SW = 3 - $SW; + } + // Add footer + $OUT .= LOAD_TEMPLATE("guest_rallye_expired_footer", true); + + // And finnally return the output + return $OUT; +} +// +function RALLYE_DELETE_EXPIRED_RALLYES() +{ + global $DATA, $CONFIG; + // Check for expired rallyes + $EXPIRE = time() - ONE_DAY * 3; // The hard-coded value... + $result_rallye = SQL_QUERY_ESC("SELECT id, title, start_time, end_time FROM "._MYSQL_PREFIX."_rallye_data WHERE end_time <= %s AND expired='Y'", + array($EXPIRE), __FILE__, __LINE__); + + if (SQL_NUMROWS($result_rallye) > 0) + { + // Expire found rallyes and notify admin + while(list($id, $title, $start, $end) = SQL_FETCHROW($result_rallye)) + { + // Prepare data for mail template + $DATA['title'] = $title; + $DATA['start'] = MAKE_DATETIME($start, "1"); + $DATA['end'] = MAKE_DATETIME($end , "1"); + $DATA['now_t'] = MAKE_DATETIME(time(), "1"); + + // Send mail to admin + if (GET_EXT_VERSION("admins") < "0.4.1") + { + // Use old method to send out + $msg = LOAD_EMAIL_TEMPLATE("admin_rallye_purged", "", 0); + SEND_ADMIN_EMAILS(RALLYE_ADMIN_PURGED.": ".$title, $msg); + } + else + { + // Use new system to send out + SEND_ADMIN_EMAILS_PRO(RALLYE_ADMIN_PURGED.": ".$title, "admin_rallye_purged", "", 0); + } + + // Purge whole rallye + $result_purge = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_data WHERE id=%d LIMIT 1", + array(bigintval($id)), __FILE__, __LINE__); + $result_purge = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%d LIMIT 1", + array(bigintval($id)), __FILE__, __LINE__); + $result_purge = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%d LIMIT 1", + array(bigintval($id)), __FILE__, __LINE__); + } + + // Add task + $result_task = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_task_system (status, task_type, subject, text, task_created) +VALUES ('NEW', 'RALLYE_PURGED', '".RALLYE_ADMIN_PURGED.": %s', '".RALLYE_ADMIN_PURGED_TEXT."', UNIX_TIMESTAMP())", + array($title), __FILE__, __LINE__); + } + + // Free memory + SQL_FREERESULT($result_rallye); +} +// +function RALLYE_TEMPLATE_SELECTION($name="template", $default="") +{ + // Check templates directory + $OUT = ""; $ral = array(); + $BASE = PATH."templates/".GET_LANGUAGE()."/html"; + $dir = opendir($BASE); + while ($read = readdir($dir)) + { + // If it is no dir (so a file) + if (!is_dir($BASE.$read)) + { + // Accept only templates matching with rallye_????.tpl.xx + if (eregi("^rallye_.*\.tpl", $read)) + { + $read = substr($read, 7, strpos($read, ".") - 7); + // Accept only template names between 1 and 255 chars length + if ((strlen($read) < 256) && (!empty($read))) $ral[] = $read; + } + } + } + closedir($dir); + + // Do we have found templates which we can link with the new rallye? + if (!empty($ral[0])) + { + // Generate selection box for all found templates + $OUT = "\n"; + } + else + { + // No rallye templates found + $OUT = RALLYE_NO_TEMPLATES_FOUND; + } + + // Return selection + return $OUT; +} +// +function RALLYE_GET_REFCOUNT($uid, $old=0) +{ + global $REF_SYSTEM, $REF_DEPTHS, $CONFIG; + // Check current refs + if (GET_EXT_VERSION("cache") >= "0.1.2") + { + // Get refs from cache + $cnt = 0; + foreach ($REF_SYSTEM['userid'] as $id=>$u_id) + { + if (($u_id == $uid) && ($REF_SYSTEM['level'][$id] == 0)) + { + foreach ($REF_DEPTHS['level'] as $level) + { + if (($level == $REF_SYSTEM['level'][$id]) && ($level == 0)) + { + // Level does exist so abort here + $cnt = $REF_SYSTEM['counter'][$id]; + //* DEBUG: */ echo "*".$uid."/".$cnt."*
"; + break; + } + elseif ($level > 0) + { + // Not interesting here... + break; + } + } + // Abort also here! + if ($cnt > 0) break; + } + } + //* DEBUG: */ echo "
";
+		//* DEBUG: */ print_r($REF_SYSTEM);
+		//* DEBUG: */ echo "
"; + //* DEBUG: */ die(); + + if ($cnt > 0) + { + // Count cache hits + $CONFIG['cache_hits']++; + + // Remove old refs + //* DEBUG: */ echo "+".$cnt."/".$old."+
"; + $cnt -= $old; + } + } + else + { + // Load current refs from database + $result_ref = SQL_QUERY_ESC("SELECT DISTINCT SUM(s.counter) AS cnt +FROM "._MYSQL_PREFIX."_refsystem AS s +LEFT JOIN "._MYSQL_PREFIX."_refdepths AS d +ON s.level=d.level +WHERE s.userid=%d AND s.level=0", array(bigintval($uid)), __FILE__, __LINE__); + list($cnt) = SQL_FETCHROW($result_ref); + SQL_FREERESULT($result_ref); + if (empty($cnt)) + { + $cnt = "0"; + } + else + { + $cnt -= $old; + } + } + + // Return count + //* DEBUG: */ echo "*".$uid."/".$old."/".$cnt."*
"; + return $cnt; +} +// +?> diff --git a/0.2.1/inc/libs/register_functions.php b/0.2.1/inc/libs/register_functions.php new file mode 100644 index 0000000000..cdded6f31b --- /dev/null +++ b/0.2.1/inc/libs/register_functions.php @@ -0,0 +1,173 @@ + (*)"; + $eval = "define('MUST_".strtoupper($name)."', \"".$value."\");"; + eval($eval); + } + + // Free memory + SQL_FREERESULT($result); + + // Also fill other constants + define('MUST_SEX' , " (*)"); + define('MUST_ADDY' , " (*)"); + define('MUST_BIRTH' , " (*)"); + define('MUST_MARKER', " (*)"); +} +// +function REGISTER_CHECK_REQUIRED_FIELDS(&$array) +{ + $ret = false; + foreach ($array as $key=>$value) + { + $result = SQL_QUERY("SELECT field_required FROM "._MYSQL_PREFIX."_must_register WHERE field_name='".$key."' LIMIT 1", __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) + { + // "Must-line" found + list($chk) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + + // Check if extension country is not found (you have to enter the 2-chars long country code) or + // if extensions is present check if country code was selected + // 01 2 21 12 3 32 234 5 54 4 43 34 4 4 5 5432 2 3 3210 + $country = ((!EXT_IS_ACTIVE("country")) || ((EXT_IS_ACTIVE("country")) && (((empty($value)) && ($key == "cntry")) || (($key == "country_code") && (!empty($value)))) && (!empty($array['country_code'])))); + if ((empty($value)) && ($chk == "Y") && (!$country)) + { + // Required field not set + $array[$key] = "!"; + $ret = true; + } + } + } + return $ret; +} +// +function REGISTER_OUTPUT_REQUIRE_CHECK(&$array) +{ + $result = SQL_QUERY("SELECT field_name, field_required FROM "._MYSQL_PREFIX."_must_register ORDER BY id", __FILE__, __LINE__); + while(list($name, $required) = SQL_FETCHROW($result)) + { + if (($array[$name] == "!") && ($required == "Y")) + { + // Empty entry found + $array[$name] = ""; + $eval = "\$OUT = REGISTER_".strtoupper($name)."_REQUIRED;"; + eval($eval); + OUTPUT_HTML ("".$OUT."

"); + } + } + + // Free memory + SQL_FREERESULT($result); +} +// +function REGISTER_ADD_CATEGORY_TABLE ($MODE, $return=false) +{ + global $_POST, $CONFIG; + $OUT = ""; + + // Guests are mostly not interested in how many members has + // choosen an individual category + $AND = "WHERE visible='Y' "; + // Admins are allowed to see every category... + if (IS_ADMIN()) $AND = ""; + $result = SQL_QUERY("SELECT id, cat, visible FROM "._MYSQL_PREFIX."_cats ".$AND." ORDER BY sort", __FILE__, __LINE__); + if (SQL_NUMROWS($result) > 0) + { + // List alle visible modules (or all to the admin) + $SW = 2; + $OUT .= "\n"; + while (list($id, $cat, $visible) = SQL_FETCHROW($result)) + { + if (empty($_POST['cat'][$id])) $_POST['cat'][$id] = ""; + // Prepare array for the template + $content = array( + 'sw' => $SW, + 'cat' => $cat, + 'def_y' => "", + 'def_n' => "", + 'id' => $id, + ); + + if (($_POST['cat'][$id] == "Y") || (($CONFIG['register_default'] == "Y") && (empty($_POST['cat'][$id])))) + { + $content['def_y'] = " checked"; + } + else + { + $content['def_n'] = " checked"; + } + + // Load template and switch color + $OUT .= LOAD_TEMPLATE("guest_cat_row", true, $content); + $SW = 3 - $SW; + } + $OUT .= "
\n"; + + // Free memory + SQL_FREERESULT($result); + } + else + { + // No categories setted up so far... + $OUT .= LOAD_TEMPLATE("admin_settings_saved", true, NO_CATEGORIES_VISIBLE); + } + + if ($return) + { + // Return generated HTML code + return $OUT; + } + else + { + // Output directly (default) + OUTPUT_HTML ($OUT); + } +} +// +?> diff --git a/0.2.1/inc/libs/rewrite_functions.php b/0.2.1/inc/libs/rewrite_functions.php new file mode 100644 index 0000000000..42b8ac851f --- /dev/null +++ b/0.2.1/inc/libs/rewrite_functions.php @@ -0,0 +1,124 @@ +to replacements + $REPLACE = array( + 'search' => array("u_id", "url", "page", "offset", "mid", "bid", "sub", "home"), + 'replace' => array("u" , "url", "page", "offset", "m" , "b" , "s" , "h") + ); + + if ((EXT_IS_ACTIVE("admins")) && (eregi("admin=", $test))) + { + // Replace &admin= with "/aid/" + $REPLACE['search'][] = "admin"; + $REPLACE['replace'][] = "aid"; + } + + // Replace all array elements through + foreach ($REPLACE['search'] as $k=>$v) + { + if (eregi("$v=", $test)) + { + // Replace &u_id= with /u/ + $test = preg_replace("/&".$v."=/i", "/".$REPLACE['replace'][$k]."/", $test); + } + } + + // Repair missed &what=??? entries + while (preg_match("/&what=(.*)\/(.*)\/(.*)/i", $test)) + { + $test = preg_replace("/&what=(.*)\/(.*)\/(.*)/i", "/wht/\$1/\$2/\$3", $test); + } + + // Return rewritten code + return $test; +} +// +?> diff --git a/0.2.1/inc/libs/security_functions.php b/0.2.1/inc/libs/security_functions.php new file mode 100644 index 0000000000..b58ea8cf94 --- /dev/null +++ b/0.2.1/inc/libs/security_functions.php @@ -0,0 +1,238 @@ + array("{", "}", "/", ".", "'", "$", "(", ")", "{--", "--}", "%", ";", "[", "]", ":", "--"), + // ... and we will replace to. + 'to' => array( + "{OPEN_ANCHOR2}", + "{CLOSE_ANCHOR2}", + "{SLASH}", + "{DOT}", + "{QUOT}", + "{DOLLAR}", + "{OPEN_ANCHOR}", + "{CLOSE_ANCHOR}", + "{OPEN_TEMPLATE}", + "{CLOSE_TEMPLATE}", + "{PER}", + "{SEMI}", + "{OPEN_INDEX}", + "{CLOSE_INDEX}", + "{DBL_DOT}", + "{COMMENT}" + ), +); + +// Characters allowed in URLs +// +// Note: Do not replace 'to' with 'from' and vise-versa! When you do this all booked URLs will be +// rejected because of the {SLASH}, {DOT} and all below listed items inside the URL. +$URL_CHARS = array( + // Search for these secured characters + 'to' => array("{SLASH}", "{DOT}", "{PER}", "{DBL_DOT}", "{COMMENT}"), + // Replace with these characters + 'from' => array("/", ".", "%", ":", "--") +); + +// Overworked security part: +if (is_array($_GET)) { + foreach ($_GET as $seckey=>$secvalue) + { + if (is_array($secvalue)) + { + // Throw arrays away... + unset($_GET[$seckey]); + } + else + { + // Only variables are allowed (non-array) but we secure them all! + foreach ($SEC_CHARS['from'] as $key=>$char) + { + // Pass all through + $_GET[$seckey] = str_replace($char , $SEC_CHARS['to'][$key], $_GET[$seckey]); + } + + // Strip all other out + $_GET[$seckey] = strip_tags($_GET[$seckey]); + } + } +} + +if (basename($_SERVER['PHP_SELF']) != "install.php") +{ + // And POST data + foreach ($_POST as $seckey=>$secvalue) + { + if (!is_array($secvalue)) + { + // Only variables are allowed (non-array) to be secured... + foreach ($SEC_CHARS['from'] as $key=>$char) + { + // Pass all through + $_POST[$seckey] = str_replace($char , $SEC_CHARS['to'][$key], $_POST[$seckey]); + } + + // Strip all other out + $_POST[$seckey] = strip_tags($_POST[$seckey]); + } + } + + // ... and finally cookies + foreach ($_COOKIE as $seckey=>$secvalue) + { + if (is_array($secvalue)) + { + // Throw arrays away... + unset($_COOKIE[$seckey]); + } + else + { + // Only variables are allowed (non-array) but we secure them all! + foreach ($SEC_CHARS['from'] as $key=>$char) + { + // Pass all through + $_COOKIE[$seckey] = str_replace($char , $SEC_CHARS['to'][$key], $_COOKIE[$seckey]); + } + + // Strip all other out + $_COOKIE[$seckey] = strip_tags($_COOKIE[$seckey]); + } + } +} + +// Activate caching or transparent compressing when it is not already done +if (!defined('_OB_CACHING')) +{ + if (phpversion() >= '4.0.4pl1' && (strstr(getenv('HTTP_USER_AGENT'),'compatible') || (strstr(getenv('HTTP_USER_AGENT'), "Mozilla")))) + { + if ((extension_loaded('zlib')) && (function_exists('ob_start'))) + { + // Start caching + define('_OB_CACHING', "on"); + ob_start(); + } + else + { + // Extension not loaded or required function is missing + define('_OB_CACHING', "404"); + } + } + else + { + // Old PHP version + define('_OB_CACHING', "old"); + } +} + +// At last secure the $_SERVER['PHP_SELF'] element +$_SERVER['PHP_SELF'] = htmlentities(strip_tags($_SERVER['PHP_SELF']), ENT_QUOTES); + +// Split it up into path and filename +$SELF_DIR = dirname($_SERVER['PHP_SELF']); +$SELF_FILE = basename($_SERVER['PHP_SELF']); + +// Check for a .php inside the $SELF_DIR... +while (ereg(".php", $SELF_DIR)) +{ + // Correct the dirname + $SELF_DIR = substr($SELF_DIR, 0, (strpos($SELF_DIR, ".php") + 4)); + // Rewrite filename... + $SELF_FILE = basename($SELF_DIR); + // ... and dirname + $SELF_DIR = dirname($SELF_DIR); +} + +// Put both together again and let's pray it is secured now... +$_SERVER['PHP_SELF'] = $SELF_DIR."/".$SELF_FILE; + +// Remove uneccessary variables +unset($SELF_DIR); +unset($SELF_FILE); + +// Security system loaded... +define('__SECURITY', "1"); + +// +?> diff --git a/0.2.1/inc/libs/task_functions.php b/0.2.1/inc/libs/task_functions.php new file mode 100644 index 0000000000..9889b33032 --- /dev/null +++ b/0.2.1/inc/libs/task_functions.php @@ -0,0 +1,612 @@ + 0) + { + define ('__TASK_UPDATE_VALUE', "".$value.""); + } + else + { + define ('__TASK_UPDATE_VALUE', "0"); + } + } + else + { + define ('__TASK_UPDATE_VALUE', "0"); + } + + // + // First check for all account status seperately + // + // Confirmed accounts + $result = SQL_QUERY("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE status='CONFIRMED'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__CONFIRMED_VALUE', "".$value.""); + } + else + { + define('__CONFIRMED_VALUE', "0"); + } + // Unconfirmed accounts + $result = SQL_QUERY("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE status='UNCONFIRMED'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__UNCONFIRMED_VALUE', "".$value.""); + } + else + { + define('__UNCONFIRMED_VALUE', "0"); + } + // And locked accounts + $result = SQL_QUERY("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE status='LOCKED'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__LOCKED_VALUE', "".$value.""); + } + else + { + define('__LOCKED_VALUE', "0"); + } + // + // Unassigned tasks + // + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE assigned_admin='0' AND status != 'DELETED'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__TASK_NEW_VALUE', "".$value.""); + } + else + { + define('__TASK_NEW_VALUE', "0"); + } + // + // Closed tasks + // + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE status = 'CLOSED'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__TASK_CLOSED_VALUE', "".$value.""); + } + else + { + define('__TASK_CLOSED_VALUE', "0"); + } + // + // Deleted tasks + // + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE status = 'DELETED'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__TASK_DELETED_VALUE', "".$value.""); + } + else + { + define('__TASK_DELETED_VALUE', "0"); + } + // + // Solved tasks + // + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE status = 'SOLVED' AND assigned_admin='%s'", + array(GET_ADMIN_ID($_COOKIE['admin_login'])), __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__TASK_SOLVED_VALUE', "".$value.""); + } + else + { + define('__TASK_SOLVED_VALUE', "0"); + } + // + // Your tasks + // + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE assigned_admin='%s' AND status = 'NEW' AND task_type != 'EXTENSION_UPDATE'", + array(GET_ADMIN_ID($_COOKIE['admin_login'])), __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__TASK_YOUR_VALUE', "".$value.""); + } + else + { + define('__TASK_YOUR_VALUE', "0"); + } + // + // Mails waiting to be approved + // + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_pool WHERE data_type='ADMIN'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__MAIL_ADMIN_VALUE', "".$value.""); + } + else + { + define('__MAIL_ADMIN_VALUE', "0"); + } + // + // Unfinished mail orders + // + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_pool WHERE data_type='TEMP'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__MAIL_TEMP_VALUE', "".$value.""); + } + else + { + define('__MAIL_TEMP_VALUE', "0"); + } + // + // Sent mail orders + // + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_pool WHERE data_type='SEND'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__MAIL_SEND_VALUE', "".$value.""); + } + else + { + define('__MAIL_SEND_VALUE', "0"); + } + // + // Autopurged mails + // + if (EXT_IS_ACTIVE("autopurge")) + { + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_pool WHERE data_type='DELETED'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__MAIL_DELETED_VALUE', "".$value.""); + } + else + { + define('__MAIL_DELETED_VALUE', "0"); + } + // + // Autopurged bonus mails + // + if (GET_EXT_VERSION("bonus") >= "0.1.8") + { + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_bonus WHERE data_type='DELETED'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__MAIL_BONUS_AP_VALUE', "".$value.""); + } + else + { + define('__MAIL_BONUS_AP_VALUE', "0"); + } + } + elseif (EXT_IS_ACTIVE("bonus")) + { + define('__MAIL_BONUS_AP_VALUE', ADMIN_EXT_BONUS_OUTDATED_1."0.1.8".ADMIN_EXT_BONUS_OUTDATED_2); + } + else + { + define('__MAIL_BONUS_AP_VALUE', "".ADMIN_EXT_BONUS_404.""); + } + } + else + { + define('__MAIL_BONUS_AP_VALUE', "".ADMIN_EXT_AUTOPURGE_404.""); + define('__MAIL_DELETED_VALUE', "".ADMIN_EXT_AUTOPURGE_404.""); + } + // + // Sent bonus mails + // + if (GET_EXT_VERSION("bonus") >= "0.1.8") + { + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_bonus WHERE data_type='SEND'", __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + if ($value > 0) + { + define('__MAIL_BONUS_SEND_VALUE', "".$value.""); + } + else + { + define('__MAIL_BONUS_SEND_VALUE', "0"); + } + } + elseif (EXT_IS_ACTIVE("bonus")) + { + define('__MAIL_BONUS_SEND_VALUE', ADMIN_EXT_BONUS_OUTDATED_1."0.1.8".ADMIN_EXT_BONUS_OUTDATED_2); + } + else + { + define('__MAIL_BONUS_SEND_VALUE', ADMIN_EXT_BONUS_404); + } + if (EXT_IS_ACTIVE("autopurge")) + { + // Start finding them... + $since = (time() - $CONFIG['ap_in_since']); + $EXCLUDE_LIST = " AND d.userid != c.def_refid"; + + // Check for more extensions + if (EXT_IS_ACTIVE("beg")) $EXCLUDE_LIST .= " AND d.userid != c.beg_uid"; + if (EXT_IS_ACTIVE("bonus")) $EXCLUDE_LIST .= " AND d.userid != c.bonus_uid"; + if (EXT_IS_ACTIVE("doubler")) $EXCLUDE_LIST .= " AND d.userid != c.doubler_uid"; + + // Check for new holiday system + if (GET_EXT_VERSION("holiday") >= "0.1.3") + { + $EXCLUDE_LIST .= " AND d.holiday_active = 'N'"; + } + + // Check for all accounts + $SQLs[] = "SELECT DISTINCT d.userid, d.email, d.last_online +FROM "._MYSQL_PREFIX."_user_data AS d, "._MYSQL_PREFIX."_config AS c +WHERE d.status='CONFIRMED' AND d.joined < ".$since." AND d.last_online < ".$since." AND d.ap_notified < ".$since." +".$EXCLUDE_LIST." +ORDER BY d.userid"; + $WHATs[] = "list_autopurge"; + $DESCRs[] = TASK_ADMIN_INACTIVE_AUTOPURGE; + $TITLEs[] = TASK_ADMIN_INACTIVE_AUTOPURGE_TITLE; + } + if (GET_EXT_VERSION("sql_patches") >= "0.3.4") + { + // Check for accounts without referral + $SQLs[] = "SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE refid='0' ORDER BY userid"; + $DESCRs[] = TAKS_ADMIN_LIST_ACCOUNT_NOREF; + $TITLEs[] = TAKS_ADMIN_LIST_ACCOUNT_NOREF_TITLE; + $WHATs[] = "list_norefs"; + } + if (EXT_IS_ACTIVE("payout")) + { + // List new payout requests + $SQLs[] = "SELECT userid FROM "._MYSQL_PREFIX."_user_payouts WHERE status='NEW' ORDER BY userid"; + $WHATs[] = "list_payouts"; + $DESCRs[] = TASK_ADMIN_LIST_PAYOUTS_WAITING; + $TITLEs[] = TASK_ADMIN_LIST_PAYOUTS_WAITING_TITLE; + $SQLs[] = "SELECT userid FROM "._MYSQL_PREFIX."_user_payouts ORDER BY userid"; + $WHATs[] = "list_payouts"; + $DESCRs[] = TASK_ADMIN_LIST_PAYOUTS_ALL; + $TITLEs[] = TASK_ADMIN_LIST_PAYOUTS_ALL_TITLE; + } + if (EXT_IS_ACTIVE("wernis")) + { + // List new wernis requests + $SQLs[] = "SELECT userid FROM "._MYSQL_PREFIX."_user_wernis ORDER BY userid"; + $WHATs[] = "list_wernis"; + $DESCRs[] = TASK_ADMIN_LIST_WERNIS_ALL; + $TITLEs[] = TASK_ADMIN_LIST_WERNIS_ALL_TITLE; + } + if (EXT_IS_ACTIVE("holiday")) + { + // List holiday requests + $SQLs[] = "SELECT userid FROM "._MYSQL_PREFIX."_user_holidays ORDER BY userid"; + $WHATs[] = "list_holiday"; + $DESCRs[] = TASK_ADMIN_LIST_HOLIDAYS; + $TITLEs[] = TASK_ADMIN_LIST_HOLIDAYS_TITLE; + } + if (GET_EXT_VERSION("bonus") >= "0.2.3") + { + // Active rallye + if (GET_EXT_VERSION("bonus") >= "0.6.9") + { + // Add more bonus points here + $USE = "(0"; + if ($CONFIG['bonus_click_yn'] == "Y") $USE .= " + turbo_bonus"; + if ($CONFIG['bonus_login_yn'] == "Y") $USE .= " + login_bonus"; + if ($CONFIG['bonus_order_yn'] == "Y") $USE .= " + bonus_order"; + if ($CONFIG['bonus_stats_yn'] == "Y") $USE .= " + bonus_stats"; + if ($CONFIG['bonus_ref_yn'] == "Y") $USE .= " + bonus_ref"; + $USE .= ")"; + } + else + { + // Old version ??? + $USE = "turbo_bonus"; + } + + // Autopurge installed? + $LAST = ""; $ONLINE = ""; + if ((EXT_IS_ACTIVE("autopurge")) && ($CONFIG['ap_inactive'] == "Y") && ($CONFIG['ap_in_since'] > 0)) + { + // Use last online timestamp to keep inactive members away from here + $LAST = " AND last_online >= "; + $ONLINE = bigintval(time() - $CONFIG['ap_in_since']); + } + + $SQLs[] = "SELECT ".$USE." AS active_bonus FROM "._MYSQL_PREFIX."_user_data +WHERE status='CONFIRMED' AND ".$USE.">0".$LAST."".$ONLINE." +ORDER BY active_bonus DESC, userid"; + $WHATs[] = "list_bonus"; + $DESCRs[] = TASK_ADMIN_LIST_BONUS; + $TITLEs[] = TASK_ADMIN_LIST_BONUS_TITLE; + } + if (GET_EXT_VERSION("beg") >= "0.1.2") + { + // Begging rallye + + // Autopurge installed? + $LAST = ""; $ONLINE = ""; + if ((EXT_IS_ACTIVE("autopurge")) && ($CONFIG['ap_inactive'] == "Y") && ($CONFIG['ap_in_since'] > 0)) + { + // Use last online timestamp to keep inactive members away from here + $LAST = " AND last_online >= "; + $ONLINE = bigintval(time() - $CONFIG['ap_in_since']); + } + + $SQLs[] = "SELECT userid FROM "._MYSQL_PREFIX."_user_data +WHERE status='CONFIRMED' AND beg_points>0".$LAST."".$ONLINE." +ORDER BY beg_points DESC, userid"; + $WHATs[] = "list_beg"; + $DESCRs[] = TASK_ADMIN_LIST_BEG; + $TITLEs[] = TASK_ADMIN_LIST_BEG_TITLE; + } + if (EXT_IS_ACTIVE("doubler")) + { + // List waiting payouts + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_doubler WHERE completed='N' ORDER BY id"; + $WHATs[] = "list_doubler&mode=waiting&select=all"; + $DESCRs[] = TASK_ADMIN_LIST_DOUBLER_WAITING; + $TITLEs[] = TASK_ADMIN_LIST_DOUBLER_WAITING_TITLE; + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_doubler ORDER BY id"; + $WHATs[] = "list_doubler"; + $DESCRs[] = TASK_ADMIN_LIST_DOUBLER_ALL; + $TITLEs[] = TASK_ADMIN_LIST_DOUBLER_ALL_TITLE; + } + // + // All referral banner + // + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_refbanner ORDER BY id"; + $WHATs[] = "refbanner"; + $DESCRs[] = TASK_ADMIN_LIST_REFBANNER_ALL; + $TITLEs[] = TASK_ADMIN_LIST_REFBANNER_ALL_TITLE; + // + // All activated referral banner + // + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_refbanner WHERE visible='Y' ORDER BY id"; + $WHATs[] = "refbanner"; + $DESCRs[] = TASK_ADMIN_LIST_REFBANNER_ACTIVE; + $TITLEs[] = TASK_ADMIN_LIST_REFBANNER_ACTIVE_TITLE; + // + // All extensions + // + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_extensions ORDER BY id"; + $WHATs[] = "extensions"; + $DESCRs[] = TASK_ADMIN_LIST_EXTENSIONS_ALL; + $TITLEs[] = TASK_ADMIN_LIST_EXTENSIONS_ALL_TITLE; + // + // All activated extensions + // + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_extensions WHERE ext_active='Y' ORDER BY id"; + $WHATs[] = "extensions"; + $DESCRs[] = TASK_ADMIN_LIST_EXTENSIONS_ACTIVE; + $TITLEs[] = TASK_ADMIN_LIST_EXTENSIONS_ACTIVE_TITLE; + // + if (EXT_IS_ACTIVE("engine")) + { + // List all export accounts + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_engine_accounts ORDER BY id"; + $WHATs[] = "list_engine"; + $DESCRs[] = TASK_ADMIN_LIST_ENGINE; + // List all pending accounts + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_engine_accounts WHERE status='UNCONFIRMED' ORDER BY id"; + $WHATs[] = "unlock_engine"; + $DESCRs[] = TASK_ADMIN_UNLOCK_ENGINE; + // List all safes + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_engine_safe ORDER BY id"; + $WHATs[] = "list_engine&mode=safe"; + $DESCRs[] = TASK_ADMIN_LIST_ENGINE_SAFES; + // List all export URLs + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_engine_urls ORDER BY id"; + $WHATs[] = "engine_urls"; + $DESCRs[] = TASK_ADMIN_LIST_ENGINE_URLS; + } + if (EXT_IS_ACTIVE("sponsor")) + { + // List all sponsors + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_sponsor_data ORDER BY id"; + $WHATs[] = "list_sponsor"; + $DESCRs[] = TASK_ADMIN_LIST_SPONSOR; + $TITLEs[] = TASK_ADMIN_LIST_SPONSOR_TITLE; + // List confirmed sponsor accounts + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_sponsor_data WHERE status='CONFIRMED' ORDER BY id"; + $WHATs[] = "list_sponsor"; + $DESCRs[] = TASK_ADMIN_LIST_SPONSOR_CONFIRMED; + $TITLEs[] = TASK_ADMIN_LIST_SPONSOR_CONFIRMED_TITLE; + // List unconfirmed sponsor accounts + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_sponsor_data WHERE status='UNCONFIRMED' ORDER BY id"; + $WHATs[] = "list_sponsor"; + $DESCRs[] = TASK_ADMIN_LIST_SPONSOR_UNCONFIRMED; + $TITLEs[] = TASK_ADMIN_LIST_SPONSOR_UNCONFIRMED_TITLE; + // List locked sponsor accounts + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_sponsor_data WHERE status='LOCKED' ORDER BY id"; + $WHATs[] = "list_sponsor"; + $DESCRs[] = TASK_ADMIN_LIST_SPONSOR_LOCKED; + $TITLEs[] = TASK_ADMIN_LIST_SPONSOR_LOCKED_TITLE; + // List waiting sponsor accounts to be approved + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_sponsor_data WHERE status='PENDING' ORDER BY id"; + $WHATs[] = "unlock_sponsor"; + $DESCRs[] = TASK_ADMIN_LIST_SPONSOR_PENDING; + $TITLEs[] = TASK_ADMIN_LIST_SPONSOR_PENDING_TITLE; + // Waiting payments + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_sponsor_orders WHERE pay_status='PENDING' ORDER BY id"; + $WHATs[] = "list_sponsor_pays"; + $DESCRs[] = TASK_ADMIN_LIST_SPONSOR_ORDERS; + $TITLEs[] = TASK_ADMIN_LIST_SPONSOR_ORDERS_TITLE; + } + if (EXT_IS_ACTIVE("country")) + { + // List country codes + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_countries ORDER BY id"; + $WHATs[] = "list_country"; + $DESCRs[] = TASK_ADMIN_LIST_COUNTRY; + $TITLEs[] = TASK_ADMIN_LIST_COUNTRY_TITLE; + } + if (EXT_IS_ACTIVE("theme")) + { + // List all themes + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_themes ORDER BY id"; + $WHATs[] = "theme_edit"; + $DESCRs[] = TASK_ADMIN_LIST_THEME_ALL; + $TITLEs[] = TASK_ADMIN_LIST_THEME_ALL_TITLE; + // List active themes + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_themes WHERE theme_active='Y' ORDER BY id"; + $WHATs[] = "theme_edit"; + $DESCRs[] = TASK_ADMIN_LIST_THEME_ACTIVE; + $TITLEs[] = TASK_ADMIN_LIST_THEME_ACTIVE_TITLE; + } + if (EXT_IS_ACTIVE("admins")) + { + // List all administrator logins + $SQLs[] = "SELECT id FROM "._MYSQL_PREFIX."_admins ORDER BY id"; + $WHATs[] = "admins_edit"; + $DESCRs[] = TASK_ADMIN_LIST_ADMINS_ALL; + $TITLEs[] = TASK_ADMIN_LIST_ADMINS_ALL_TITLE; + } + + // Generate extra overview rows + $EXTRAS .= TASK_CREATE_EXTRA_ROWS($SQLs, $WHATs, $DESCRs, $TITLEs); + + // If empty just keep a forced-space left for CSS issues + if (empty($EXTRAS)) $EXTRAS = " "; + + // Add compiled string to constant for final template + define('__OVERVIEW_EXTRA_TABLE', $EXTRAS); + + // Simply load the template... :-) + LOAD_TEMPLATE("admin_overview_task"); +} +// +function TASK_CREATE_EXTRA_ROWS($SQLs, $WHATs, $DESCRs, $TITLEs) +{ + $OUT = ""; $SW = 2; $MAX = sizeof($SQLs) - 1; + foreach ($SQLs as $key=>$sql) + { + // Run SQL command, get line numbers and free memory + $result = SQL_QUERY($sql, __FILE__, __LINE__); + $value = SQL_NUMROWS($result); + SQL_FREERESULT($result); + + $content = array( + 'row_descr' => $DESCRs[$key], + 'row_sw' => $SW, + 'bottom' => "", + ); + if ($key < $MAX) $content['bottom'] = "bottom2"; + if (($value > 0) && (!empty($WHATs[$key]))) + { + if (empty($TITLEs[$key])) $TITLEs[$key] = TASK_ADMIN_UNKNOWN_LIST_TITLE; + $content['row_link'] = "".$value.""; + } + else + { + $content['row_link'] = "0"; + } + + // Switch color + $SW = 3 - $SW; + + // And insert the final string into extras template + $OUT .= LOAD_TEMPLATE("admin_overview_task_rows", true, $content); + } + + // Return output + return LOAD_TEMPLATE("admin_overview_task_extras", true, $OUT); +} +// +?> diff --git a/0.2.1/inc/libs/transfer_functions.php b/0.2.1/inc/libs/transfer_functions.php new file mode 100644 index 0000000000..e5b923eb59 --- /dev/null +++ b/0.2.1/inc/libs/transfer_functions.php @@ -0,0 +1,88 @@ + $max) + { + // Update overdue transfers + $remove = SQL_NUMROWS($result) - $max; + + // This will make it really old, so the final removal query will find it + $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_user_transfers_in SET time_trans='0' ORDER BY id LIMIT ".$remove, __FILE__, __LINE__); + } + // Second get total out-going lines + $result = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_user_transfers_out ORDER BY id", __FILE__, __LINE__); + if (SQL_NUMROWS($result) > $max) + { + // Update overdue transfers + $remove = SQL_NUMROWS($result) - $max; + + // This will make it really old, so the final removal query will find it + $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_user_transfers_out SET time_trans='0' ORDER BY id LIMIT ".$remove, __FILE__, __LINE__); + } + + // Remove old in-going transfers + $result = SQL_QUERY("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_transfers_in WHERE time_trans < ".(time() - $age), __FILE__, __LINE__); + $REMOVE = SQL_AFFECTEDROWS($link); + + // Remove old out-going transfers + $result = SQL_QUERY("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_transfers_out WHERE time_trans < ".(time() - $age), __FILE__, __LINE__); + $REMOVE += SQL_AFFECTEDROWS($link); + + // Only send email to admin(s) when we have removed entries + if ($REMOVE > 0) + { + if (GET_EXT_VERSION("admins") >= "0.4.1") + { + SEND_ADMIN_EMAILS_PRO(TRANSFER_ADMIN_AUTOPURGE, "admin_transfer_ap", $REMOVE, 0); + } + else + { + $msg = LOAD_EMAIL_TEMPLATE("admin_transfer_ap", $REMOVE, 0); + SEND_ADMIN_EMAILS(TRANSFER_ADMIN_AUTOPURGE, $msg); + } + } +} +// +?> diff --git a/0.2.1/inc/libs/user_functions.php b/0.2.1/inc/libs/user_functions.php new file mode 100644 index 0000000000..790277b61b --- /dev/null +++ b/0.2.1/inc/libs/user_functions.php @@ -0,0 +1,226 @@ +".$ltr.""; + } + else + { + // Output link to letter + $OUT .= "".$ltr.""; + } + if ((($counter / $CONFIG['user_alpha']) == round($counter / $CONFIG['user_alpha'])) && ($counter > 0)) + { + $OUT .= " ]
[ "; + } + elseif ( $counter != $num ) + { + $OUT .= " | "; + } + } + define('__ALPHA_LIST', $OUT); + + // Load template + $OUT = LOAD_TEMPLATE("admin_list_user_alpha", true); + if ($return) + { + // Return generated code + return $OUT; + } + else + { + // Output generated code + OUTPUT_HTML ($OUT); + } +} +// +function SortLinks($letter, $sortby, $colspan, $return=false) +{ + $OUT = ""; + if (empty($_GET['offset'])) $_GET['offset'] = "0"; + $ADD = "&page=".$_GET['page']."&offset=".$_GET['offset']; + if (!empty($_GET['mode'])) $ADD .= "&mode=".SQL_ESCAPE($_GET['mode']); + + // Makes order by links.. + if ($letter == "front") $letter = _ALL2; + + // Prepare array with all possible sorters + $list = array( + 'userid' => _UID, + 'family' => FAMILY_NAME, + 'email' => ADDY, + 'REMOTE_ADDR' => REMOTE_IP + ); + + // Add nickname if extension is installed + if (EXT_IS_ACTIVE("nickname")) { + $list['nickname'] = NICKNAME; + } + + foreach ($list as $sort=>$title) { + if ($sortby == $sort) { + $OUT .= "".$title." | "; + } else { + $OUT .= "".$title." | "; + } + } + define('__SORT_LIST', substr($OUT, 0, -13)); + + // Load template + $OUT = LOAD_TEMPLATE("admin_list_user_sort", true); + if ($return) + { + // Return code + return $OUT; + } + else + { + // Output code + OUTPUT_HTML ($OUT); + } +} +// +function ADD_PAGENAV($PAGES, $offset, $show_form, $colspan,$return=false) +{ + if (!$show_form) + { + // Empty row + define('__FORM_HEADER', " "); + } + else + { + // Load form for changing number of lines + define('__FORM_HEADER', LOAD_TEMPLATE("admin_list_user_sort_form", true)); + } + if (!$show_form) + { + // Add line with bottom border + define('__FORM_FOOTER', " "); + } + else + { + // Add line without bottom border + define('__FORM_FOOTER', " "); + } + + $OUT = ""; + for ($page = 1; $page <= $PAGES; $page++) + { + if (($page == $_GET['page']) || ((empty($_GET['page'])) && ($page == "1"))) + { + $OUT .= "-"; + } + else + { + if (empty($_GET['letter'])) $_GET['letter'] = _ALL2; + if (empty($_GET['sortby'])) $_GET['sortby'] = "userid"; + $OUT .= ""; + } + $OUT .= $page; + if (($page == $_GET['page']) || ((empty($_GET['page'])) && ($page == "1"))) + { + $OUT .= "-"; + } + else + { + $OUT .= ""; + } + if ($page < $PAGES) $OUT .= " | "; + } + define('__PAGENAV_LIST', $OUT); + + // Load template + $OUT = LOAD_TEMPLATE("admin_list_user_pagenav", true); + if ($return) + { + // Return code + return $OUT; + } + else + { + // Output code + OUTPUT_HTML ($OUT); + } +} +// Create email link to user's account +function USER_CREATE_EMAIL_LINK($email, $mod="admin") +{ + $locked = " AND status='CONFIRMED'"; + if (IS_ADMIN()) $locked = ""; + $result = SQL_QUERY_ESC("SELECT userid +FROM "._MYSQL_PREFIX."_user_data +WHERE email='%s'".$locked." LIMIT 1", + array($email), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) + { + // Load userid + list($uid) = SQL_FETCHROW($result); + + // Rewrite email address to contact link + $email = URL."/modules.php?module=".$mod."&what=user_contct&u_id=".bigintval($uid); + } + + // Free memory + SQL_FREERESULT($result); + + // Return rewritten (?) email address + return $email; +} +// +?> diff --git a/0.2.1/inc/libs/wernis_functions.php b/0.2.1/inc/libs/wernis_functions.php new file mode 100644 index 0000000000..66ed2b290e --- /dev/null +++ b/0.2.1/inc/libs/wernis_functions.php @@ -0,0 +1,46 @@ + diff --git a/0.2.1/inc/load_cache.php b/0.2.1/inc/load_cache.php new file mode 100644 index 0000000000..ee9711fb30 --- /dev/null +++ b/0.2.1/inc/load_cache.php @@ -0,0 +1,407 @@ +cache_file("admins", true) == true)) +{ + // Load cache + global $ADMINS; + $ADMINS = $CACHE->cache_load(); + + // Check if valid + if (is_array($ADMINS['login']) && is_array($ADMINS['def_acl']) && is_array($ADMINS['aid'])) + { + // Check count + if (count($ADMINS['login']) == count($ADMINS['aid']) && count($ADMINS['login']) == count($ADMINS['def_acl']) && count($ADMINS['aid']) == count($ADMINS['def_acl'])) + { + //* DEBUG: */ echo "
";
+			//* DEBUG: */ print_r($ADMINS);
+
+			// The cache file seems to be fine
+			foreach ($ADMINS['login'] as $k=>$login)
+			{
+				// Rewrite default_acl
+				$ADMINS['aid'][$login]      = $ADMINS['aid'][$k];
+				$ADMINS['password'][$login] = $ADMINS['password'][$k];
+				$ADMINS['email'][$login]    = $ADMINS['email'][$k];
+
+				// Some extra data depening on version
+				if (GET_EXT_VERSION("admins") >= "0.3")
+				{
+					$ADMINS['def_acl'][$login]  = $ADMINS['def_acl'][$k];
+					if (GET_EXT_VERSION("admins") >= "0.6.7")
+					{
+						$ADMINS['la_mode'][$login]  = $ADMINS['la_mode'][$k];
+					}
+				}
+
+				//* DEBUG: */ print_r($ADMINS);
+
+				// Clear array
+				unset($ADMINS['aid'][$k]);
+				unset($ADMINS['def_acl'][$k]);
+				unset($ADMINS['la_mode'][$k]);
+				unset($ADMINS['password'][$k]);
+				unset($ADMINS['email'][$k]);
+			}
+
+			//* DEBUG: */ print_r($ADMINS);
+
+			// Rewrite Login
+			foreach ($ADMINS['login'] as $k=>$login)
+			{
+				$ADMINS['login'][$ADMINS['aid'][$login]] = $login;
+				if (!in_array($k, $ADMINS['aid']))
+				{
+					unset($ADMINS['login'][$k]);
+				}
+			}
+
+			//* DEBUG: */ echo "****\n";
+			//* DEBUG: */ print_r($ADMINS);
+			//* DEBUG: */ echo "
"; + //* DEBUG: */ die(); + } + else + { + // Nope, cache file is corrupted! + $CACHE->cache_destroy(); + } + } + else + { + // Nope, cache file is corrupted! + $CACHE->cache_destroy(); + unset($ADMINS); + } +} + elseif (($CONFIG['cache_admins'] == "Y") && ($CSS != "1") && ($CSS != "-1")) +{ + // Create cache file + $CACHE->cache_init("ADMINS"); + + // Load every data from DB to cache file + $ADD = ", id, id"; + if (GET_EXT_VERSION("admins") >= "0.3") $ADD = ", default_acl AS def_acl"; + if (GET_EXT_VERSION("admins") >= "0.6.7") $ADD .= ", la_mode"; + + $result_admins = SQL_QUERY("SELECT id AS aid, login, password, email".$ADD." +FROM "._MYSQL_PREFIX."_admins +ORDER BY login", __FILE__, __LINE__); + while($dummy = SQL_FETCHARRAY($result_admins)) + { + // Save row + $CACHE->add_row($dummy); + } + + // Free memory + SQL_FREERESULT($result_admins); +} + +// Close file +$CACHE->cache_close(); + +// Next cached table is the module registry (mod_reg)... +if ($CACHE->cache_file("mod_reg", true) == true) +{ + // Load cache + global $MODULES; + $MODULES = $CACHE->cache_load(); + + // Valid cache file + $CNT = 0; + foreach ($MODULES as $k=>$array) + { + $CNT += count($array); + } + + // When there is a period (.) in the result this test will fail and so the cache file is + // damaged/corrupted + $TEST = "failed"; + if (count($MODULES) > 0 ) $TEST = ($CNT / (count($MODULES))); + if ($TEST != bigintval($TEST)) + { + // Cache file is corrupted! + $CACHE->cache_destroy(); + unset($MODULES); + } + else + { + // Rewrite module cache + $MOD = $MODULES; + foreach ($MODULES['module'] as $key=>$mod) + { + $MODULES['id'][$mod] = $MODULES['id'][$key]; + unset($MODULES['id'][$key]); + $MODULES['title'][$mod] = $MODULES['title'][$key]; + unset($MODULES['title'][$key]); + $MODULES['locked'][$mod] = $MODULES['locked'][$key]; + unset($MODULES['locked'][$key]); + $MODULES['hidden'][$mod] = $MODULES['hidden'][$key]; + unset($MODULES['hidden'][$key]); + $MODULES['admin_only'][$mod] = $MODULES['admin_only'][$key]; + unset($MODULES['admin_only'][$key]); + $MODULES['mem_only'][$mod] = $MODULES['mem_only'][$key]; + unset($MODULES['mem_only'][$key]); + $MODULES['has_menu'][$mod] = $MODULES['has_menu'][$key]; + unset($MODULES['has_menu'][$key]); + } + } +} + elseif (($CONFIG['cache_modreg'] == "Y") && ($CSS != "1") && ($CSS != "-1")) +{ + // Create cache file here + $CACHE->cache_init("MODULES"); + + // Load all modules and their data + if (GET_EXT_VERSION("sql_patches") >= "0.3.6") + { + // Load has_menu + $result = SQL_QUERY("SELECT id, module, title, locked, hidden, admin_only, title, mem_only, has_menu +FROM "._MYSQL_PREFIX."_mod_reg ORDER BY id", __FILE__, __LINE__); + } + else + { + // Don't load has_menu + $result = SQL_QUERY("SELECT id, module, title, locked, hidden, admin_only, title, mem_only +FROM "._MYSQL_PREFIX."_mod_reg ORDER BY id", __FILE__, __LINE__); + } + while ($DATA = SQL_FETCHARRAY($result)) + { + // Add row to cache file + $CACHE->add_row($DATA); + } + + // Free memory + SQL_FREERESULT($result); +} + +// Close file +$CACHE->cache_close(); + +// Next cached table is the configuration (config)... +if ($CACHE->cache_file("config", true) == true) +{ + // Load config from cache + global $CFG_CACHE; + $CFG_CACHE = $CACHE->cache_load(); + + // Valid cache file + $CNT = 0; + foreach ($CFG_CACHE as $k=>$array) + { + $CNT += count($array); + } + + // When there is a period (.) in the result this test will fail and so the cache file is + // damaged/corrupted + $TEST = "failed"; + if (count($CFG_CACHE) > 0 ) $TEST = ($CNT / (count($CFG_CACHE))); + if ($TEST != bigintval($TEST)) + { + // Cache file is corrupted! + $CACHE->cache_destroy(); + unset($CFG_CACHE); + } +} + elseif (($CONFIG['cache_config'] == "Y") && ($CSS != "1") && ($CSS != "-1")) +{ + // Create cache file here + $CACHE->cache_init("CONFIG"); + + // Load all modules and their data + $result = SQL_QUERY("SELECT * FROM "._MYSQL_PREFIX."_config ORDER BY config", __FILE__, __LINE__); + while ($DATA = SQL_FETCHARRAY($result)) + { + // Add row to cache file + $CACHE->add_row($DATA); + } + + // Free memory + SQL_FREERESULT($result); +} + +// Close file +$CACHE->cache_close(); + +// Next cached table is the referral system (refsystem)... +if ($CACHE->cache_file("refsystem", true) == true) +{ + // Load referral system from cache + global $REF_SYSTEM; + $REF_SYSTEM = $CACHE->cache_load(); + + // Valid cache file + $CNT = 0; + foreach ($REF_SYSTEM as $k=>$array) + { + $CNT += count($array); + } + + // When there is a period (.) in the result this test will fail and so the cache file is + // damaged/corrupted + $TEST = "failed"; + if (count($REF_SYSTEM) > 0 ) $TEST = ($CNT / (count($REF_SYSTEM))); + if ($TEST != bigintval($TEST)) + { + // Cache file is corrupted! + $CACHE->cache_destroy(); + unset($REF_SYSTEM); + } +} + elseif (($CONFIG['cache_refsys'] == "Y") && ($CSS != "1") && ($CSS != "-1")) +{ + // Create cache file here + $CACHE->cache_init("REFSYSTEM"); + + // Load all modules and their data + $result = SQL_QUERY("SELECT id, userid, level, counter FROM "._MYSQL_PREFIX."_refsystem ORDER BY userid, level", __FILE__, __LINE__); + while ($DATA = SQL_FETCHARRAY($result)) + { + // Add row to cache file + $CACHE->add_row($DATA); + } + + // Free memory + SQL_FREERESULT($result); +} + +// Close file +$CACHE->cache_close(); + +// Next cached table is the referral system (refdepths)... +if ($CACHE->cache_file("refdepths", true) == true) +{ + // Load referral system from cache + global $REF_DEPTHS; + $REF_DEPTHS = $CACHE->cache_load(); + + // Valid cache file + $CNT = 0; + foreach ($REF_DEPTHS as $k=>$array) + { + $CNT += count($array); + } + + // When there is a period (.) in the result this test will fail and so the cache file is + // damaged/corrupted + $TEST = "failed"; + if (count($REF_DEPTHS) > 0 ) $TEST = ($CNT / (count($REF_DEPTHS))); + if ($TEST != bigintval($TEST)) + { + // Cache file is corrupted! + $CACHE->cache_destroy(); + unset($REF_DEPTHS); + } +} + elseif (($CONFIG['cache_refdepth'] == "Y") && ($CSS != "1") && ($CSS != "-1")) +{ + // Create cache file here + $CACHE->cache_init("REFDEPTHS"); + + // Load all modules and their data + $result = SQL_QUERY("SELECT id, level, percents FROM "._MYSQL_PREFIX."_refdepths ORDER BY level", __FILE__, __LINE__); + while ($DATA = SQL_FETCHARRAY($result)) + { + // Add row to cache file + $CACHE->add_row($DATA); + } + + // Free memory + SQL_FREERESULT($result); +} + +// Close file +$CACHE->cache_close(); + +// Next cached table is the referral system (admins_acls)... +if (GET_EXT_VERSION("admins") >= "0.3") +{ + // Check for cache file + if ($CACHE->cache_file("admins_acls", true) == true) + { + // Load referral system from cache + global $ADMINS_ACLS; + $ADMINS_ACLS = $CACHE->cache_load(); + + // Valid cache file + $CNT = 0; + foreach ($ADMINS_ACLS as $k=>$array) + { + $CNT += count($array); + } + + // When there is a period (.) in the result this test will fail and so the cache file is + // damaged/corrupted + if (count($ADMINS_ACLS) > 0) + { + $TEST = "failed"; + if (count($ADMINS_ACLS) > 0 ) $TEST = ($CNT / (count($ADMINS_ACLS))); + if ($TEST != bigintval($TEST)) + { + // Cache file is corrupted! + $CACHE->cache_destroy(); + unset($ADMINS_ACLS); + } + } + } + elseif (($CONFIG['cache_acls'] == "Y") && ($CSS != "1") && ($CSS != "-1")) + { + // Create cache file here + $CACHE->cache_init("ADMINS_ACLS"); + + // Load all modules and their data + $result = SQL_QUERY("SELECT id, admin_id, action_menu, what_menu, access_mode FROM "._MYSQL_PREFIX."_admins_acls ORDER BY admin_id, action_menu, what_menu", __FILE__, __LINE__); + while ($DATA = SQL_FETCHARRAY($result)) + { + // Add row to cache file + $CACHE->add_row($DATA); + } + + // Free memory + SQL_FREERESULT($result); + } + + // Close file + $CACHE->cache_close(); +} + +// +?> diff --git a/0.2.1/inc/load_extensions.php b/0.2.1/inc/load_extensions.php new file mode 100644 index 0000000000..624de8b9e6 --- /dev/null +++ b/0.2.1/inc/load_extensions.php @@ -0,0 +1,345 @@ + "Y"); // KEEP THIS ALWAYS ACTIVE! +} + else +{ + // Initialize array for "always keep active extensions" + $KEEP_ACTIVE = array(); +} + +// +// Load extensions +// +if (EXT_IS_ACTIVE("cache")) +{ + // Load cache extension alone + include_once(PATH."inc/libs/cache_functions.php"); + $CACHE_FILE = ""; + include_once(PATH."inc/extensions/ext-cache.php"); + switch($CACHE->cache_file("extensions", true)) + { + case true : $CACHE_FILE = "load"; break; + case false: $CACHE_FILE = "init"; break; + } + + // Do not recreate cache file when it's switched off! + if (($CACHE_FILE == "init") && ($CONFIG['cache_exts'] == "N")) $CACHE_FILE = "skip"; + + // Load language + if ($CACHE_FILE == "load") include(PATH."inc/language/cache_".GET_LANGUAGE().".php"); +} + else +{ + $CACHE_FILE = "no"; +} + +if ($CACHE_FILE == "load") +{ + // Load more cache files (like admins) + require_once(PATH."inc/load_cache.php"); + + // Re-initialize handler + $CACHE->cache_file("extensions", true); + + // Load extension data from cache file + $EXT_DUMMY = $CACHE->cache_load(); + foreach ($EXT_DUMMY['ext_name'] as $k=>$name) + { + // Load functions file + if ($EXT_DUMMY['ext_funcs'][$k] == "Y") require_once(PATH."inc/libs/".$name."_functions.php"); + + // Load Language file + if ($EXT_DUMMY['ext_lang'][$k] == "Y") + { + $INC = sprintf(PATH."inc/language/%s_%s.php", $name, GET_LANGUAGE()); + if (file_exists($INC)) require_once($INC); + } + + // Load CSS file + if ($EXT_DUMMY['ext_css'][$k] == "Y") $EXT_CSS_FILES[] = "".$name.".css"; + + // Load extension file itself + if (($EXT_DUMMY['ext_active'][$k] == "Y") || ($EXT_DUMMY['ext_keep'][$k] == "Y") || (IS_ADMIN())) + { + require_once(PATH."inc/extensions/ext-".$name.".php"); + } + + // Transfer version number and active status + $EXT_DUMMY['ext_version'][$name] = $EXT_DUMMY['ext_version'][$k]; + unset($EXT_DUMMY['ext_version'][$k]); + $EXT_DUMMY['ext_active'][$name] = $EXT_DUMMY['ext_active'][$k]; + unset($EXT_DUMMY['ext_active'][$k]); + $EXT_DUMMY['ext_menu'][$name] = $EXT_DUMMY['ext_menu'][$k]; + unset($EXT_DUMMY['ext_menu'][$k]); + $KEEP_ACTIVE['$name'] = $EXT_DUMMY['ext_keep'][$k]; + unset($EXT_DUMMY['ext_keep'][$k]); + $k2 = $EXT_DUMMY['ext_id'][$k]; + $EXT_DUMMY['ext_id'][$k2] = $name; + if ($k2 != $k) unset($EXT_DUMMY['ext_id'][$k]); + + // Remove unneccessary data from memory + unset($EXT_DUMMY['ext_lang'][$k]); + unset($EXT_DUMMY['ext_css'][$k]); + unset($EXT_DUMMY['ext_funcs'][$k]); + } + + // Close cache file + $CACHE->cache_close(); + + // Loading cache is done so let's free some memory! + unset($EXT_DUMMY['ext_lang']); + unset($EXT_DUMMY['ext_keep']); + unset($EXT_DUMMY['ext_css']); + unset($EXT_DUMMY['ext_funcs']); + $EXTENSIONS = $EXT_DUMMY; + unset($EXT_DUMMY); + + // No database load needed + $res_ext_crt = false; +} + else +{ + // If current user is not admin load only activated extensions + // The admin shall use every available extension for testing purposes + if (!IS_ADMIN()) $ADD = " WHERE ext_active='Y'"; + + if (GET_EXT_VERSION("sql_patches") >= "0.0.6") + { + // Query with CSS file from DB + $res_ext_crt = SQL_QUERY("SELECT id, ext_name, ext_lang_file, ext_has_css, ext_active, ext_version +FROM "._MYSQL_PREFIX."_extensions".$ADD." +ORDER BY ext_name", __FILE__, __LINE__); + } + else + { + // Old obsulete query string + $res_ext_crt = SQL_QUERY("SELECT id, ext_name, ext_lang_file, ext_name, ext_active, ext_version +FROM "._MYSQL_PREFIX."_extensions".$ADD." +ORDER BY ext_name", __FILE__, __LINE__); + } +} + +// Array for removed but not uninstalled extensions +$DEL = array(); + +// At least one found? +if ((SQL_NUMROWS($res_ext_crt) > 0) && (($CACHE_FILE == "init") || ($CACHE_FILE == "no")) && ($CSS != "1") && ($CSS != "-1")) +{ + // Load theme management + require_once(PATH."inc/theme-manager.php"); + + // If we need to init the cache init it now + if ($CACHE_FILE == "init") $CACHE->cache_init("EXTENSIONS"); + + // Extensions are registered so we load them + while (list($EXT_ID, $name, $lang, $css, $active, $version) = SQL_FETCHROW($res_ext_crt)) + { + // Get menu entry + $result_menu = SQL_QUERY_ESC("SELECT has_menu FROM "._MYSQL_PREFIX."_mod_reg WHERE module='%s' LIMIT 1", + array($name), __FILE__, __LINE__); + list($menu) = SQL_FETCHROW($result_menu); + //* DEBUG: */ echo "*".$name."/".$menu."*
"; + + // An empty menu entry will be interpreted as N (no menu) to avoid problems + if (empty($menu)) $menu = "N"; + + // Load extensions + $file1 = sprintf(PATH."inc/extensions/ext-%s.php", $name); + $file2 = $file1; $EXT_CSS = "N"; $EXT_ALWAYS_ACTIVE = "N"; + + // Special functions file + $file3 = sprintf(PATH."inc/libs/%s_functions.php", $name); + + // Does the extension file exists? + if (file_exists($file1) && is_readable($file1)) + { + // If there's no language file specified we don't need to load one... ;-) + if (!empty($lang)) { + // Create language file + $file2 = sprintf(PATH."inc/language/%s_%s.php", $lang, GET_LANGUAGE()); + } + + if (file_exists($file3) && is_readable($file3)) + { + // Special functions file + $funcs = "Y"; + require_once($file3); + } + else + { + // Don't load functions file + $funcs = "N"; + } + + // Do we need a language file? + if (($file1 != $file2) && (file_exists($file2)) && (is_readable($file2))) + { + // Load language file + $lang = "Y"; + include($file2); + } + else + { + // Don't load language file + $lang = "N"; + } + + // Load extension + if ($name != "sql_patches") + { + // Load extension's file + include_once($file1); + } + else + { + // KEEP sql_patches ALWAYS ACTIVE! + $EXT_ALWAYS_ACTIVE = "Y"; + } + + if ($css == "Y") + { + $CSS_FILE = PATH."theme/".GET_CURR_THEME()."/css/".$name.".css"; + if (file_exists($CSS_FILE)) + { + // CSS file for extension was found (use only relative path for now!) + $EXT_CSS_FILES[] = $name.".css"; + } + else + { + // Don't load CSS file + $css = "N"; + } + } + + // Add cache row + if ($CACHE_FILE == "init") + { + $CACHE->add_row(array( + 'ext_id' => $EXT_ID, + 'ext_name' => $name, + 'ext_lang' => $lang, + 'ext_css' => $css, + 'ext_menu' => $menu, + 'ext_funcs' => $funcs, + 'ext_active' => $active, + 'ext_version' => $version, + 'ext_keep' => $EXT_ALWAYS_ACTIVE, + )); + } + elseif ($CACHE_FILE == "no") + { + // Remember this value for later usage + $KEEP_ACTIVE[$name] = $EXT_ALWAYS_ACTIVE; + } + } + elseif (!file_exists($file1)) + { + // Deleted extension file so we mark it for removal from DB + $DEL[] = $name; + } + } + + if ($CACHE_FILE == "init") + { + // Close cache file + $CACHE->cache_close(); + + // Load more cache files (like admins) + require_once(PATH."inc/load_cache.php"); + } +} + +// Free memory +SQL_FREERESULT($res_ext_crt); + +// Compile configuration system +/** + * Commented out... + * + *foreach ($CONFIG as $k=>$v) + *{ + * $CONFIG[$k] = COMPILE_CODE($v); + *} + */ + +// Load include files +if (!empty($INC_POOL[0])) +{ + foreach ($INC_POOL as $inc) + { + require_once($inc); + } +} + +// Uninstall extensions that are no longer in our system +if (!empty($DEL[0])) +{ + // Remove extensions from two tables: extension registry and tasks table + foreach ($DEL as $name) + { + // First remove entry from extensions table + $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_extensions WHERE ext_name='%s' LIMIT 1", + array($name), __FILE__, __LINE__); + + // Remove (maybe?) found tasks (main task and possible updates + $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_task_system WHERE subject LIKE '[%s:] %' AND (task_type='EXTENSION' OR task_type='EXTENSION_UPDATE')", + array($name), __FILE__, __LINE__); + } + + // I think it's not neccessary to run the optimization function here + // because we didn't delete so much data from database. Can you aggree? +} +// +?> diff --git a/0.2.1/inc/mails/.htaccess b/0.2.1/inc/mails/.htaccess new file mode 100644 index 0000000000..14249c50bd --- /dev/null +++ b/0.2.1/inc/mails/.htaccess @@ -0,0 +1 @@ +Deny from all \ No newline at end of file diff --git a/0.2.1/inc/mails/_mails.php b/0.2.1/inc/mails/_mails.php new file mode 100644 index 0000000000..9c80a77ec6 --- /dev/null +++ b/0.2.1/inc/mails/_mails.php @@ -0,0 +1,50 @@ + diff --git a/0.2.1/inc/mails/beg_mails.php b/0.2.1/inc/mails/beg_mails.php new file mode 100644 index 0000000000..88cec1cef3 --- /dev/null +++ b/0.2.1/inc/mails/beg_mails.php @@ -0,0 +1,170 @@ + 0 AND beg_ral_en_notify < beg_ral_di_notify)"; + $MODE = "en"; + } + else + { + // Do not notify! + $SQL = ""; + } + break; + +case "N": // Begging rallye is deactivated + if ($CONFIG['beg_ral_di_notify'] == "Y") + { + // Okay, let's check for member accounts + $SQL .= " > 0 AND beg_ral_di_notify < beg_ral_en_notify"; + $MODE = "di"; + } + else + { + // Do not notify! + $SQL = ""; + } + break; +} + +if (!empty($SQL)) +{ + // The SQL command needs to be finisched here (only confirmed accounts!) + $SQL .= ") AND status='CONFIRMED' ORDER BY last_online ASC"; + + // Prepare data for the template + define('__BEG_MIN_POINTS' , TRANSLATE_COMMA($CONFIG['beg_points'])); + define('__BEG_MAX_POINTS' , TRANSLATE_COMMA($CONFIG['beg_points_max'])); + define('__BEG_MAX_WINNERS', round($CONFIG['beg_ranks'])); + if ($CONFIG['beg_ip_timeout'] == 0) + { + // No IP locking setuped! + define('__BEG_IP_LOCKER', BEG_NO_LIMITATION); + } + else + { + // Create timemark + define('__BEG_IP_LOCKER', CREATE_FANCY_TIME($CONFIG['beg_ip_timeout'])); + } + + // Check for accounts to be notified + $result_main = SQL_QUERY($SQL, __FILE__, __LINE__); + if (SQL_NUMROWS($result_main) > 0) + { + // Normal notification mails or bonus mails? + $MAIL_MODE = (($CONFIG['beg_notify_bonus'] > 0) && ($MODE == "en") && (EXT_IS_ACTIVE("bonus"))); + + // Generate subject line + $eval = "\$SUBJECT = BEG_RALLYE_".strtoupper($MODE)."_NOTIFY;"; + eval($eval); + + // Load message body for bonus mails + $MSG = LOAD_EMAIL_TEMPLATE("beg_en_notify_body", "", "{PER}uid{PER}"); + $RECEIVER = ""; $UIDs = array(); + + // Okay lets notify all users! + while(list($uid, $email) = SQL_FETCHROW($result_main)) + { + // Update account + $result_update = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data +SET beg_ral_notify='%s', beg_ral_%s_notify='%s' WHERE userid=%d LIMIT 1", + array(time(), $MODE, time(), $uid), __FILE__, __LINE__); + + // Load email template and send it to the user! + if ($MAIL_MODE) + { + // Add userid to queue + $UIDs[] = $uid; + } + else + { + // Send normal notification mail to the members + $MSG = LOAD_EMAIL_TEMPLATE("beg_".$MODE."_notify", "", $uid); + SEND_EMAIL($email, $SUBJECT, $MSG); + } + } + + // Shall I send out bonus mails? + if ($MAIL_MODE) + { + // Okay, make array to string + $RECEIVER = implode(";", $UIDs); + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_bonus +(subject, text, receivers, points, time, data_type, timestamp, url, cat_id, target_send, mails_sent, is_notify) +VALUES ('%s', '%s', '%s', '%s', '%s', 'NEW', UNIX_TIMESTAMP(), '%s', '%s', '%s', '%s', 'Y')", + array( + $SUBJECT, + $MSG, + $RECEIVER, + $CONFIG['beg_notify_bonus'], + $CONFIG['beg_notify_wait'], + URL."/modules.php?module=index&what=login", + 0, + SELECTION_COUNT(explode(";", $RECEIVER)), + SQL_NUMROWS($result_main), +), __FILE__, __LINE__); + } + } + + // Free memory + SQL_FREERESULT($result_main); +} + +// +?> diff --git a/0.2.1/inc/mails/birthday_mails.php b/0.2.1/inc/mails/birthday_mails.php new file mode 100644 index 0000000000..89df2804c9 --- /dev/null +++ b/0.2.1/inc/mails/birthday_mails.php @@ -0,0 +1,120 @@ + 0) && ($CONFIG['ap_inactive'] == "Y")) +{ + $ADD = " AND last_online >= %d"; + $VALUE = bigintval(time() - $CONFIG['ap_in_since']); +} + +// Only confirmed members shall receive birthday mails... +$result_birthday = SQL_QUERY_ESC("SELECT userid, email, birth_year +FROM "._MYSQL_PREFIX."_user_data +WHERE status='CONFIRMED' AND birth_day=%d AND birth_month=%d AND birthday_sent < ".(time() - (ONE_DAY*364)).$ADD." +ORDER BY userid", + array($DAY, $MONTH, $VALUE), __FILE__, __LINE__); + +if (SQL_NUMROWS($result_birthday) > 0) +{ + // Start sending out birthday mails + while (list($uid, $email, $byear) = SQL_FETCHROW($result_birthday)) + { + // Calculate own timestamp for birthday and today + $BD = $byear + 12*$MONTH + 365*$DAY; + $NOW = $YEAR + 12*$MONTH + 365*$DAY; + + // Simply subtract both values and you got the age... :) + $AGE = $NOW - $BD; + + if ($CONFIG['birthday_points'] > 0) + { + // Prepare array for loading template + $content = array( + 'age' => $AGE, + 'points' => $CONFIG['birthday_points'], + 'check' => "", + ); + for ($idx = 0; $idx < 4; $idx++) + { + $content['check'] .= GEN_RANDOM_CODE("8", rand(0, "$MONTH$DAY"), $uid, ($AGE*($idx+1))); + } + + // Insert row into database + $result_insert = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_birthday (userid, points, chk_value) VALUES ('%s', '%s', '%s' )", + array(bigintval($uid), $CONFIG['birthday_points'], $content['check']), __FILE__, __LINE__); + + // Load email template with confirmation link + $msg = LOAD_EMAIL_TEMPLATE("member_birthday_confirm", $content, bigintval($uid)); + } + else + { + // Load default email template and fill in the age + $msg = LOAD_EMAIL_TEMPLATE("member_birthday", $AGE, $uid); + } + + // Send email + SEND_EMAIL($email, HAPPY_BIRTHDAY, $msg); + + // Remember him that he has received a birthday mail + $result_bd = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET birthday_sent=UNIX_TIMESTAMP() WHERE userid=%d LIMIT 1", + array(bigintval($uid)), __FILE__, __LINE__); + } + + // Free memory + SQL_FREERESULT($result); +} + +// +?> diff --git a/0.2.1/inc/mails/bonus_mails.php b/0.2.1/inc/mails/bonus_mails.php new file mode 100644 index 0000000000..b8f64c63a0 --- /dev/null +++ b/0.2.1/inc/mails/bonus_mails.php @@ -0,0 +1,154 @@ + 0 AND bonus_ral_en_notify < bonus_ral_di_notify)"; + $MODE = "en"; + } + else + { + // Do not notify! + $SQL = ""; + } + break; + +case "N": // Active rallye is deactivated + if ($CONFIG['bonus_di_notify'] == "Y") + { + // Okay, let's check for member accounts + $SQL .= " > 0 AND bonus_ral_di_notify < bonus_ral_en_notify"; + $MODE = "di"; + } + else + { + // Do not notify! + $SQL = ""; + } + break; +} + +if (!empty($SQL)) +{ + // The SQL command needs to be finisched here (only confirmed accounts!) + $SQL .= ") AND status='CONFIRMED' ORDER BY last_online ASC"; + + // Normal notification mails or bonus mails? + $MAIL_MODE = (($CONFIG['bonus_notify_points'] > 0) && ($MODE == "en") && (EXT_IS_ACTIVE("bonus"))); + + // Generate subject line + $eval = "\$SUBJECT = BONUS_RALLYE_".strtoupper($MODE)."_NOTIFY;"; + eval($eval); + + // Load message body for bonus mails + $MSG = LOAD_EMAIL_TEMPLATE("bonus_en_notify_body", "", "{PER}uid{PER}"); + $RECEIVER = ""; $UIDs = array(); + + // Check for accounts to be notified + $result_main = SQL_QUERY($SQL, __FILE__, __LINE__); + if (SQL_NUMROWS($result_main) > 0) + { + // Okay lets notify all users! + while(list($uid, $email) = SQL_FETCHROW($result_main)) + { + // Update account + $result_update = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data +SET bonus_ral_notify='%s', bonus_ral_%s_notify='%s' WHERE userid=%d LIMIT 1", + array(time(), $MODE, time(), $uid), __FILE__, __LINE__); + + // Load email template and send it to the user! + if ($MAIL_MODE) + { + // Add userid to queue + $UIDs[] = $uid; + } + else + { + // Send normal notification mail to the members + $MSG = LOAD_EMAIL_TEMPLATE("bonus_".$MODE."_notify", "", $uid); + SEND_EMAIL($email, $SUBJECT, $MSG); + } + } + + // Shall I send out bonus mails? + if ($MAIL_MODE) + { + // Okay, make array to string + $RECEIVER = implode(";", $UIDs); + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_bonus +(subject, text, receivers, points, time, data_type, timestamp, url, cat_id, target_send, mails_sent, is_notify) +VALUES ('%s', '%s', '%s', '%s', '%s', 'NEW', UNIX_TIMESTAMP(), '%s', '%s', '%s', '%s', 'Y')", + array( + $SUBJECT, + $MSG, + $RECEIVER, + $CONFIG['bonus_notify_points'], + $CONFIG['bonus_notify_wait'], + URL."/modules.php?module=index&what=login", + 0, + SELECTION_COUNT(explode(";", $RECEIVER)), + SQL_NUMROWS($result_main), +), __FILE__, __LINE__); + } + } + + // Free memory + SQL_FREERESULT($result_main); +} +// +?> diff --git a/0.2.1/inc/modules/.htaccess b/0.2.1/inc/modules/.htaccess new file mode 100644 index 0000000000..14249c50bd --- /dev/null +++ b/0.2.1/inc/modules/.htaccess @@ -0,0 +1 @@ +Deny from all \ No newline at end of file diff --git a/0.2.1/inc/modules/admin.php b/0.2.1/inc/modules/admin.php new file mode 100644 index 0000000000..89e0e32c5b --- /dev/null +++ b/0.2.1/inc/modules/admin.php @@ -0,0 +1,406 @@ +".ADMIN_REGISTER_DONE.""); + } + + // Check if the admin has submitted data or not + $ret = ""; + if ((isset($_POST['ok'])) && ((empty($_POST['login'])) || (empty($_POST['pass'])) || (strlen($_POST['pass']) < 4))) $_POST['ok'] = "***"; + if ((isset($_POST['ok'])) && ($_POST['ok'] != "***")) + { + // All required data was entered so we check his account + $ret = CHECK_ADMIN_LOGIN($_POST['login'], $_POST['pass']); + switch ($ret) + { + case "done": // Admin and password are okay, so we log in now + $TIMEOUT = time() + (3600 * 24 * $_POST['timeout']); + if ((@setcookie("admin_md5", generatePassString(generateHash($_POST['pass'], __SALT)), $TIMEOUT, COOKIE_PATH)) && (@setcookie("admin_login", $_POST['login'], $TIMEOUT, COOKIE_PATH)) && (@setcookie("admin_last", time(), $TIMEOUT, COOKIE_PATH)) && (@setcookie("admin_to", $_POST['timeout'], $TIMEOUT, COOKIE_PATH))) + { + // Construct URL and redirect + $URL = URL."/modules.php?module=admin&"; + + // Rewrite overview module + if ($GLOBALS['what'] == "overview") { + $GLOBALS['action'] = GET_ACTION($GLOBALS['module'], $GLOBALS['what']); + } + + // Add data to URL + if (!empty($GLOBALS['what'])) $URL .= "what=".$GLOBALS['what']; + elseif (!empty($GLOBALS['action'])) $URL .= "action=".$GLOBALS['action']; + elseif (!empty($_GET['area'])) $URL .= "area=".$_GET['area']; + + // Load URL + LOAD_URL($URL); + } + else + { + OUTPUT_HTML ("".ADMIN_LOGIN_FAILED.""); + ADD_FATAL(CANNOT_REGISTER_SESS); + } + break; + + case "404": // Administrator login not found + $_POST['ok'] = $ret; + $ret = ADMIN_NOT_FOUND; + break; + + case "pass": // Wrong password + $_POST['ok'] = $ret; + $ret = WRONG_PASS; + break; + } + } + if ($ret != "done") + { + if (!empty($_POST['login'])) + { + define('__LOGIN_VALUE', $_POST['login']); + } + else + { + define('__LOGIN_VALUE', ""); + } + + if (isset($_POST['ok'])) + { + // Set messages to zero + + $MSG1 = ""; $MSG2 = ""; + // No login entered? + if (empty($_POST['login'])) $MSG1 = ADMIN_NO_LOGIN; + + // An error comes back from login? + if ((!empty($ret)) && ($_POST['ok'] == "404")) $MSG1 = $ret; + + // No password entered? + if (empty($_POST['pass'])) $MSG2 = ADMIN_NO_PASS; + + // Or password too short? + if (strlen($_POST['pass']) < 4) $MSG2 = ADMIN_SHORT_PASS; + + // An error comes back from login? + if ((!empty($ret)) && ($_POST['ok'] == "pass")) $MSG2 = $ret; + + // Load message template + define('__MSG_LOGIN', LOAD_TEMPLATE("admin_login_msg", true, $MSG1)); + define('__MSG_PASS' , LOAD_TEMPLATE("admin_login_msg", true, $MSG2)); + + // Reset variables + $MSG1 = ""; $MSG2 = ""; + } + else + { + // Set constants to empty for hiding them + define('__MSG_LOGIN', ""); + define('__MSG_PASS' , ""); + } + + // Load login form + if (!empty($GLOBALS['what'])) + { + // Restore old what value + $content = array('target' => "what", 'value' => $GLOBALS['what']); + } + elseif (!empty($GLOBALS['action'])) + { + if ($GLOBALS['action'] != "logout") + { + // Restore old action value + $content = array('target' => "action", 'value' => $GLOBALS['action']); + } + else + { + // Set default values + $content = array('target' => "action", 'value' => "login"); + } + } + elseif (!empty($_GET['area'])) + { + // Restore old area value + $content = array('target' => "area", 'value' => $_GET['area']); + } + else + { + // Set default values + $content = array('target' => "action", 'value' => "login"); + } + + // Load login form template + LOAD_TEMPLATE("admin_login_form", false, $content); + } +} + elseif ($_GET['logout'] == "1") +{ + // Only try to remove cookies + if (@setcookie("admin_login", "", (time() - 3600), COOKIE_PATH) && @setcookie("admin_md5", "", (time() - 3600), COOKIE_PATH) && @setcookie("admin_last", "", (time() - 3600), COOKIE_PATH) && @setcookie("admin_to", "", (time() - 3600), COOKIE_PATH)) + { + // Also remove array elements + unset($_COOKIE['admin_login']); + unset($_COOKIE['admin_md5']); + unset($_COOKIE['admin_last']); + unset($_COOKIE['admin_to']); + + // Destroy session + @session_destroy(); + + // Load logout template + LOAD_TEMPLATE("admin_logout"); + } + else + { + // Something went wrong here... + OUTPUT_HTML ("".ADMIN_LOGOUT_FAILED.""); + + // Add fatal message + ADD_FATAL(CANNOT_UNREG_SESS); + } +} + else +{ + // Maybe an Admin want's to login? + $ret = CHECK_ADMIN_COOKIES(SQL_ESCAPE($_COOKIE['admin_login']), SQL_ESCAPE($_COOKIE['admin_md5'])); + switch ($ret) + { + case "done": + // Cookie-Data accepted + $TIMEOUT = time() + bigintval($_COOKIE['admin_to']); + if ((@setcookie("admin_md5", SQL_ESCAPE($_COOKIE['admin_md5']), $TIMEOUT, COOKIE_PATH)) && (@setcookie("admin_login", SQL_ESCAPE($_COOKIE['admin_login']), $TIMEOUT, COOKIE_PATH)) && (@setcookie("admin_last", time(), $TIMEOUT, COOKIE_PATH)) && (@setcookie("admin_to", bigintval($_COOKIE['admin_to']), $TIMEOUT, COOKIE_PATH))) + { + // Ok, Cookie-Update done + if ((EXT_IS_ACTIVE("admins")) && (GET_EXT_VERSION("admins") > "0.2")) + { + // Check if action GET variable was set + $act = SQL_ESCAPE($GLOBALS['action']); + if (!empty($GLOBALS['what'])) { + // Get action value by what-value + $act = GET_ACTION("admin", $GLOBALS['what']); + } + + // Check for access control line of current menu entry + define('__ACL_ALLOW', ADMINS_CHECK_ACL($act, $GLOBALS['what'])); + } + else + { + // Extension not installed so it's always allowed to access everywhere! + define('__ACL_ALLOW', true); + } + + // When type of admin menu is not set fallback to old menu system + if (empty($CONFIG['admin_menu'])) $CONFIG['admin_menu'] = "OLD"; + + // Check for version and switch between old menu system and new "intelligent menu system" + if ((ADMIN_CHECK_MENU_MODE() == "NEW") && (file_exists(PATH."inc/modules/admin/la_sys-inc.php"))) + { + // Default area is the entrance, of course + $area = "entrance"; + + // Check for similar URL variable + if (!empty($_GET['area'])) $area = $_GET['area']; + + // Load "logical-area menu-system" file + require_once(PATH."inc/modules/admin/la_sys-inc.php"); + + // Create new-style menu system will "logical areas" + ADMIN_LOGICAL_AREA_SYSTEM($area, $act, $GLOBALS['what']); + } + else + { + // This little call constructs the whole default old and lacky menu system + // on left side + ADMIN_DO_ACTION($GLOBALS['what']); + } + } + else + { + // Login failed (cookies enabled?) + OUTPUT_HTML ("".ADMIN_LOGIN_FAILED.""); + ADD_FATAL(CANNOT_RE_REGISTER_SESS); + } + break; + + case "404": // Administrator login not found + $_POST['ok'] = $ret; + ADD_FATAL(ADMIN_NOT_FOUND); + break; + + case "pass": // Wrong password + $_POST['ok'] = $ret; + ADD_FATAL(WRONG_PASS); + break; + } +} + +if (admin_registered) +{ + // Check config.php and inc directory for right access rights + if (is_INCWritable("config")) ADD_FATAL(FATAL_CONFIG_WRITABLE); + if (is_INCWritable("dummy")) ADD_FATAL(FATAL_INC_WRITABLE); +} +// +?> diff --git a/0.2.1/inc/modules/admin/.htaccess b/0.2.1/inc/modules/admin/.htaccess new file mode 100644 index 0000000000..14249c50bd --- /dev/null +++ b/0.2.1/inc/modules/admin/.htaccess @@ -0,0 +1 @@ +Deny from all \ No newline at end of file diff --git a/0.2.1/inc/modules/admin/action- b/0.2.1/inc/modules/admin/action- new file mode 100644 index 0000000000..5fd4c88430 --- /dev/null +++ b/0.2.1/inc/modules/admin/action- @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-admins.php b/0.2.1/inc/modules/admin/action-admins.php new file mode 100644 index 0000000000..2715dad63a --- /dev/null +++ b/0.2.1/inc/modules/admin/action-admins.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-bank.php b/0.2.1/inc/modules/admin/action-bank.php new file mode 100644 index 0000000000..bec1249495 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-bank.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-country.php b/0.2.1/inc/modules/admin/action-country.php new file mode 100644 index 0000000000..c71dd44bad --- /dev/null +++ b/0.2.1/inc/modules/admin/action-country.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-doubler.php b/0.2.1/inc/modules/admin/action-doubler.php new file mode 100644 index 0000000000..5289af1bf0 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-doubler.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-email.php b/0.2.1/inc/modules/admin/action-email.php new file mode 100644 index 0000000000..eacd13a0bf --- /dev/null +++ b/0.2.1/inc/modules/admin/action-email.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-holiday.php b/0.2.1/inc/modules/admin/action-holiday.php new file mode 100644 index 0000000000..4ac7b0941b --- /dev/null +++ b/0.2.1/inc/modules/admin/action-holiday.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-login.php b/0.2.1/inc/modules/admin/action-login.php new file mode 100644 index 0000000000..f21e6c1d1f --- /dev/null +++ b/0.2.1/inc/modules/admin/action-login.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-logout.php b/0.2.1/inc/modules/admin/action-logout.php new file mode 100644 index 0000000000..0f09fc1bf2 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-logout.php @@ -0,0 +1,61 @@ +

"); + +if (!empty($_POST['no'])) +{ + // Do not logout now + LOAD_URL(URL."/modules.php?module=admin"); +} + elseif ((!empty($_POST['yes'])) && ($GLOBALS['action'] == "logout")) +{ + // Redirect to logout link + LOAD_URL(URL."/modules.php?module=admin&logout=1"); +} + else +{ + // Load logout form template + LOAD_TEMPLATE("admin_logout_form"); +} +// +?> diff --git a/0.2.1/inc/modules/admin/action-menu.php b/0.2.1/inc/modules/admin/action-menu.php new file mode 100644 index 0000000000..6b05d58358 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-menu.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-misc.php b/0.2.1/inc/modules/admin/action-misc.php new file mode 100644 index 0000000000..6df7e97e7b --- /dev/null +++ b/0.2.1/inc/modules/admin/action-misc.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-mods.php b/0.2.1/inc/modules/admin/action-mods.php new file mode 100644 index 0000000000..4a64ca8f2e --- /dev/null +++ b/0.2.1/inc/modules/admin/action-mods.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-newsletter.php b/0.2.1/inc/modules/admin/action-newsletter.php new file mode 100644 index 0000000000..5407d15d58 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-newsletter.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-payouts.php b/0.2.1/inc/modules/admin/action-payouts.php new file mode 100644 index 0000000000..ebf4d1af9f --- /dev/null +++ b/0.2.1/inc/modules/admin/action-payouts.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-rallye.php b/0.2.1/inc/modules/admin/action-rallye.php new file mode 100644 index 0000000000..ef46b803e4 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-rallye.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-repair.php b/0.2.1/inc/modules/admin/action-repair.php new file mode 100644 index 0000000000..8553717628 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-repair.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-setup.php b/0.2.1/inc/modules/admin/action-setup.php new file mode 100644 index 0000000000..2c453566a1 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-setup.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-stats.php b/0.2.1/inc/modules/admin/action-stats.php new file mode 100644 index 0000000000..49699a3a7a --- /dev/null +++ b/0.2.1/inc/modules/admin/action-stats.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-task.php b/0.2.1/inc/modules/admin/action-task.php new file mode 100644 index 0000000000..0def6656d4 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-task.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-theme.php b/0.2.1/inc/modules/admin/action-theme.php new file mode 100644 index 0000000000..4a6b29b1fd --- /dev/null +++ b/0.2.1/inc/modules/admin/action-theme.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-transfer.php b/0.2.1/inc/modules/admin/action-transfer.php new file mode 100644 index 0000000000..cf96f717c4 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-transfer.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-user.php b/0.2.1/inc/modules/admin/action-user.php new file mode 100644 index 0000000000..67f4a69025 --- /dev/null +++ b/0.2.1/inc/modules/admin/action-user.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/action-wernis.php b/0.2.1/inc/modules/admin/action-wernis.php new file mode 100644 index 0000000000..66682c55db --- /dev/null +++ b/0.2.1/inc/modules/admin/action-wernis.php @@ -0,0 +1,56 @@ + diff --git a/0.2.1/inc/modules/admin/admin-inc.php b/0.2.1/inc/modules/admin/admin-inc.php new file mode 100644 index 0000000000..6cec9272b1 --- /dev/null +++ b/0.2.1/inc/modules/admin/admin-inc.php @@ -0,0 +1,810 @@ +"; + if ((strlen($pass) == 32) && ($pass == md5($password))) + { + // Generate new hash + $pass = generateHash($password); + if (($ret == "pass") && (GET_EXT_VERSION("sql_patches") < "0.3.6")) $ret = "done"; + } + elseif ((GET_EXT_VERSION("sql_patches") < "0.3.6") || (GET_EXT_VERSION("sql_patches") == "")) + { + // Old hashing way + return $ret; + } + + // Generate salt of password + define('__SALT', substr($pass, 0, -40)); + $salt = __SALT; + + // Check if password is same + if (($ret == "pass") && ($pass == generateHash($password, $salt)) && (!empty($salt))) + { + // Update password + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s' WHERE login='%s' LIMIT 1", + array($pass, $admin_login), __FILE__, __LINE__); + + // Shall I remove the cache file? + if ((EXT_IS_ACTIVE("cache")) && ($CACHE != false)) + { + if ($CACHE->cache_file("admins", true)) $CACHE->cache_destroy(); + } + + // Password matches! + $ret = "done"; + } + elseif ((empty($salt)) && ($ret == "pass")) + { + // Something bad went wrong + $ret = "failed"; + } + return $ret; +} +// Only be executed on cookie checking +function CHECK_ADMIN_COOKIES ($admin_login, $password) +{ + global $ADMINS, $CONFIG; + $ret = "404"; $pass = ""; + if (!empty($ADMINS['aid'][$admin_login])) + { + // Get password from cache + $pass = $ADMINS['password'][$admin_login]; + $ret = "pass"; + $CONFIG['cache_hits']++; + } + else + { + // Get password from DB + $result = SQL_QUERY_ESC("SELECT password FROM "._MYSQL_PREFIX."_admins WHERE login='%s' LIMIT 1", + array($admin_login), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) + { + $ret = "pass"; + list($pass) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + } + } + + //* DEBUG: */ echo "*".$pass."/".$password."
"; + + // Check if password matches + if (($ret == "pass") && ((generatePassString($pass) == $password) || ($pass == $password))) + { + // Passwords matches! + $ret = "done"; + } + return $ret; +} +// +function admin_WriteData ($FILE, $COMMENT, $PREFIX, $SUFFIX, $DATA, $SEEK=0) +{ + $DONE = false; $SEEK++; $found = false; + if (file_exists($FILE)) + { + $SEARCH = "CFG: ".$COMMENT; + $TMP = $FILE.".tmp"; + $fp = fopen($FILE, 'r') or OUTPUT_HTML ("READ: ".$FILE."
"); + if ($fp) + { + $fp_tmp = fopen($TMP, 'w') or OUTPUT_HTML ("WRITE: ".$TMP."
"); + if ($fp_tmp) + { + while (! feof($fp)) + { + $line = fgets ($fp, 1024); + if (strpos($line, $SEARCH) > -1) { $next = 0; $found = true; } + if ($next > -1) + { + if ($next == $SEEK) + { + $next = -1; + $line = $PREFIX.$DATA.$SUFFIX."\n"; + } + else + { + $next++; + } + } + fputs($fp_tmp, $line); + } + fclose($fp_tmp); + // Finished writing tmp file + $DONE = true; + } + fclose($fp); + if (($DONE) && ($found)) + { + // Copy back tmp file and delete tmp :-) + @copy($TMP, $FILE); + @unlink($TMP); + define ('_FATAL', false); + } + elseif (!$found) + { + OUTPUT_HTML ("CHANGE: 404!"); + define ('_FATAL', true); + } + else + { + OUTPUT_HTML ("TMP: UNDONE!"); + define ('_FATAL', true); + } + } + } + else + { + OUTPUT_HTML ("404: ".$FILE."
"); + } +} +// +function ADMIN_DO_ACTION($wht) +{ + global $menuDesription, $MTITLE, $CONFIG, $EXTENSIONS, $link, $DATA; + //* DEBUG: */ echo __LINE__."*".$wht."/".$GLOBALS['module']."/".$GLOBALS['action']."/".$GLOBALS['what']."*
\n"; + if (EXT_IS_ACTIVE("cache")) + { + // Include cache instance + global $CACHE; + } + + // Remove any spaces from variable + if (empty($wht)) + { + // Default admin action is the overview page + $wht = "overview"; + } + else + { + // Compile out some chars + $wht = COMPILE_CODE($wht, false, false, false); + } + + // Get action value + $act = GET_ACTION($GLOBALS['module'], $wht); + + // Define admin login name and ID number + define('__ADMIN_LOGIN', SQL_ESCAPE($_COOKIE['admin_login'])); + define('__ADMIN_ID' , GET_ADMIN_ID($_COOKIE['admin_login'])); + + // Preload templates + if (EXT_IS_ACTIVE("admins")) { + define('__ADMIN_WELCOME', LOAD_TEMPLATE("admin_welcome_admins", true)); + } else { + define('__ADMIN_WELCOME', LOAD_TEMPLATE("admin_welcome", true)); + } + define('__ADMIN_FOOTER' , LOAD_TEMPLATE("admin_footer" , true)); + define('__ADMIN_MENU' , ADD_ADMIN_MENU($act, $wht, true)); + + // Tableset header + LOAD_TEMPLATE("admin_main_header"); + + // Check if action/what pair is valid + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_admin_menu +WHERE action='%s' AND ((what='%s' AND what != 'overview') OR (what='' AND '%s'='overview')) +LIMIT 1", array($act, $wht, $wht), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) + { + // Free memory + SQL_FREERESULT($result); + + // Is valid but does the inlcude file exists? + $INC = sprintf(PATH."inc/modules/admin/action-%s.php", $act); + if ((file_exists($INC)) && (is_readable($INC)) && (VALIDATE_MENU_ACTION("admin", $act, $wht)) && (__ACL_ALLOW == true)) + { + // Ok, we finally load the admin action module + include($INC); + } + elseif (__ACL_ALLOW == false) + { + // Access denied + LOAD_TEMPLATE("admin_menu_failed", false, ADMINS_ACCESS_DENIED); + ADD_FATAL(ADMINS_ACCESS_DENIED); + } + else + { + // Include file not found! :-( + LOAD_TEMPLATE("admin_menu_failed", false, ADMIN_404_ACTION); + ADD_FATAL(ADMIN_404_ACTION_1.$act.ADMIN_404_ACTION_2); + } + } else { + // Invalid action/what pair found! + LOAD_TEMPLATE("admin_menu_failed", false, ADMIN_INVALID_ACTION); + ADD_FATAL(ADMIN_INVALID_ACTION_1.$act."/".$wht.ADMIN_INVALID_ACTION_2); + } + + // Tableset footer + LOAD_TEMPLATE("admin_main_footer"); +} +// +function ADD_ADMIN_MENU($act, $wht,$return=false) +{ + global $_GET, $menuDesription, $MTITLE, $link; + $SUB = false; + + // Menu descriptions + $menuDesription = array(); + $MTITLE = array(); + + // Build main menu + $result_main = SQL_QUERY("SELECT action, title, descr FROM "._MYSQL_PREFIX."_admin_menu WHERE what='' ORDER BY sort, id DESC", __FILE__, __LINE__); + $OUT = ""; + if (SQL_NUMROWS($result_main) > 0) + { + $OUT = " +\n"; + while (list($menu, $title, $descr) = SQL_FETCHROW($result_main)) + { + if ((EXT_IS_ACTIVE("admins")) && (GET_EXT_VERSION("admins") > "0.2")) + { + $ACL = ADMINS_CHECK_ACL($menu, ""); + } + else + { + // ACL is "allow"... hmmm + $ACL = true; + } + if ($ACL) + { + if (!$SUB) + { + // Insert compiled menu title and description + $MTITLE[$menu] = $title; + $menuDesription[$menu] = $descr; + } + $OUT .= " + +\n"; + $result_what = SQL_QUERY_ESC("SELECT what, title, descr FROM "._MYSQL_PREFIX."_admin_menu WHERE action='%s' AND what != '' ORDER BY sort, id DESC", + array($menu), __FILE__, __LINE__); + if ((SQL_NUMROWS($result_what) > 0) && ($act == $menu)) + { + $menuDesription = array(); + $MTITLE = array(); $SUB = true; + $OUT .= " + + +\n"; + } + $OUT .= "\n"; + } + } + + // Free memory + SQL_FREERESULT($result_main); + $OUT .= "
 
+  · "; + if (($menu == $act) && (empty($wht))) + { + $OUT .= ""; + } + else + { + $OUT .= "[ "; + } + $OUT .= $title; + if (($menu == $act) && (empty($wht))) + { + $OUT .= ""; + } + else + { + $OUT .= " ]"; + } + $OUT .= "
  + \n"; + while (list($wht_sub, $title_what, $desc_what) = SQL_FETCHROW($result_what)) + { + // Filename + $INC = sprintf(PATH."inc/modules/admin/what-%s.php", $wht_sub); + if ((EXT_IS_ACTIVE("admins")) && (GET_EXT_VERSION("admins") > "0.2")) + { + $ACL = ADMINS_CHECK_ACL("", $wht_sub); + } + else + { + // ACL is "allow"... hmmm + $ACL = true; + } + $readable = ((file_exists($INC)) && (is_readable($INC))); + if ($ACL) + { + // Insert compiled title and description + $MTITLE[$wht_sub] = $title_what; + $menuDesription[$wht_sub] = $desc_what; + $OUT .= " + +\n"; + } + } + + // Free memory + SQL_FREERESULT($result_what); + $OUT .= "
+  --> "; + if ($readable) + { + if ($wht == $wht_sub) + { + $OUT .= ""; + } + else + { + $OUT .= "[ "; + } + } + else + { + $OUT .= ""; + } + $OUT .= $title_what; + if ($readable) + { + if ($wht == $wht_sub) + { + $OUT .= ""; + } + else + { + $OUT .= " ]"; + } + } + else + { + $OUT .= ""; + } + $OUT .= "
+
\n"; + } + + // Compile and run the code here. This inserts all constants into the + // HTML output. Costs me some time to figure this out... *sigh* Quix0r + $eval = "\$OUT = \"".COMPILE_CODE(addslashes($OUT))."\";"; + eval($eval); + + // Return or output content? + if ($return) { + return $OUT; + } else { + OUTPUT_HTML ($OUT); + } +} +// +function ADD_MEMBER_SELECTION_BOX($add_all = false, $return = false, $none = false, $def = "0") +{ + global $_GET; + // Output selection form with all confirmed user accounts listed + $result = SQL_QUERY("SELECT userid, surname, family FROM "._MYSQL_PREFIX."_user_data ORDER BY userid", __FILE__, __LINE__); + $OUT = ""; + + // USe this only for adding points (e.g. adding refs really makes no sence ;-) ) + if ($add_all) $OUT = " \n"; + elseif ($none) $OUT = " \n"; + while (list($id, $sname, $fname) = SQL_FETCHROW($result)) + { + $OUT .= "