Heacy rewrite/cleanup:
authorRoland Häder <roland@mxchange.org>
Mon, 27 May 2013 13:37:29 +0000 (13:37 +0000)
committerRoland Häder <roland@mxchange.org>
Mon, 27 May 2013 13:37:29 +0000 (13:37 +0000)
- Removed all deprecated files (with only @DEPRECATED in it)
- Listing of blacklist entries added (may be uncomplete, untested)
- Fixed AJAX installer + added first admin registration to it
- Prepared better CAPTCHA support
- Various other fixes (tons!)
- TODOs.txt updated

552 files changed:
.gitattributes
DOCS/TODOs.txt
DOCS/en/DESIGNING.txt
api.php
debug.php
img.php
img/captcha-error.png [new file with mode: 0644]
inc/ajax-functions.php
inc/ajax/ajax_
inc/ajax/ajax_admin.php
inc/ajax/ajax_installer.php
inc/autopurge.php [deleted file]
inc/birthday_mails.php [deleted file]
inc/callback-functions.php
inc/captcha-base.png [new file with mode: 0644]
inc/check-reset.php [deleted file]
inc/classes/cachesystem.class.php
inc/code-functions.php
inc/config-functions.php
inc/config-local.php.dist
inc/db/lib-mysql3.php
inc/doubler_send.php [deleted file]
inc/email-functions.php
inc/extensions-functions.php
inc/extensions.php [deleted file]
inc/extensions/admins/.htaccess [new file with mode: 0644]
inc/extensions/admins/mode-update.php [new file with mode: 0644]
inc/extensions/autopurge/.htaccess [new file with mode: 0644]
inc/extensions/autopurge/mode-update.php [new file with mode: 0644]
inc/extensions/beg/.htaccess [new file with mode: 0644]
inc/extensions/beg/mode-update.php [new file with mode: 0644]
inc/extensions/bonus/mode-update.php
inc/extensions/doubler/.htaccess [new file with mode: 0644]
inc/extensions/doubler/mode-setup.php [new file with mode: 0644]
inc/extensions/doubler/mode-update.php [new file with mode: 0644]
inc/extensions/ext-admins.php
inc/extensions/ext-autopurge.php
inc/extensions/ext-bank.php
inc/extensions/ext-beg.php
inc/extensions/ext-blacklist.php
inc/extensions/ext-doubler.php
inc/extensions/ext-forced.php
inc/extensions/ext-grade.php
inc/extensions/ext-holiday.php
inc/extensions/ext-html_mail.php
inc/extensions/ext-order.php
inc/extensions/ext-other.php
inc/extensions/ext-payout.php
inc/extensions/ext-rallye.php
inc/extensions/ext-ranking.php [new file with mode: 0644]
inc/extensions/ext-register.php
inc/extensions/ext-removeip.php
inc/extensions/ext-rewrite.php
inc/extensions/ext-sql_patches.php
inc/extensions/ext-surfbar.php
inc/extensions/ext-task.php
inc/extensions/ext-timezone.php
inc/extensions/ext-top10.php
inc/extensions/ext-transaction.php [new file with mode: 0644]
inc/extensions/ext-transfer.php
inc/extensions/ext-yoomedia.php
inc/extensions/forced/.htaccess [new file with mode: 0644]
inc/extensions/forced/mode-setup.php [new file with mode: 0644]
inc/extensions/order/mode-update.php
inc/extensions/other/.htaccess [new file with mode: 0644]
inc/extensions/other/mode-update.php [new file with mode: 0644]
inc/extensions/payout/.htaccess [new file with mode: 0644]
inc/extensions/payout/mode-update.php [new file with mode: 0644]
inc/extensions/rallye/.htaccess [new file with mode: 0644]
inc/extensions/rallye/mode-update.php [new file with mode: 0644]
inc/extensions/register/mode-update.php
inc/extensions/sql_patches/mode-remove.php
inc/extensions/sql_patches/mode-update.php
inc/extensions/surfbar/.htaccess [new file with mode: 0644]
inc/extensions/surfbar/mode-setup.php [new file with mode: 0644]
inc/extensions/task/.htaccess [new file with mode: 0644]
inc/extensions/task/mode-update.php [new file with mode: 0644]
inc/extensions/transaction/.htaccess [new file with mode: 0644]
inc/extensions/transaction/mode-setup.php [new file with mode: 0644]
inc/extensions/transfer/.htaccess [new file with mode: 0644]
inc/extensions/transfer/mode-setup.php [new file with mode: 0644]
inc/extensions/transfer/mode-update.php [new file with mode: 0644]
inc/extensions/user/mode-setup.php
inc/extensions/user/mode-update.php
inc/fatal_errors.php [deleted file]
inc/filter-functions.php
inc/filter/blacklist_filter.php
inc/filter/forced_filter.php
inc/filter/html_mail_filter.php [new file with mode: 0644]
inc/filter/order_filter.php
inc/filter/surfbar_filter.php
inc/filter/transaction_filter.php [new file with mode: 0644]
inc/filters.php
inc/fix_menu.php
inc/functions.php
inc/gen_sql_patches.php
inc/hooks.php [deleted file]
inc/hourly/hourly_transaction.php [new file with mode: 0644]
inc/http-functions.php
inc/img/img_transaction_captcha.php [new file with mode: 0644]
inc/inc-functions.php
inc/install-functions.php
inc/install-inc.php
inc/install/install_page_
inc/install/install_page_1.php
inc/install/install_page_2.php
inc/install/install_page_3.php
inc/install/install_page_5.php
inc/install/install_page_finalize.php
inc/install/install_page_finished.php
inc/install/install_page_welcome.php
inc/js/js-install_ajax.php
inc/language-functions.php
inc/language.php [deleted file]
inc/language/active_de.php
inc/language/admins_de.php
inc/language/autopurge_de.php
inc/language/bank_de.php
inc/language/beg_de.php
inc/language/blacklist_de.php
inc/language/bonus_de.php
inc/language/booking_de.php
inc/language/coupon_de.php
inc/language/de.php
inc/language/doubler_de.php
inc/language/holiday_de.php
inc/language/install_de.php
inc/language/mailid_de.php
inc/language/nickname_de.php
inc/language/optimize_de.php
inc/language/other_de.php
inc/language/pro_de.php [deleted file]
inc/language/rallye_de.php
inc/language/refback_de.php
inc/language/sponsor_de.php
inc/language/task_de.php
inc/language/theme_de.php
inc/language/transfer_de.php
inc/language/user_de.php
inc/language/validator_de.php
inc/libs/bonus_functions.php
inc/libs/earning_functions.php
inc/libs/forced_functions.php
inc/libs/mailid_functions.php
inc/libs/mediadata_functions.php
inc/libs/network_functions.php
inc/libs/output_functions.php [deleted file]
inc/libs/rallye_functions.php
inc/libs/refback_functions.php
inc/libs/register_functions.php
inc/libs/sponsor_functions.php
inc/libs/surfbar_functions.php
inc/libs/task_functions.php
inc/libs/theme_functions.php
inc/libs/transaction_functions.php [new file with mode: 0644]
inc/libs/yoomedia_functions.php
inc/load_config.php
inc/load_extensions.php [deleted file]
inc/loader/load-
inc/loader/load-admins.php
inc/loader/load-config.php
inc/loader/load-earning.php
inc/loader/load-extension.php
inc/loader/load-filter.php
inc/loader/load-imprint.php
inc/loader/load-modules.php
inc/loader/load-payments.php
inc/loader/load-points_data.php
inc/loader/load-refdepths.php
inc/loader/load-refsystem.php
inc/loader/load-revision.php
inc/loader/load-themes.php
inc/mails/birthday_mails.php [deleted file]
inc/mails/doubler_mails.php
inc/module-functions.php
inc/modules/admin.php
inc/modules/admin/admin-inc.php
inc/modules/admin/overview-inc.php
inc/modules/admin/what-add_tester_user.php
inc/modules/admin/what-admins_contact.php [deleted file]
inc/modules/admin/what-autopurge.php [deleted file]
inc/modules/admin/what-config_booking.php [new file with mode: 0644]
inc/modules/admin/what-config_cache.php [deleted file]
inc/modules/admin/what-config_cats.php [deleted file]
inc/modules/admin/what-config_mods.php [deleted file]
inc/modules/admin/what-config_rallye_prices.php [deleted file]
inc/modules/admin/what-config_reg.php [deleted file]
inc/modules/admin/what-config_rewrite.php
inc/modules/admin/what-config_secure.php
inc/modules/admin/what-del_task.php [deleted file]
inc/modules/admin/what-edit_sponsor.php
inc/modules/admin/what-list_
inc/modules/admin/what-list_autopurge.php
inc/modules/admin/what-list_blacklist.php [new file with mode: 0644]
inc/modules/admin/what-list_network_vcheck_params.php [deleted file]
inc/modules/admin/what-list_newsletter.php [deleted file]
inc/modules/admin/what-list_norefs.php [deleted file]
inc/modules/admin/what-list_task.php
inc/modules/admin/what-list_user.php
inc/modules/admin/what-list_user_amounts.php
inc/modules/admin/what-list_yoomedia_tm.php
inc/modules/admin/what-newsletter.php [deleted file]
inc/modules/admin/what-optimize.php
inc/modules/admin/what-payments.php
inc/modules/admin/what-repair_amenu.php [deleted file]
inc/modules/admin/what-repair_gmenu.php [deleted file]
inc/modules/admin/what-repair_mmenu.php [deleted file]
inc/modules/admin/what-send_coupon.php
inc/modules/admin/what-stats.php [deleted file]
inc/modules/admin/what-unlock_emails.php
inc/modules/admin/what-user_online.php [deleted file]
inc/modules/admin/what-welcome.php
inc/modules/frameset.php [deleted file]
inc/modules/frametester.php
inc/modules/guest/what-mediadata.php
inc/modules/guest/what-register.php
inc/modules/guest/what-sponsor_reg.php
inc/modules/member/what-order.php
inc/modules/member/what-refback.php
inc/modules/member/what-reflist.php
inc/modules/member/what-stats.php
inc/modules/member/what-transaction_fees.php [new file with mode: 0644]
inc/modules/member/what-transactions.php [new file with mode: 0644]
inc/modules/sponsor/account.php
inc/modules/welcome.php [deleted file]
inc/mysql-connect.php
inc/mysql-manager.php
inc/patch-system.php [deleted file]
inc/pool-update.php [deleted file]
inc/pool/pool-user.php
inc/profile-updte.php [deleted file]
inc/purge/purge-inact.php
inc/referral-functions.php
inc/request-functions.php
inc/revision-functions.php
inc/security.php [deleted file]
inc/sql-functions.php
inc/sql_error.php [deleted file]
inc/stats-functions.php
inc/stats_bonus.php [deleted file]
inc/stylesheet.php
inc/template-functions.php
inc/template.php [deleted file]
inc/wrapper-functions.php
inc/xml-functions.php
inc/yearly/.htaccess [new file with mode: 0644]
inc/yearly/yearly_ [new file with mode: 0644]
js.php
js/ajax-common.js
js/install-common.js
js/install-data.js
js/jquery-ui.custom.js [deleted file]
js/jquery-uncompressed.js [deleted file]
mailid.php
mailid_top.php [deleted file]
show_bonus.php
templates/de/emails/admin/admin_autopurge_del_mails.tpl [deleted file]
templates/de/emails/admin/admin_autopurge_delete.tpl [deleted file]
templates/de/emails/admin/admin_autopurge_inactive.tpl [deleted file]
templates/de/emails/admin/admin_autopurge_points.tpl [deleted file]
templates/de/emails/admin/admin_autopurge_tsks.tpl [deleted file]
templates/de/emails/admin/admin_autopurge_turbo.tpl [deleted file]
templates/de/emails/admin/admin_autopurge_unconfirmed.tpl [deleted file]
templates/de/emails/admin/admin_holiday_unlock.tpl
templates/de/emails/admin/admin_only_forced_campaign_pending_active.tpl [new file with mode: 0644]
templates/de/emails/admin/admin_purge_task.tpl
templates/de/emails/member/member_holiday_unlock.tpl
templates/de/html/admin/admin_add_config_network_type.tpl
templates/de/html/admin/admin_add_config_network_type_form.tpl
templates/de/html/admin/admin_add_network_vcheck_param.tpl [deleted file]
templates/de/html/admin/admin_add_payout.tpl
templates/de/html/admin/admin_add_reflevel.tpl [deleted file]
templates/de/html/admin/admin_add_reflvl.tpl [deleted file]
templates/de/html/admin/admin_add_shop_cat.tpl [deleted file]
templates/de/html/admin/admin_add_tester_user.tpl
templates/de/html/admin/admin_admins_contact_form.tpl [deleted file]
templates/de/html/admin/admin_admins_mails_edit.tpl
templates/de/html/admin/admin_admins_mails_list.tpl
templates/de/html/admin/admin_config_
templates/de/html/admin/admin_config_active.tpl
templates/de/html/admin/admin_config_admin.tpl
templates/de/html/admin/admin_config_autopurge.tpl
templates/de/html/admin/admin_config_autopurge_pro.tpl [deleted file]
templates/de/html/admin/admin_config_beg.tpl
templates/de/html/admin/admin_config_beg_pro.tpl [deleted file]
templates/de/html/admin/admin_config_birthday.tpl
templates/de/html/admin/admin_config_blacklist.tpl
templates/de/html/admin/admin_config_bonus.tpl
templates/de/html/admin/admin_config_bonus_pro.tpl [deleted file]
templates/de/html/admin/admin_config_booking.tpl [new file with mode: 0644]
templates/de/html/admin/admin_config_cache.tpl [deleted file]
templates/de/html/admin/admin_config_coupon.tpl
templates/de/html/admin/admin_config_doubler.tpl
templates/de/html/admin/admin_config_doubler_pro.tpl [deleted file]
templates/de/html/admin/admin_config_extensions.tpl
templates/de/html/admin/admin_config_holiday.tpl
templates/de/html/admin/admin_config_home.tpl
templates/de/html/admin/admin_config_home_main.tpl
templates/de/html/admin/admin_config_home_settings_pro.tpl [deleted file]
templates/de/html/admin/admin_config_mediadata.tpl
templates/de/html/admin/admin_config_menu.tpl
templates/de/html/admin/admin_config_network.tpl
templates/de/html/admin/admin_config_network_api.tpl
templates/de/html/admin/admin_config_network_types.tpl
templates/de/html/admin/admin_config_network_types_row.tpl
templates/de/html/admin/admin_config_newsletter.tpl
templates/de/html/admin/admin_config_nickname.tpl
templates/de/html/admin/admin_config_order.tpl
templates/de/html/admin/admin_config_other.tpl
templates/de/html/admin/admin_config_payouts.tpl
templates/de/html/admin/admin_config_point_settings.tpl
templates/de/html/admin/admin_config_points.tpl
templates/de/html/admin/admin_config_profile.tpl
templates/de/html/admin/admin_config_proxy.tpl
templates/de/html/admin/admin_config_refback.tpl
templates/de/html/admin/admin_config_refid.tpl
templates/de/html/admin/admin_config_reg_pro.tpl [deleted file]
templates/de/html/admin/admin_config_register.tpl
templates/de/html/admin/admin_config_register2.tpl
templates/de/html/admin/admin_config_removeip.tpl
templates/de/html/admin/admin_config_rewrite.tpl
templates/de/html/admin/admin_config_secure.tpl
templates/de/html/admin/admin_config_session.tpl
templates/de/html/admin/admin_config_shop.tpl [deleted file]
templates/de/html/admin/admin_config_sponsor.tpl
templates/de/html/admin/admin_config_stats.tpl
templates/de/html/admin/admin_config_sub_points.tpl
templates/de/html/admin/admin_config_surfbar.tpl
templates/de/html/admin/admin_config_timezone.tpl
templates/de/html/admin/admin_config_title.tpl
templates/de/html/admin/admin_config_top10.tpl
templates/de/html/admin/admin_config_transfer.tpl
templates/de/html/admin/admin_config_transfer_pro.tpl [deleted file]
templates/de/html/admin/admin_config_user.tpl
templates/de/html/admin/admin_config_user_subid.tpl
templates/de/html/admin/admin_config_validator.tpl
templates/de/html/admin/admin_config_wernis.tpl
templates/de/html/admin/admin_config_yoomedia.tpl
templates/de/html/admin/admin_del_bank_packages.tpl
templates/de/html/admin/admin_delete_admin_menu.tpl
templates/de/html/admin/admin_delete_admins.tpl
templates/de/html/admin/admin_delete_admins_acls.tpl
templates/de/html/admin/admin_delete_forced_ads.tpl
templates/de/html/admin/admin_delete_forced_costs.tpl
templates/de/html/admin/admin_delete_guest_menu.tpl
templates/de/html/admin/admin_delete_member_menu.tpl
templates/de/html/admin/admin_delete_network_array_translation.tpl
templates/de/html/admin/admin_delete_network_request_params.tpl
templates/de/html/admin/admin_delete_network_types.tpl
templates/de/html/admin/admin_delete_networks.tpl
templates/de/html/admin/admin_delete_payouts_row.tpl
templates/de/html/admin/admin_edit_admin_menu_form.tpl
templates/de/html/admin/admin_edit_admins.tpl
templates/de/html/admin/admin_edit_admins_acls.tpl
templates/de/html/admin/admin_edit_cats_row.tpl
templates/de/html/admin/admin_edit_config_network_type_form.tpl
templates/de/html/admin/admin_edit_forced_ads.tpl
templates/de/html/admin/admin_edit_forced_campaigns.tpl
templates/de/html/admin/admin_edit_forced_costs.tpl
templates/de/html/admin/admin_edit_guest_menu_form.tpl
templates/de/html/admin/admin_edit_member_menu.tpl
templates/de/html/admin/admin_edit_mods.tpl
templates/de/html/admin/admin_edit_network_array_translation.tpl
templates/de/html/admin/admin_edit_network_request_params.tpl
templates/de/html/admin/admin_edit_network_types.tpl
templates/de/html/admin/admin_edit_networks.tpl
templates/de/html/admin/admin_edit_payouts_row.tpl
templates/de/html/admin/admin_edit_points_data.tpl
templates/de/html/admin/admin_edit_reflevel.tpl [deleted file]
templates/de/html/admin/admin_edit_reflevel_row.tpl [deleted file]
templates/de/html/admin/admin_email_archiv.tpl
templates/de/html/admin/admin_export_network_vcheck_params.tpl [deleted file]
templates/de/html/admin/admin_extension_reg_form.tpl
templates/de/html/admin/admin_extensions_installed.tpl [deleted file]
templates/de/html/admin/admin_extensions_list.tpl [deleted file]
templates/de/html/admin/admin_extensions_search.tpl [deleted file]
templates/de/html/admin/admin_forum_add.tpl [deleted file]
templates/de/html/admin/admin_forum_descr.tpl [deleted file]
templates/de/html/admin/admin_forum_display_cat.tpl [deleted file]
templates/de/html/admin/admin_forum_edit_del.tpl [deleted file]
templates/de/html/admin/admin_forum_edit_forum.tpl [deleted file]
templates/de/html/admin/admin_holiday_task.tpl [deleted file]
templates/de/html/admin/admin_import_theme.tpl
templates/de/html/admin/admin_list_admins.tpl
templates/de/html/admin/admin_list_admins_acls.tpl
templates/de/html/admin/admin_list_bank_package.tpl
templates/de/html/admin/admin_list_bonus_emails.tpl
templates/de/html/admin/admin_list_booking.tpl
templates/de/html/admin/admin_list_doubler_already.tpl
templates/de/html/admin/admin_list_doubler_overview.tpl
templates/de/html/admin/admin_list_doubler_waiting.tpl
templates/de/html/admin/admin_list_emails.tpl
templates/de/html/admin/admin_list_links.tpl
templates/de/html/admin/admin_list_mods.tpl
templates/de/html/admin/admin_list_network_array_translation.tpl
templates/de/html/admin/admin_list_network_data.tpl
templates/de/html/admin/admin_list_network_query_api.tpl
templates/de/html/admin/admin_list_network_request_params.tpl
templates/de/html/admin/admin_list_network_types.tpl
templates/de/html/admin/admin_list_network_vcheck_params.tpl [deleted file]
templates/de/html/admin/admin_list_network_vcheck_params_row.tpl [deleted file]
templates/de/html/admin/admin_list_notify_emails.tpl
templates/de/html/admin/admin_list_online.tpl
templates/de/html/admin/admin_list_rallye_usr.tpl
templates/de/html/admin/admin_list_rallyes_row.tpl
templates/de/html/admin/admin_list_reflevel.tpl [deleted file]
templates/de/html/admin/admin_list_reflevel_row.tpl [deleted file]
templates/de/html/admin/admin_list_sponsor_details.tpl
templates/de/html/admin/admin_list_sponsor_pay_del.tpl
templates/de/html/admin/admin_list_sponsor_pay_edit.tpl
templates/de/html/admin/admin_list_task.tpl
templates/de/html/admin/admin_list_task_delete.tpl
templates/de/html/admin/admin_list_unconfirmed_header.tpl [deleted file]
templates/de/html/admin/admin_list_user_amounts.tpl
templates/de/html/admin/admin_list_user_row.tpl
templates/de/html/admin/admin_logout_sql_patches.tpl [deleted file]
templates/de/html/admin/admin_member_menu_status.tpl
templates/de/html/admin/admin_mods_footer_list.tpl [deleted file]
templates/de/html/admin/admin_mods_footer_stats.tpl [deleted file]
templates/de/html/admin/admin_mods_footer_stats2.tpl [deleted file]
templates/de/html/admin/admin_mods_header_list.tpl [deleted file]
templates/de/html/admin/admin_mods_header_stats.tpl [deleted file]
templates/de/html/admin/admin_mods_header_stats2.tpl [deleted file]
templates/de/html/admin/admin_mods_list.tpl [deleted file]
templates/de/html/admin/admin_mods_list_row.tpl [deleted file]
templates/de/html/admin/admin_network_vcheck_param_added.tpl [deleted file]
templates/de/html/admin/admin_new_ext.tpl [deleted file]
templates/de/html/admin/admin_newsletter_tsk.tpl [deleted file]
templates/de/html/admin/admin_online_footer.tpl [deleted file]
templates/de/html/admin/admin_online_header.tpl [deleted file]
templates/de/html/admin/admin_optimize.tpl
templates/de/html/admin/admin_overview_header.tpl [deleted file]
templates/de/html/admin/admin_overview_list.tpl
templates/de/html/admin/admin_overview_table.tpl
templates/de/html/admin/admin_patches.tpl [deleted file]
templates/de/html/admin/admin_patches_row.tpl [deleted file]
templates/de/html/admin/admin_payout_failed_transfer.tpl
templates/de/html/admin/admin_reg.tpl [deleted file]
templates/de/html/admin/admin_reg_row.tpl [deleted file]
templates/de/html/admin/admin_show_config_network_type.tpl
templates/de/html/admin/admin_theme_list.tpl [deleted file]
templates/de/html/doubler/doubler_index.tpl
templates/de/html/ext/ext_grade.tpl
templates/de/html/ext/ext_primera.tpl [deleted file]
templates/de/html/ext/ext_ranking.tpl [new file with mode: 0644]
templates/de/html/ext/ext_surfbar.tpl
templates/de/html/ext/ext_transaction.tpl [new file with mode: 0644]
templates/de/html/fatal_footer.tpl [deleted file]
templates/de/html/fatal_header.tpl [deleted file]
templates/de/html/guest/guest_active_none_row.tpl
templates/de/html/guest/guest_confirm_table.tpl [deleted file]
templates/de/html/guest/guest_doubler.tpl
templates/de/html/guest/guest_list_active_row_none.tpl
templates/de/html/guest/guest_list_rallye.tpl
templates/de/html/guest/guest_paidlinks_register.tpl [deleted file]
templates/de/html/guest/guest_paidlinks_register_header.tpl [deleted file]
templates/de/html/guest/guest_receive_table.tpl
templates/de/html/guest/guest_show_rallye.tpl
templates/de/html/impressum.tpl
templates/de/html/install/install_header.tpl [deleted file]
templates/de/html/install/install_main_ajax.tpl
templates/de/html/install/install_menu.tpl
templates/de/html/install/install_page_base_data.tpl
templates/de/html/install/install_page_database_config.tpl
templates/de/html/install/install_page_extensions.tpl
templates/de/html/install/install_page_first_admin.tpl [new file with mode: 0644]
templates/de/html/install/install_page_other_config.tpl
templates/de/html/install/install_page_smtp_config.tpl
templates/de/html/mediadata.tpl
templates/de/html/mediadata_extra_hrow.tpl
templates/de/html/member/member_add_subid.tpl
templates/de/html/member/member_beg.tpl
templates/de/html/member/member_beg_404.tpl
templates/de/html/member/member_bonus.tpl
templates/de/html/member/member_bonus_404.tpl
templates/de/html/member/member_delete_user_subids.tpl
templates/de/html/member/member_doubler.tpl
templates/de/html/member/member_edit_user_subids.tpl
templates/de/html/member/member_list_beg.tpl
templates/de/html/member/member_list_rallye.tpl
templates/de/html/member/member_list_refback_deleted_row.tpl
templates/de/html/member/member_list_refback_row.tpl
templates/de/html/member/member_list_referral_row.tpl
templates/de/html/member/member_list_unconfirmed.tpl
templates/de/html/member/member_list_unconfirmed_nopoints.tpl
templates/de/html/member/member_nickname_form.tpl
templates/de/html/member/member_payout.tpl
templates/de/html/member/member_payout_form.tpl
templates/de/html/member/member_payout_form_banner.tpl
templates/de/html/member/member_points.tpl
templates/de/html/member/member_pool_table.tpl
templates/de/html/member/member_receive_table.tpl
templates/de/html/member/member_stats_table.tpl
templates/de/html/member/member_themes_row.tpl
templates/de/html/member/member_transaction_fees.tpl [new file with mode: 0644]
templates/de/html/member/member_transaction_fees_config_row.tpl [new file with mode: 0644]
templates/de/html/member/member_transactions.tpl [new file with mode: 0644]
templates/de/html/member/member_transactions_form.tpl [new file with mode: 0644]
templates/de/html/member/member_transactions_row.tpl [new file with mode: 0644]
templates/de/html/member/member_transfer_list.tpl
templates/de/html/member/member_transfer_new.tpl
templates/de/html/member/member_transfer_overview.tpl
templates/de/html/member/member_unconfirmed_404.tpl [deleted file]
templates/de/html/member/member_unconfirmed_404_nopoints.tpl [deleted file]
templates/de/html/member/member_unconfirmed_row.tpl [deleted file]
templates/de/html/member/member_unconfirmed_row_nopoints.tpl [deleted file]
templates/de/html/member/member_unconfirmed_table.tpl [deleted file]
templates/de/html/member/member_unconfirmed_table_nopoints.tpl [deleted file]
templates/de/html/member/member_wernis_mode_choose.tpl
templates/de/html/member/member_wernis_mode_list.tpl
templates/de/html/member/member_wernis_mode_payout.tpl
templates/de/html/member/member_wernis_mode_withdraw.tpl
templates/de/html/message.tpl
templates/de/html/metadata.tpl [deleted file]
templates/de/html/select/select_forced_ads_id_banner_box.tpl [new file with mode: 0644]
templates/de/html/select/select_forced_ads_id_banner_option.tpl [new file with mode: 0644]
templates/de/html/select/select_network_configured_box.tpl
templates/de/html/select/select_network_unconfigured_box.tpl
templates/de/html/show_bonus_msg.tpl
templates/de/html/theme_one.tpl [deleted file]
templates/de/html/theme_select_box.tpl [deleted file]
templates/de/html/theme_select_form.tpl [deleted file]
templates/xml/admin/admin_add_do_forced_ads.xml
templates/xml/admin/admin_list_blacklist.xml [new file with mode: 0644]
templates/xml/admin/admin_list_booking.xml
templates/xml/admin/admin_list_forced_ads.xml
templates/xml/admin/admin_list_forced_campaigns.xml
templates/xml/admin/admin_list_grade_data.xml
templates/xml/admin/admin_list_nickname_history.xml
templates/xml/admin/admin_list_server_name_log.xml
templates/xml/admin/admin_list_surfbar_urls.xml
templates/xml/admin/admin_list_user_subid.xml
templates/xml/admin/admin_list_user_subid_stats.xml
templates/xml/admin_list_data_template.xml
templates/xml/member/member_list_booking.xml
templates/xml/member/member_list_subid.xml
templates/xml/member/member_list_subid_stats.xml
theme/business/css/general.css
theme/business/css/install.css
theme/business/css/register.css
theme/default/css/ajax.css
theme/default/css/general.css
theme/default/css/register.css
theme/desert/css/general.css
theme/desert/css/register.css
theme/org/css/general.css
theme/org/css/register.css
theme/schleuder/css/general.css
theme/schleuder/css/register.css
theme/ship-simu/css/general.css
theme/ship-simu/css/install.css [new file with mode: 0644]
theme/ship-simu/css/register.css

index 58b7ba4..4da017e 100644 (file)
@@ -101,6 +101,7 @@ DOCS/tpl-validator.php svneol=native#text/plain
 /debug.php svneol=native#text/plain
 /doubler.php svneol=native#text/plain
 /img.php svneol=native#text/plain
+img/captcha-error.png -text svneol=unset#image/png
 img/politician-stop/politiker-stopp-print-kopf.png -text svneol=unset#image/png
 img/politician-stop/politiker-stopp_150x24.png -text svneol=unset#image/png
 img/uberwach/uberwach-button-gruen.gif -text svneol=unset#image/gif
@@ -111,17 +112,15 @@ inc/ajax/.htaccess svneol=native#text/plain
 inc/ajax/ajax_ svneol=native#text/plain
 inc/ajax/ajax_admin.php svneol=native#text/plain
 inc/ajax/ajax_installer.php svneol=native#text/plain
-inc/autopurge.php svneol=native#text/plain
 inc/autopurge/.htaccess svneol=native#text/plain
 inc/autopurge/purge- svneol=native#text/plain
-inc/birthday_mails.php svneol=native#text/plain
 inc/cache/.htaccess svneol=native#text/plain
 inc/cache/_compiled/.htaccess svneol=native#text/plain
 inc/cache/_compiled/email/.htaccess svneol=native#text/plain
 inc/cache/_compiled/html/.htaccess svneol=native#text/plain
 inc/cache/_compiled/xml/.htaccess svneol=native#text/plain
 inc/callback-functions.php svneol=native#text/plain
-inc/check-reset.php svneol=native#text/plain
+inc/captcha-base.png -text svneol=unset#image/png
 inc/classes/.htaccess svneol=native#text/plain
 inc/classes/cachesystem.class.php svneol=native#text/plain
 inc/classes/primera_api.class.php svneol=native#text/plain
@@ -155,14 +154,21 @@ inc/debug/client/.htaccess svneol=native#text/plain
 inc/debug/relay/.htaccess svneol=native#text/plain
 inc/debug/request_ svneol=native#text/plain
 inc/debug/server/.htaccess svneol=native#text/plain
-inc/doubler_send.php svneol=native#text/plain
 inc/email-functions.php svneol=native#text/plain
 inc/expression-functions.php svneol=native#text/plain
 inc/extensions-functions.php svneol=native#text/plain
-inc/extensions.php svneol=native#text/plain
 inc/extensions/.htaccess svneol=native#text/plain
+inc/extensions/admins/.htaccess svneol=native#text/plain
+inc/extensions/admins/mode-update.php svneol=native#text/plain
+inc/extensions/autopurge/.htaccess svneol=native#text/plain
+inc/extensions/autopurge/mode-update.php svneol=native#text/plain
+inc/extensions/beg/.htaccess svneol=native#text/plain
+inc/extensions/beg/mode-update.php svneol=native#text/plain
 inc/extensions/bonus/.htaccess svneol=native#text/plain
 inc/extensions/bonus/mode-update.php svneol=native#text/plain
+inc/extensions/doubler/.htaccess svneol=native#text/plain
+inc/extensions/doubler/mode-setup.php svneol=native#text/plain
+inc/extensions/doubler/mode-update.php svneol=native#text/plain
 inc/extensions/ext- svneol=native#text/plain
 inc/extensions/ext-active.php svneol=native#text/plain
 inc/extensions/ext-admins.php svneol=native#text/plain
@@ -218,6 +224,7 @@ inc/extensions/ext-payout.php svneol=native#text/plain
 inc/extensions/ext-politician-stop.php svneol=native#text/plain
 inc/extensions/ext-profile.php svneol=native#text/plain
 inc/extensions/ext-rallye.php svneol=native#text/plain
+inc/extensions/ext-ranking.php svneol=native#text/plain
 inc/extensions/ext-refback.php svneol=native#text/plain
 inc/extensions/ext-refsell.php svneol=native#text/plain
 inc/extensions/ext-register.php svneol=native#text/plain
@@ -239,6 +246,7 @@ inc/extensions/ext-terms.php svneol=native#text/plain
 inc/extensions/ext-theme.php svneol=native#text/plain
 inc/extensions/ext-timezone.php svneol=native#text/plain
 inc/extensions/ext-top10.php svneol=native#text/plain
+inc/extensions/ext-transaction.php svneol=native#text/plain
 inc/extensions/ext-transfer.php svneol=native#text/plain
 inc/extensions/ext-uberwach.php svneol=native#text/plain
 inc/extensions/ext-update.php svneol=native#text/plain
@@ -248,10 +256,18 @@ inc/extensions/ext-validator.php svneol=native#text/plain
 inc/extensions/ext-wernis.php svneol=native#text/plain
 inc/extensions/ext-yacy.php svneol=native#text/plain
 inc/extensions/ext-yoomedia.php svneol=native#text/plain
+inc/extensions/forced/.htaccess svneol=native#text/plain
+inc/extensions/forced/mode-setup.php svneol=native#text/plain
 inc/extensions/network/.htaccess svneol=native#text/plain
 inc/extensions/network/mode-setup.php svneol=native#text/plain
 inc/extensions/order/.htaccess svneol=native#text/plain
 inc/extensions/order/mode-update.php svneol=native#text/plain
+inc/extensions/other/.htaccess svneol=native#text/plain
+inc/extensions/other/mode-update.php svneol=native#text/plain
+inc/extensions/payout/.htaccess svneol=native#text/plain
+inc/extensions/payout/mode-update.php svneol=native#text/plain
+inc/extensions/rallye/.htaccess svneol=native#text/plain
+inc/extensions/rallye/mode-update.php svneol=native#text/plain
 inc/extensions/register/.htaccess svneol=native#text/plain
 inc/extensions/register/mode-update.php svneol=native#text/plain
 inc/extensions/sponsor/.htaccess svneol=native#text/plain
@@ -259,11 +275,19 @@ inc/extensions/sponsor/mode-setup.php svneol=native#text/plain
 inc/extensions/sql_patches/.htaccess svneol=native#text/plain
 inc/extensions/sql_patches/mode-remove.php svneol=native#text/plain
 inc/extensions/sql_patches/mode-update.php svneol=native#text/plain
+inc/extensions/surfbar/.htaccess svneol=native#text/plain
+inc/extensions/surfbar/mode-setup.php svneol=native#text/plain
+inc/extensions/task/.htaccess svneol=native#text/plain
+inc/extensions/task/mode-update.php svneol=native#text/plain
+inc/extensions/transaction/.htaccess svneol=native#text/plain
+inc/extensions/transaction/mode-setup.php svneol=native#text/plain
+inc/extensions/transfer/.htaccess svneol=native#text/plain
+inc/extensions/transfer/mode-setup.php svneol=native#text/plain
+inc/extensions/transfer/mode-update.php svneol=native#text/plain
 inc/extensions/user/.htaccess svneol=native#text/plain
 inc/extensions/user/mode-remove.php svneol=native#text/plain
 inc/extensions/user/mode-setup.php svneol=native#text/plain
 inc/extensions/user/mode-update.php svneol=native#text/plain
-inc/fatal_errors.php svneol=native#text/plain
 inc/filter-functions.php svneol=native#text/plain
 inc/filter/.htaccess svneol=native#text/plain
 inc/filter/_filter.php svneol=native#text/plain
@@ -279,6 +303,7 @@ inc/filter/coupon_filter.php svneol=native#text/plain
 inc/filter/doubler_filter.php svneol=native#text/plain
 inc/filter/earning_filter.php svneol=native#text/plain
 inc/filter/forced_filter.php svneol=native#text/plain
+inc/filter/html_mail_filter.php svneol=native#text/plain
 inc/filter/mediadata_filter.php svneol=native#text/plain
 inc/filter/menu_filter.php svneol=native#text/plain
 inc/filter/online_filter.php svneol=native#text/plain
@@ -291,6 +316,7 @@ inc/filter/removeip_filter.php svneol=native#text/plain
 inc/filter/surfbar_filter.php svneol=native#text/plain
 inc/filter/theme_filter.php svneol=native#text/plain
 inc/filter/timezone_filter.php svneol=native#text/plain
+inc/filter/transaction_filter.php svneol=native#text/plain
 inc/filter/uberwach_filter.php svneol=native#text/plain
 inc/filter/user_filter.php svneol=native#text/plain
 inc/filters.php svneol=native#text/plain
@@ -304,13 +330,14 @@ inc/gen_mediadata.php svneol=native#text/plain
 inc/gen_sql_patches.php svneol=native#text/plain
 inc/handler.php svneol=native#text/plain
 inc/header.php svneol=native#text/plain
-inc/hooks.php svneol=native#text/plain
 inc/hourly/.htaccess svneol=native#text/plain
 inc/hourly/hourly_ svneol=native#text/plain
+inc/hourly/hourly_transaction.php svneol=native#text/plain
 inc/http-functions.php svneol=native#text/plain
 inc/img/.htaccess svneol=native#text/plain
 inc/img/img- svneol=native#text/plain
 inc/img/img_ svneol=native#text/plain
+inc/img/img_transaction_captcha.php svneol=native#text/plain
 inc/inc-functions.php svneol=native#text/plain
 inc/install-functions.php svneol=native#text/plain
 inc/install-inc.php svneol=native#text/plain
@@ -338,7 +365,6 @@ inc/js/js-surfbar_member_edit.php svneol=native#text/plain
 inc/js/js-surfbar_stopped.php svneol=native#text/plain
 inc/js/js-uberwach.php svneol=native#text/plain
 inc/language-functions.php svneol=native#text/plain
-inc/language.php svneol=native#text/plain
 inc/language/.htaccess svneol=native#text/plain
 inc/language/_de.php svneol=native#text/plain
 inc/language/_en.php svneol=native#text/plain
@@ -382,7 +408,6 @@ inc/language/optimize_de.php svneol=native#text/plain
 inc/language/order_de.php svneol=native#text/plain
 inc/language/other_de.php svneol=native#text/plain
 inc/language/payout_de.php svneol=native#text/plain
-inc/language/pro_de.php svneol=native#text/plain
 inc/language/profile_de.php svneol=native#text/plain
 inc/language/rallye_de.php svneol=native#text/plain
 inc/language/refback_de.php svneol=native#text/plain
@@ -437,7 +462,6 @@ inc/libs/online_functions.php svneol=native#text/plain
 inc/libs/optimize_functions.php svneol=native#text/plain
 inc/libs/order_functions.php svneol=native#text/plain
 inc/libs/other_functions.php svneol=native#text/plain
-inc/libs/output_functions.php svneol=native#text/plain
 inc/libs/payout_functions.php svneol=native#text/plain
 inc/libs/politician-stop_functions.php svneol=native#text/plain
 inc/libs/profile_functions.php svneol=native#text/plain
@@ -453,6 +477,7 @@ inc/libs/task_functions.php svneol=native#text/plain
 inc/libs/theme_functions.php svneol=native#text/plain
 inc/libs/timezone_functions.php svneol=native#text/plain
 inc/libs/top10_functions.php svneol=native#text/plain
+inc/libs/transaction_functions.php svneol=native#text/plain
 inc/libs/transfer_functions.php svneol=native#text/plain
 inc/libs/uberwach_functions.php svneol=native#text/plain
 inc/libs/user_functions.php svneol=native#text/plain
@@ -460,7 +485,6 @@ inc/libs/wernis_functions.php svneol=native#text/plain
 inc/libs/yoomedia_functions.php svneol=native#text/plain
 inc/load_cache.php svneol=native#text/plain
 inc/load_config.php svneol=native#text/plain
-inc/load_extensions.php svneol=native#text/plain
 inc/loader/.htaccess svneol=native#text/plain
 inc/loader/load- svneol=native#text/plain
 inc/loader/load-admins.php svneol=native#text/plain
@@ -480,7 +504,6 @@ inc/loader/load_cache- svneol=native#text/plain
 inc/mails/.htaccess svneol=native#text/plain
 inc/mails/_mails.php svneol=native#text/plain
 inc/mails/beg_mails.php svneol=native#text/plain
-inc/mails/birthday_mails.php svneol=native#text/plain
 inc/mails/bonus_mails.php svneol=native#text/plain
 inc/mails/doubler_mails.php svneol=native#text/plain
 inc/math-functions.php svneol=native#text/plain
@@ -532,11 +555,9 @@ inc/modules/admin/what-add_tester_user.php svneol=native#text/plain
 inc/modules/admin/what-admin_add.php svneol=native#text/plain
 inc/modules/admin/what-adminedit.php svneol=native#text/plain
 inc/modules/admin/what-admins_add.php svneol=native#text/plain
-inc/modules/admin/what-admins_contact.php svneol=native#text/plain
 inc/modules/admin/what-admins_contct.php svneol=native#text/plain
 inc/modules/admin/what-admins_edit.php svneol=native#text/plain
 inc/modules/admin/what-admins_mails.php svneol=native#text/plain
-inc/modules/admin/what-autopurge.php svneol=native#text/plain
 inc/modules/admin/what-bonus.php svneol=native#text/plain
 inc/modules/admin/what-cache_stats.php svneol=native#text/plain
 inc/modules/admin/what-config_ svneol=native#text/plain
@@ -547,8 +568,7 @@ inc/modules/admin/what-config_beg.php svneol=native#text/plain
 inc/modules/admin/what-config_birthday.php svneol=native#text/plain
 inc/modules/admin/what-config_blacklist.php svneol=native#text/plain
 inc/modules/admin/what-config_bonus.php svneol=native#text/plain
-inc/modules/admin/what-config_cache.php svneol=native#text/plain
-inc/modules/admin/what-config_cats.php svneol=native#text/plain
+inc/modules/admin/what-config_booking.php svneol=native#text/plain
 inc/modules/admin/what-config_coupon.php svneol=native#text/plain
 inc/modules/admin/what-config_doubler.php svneol=native#text/plain
 inc/modules/admin/what-config_extensions.php svneol=native#text/plain
@@ -557,7 +577,6 @@ inc/modules/admin/what-config_home.php svneol=native#text/plain
 inc/modules/admin/what-config_imprint.php svneol=native#text/plain
 inc/modules/admin/what-config_mediadata.php svneol=native#text/plain
 inc/modules/admin/what-config_menu.php svneol=native#text/plain
-inc/modules/admin/what-config_mods.php svneol=native#text/plain
 inc/modules/admin/what-config_network.php svneol=native#text/plain
 inc/modules/admin/what-config_network_api.php svneol=native#text/plain
 inc/modules/admin/what-config_network_types.php svneol=native#text/plain
@@ -569,10 +588,8 @@ inc/modules/admin/what-config_payouts.php svneol=native#text/plain
 inc/modules/admin/what-config_points.php svneol=native#text/plain
 inc/modules/admin/what-config_profile.php svneol=native#text/plain
 inc/modules/admin/what-config_proxy.php svneol=native#text/plain
-inc/modules/admin/what-config_rallye_prices.php svneol=native#text/plain
 inc/modules/admin/what-config_refback.php svneol=native#text/plain
 inc/modules/admin/what-config_refid.php svneol=native#text/plain
-inc/modules/admin/what-config_reg.php svneol=native#text/plain
 inc/modules/admin/what-config_register.php svneol=native#text/plain
 inc/modules/admin/what-config_register2.php svneol=native#text/plain
 inc/modules/admin/what-config_removeip.php svneol=native#text/plain
@@ -594,7 +611,6 @@ inc/modules/admin/what-config_yoomedia.php svneol=native#text/plain
 inc/modules/admin/what-del_email.php svneol=native#text/plain
 inc/modules/admin/what-del_holiday.php svneol=native#text/plain
 inc/modules/admin/what-del_sponsor.php svneol=native#text/plain
-inc/modules/admin/what-del_task.php svneol=native#text/plain
 inc/modules/admin/what-del_transfer.php svneol=native#text/plain
 inc/modules/admin/what-del_user.php svneol=native#text/plain
 inc/modules/admin/what-edit_emails.php svneol=native#text/plain
@@ -613,6 +629,7 @@ inc/modules/admin/what-list_admins_acls.php svneol=native#text/plain
 inc/modules/admin/what-list_autopurge.php svneol=native#text/plain
 inc/modules/admin/what-list_bank_package.php svneol=native#text/plain
 inc/modules/admin/what-list_beg.php svneol=native#text/plain
+inc/modules/admin/what-list_blacklist.php svneol=native#text/plain
 inc/modules/admin/what-list_bonus.php svneol=native#text/plain
 inc/modules/admin/what-list_booking.php svneol=native#text/plain
 inc/modules/admin/what-list_cats.php svneol=native#text/plain
@@ -631,10 +648,7 @@ inc/modules/admin/what-list_network_array_translation.php svneol=native#text/pla
 inc/modules/admin/what-list_network_data.php svneol=native#text/plain
 inc/modules/admin/what-list_network_request_params.php svneol=native#text/plain
 inc/modules/admin/what-list_network_types.php svneol=native#text/plain
-inc/modules/admin/what-list_network_vcheck_params.php svneol=native#text/plain
-inc/modules/admin/what-list_newsletter.php svneol=native#text/plain
 inc/modules/admin/what-list_nickname.php svneol=native#text/plain
-inc/modules/admin/what-list_norefs.php svneol=native#text/plain
 inc/modules/admin/what-list_notifications.php svneol=native#text/plain
 inc/modules/admin/what-list_payouts.php svneol=native#text/plain
 inc/modules/admin/what-list_point_accounts.php svneol=native#text/plain
@@ -664,24 +678,19 @@ inc/modules/admin/what-logs.php svneol=native#text/plain
 inc/modules/admin/what-maintenance.php svneol=native#text/plain
 inc/modules/admin/what-mem_add.php svneol=native#text/plain
 inc/modules/admin/what-memedit.php svneol=native#text/plain
-inc/modules/admin/what-newsletter.php svneol=native#text/plain
 inc/modules/admin/what-optimize.php svneol=native#text/plain
 inc/modules/admin/what-payments.php svneol=native#text/plain
 inc/modules/admin/what-query_network_apis.php svneol=native#text/plain
 inc/modules/admin/what-refbanner.php svneol=native#text/plain
-inc/modules/admin/what-repair_amenu.php svneol=native#text/plain
 inc/modules/admin/what-repair_amnu.php svneol=native#text/plain
 inc/modules/admin/what-repair_cats.php svneol=native#text/plain
-inc/modules/admin/what-repair_gmenu.php svneol=native#text/plain
 inc/modules/admin/what-repair_gmnu.php svneol=native#text/plain
 inc/modules/admin/what-repair_lang.php svneol=native#text/plain
-inc/modules/admin/what-repair_mmenu.php svneol=native#text/plain
 inc/modules/admin/what-repair_mmnu.php svneol=native#text/plain
 inc/modules/admin/what-repair_refs.php svneol=native#text/plain
 inc/modules/admin/what-send_bonus.php svneol=native#text/plain
 inc/modules/admin/what-send_coupon.php svneol=native#text/plain
 inc/modules/admin/what-send_newsletter.php svneol=native#text/plain
-inc/modules/admin/what-stats.php svneol=native#text/plain
 inc/modules/admin/what-stats_mods.php svneol=native#text/plain
 inc/modules/admin/what-sub_points.php svneol=native#text/plain
 inc/modules/admin/what-surfbar_stats.php svneol=native#text/plain
@@ -693,11 +702,9 @@ inc/modules/admin/what-unlock_surfbar_urls.php svneol=native#text/plain
 inc/modules/admin/what-updates.php svneol=native#text/plain
 inc/modules/admin/what-usage.php svneol=native#text/plain
 inc/modules/admin/what-user_contct.php svneol=native#text/plain
-inc/modules/admin/what-user_online.php svneol=native#text/plain
 inc/modules/admin/what-usr_online.php svneol=native#text/plain
 inc/modules/admin/what-welcome.php svneol=native#text/plain
 inc/modules/chk_login.php svneol=native#text/plain
-inc/modules/frameset.php svneol=native#text/plain
 inc/modules/frametester.php svneol=native#text/plain
 inc/modules/guest/.htaccess svneol=native#text/plain
 inc/modules/guest/action- svneol=native#text/plain
@@ -787,6 +794,8 @@ inc/modules/member/what-subids.php svneol=native#text/plain
 inc/modules/member/what-support.php svneol=native#text/plain
 inc/modules/member/what-surfbar_list.php svneol=native#text/plain
 inc/modules/member/what-themes.php svneol=native#text/plain
+inc/modules/member/what-transaction_fees.php svneol=native#text/plain
+inc/modules/member/what-transactions.php svneol=native#text/plain
 inc/modules/member/what-transfer.php svneol=native#text/plain
 inc/modules/member/what-unconfirmed.php svneol=native#text/plain
 inc/modules/member/what-welcome.php svneol=native#text/plain
@@ -800,7 +809,6 @@ inc/modules/sponsor/guest.php svneol=native#text/plain
 inc/modules/sponsor/logout.php svneol=native#text/plain
 inc/modules/sponsor/settings.php svneol=native#text/plain
 inc/modules/sponsor/welcome.php svneol=native#text/plain
-inc/modules/welcome.php svneol=native#text/plain
 inc/monthly/.htaccess svneol=native#text/plain
 inc/monthly/monthly_ svneol=native#text/plain
 inc/monthly/monthly_beg.php svneol=native#text/plain
@@ -809,7 +817,6 @@ inc/monthly/monthly_newsletter.php svneol=native#text/plain
 inc/monthly/monthly_surfbar.php svneol=native#text/plain
 inc/mysql-connect.php svneol=native#text/plain
 inc/mysql-manager.php svneol=native#text/plain
-inc/patch-system.php svneol=native#text/plain
 inc/phpmailer/ChangeLog.txt svneol=native#text/plain
 inc/phpmailer/class.phpmailer.php svneol=native#text/plain
 inc/phpmailer/class.pop3.php svneol=native#text/plain
@@ -859,12 +866,10 @@ inc/phpmailer/test/phpmailer_test.php svneol=native#text/plain
 inc/phpmailer/test/phpunit.php svneol=native#text/plain
 inc/phpmailer/test/test.png -text svneol=unset#image/png
 inc/pool-functions.php svneol=native#text/plain
-inc/pool-update.php svneol=native#text/plain
 inc/pool/.htaccess svneol=native#text/plain
 inc/pool/pool- svneol=native#text/plain
 inc/pool/pool-bonus.php svneol=native#text/plain
 inc/pool/pool-user.php svneol=native#text/plain
-inc/profile-updte.php svneol=native#text/plain
 inc/purge/.htaccess svneol=native#text/plain
 inc/purge/purge- svneol=native#text/plain
 inc/purge/purge-coupon.php svneol=native#text/plain
@@ -879,22 +884,20 @@ inc/request-functions.php svneol=native#text/plain
 inc/reset/.htaccess svneol=native#text/plain
 inc/reset/reset_ svneol=native#text/plain
 inc/revision-functions.php svneol=native#text/plain
-inc/security.php svneol=native#text/plain
 inc/session-functions.php svneol=native#text/plain
 inc/session.php svneol=native#text/plain
 inc/sql-functions.php svneol=native#text/plain
-inc/sql_error.php svneol=native#text/plain
 inc/stats-functions.php svneol=native#text/plain
-inc/stats_bonus.php svneol=native#text/plain
 inc/stylesheet.php svneol=native#text/plain
 inc/template-functions.php svneol=native#text/plain
-inc/template.php svneol=native#text/plain
 inc/versions.php svneol=native#text/plain
 inc/weekly/.htaccess svneol=native#text/plain
 inc/weekly/weekly_ svneol=native#text/plain
 inc/weekly/weekly_surfbar.php svneol=native#text/plain
 inc/wrapper-functions.php svneol=native#text/plain
 inc/xml-functions.php svneol=native#text/plain
+inc/yearly/.htaccess svneol=native#text/plain
+inc/yearly/yearly_ svneol=native#text/plain
 /index.php svneol=native#text/plain
 /install.php svneol=native#text/plain
 /js.php svneol=native#text/plain
@@ -908,17 +911,14 @@ js/ajax-test.js svneol=native#text/javascript
 js/core-common.js svneol=native#text/javascript
 js/install-common.js svneol=native#text/javascript
 js/install-data.js svneol=native#text/javascript
-js/jquery-ui.custom.js svneol=native#text/javascript
 js/jquery-ui.js svneol=native#text/javascript
 js/jquery-ui.uncompressed.js svneol=native#text/javascript
-js/jquery-uncompressed.js svneol=native#text/javascript
 js/jquery.js svneol=native#text/javascript
 js/jquery.uncompressed.js svneol=native#text/javascript
 js/menu-common.js svneol=native#text/javascript
 /lead-confirm.php svneol=native#text/plain
 /login.php svneol=native#text/plain
 /mailid.php svneol=native#text/plain
-/mailid_top.php svneol=native#text/plain
 /modules.php svneol=native#text/plain
 /network-delurl.php svneol=native#text/plain
 /network-vcheck.php svneol=native#text/plain
@@ -943,13 +943,6 @@ templates/de/emails/admin/admin_admin_add_all_ref_referral.tpl svneol=native#tex
 templates/de/emails/admin/admin_admin_add_all_referral.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_admin_add_single_direct.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_admin_add_single_referral.tpl svneol=native#text/plain
-templates/de/emails/admin/admin_autopurge_del_mails.tpl svneol=native#text/plain
-templates/de/emails/admin/admin_autopurge_delete.tpl svneol=native#text/plain
-templates/de/emails/admin/admin_autopurge_inactive.tpl svneol=native#text/plain
-templates/de/emails/admin/admin_autopurge_points.tpl svneol=native#text/plain
-templates/de/emails/admin/admin_autopurge_tsks.tpl svneol=native#text/plain
-templates/de/emails/admin/admin_autopurge_turbo.tpl svneol=native#text/plain
-templates/de/emails/admin/admin_autopurge_unconfirmed.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_beg_direct.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_beg_ref_referral.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_beg_referral.tpl svneol=native#text/plain
@@ -988,6 +981,7 @@ templates/de/emails/admin/admin_monthly_bonus_ref_referral.tpl svneol=native#tex
 templates/de/emails/admin/admin_monthly_bonus_referral.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_mydata_notify.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_newsletter_reset.tpl svneol=native#text/plain
+templates/de/emails/admin/admin_only_forced_campaign_pending_active.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_order_normal.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_payout_request.tpl svneol=native#text/plain
 templates/de/emails/admin/admin_payout_request_banner.tpl svneol=native#text/plain
@@ -1224,7 +1218,6 @@ templates/de/html/admin/admin_add_network.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_network_array_translation.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_network_request_param.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_network_type.tpl svneol=native#text/plain
-templates/de/html/admin/admin_add_network_vcheck_param.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_payment.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_payout.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_point_accounts.tpl svneol=native#text/plain
@@ -1234,15 +1227,11 @@ templates/de/html/admin/admin_add_rallye.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_rallye_prices.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_refbanner.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_referral_level.tpl svneol=native#text/plain
-templates/de/html/admin/admin_add_reflevel.tpl svneol=native#text/plain
-templates/de/html/admin/admin_add_reflvl.tpl svneol=native#text/plain
-templates/de/html/admin/admin_add_shop_cat.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_sponsor.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_sponsor_already.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_sponsor_paytype.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_surfbar_url.tpl svneol=native#text/plain
 templates/de/html/admin/admin_add_tester_user.tpl svneol=native#text/plain
-templates/de/html/admin/admin_admins_contact_form.tpl svneol=native#text/plain
 templates/de/html/admin/admin_admins_contct_default.tpl svneol=native#text/plain
 templates/de/html/admin/admin_admins_contct_form.tpl svneol=native#text/plain
 templates/de/html/admin/admin_admins_mails_edit.tpl svneol=native#text/plain
@@ -1257,22 +1246,17 @@ templates/de/html/admin/admin_config_ svneol=native#text/plain
 templates/de/html/admin/admin_config_active.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_admin.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_autopurge.tpl svneol=native#text/plain
-templates/de/html/admin/admin_config_autopurge_pro.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_beg.tpl svneol=native#text/plain
-templates/de/html/admin/admin_config_beg_pro.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_birthday.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_blacklist.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_bonus.tpl svneol=native#text/plain
-templates/de/html/admin/admin_config_bonus_pro.tpl svneol=native#text/plain
-templates/de/html/admin/admin_config_cache.tpl svneol=native#text/plain
+templates/de/html/admin/admin_config_booking.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_coupon.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_doubler.tpl svneol=native#text/plain
-templates/de/html/admin/admin_config_doubler_pro.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_extensions.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_holiday.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_home.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_home_main.tpl svneol=native#text/plain
-templates/de/html/admin/admin_config_home_settings_pro.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_mediadata.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_menu.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_network.tpl svneol=native#text/plain
@@ -1291,7 +1275,6 @@ templates/de/html/admin/admin_config_profile.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_proxy.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_refback.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_refid.tpl svneol=native#text/plain
-templates/de/html/admin/admin_config_reg_pro.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_register.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_register2.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_register_row.tpl svneol=native#text/plain
@@ -1300,7 +1283,6 @@ templates/de/html/admin/admin_config_rewrite.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_rewrite_rows.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_secure.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_session.tpl svneol=native#text/plain
-templates/de/html/admin/admin_config_shop.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_sponsor.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_stats.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_sub_points.tpl svneol=native#text/plain
@@ -1309,7 +1291,6 @@ templates/de/html/admin/admin_config_timezone.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_title.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_top10.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_transfer.tpl svneol=native#text/plain
-templates/de/html/admin/admin_config_transfer_pro.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_user.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_user_subid.tpl svneol=native#text/plain
 templates/de/html/admin/admin_config_validator.tpl svneol=native#text/plain
@@ -1424,8 +1405,6 @@ templates/de/html/admin/admin_edit_refbanner.tpl svneol=native#text/plain
 templates/de/html/admin/admin_edit_refbanner_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_edit_refdepths.tpl svneol=native#text/plain
 templates/de/html/admin/admin_edit_refdepths_row.tpl svneol=native#text/plain
-templates/de/html/admin/admin_edit_reflevel.tpl svneol=native#text/plain
-templates/de/html/admin/admin_edit_reflevel_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_edit_sponsor_add_points.tpl svneol=native#text/plain
 templates/de/html/admin/admin_edit_sponsor_edit.tpl svneol=native#text/plain
 templates/de/html/admin/admin_edit_sponsor_sub_points.tpl svneol=native#text/plain
@@ -1446,25 +1425,15 @@ templates/de/html/admin/admin_export_network_array_translation.tpl svneol=native
 templates/de/html/admin/admin_export_network_data.tpl svneol=native#text/plain
 templates/de/html/admin/admin_export_network_request_params.tpl svneol=native#text/plain
 templates/de/html/admin/admin_export_network_types.tpl svneol=native#text/plain
-templates/de/html/admin/admin_export_network_vcheck_params.tpl svneol=native#text/plain
 templates/de/html/admin/admin_extension_notes.tpl svneol=native#text/plain
 templates/de/html/admin/admin_extension_reg_form.tpl svneol=native#text/plain
 templates/de/html/admin/admin_extension_sql_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_extension_sql_table.tpl svneol=native#text/plain
-templates/de/html/admin/admin_extensions_installed.tpl svneol=native#text/plain
-templates/de/html/admin/admin_extensions_list.tpl svneol=native#text/plain
-templates/de/html/admin/admin_extensions_search.tpl svneol=native#text/plain
 templates/de/html/admin/admin_extensions_text.tpl svneol=native#text/plain
 templates/de/html/admin/admin_footer.tpl svneol=native#text/plain
 templates/de/html/admin/admin_form_selection_box.tpl svneol=native#text/plain
-templates/de/html/admin/admin_forum_add.tpl svneol=native#text/plain
-templates/de/html/admin/admin_forum_descr.tpl svneol=native#text/plain
-templates/de/html/admin/admin_forum_display_cat.tpl svneol=native#text/plain
-templates/de/html/admin/admin_forum_edit_del.tpl svneol=native#text/plain
-templates/de/html/admin/admin_forum_edit_forum.tpl svneol=native#text/plain
 templates/de/html/admin/admin_guest_menu_status.tpl svneol=native#text/plain
 templates/de/html/admin/admin_header.tpl svneol=native#text/plain
-templates/de/html/admin/admin_holiday_task.tpl svneol=native#text/plain
 templates/de/html/admin/admin_import_theme.tpl svneol=native#text/plain
 templates/de/html/admin/admin_import_theme_form.tpl svneol=native#text/plain
 templates/de/html/admin/admin_import_theme_none.tpl svneol=native#text/plain
@@ -1541,8 +1510,6 @@ templates/de/html/admin/admin_list_network_request_params.tpl svneol=native#text
 templates/de/html/admin/admin_list_network_request_params_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_network_types.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_network_types_row.tpl svneol=native#text/plain
-templates/de/html/admin/admin_list_network_vcheck_params.tpl svneol=native#text/plain
-templates/de/html/admin/admin_list_network_vcheck_params_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_nickname_history.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_nickname_history_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_notify_emails.tpl svneol=native#text/plain
@@ -1570,8 +1537,6 @@ templates/de/html/admin/admin_list_refbanner.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_refbanner_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_refdepths.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_refdepths_row.tpl svneol=native#text/plain
-templates/de/html/admin/admin_list_reflevel.tpl svneol=native#text/plain
-templates/de/html/admin/admin_list_reflevel_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_refs.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_refs_level.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_refs_nodata.tpl svneol=native#text/plain
@@ -1600,7 +1565,6 @@ templates/de/html/admin/admin_list_task_rows.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_transfer.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_transfer_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_unconfirmed.tpl svneol=native#text/plain
-templates/de/html/admin/admin_list_unconfirmed_header.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_unconfirmed_list.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_unconfirmed_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_list_unconfirmed_row_404.tpl svneol=native#text/plain
@@ -1631,7 +1595,6 @@ templates/de/html/admin/admin_login_form.tpl svneol=native#text/plain
 templates/de/html/admin/admin_login_msg.tpl svneol=native#text/plain
 templates/de/html/admin/admin_logout.tpl svneol=native#text/plain
 templates/de/html/admin/admin_logout_form.tpl svneol=native#text/plain
-templates/de/html/admin/admin_logout_sql_patches.tpl svneol=native#text/plain
 templates/de/html/admin/admin_logout_sql_patches_install.tpl svneol=native#text/plain
 templates/de/html/admin/admin_logout_sql_patches_remove.tpl svneol=native#text/plain
 templates/de/html/admin/admin_main.tpl svneol=native#text/plain
@@ -1648,32 +1611,18 @@ templates/de/html/admin/admin_menu_status_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_metadata.tpl svneol=native#text/plain
 templates/de/html/admin/admin_mini_online.tpl svneol=native#text/plain
 templates/de/html/admin/admin_mods_footer_edit.tpl svneol=native#text/plain
-templates/de/html/admin/admin_mods_footer_list.tpl svneol=native#text/plain
-templates/de/html/admin/admin_mods_footer_stats.tpl svneol=native#text/plain
-templates/de/html/admin/admin_mods_footer_stats2.tpl svneol=native#text/plain
 templates/de/html/admin/admin_mods_header_edit.tpl svneol=native#text/plain
-templates/de/html/admin/admin_mods_header_list.tpl svneol=native#text/plain
-templates/de/html/admin/admin_mods_header_stats.tpl svneol=native#text/plain
-templates/de/html/admin/admin_mods_header_stats2.tpl svneol=native#text/plain
-templates/de/html/admin/admin_mods_list.tpl svneol=native#text/plain
-templates/de/html/admin/admin_mods_list_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_network_added.tpl svneol=native#text/plain
 templates/de/html/admin/admin_network_array_translation_added.tpl svneol=native#text/plain
 templates/de/html/admin/admin_network_request_param_added.tpl svneol=native#text/plain
 templates/de/html/admin/admin_network_type_added.tpl svneol=native#text/plain
-templates/de/html/admin/admin_network_vcheck_param_added.tpl svneol=native#text/plain
-templates/de/html/admin/admin_new_ext.tpl svneol=native#text/plain
 templates/de/html/admin/admin_newsletter.tpl svneol=native#text/plain
 templates/de/html/admin/admin_newsletter_nohtml.tpl svneol=native#text/plain
-templates/de/html/admin/admin_newsletter_tsk.tpl svneol=native#text/plain
 templates/de/html/admin/admin_next_link.tpl svneol=native#text/plain
-templates/de/html/admin/admin_online_footer.tpl svneol=native#text/plain
-templates/de/html/admin/admin_online_header.tpl svneol=native#text/plain
 templates/de/html/admin/admin_optimize.tpl svneol=native#text/plain
 templates/de/html/admin/admin_optimize_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_other_sqls.tpl svneol=native#text/plain
 templates/de/html/admin/admin_other_sqls_row.tpl svneol=native#text/plain
-templates/de/html/admin/admin_overview_header.tpl svneol=native#text/plain
 templates/de/html/admin/admin_overview_list.tpl svneol=native#text/plain
 templates/de/html/admin/admin_overview_list_ext_rows.tpl svneol=native#text/plain
 templates/de/html/admin/admin_overview_list_rows.tpl svneol=native#text/plain
@@ -1682,16 +1631,12 @@ templates/de/html/admin/admin_overview_table.tpl svneol=native#text/plain
 templates/de/html/admin/admin_overview_task.tpl svneol=native#text/plain
 templates/de/html/admin/admin_overview_task_extras.tpl svneol=native#text/plain
 templates/de/html/admin/admin_overview_task_rows.tpl svneol=native#text/plain
-templates/de/html/admin/admin_patches.tpl svneol=native#text/plain
-templates/de/html/admin/admin_patches_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_payout_accept_form.tpl svneol=native#text/plain
 templates/de/html/admin/admin_payout_failed_transfer.tpl svneol=native#text/plain
 templates/de/html/admin/admin_payout_overview_form.tpl svneol=native#text/plain
 templates/de/html/admin/admin_payout_reject_form.tpl svneol=native#text/plain
 templates/de/html/admin/admin_receive_table.tpl svneol=native#text/plain
-templates/de/html/admin/admin_reg.tpl svneol=native#text/plain
 templates/de/html/admin/admin_reg_form.tpl svneol=native#text/plain
-templates/de/html/admin/admin_reg_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_repair_lang.tpl svneol=native#text/plain
 templates/de/html/admin/admin_repair_lang_row_404.tpl svneol=native#text/plain
 templates/de/html/admin/admin_repair_lang_row_compares.tpl svneol=native#text/plain
@@ -1717,7 +1662,6 @@ templates/de/html/admin/admin_surfbar_url_stats_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_task_holiday.tpl svneol=native#text/plain
 templates/de/html/admin/admin_task_order.tpl svneol=native#text/plain
 templates/de/html/admin/admin_theme_installed.tpl svneol=native#text/plain
-templates/de/html/admin/admin_theme_list.tpl svneol=native#text/plain
 templates/de/html/admin/admin_undelete_surfbar_urls.tpl svneol=native#text/plain
 templates/de/html/admin/admin_undelete_surfbar_urls_row.tpl svneol=native#text/plain
 templates/de/html/admin/admin_unlock_emails.tpl svneol=native#text/plain
@@ -1815,9 +1759,9 @@ templates/de/html/ext/ext_other.tpl svneol=native#text/plain
 templates/de/html/ext/ext_partner.tpl svneol=native#text/plain
 templates/de/html/ext/ext_payout.tpl svneol=native#text/plain
 templates/de/html/ext/ext_politician-stop.tpl svneol=native#text/plain
-templates/de/html/ext/ext_primera.tpl svneol=native#text/plain
 templates/de/html/ext/ext_profile.tpl svneol=native#text/plain
 templates/de/html/ext/ext_rallye.tpl svneol=native#text/plain
+templates/de/html/ext/ext_ranking.tpl svneol=native#text/plain
 templates/de/html/ext/ext_refback.tpl svneol=native#text/plain
 templates/de/html/ext/ext_refsell.tpl svneol=native#text/plain
 templates/de/html/ext/ext_register.tpl svneol=native#text/plain
@@ -1839,6 +1783,7 @@ templates/de/html/ext/ext_terms.tpl svneol=native#text/plain
 templates/de/html/ext/ext_theme.tpl svneol=native#text/plain
 templates/de/html/ext/ext_timezone.tpl svneol=native#text/plain
 templates/de/html/ext/ext_top10.tpl svneol=native#text/plain
+templates/de/html/ext/ext_transaction.tpl svneol=native#text/plain
 templates/de/html/ext/ext_transfer.tpl svneol=native#text/plain
 templates/de/html/ext/ext_uberwach.tpl svneol=native#text/plain
 templates/de/html/ext/ext_update.tpl svneol=native#text/plain
@@ -1849,8 +1794,6 @@ templates/de/html/ext/ext_wernis.tpl svneol=native#text/plain
 templates/de/html/ext/ext_yacy.tpl svneol=native#text/plain
 templates/de/html/ext/ext_yoomedia.tpl svneol=native#text/plain
 templates/de/html/fatal_errors.tpl svneol=native#text/plain
-templates/de/html/fatal_footer.tpl svneol=native#text/plain
-templates/de/html/fatal_header.tpl svneol=native#text/plain
 templates/de/html/guest/.htaccess svneol=native#text/plain
 templates/de/html/guest/guest_active_none_row.tpl svneol=native#text/plain
 templates/de/html/guest/guest_advert.tpl svneol=native#text/plain
@@ -1859,7 +1802,6 @@ templates/de/html/guest/guest_beg.tpl svneol=native#text/plain
 templates/de/html/guest/guest_cat_row.tpl svneol=native#text/plain
 templates/de/html/guest/guest_cat_table.tpl svneol=native#text/plain
 templates/de/html/guest/guest_confirm_link.tpl svneol=native#text/plain
-templates/de/html/guest/guest_confirm_table.tpl svneol=native#text/plain
 templates/de/html/guest/guest_content_footer.tpl svneol=native#text/plain
 templates/de/html/guest/guest_doubler.tpl svneol=native#text/plain
 templates/de/html/guest/guest_doubler_list.tpl svneol=native#text/plain
@@ -1884,8 +1826,6 @@ templates/de/html/guest/guest_menu_td.tpl svneol=native#text/plain
 templates/de/html/guest/guest_menu_title.tpl svneol=native#text/plain
 templates/de/html/guest/guest_metadata.tpl svneol=native#text/plain
 templates/de/html/guest/guest_nickname_login.tpl svneol=native#text/plain
-templates/de/html/guest/guest_paidlinks_register.tpl svneol=native#text/plain
-templates/de/html/guest/guest_paidlinks_register_header.tpl svneol=native#text/plain
 templates/de/html/guest/guest_rallye_404.tpl svneol=native#text/plain
 templates/de/html/guest/guest_receive_table.tpl svneol=native#text/plain
 templates/de/html/guest/guest_register.tpl svneol=native#text/plain
@@ -1925,7 +1865,6 @@ templates/de/html/install/install_fatal_row.tpl svneol=native#text/plain
 templates/de/html/install/install_fatal_table.tpl svneol=native#text/plain
 templates/de/html/install/install_finished.tpl svneol=native#text/plain
 templates/de/html/install/install_footer.tpl svneol=native#text/plain
-templates/de/html/install/install_header.tpl svneol=native#text/plain
 templates/de/html/install/install_list_extensions.tpl svneol=native#text/plain
 templates/de/html/install/install_list_extensions_row.tpl svneol=native#text/plain
 templates/de/html/install/install_main_ajax.tpl svneol=native#text/plain
@@ -1940,6 +1879,7 @@ templates/de/html/install/install_page5.tpl svneol=native#text/plain
 templates/de/html/install/install_page_base_data.tpl svneol=native#text/plain
 templates/de/html/install/install_page_database_config.tpl svneol=native#text/plain
 templates/de/html/install/install_page_extensions.tpl svneol=native#text/plain
+templates/de/html/install/install_page_first_admin.tpl svneol=native#text/plain
 templates/de/html/install/install_page_init.tpl svneol=native#text/plain
 templates/de/html/install/install_page_other_config.tpl svneol=native#text/plain
 templates/de/html/install/install_page_overview.tpl svneol=native#text/plain
@@ -2112,18 +2052,17 @@ templates/de/html/member/member_surfbar_edit_action_form.tpl svneol=native#text/
 templates/de/html/member/member_surfbar_link.tpl svneol=native#text/plain
 templates/de/html/member/member_themes.tpl svneol=native#text/plain
 templates/de/html/member/member_themes_row.tpl svneol=native#text/plain
+templates/de/html/member/member_transaction_fees.tpl -text
+templates/de/html/member/member_transaction_fees_config_row.tpl -text
+templates/de/html/member/member_transactions.tpl -text
+templates/de/html/member/member_transactions_form.tpl -text
+templates/de/html/member/member_transactions_row.tpl -text
 templates/de/html/member/member_transfer_list.tpl svneol=native#text/plain
 templates/de/html/member/member_transfer_new.tpl svneol=native#text/plain
 templates/de/html/member/member_transfer_overview.tpl svneol=native#text/plain
 templates/de/html/member/member_transfer_row.tpl svneol=native#text/plain
 templates/de/html/member/member_transfer_row2.tpl svneol=native#text/plain
 templates/de/html/member/member_transfer_settings.tpl svneol=native#text/plain
-templates/de/html/member/member_unconfirmed_404.tpl svneol=native#text/plain
-templates/de/html/member/member_unconfirmed_404_nopoints.tpl svneol=native#text/plain
-templates/de/html/member/member_unconfirmed_row.tpl svneol=native#text/plain
-templates/de/html/member/member_unconfirmed_row_nopoints.tpl svneol=native#text/plain
-templates/de/html/member/member_unconfirmed_table.tpl svneol=native#text/plain
-templates/de/html/member/member_unconfirmed_table_nopoints.tpl svneol=native#text/plain
 templates/de/html/member/member_welcome.tpl svneol=native#text/plain
 templates/de/html/member/member_welcome_footer.tpl svneol=native#text/plain
 templates/de/html/member/member_welcome_header.tpl svneol=native#text/plain
@@ -2156,7 +2095,6 @@ templates/de/html/menu/menu_table.tpl svneol=native#text/plain
 templates/de/html/menu/menu_what_begin.tpl svneol=native#text/plain
 templates/de/html/menu/menu_what_end.tpl svneol=native#text/plain
 templates/de/html/message.tpl svneol=native#text/plain
-templates/de/html/metadata.tpl svneol=native#text/plain
 templates/de/html/noindex_metadata.tpl svneol=native#text/plain
 templates/de/html/online_now.tpl svneol=native#text/plain
 templates/de/html/page_body.tpl svneol=native#text/plain
@@ -2180,6 +2118,8 @@ templates/de/html/select/select_actions_status_surfbar_box.tpl svneol=native#tex
 templates/de/html/select/select_actions_status_surfbar_option.tpl svneol=native#text/plain
 templates/de/html/select/select_admins_box.tpl svneol=native#text/plain
 templates/de/html/select/select_admins_option.tpl svneol=native#text/plain
+templates/de/html/select/select_forced_ads_id_banner_box.tpl svneol=native#text/plain
+templates/de/html/select/select_forced_ads_id_banner_option.tpl svneol=native#text/plain
 templates/de/html/select/select_forced_ads_id_box.tpl svneol=native#text/plain
 templates/de/html/select/select_forced_ads_id_popup_box.tpl svneol=native#text/plain
 templates/de/html/select/select_forced_ads_id_popup_option.tpl svneol=native#text/plain
@@ -2239,9 +2179,6 @@ templates/de/html/theme/.htaccess svneol=native#text/plain
 templates/de/html/theme/theme_one.tpl svneol=native#text/plain
 templates/de/html/theme/theme_select_box.tpl svneol=native#text/plain
 templates/de/html/theme/theme_select_form.tpl svneol=native#text/plain
-templates/de/html/theme_one.tpl svneol=native#text/plain
-templates/de/html/theme_select_box.tpl svneol=native#text/plain
-templates/de/html/theme_select_form.tpl svneol=native#text/plain
 templates/de/html/tlock_message.tpl svneol=native#text/plain
 templates/de/html/uberwach/.htaccess svneol=native#text/plain
 templates/de/html/uberwach/uberwach_snippet.tpl svneol=native#text/plain
@@ -2297,6 +2234,7 @@ templates/xml/admin/admin_edit_show_referral_levels.xml svneol=native#text/plain
 templates/xml/admin/admin_edit_show_surfbar_actions.xml svneol=native#text/plain
 templates/xml/admin/admin_edit_show_surfbar_urls.xml svneol=native#text/plain
 templates/xml/admin/admin_edit_show_user_subid.xml svneol=native#text/plain
+templates/xml/admin/admin_list_blacklist.xml svneol=native#text/plain
 templates/xml/admin/admin_list_booking.xml svneol=native#text/plain
 templates/xml/admin/admin_list_forced_ads.xml svneol=native#text/plain
 templates/xml/admin/admin_list_forced_campaigns.xml svneol=native#text/plain
@@ -2455,6 +2393,7 @@ theme/schleuder/theme.php svneol=native#text/plain
 theme/ship-simu/css/ajax.css svneol=native#text/css
 theme/ship-simu/css/bonus.css svneol=native#text/css
 theme/ship-simu/css/general.css svneol=native#text/css
+theme/ship-simu/css/install.css svneol=native#text/css
 theme/ship-simu/css/politician-stop.css svneol=native#text/css
 theme/ship-simu/css/register.css svneol=native#text/css
 theme/ship-simu/images/code_bg.jpg -text svneol=unset#image/jpeg
index a326437..9c5107b 100644 (file)
@@ -5,9 +5,9 @@
 ./beg.php:173:                 // @TODO Opps, what is missing here???
 ./cron.php:62:// @TODO Do stuff here
 ./inc/classes/cachesystem.class.php:516:       // @TODO Add support for more types which break in last else-block
-./inc/config-functions.php:150:        // @TODO Make this all better... :-/
-./inc/config-functions.php:327:                                        // @TODO Call setConfigEntry() somehow
-./inc/config-functions.php:355:                // @TODO Call setConfigEntry() somehow
+./inc/config-functions.php:151:        // @TODO Make this all better... :-/
+./inc/config-functions.php:328:                                        // @TODO Call setConfigEntry() somehow
+./inc/config-functions.php:356:                // @TODO Call setConfigEntry() somehow
 ./inc/daily/daily_beg.php:52:// @TODO This should be converted in a daily beg rallye
 ./inc/daily/daily_birthday.php:68:// @TODO Rewrite these if() blocks to a filter
 ./inc/email-functions.php:113: * @TODO Rewrite this to an extension 'smtp'
@@ -15,7 +15,7 @@
 ./inc/expression-functions.php:173:// @TODO FILTER_COMPILE_CONFIG does not handle call-back functions so we handle it here again
 ./inc/expression-functions.php:46:     // @TODO is escapeQuotes() enough for strings with single/double quotes?
 ./inc/extensions/bonus/mode-update.php:43:// @TODO Remove double tabs from all lines
-./inc/extensions/ext-html_mail.php:136:                // @TODO Move these arrays into config
+./inc/extensions/ext-html_mail.php:149:                // @TODO Move these arrays into config
 ./inc/extensions/ext-menu.php:52:              // @TODO Convert menu-Id to one coding-standard. admin(edit|_add) => admin_menu_(edit|add), mem(edit|_add) => (edit|add)_(admin|guest|member)_menu
 ./inc/extensions/ext-newsletter.php:218:               // @TODO Move these into configuration
 ./inc/extensions/ext-nickname.php:52:          // @TODO NOT NULL DEFAULT '' is bad practice, use NULL
 ./inc/extensions/sponsor/mode-setup.php:43:// @TODO Remove double tabs from all lines
 ./inc/extensions/sql_patches/mode-update.php:43:// @TODO Remove double tabs from all lines
 ./inc/extensions/user/mode-update.php:43:// @TODO Remove double tabs from all lines
-./inc/filter/blacklist_filter.php:82:  // @TODO Insert log entry
-./inc/filter/blacklist_filter.php:93:  // @TODO Insert log entry
+./inc/filter/blacklist_filter.php:105: // @TODO Insert log entry
+./inc/filter/blacklist_filter.php:116: // @TODO Insert log entry
+./inc/filter/blacklist_filter.php:127: // @TODO Insert log entry
 ./inc/filter/bonus_filter.php:56:              // @TODO This query isn't right, it will only update if the user was for a longer time away!
 ./inc/filter/forced_filter.php:73:             // @TODO This part is unfinished
 ./inc/filter-functions.php:119:        // @TODO Remove this forced removal after a year or so
-./inc/filters.php:1380:                // @TODO No banner found, output some default banner
+./inc/filter/order_filter.php:132:             // @TODO 200 is hard-coded here, swap it out to config + admin_config_order.tpl
+./inc/filters.php:1370:                // @TODO No banner found, output some default banner
 ./inc/functions.php:1210:                      // @TODO Are these convertions still required?
 ./inc/functions.php:1231:// @TODO Rewrite this function to use readFromFile() and writeToFile()
 ./inc/functions.php:1535:              // @TODO This should be rewritten not to load the cache file for just checking if it is there for save removal.
-./inc/functions.php:1859:      // @TODO Find a way to cache this
-./inc/functions.php:1963:      // @TODO This is still very static, rewrite it somehow
-./inc/functions.php:2167:      // @TODO Rename column data_type to e.g. mail_status
-./inc/functions.php:2517:// @TODO cacheFiles is not yet supported
+./inc/functions.php:1896:      // @TODO Find a way to cache this
+./inc/functions.php:2000:      // @TODO This is still very static, rewrite it somehow
+./inc/functions.php:2204:      // @TODO Rename column data_type to e.g. mail_status
+./inc/functions.php:2554:// @TODO cacheFiles is not yet supported
 ./inc/gen_sql_patches.php:95:// @TODO Rewrite this to a filter
 ./inc/header.php:66:// @TODO Find a way to not use direct module comparison
 ./inc/install-functions.php:446:       // @TODO Comparing with DEFAULT_MAIN_TITLE doesn't work
 ./inc/install-functions.php:97:        // @TODO DEACTIVATED: changeDataInLocalConfigurationFile('OUTPUT-MODE', "setConfigEntry('OUTPUT_MODE', '", "');", postRequestElement('omode'), 0);
-./inc/language/de.php:1162:    // @TODO Rewrite these two constants
-./inc/language/de.php:1178:    // @TODO Rewrite these three constants
+./inc/language/de.php:1163:    // @TODO Rewrite these two constants
+./inc/language/de.php:1179:    // @TODO Rewrite these three constants
 ./inc/language/de.php:46:      // @TODO Please sort these language elements
 ./inc/language/de.php:748:// @TODO Are these constants longer used?
 ./inc/language-functions.php:254:      // @TODO These are all valid languages, again hard-coded
 ./inc/modules/admin/what-list_user_cats.php:68:                                // @TODO Rewrite this to countSum.....() function
 ./inc/modules/admin/what-list_user.php:104:            // @TODO Refacture these old link generation to functions
 ./inc/modules/admin/what-list_user.php:121:            // @TODO Refacture birth_foo to avoid uni* timetstamps as older members cannot be greeded correctly
-./inc/modules/admin/what-list_user.php:291:            // @TODO Rewrite this into a filter
-./inc/modules/admin/what-list_user.php:356:                    // @TODO Rewrite this into a filter
+./inc/modules/admin/what-list_user.php:288:            // @TODO Rewrite this into a filter
+./inc/modules/admin/what-list_user.php:350:                    // @TODO Rewrite this into a filter
 ./inc/modules/admin/what-logs.php:64:                  // @TODO Fix content-type here
 ./inc/modules/admin/what-logs.php:70:                  // @TODO Fix content-type here
 ./inc/modules/admin/what-mem_add.php:124:                              // @TODO This can be somehow rewritten to a function
 ./inc/modules/admin/what-usr_online.php:49:    // @TODO Add a filter for sponsor
 ./inc/modules/frametester.php:91:      // @TODO Rewrite this somehow
 ./inc/modules/guest/what-beg.php:51:// @TODO No more needed? define('__BEG_USERID_TIMEOUT', createFancyTime(getBegUseridTimeout()));
-./inc/modules/guest/what-mediadata.php:188:// @TODO Rewrite all these if-blocks to filters
+./inc/modules/guest/what-mediadata.php:183:// @TODO Rewrite all these if-blocks to filters
 ./inc/modules/guest/what-mediadata.php:67:     // @TODO Find a better formular than this one
 ./inc/modules/guest/what-rallyes.php:99:       // @TODO Reactivate this: $content['admin'] = '<a href="{%url=modules.php?module=index&amp;what=impressum&amp;id=' . $content['admin_id'] . '%}">' . $content['login'] . '</a>';
 ./inc/modules/guest/what-sponsor_reg.php:293:                  // @TODO Maybe a default referral id?
 ./inc/modules/member/what-logout.php:17: * @TODO Rewrite the code to a filter                                   *
 ./inc/modules/member/what-logout.php:52:       // @TODO Move this in a filter, e.g. member_logout
 ./inc/modules/member/what-mydata.php:82:               // @TODO Move this to a function (for better EL code)
-./inc/modules/member/what-order.php:365:                       // @TODO Rewrite this to a filter
+./inc/modules/member/what-order.php:317:                       // @TODO Rewrite this to a filter
 ./inc/modules/member/what-order.php:72:        // @TODO Try to move out url_tlock to a filter for extra SQL statements
 ./inc/modules/member/what-payout.php:208:                                      // @TODO Rewrite this to a filter
 ./inc/modules/member/what-points.php:61:// @TODO Should we rewrite this to a filter?
 ./inc/modules/member/what-rallyes.php:99:      // @TODO Reactivate this: $content['admin'] = '<a href="{%url=modules.php?module=index&amp;what=impressum&amp;id=' . $content['admin_id'] . '%}">' . $content['login'] . '</a>';
 ./inc/modules/member/what-reflinks.php:52:// @TODO Move this into a filter
+./inc/modules/member/what-transaction_fees.php:210:// @TODO Make this working
 ./inc/modules/member/what-transfer.php:128:                            // @TODO Rewrite this to a filter
 ./inc/modules/member/what-unconfirmed.php:124: // @TODO This call cannot be saved as EL code cannot be "framed" in other EL code
 ./inc/modules/member/what-unconfirmed.php:168: // @TODO Try to rewrite this to $content = SQL_FETCHARRAY()
 ./inc/template-functions.php:209:       * @TODO On some pages this is buggy
 ./inc/template-functions.php:298:      // @TODO Remove these sanity checks if all is fine
 ./inc/template-functions.php:747:                      // @TODO $userid is deprecated and should be removed from loadEmailTemplate() and replaced with $content[userid] in all templates
-./inc/wrapper-functions.php:3227:      // @TODO Find a way to not use direct module comparison
-./inc/wrapper-functions.php:566:// @TODO Do some more sanity check here
+./inc/wrapper-functions.php:3274:      // @TODO Find a way to not use direct module comparison
+./inc/wrapper-functions.php:583:// @TODO Do some more sanity check here
 ./inc/xml-functions.php:240:   // @TODO Handle characters
 ./mailid.php:123:              // @TODO Rewrite this to a filter/function
 ./mailid.php:160:                                      // @TODO Rewrite this to a filter
 ./templates/de/html/admin/admin_login_form.tpl:34:     @TODO Doesn't work with sessions
 ./templates/de/html/admin/admin_login_form.tpl:37:             @TODO Try to move the select box to our generic functions
 ./templates/de/html/admin/admin_optimize.tpl:3:        <!-- @TODO Shouldn't we add a title here? //-->
+./templates/de/html/ext/ext_transaction.tpl:2: @TODO Transaktionen ...
 ./templates/de/html/guest/guest_login.tpl:21:  @TODO Deactivated feature, try to implement it or remove it.
 ./templates/de/html/guest/guest_nickname_login.tpl:21: @TODO Deactivated feature, try to find a solution for this or remove it.
 ./templates/de/html/guest/guest_stats_member.tpl:21:   @TODO We have to fix these counters.
 ./.htaccess:13:        # @TODO When ext-terms is finished RewriteRule ^agb.php$ modules.php?module=index&what=terms [L]
 ./.htaccess:9: # @TODO When ext-imprint is finished RewriteRule ^cms/index/wht/impressum$                 modules.php?module=index&what=imprint [L]
 ### ### DEPRECATION FOLLOWS: ### ###
-./inc/autopurge.php:2:// @DEPRECATED
-./inc/birthday_mails.php:2:// @DEPRECATED
-./inc/check-reset.php:2:// @DEPRECATED
-./inc/doubler_send.php:2:// @DEPRECATED
-./inc/extensions.php:2:// @DEPRECATED
-./inc/fatal_errors.php:2:// @DEPRECATED
-./inc/hooks.php:2:// @DEPRECATED
-./inc/language.php:2:// @DEPRECATED
-./inc/language/pro_de.php:2:// @DEPRECATED
-./inc/libs/output_functions.php:2:// @DEPRECATED
-./inc/load_extensions.php:2:// @DEPRECATED
-./inc/mails/birthday_mails.php:2:// @DEPRECATED
 ./inc/modules/admin/admin-inc.php:534:// @DEPRECATED
-./inc/modules/admin/what-admins_contact.php:2:// @DEPRECATED
-./inc/modules/admin/what-autopurge.php:2:// @DEPRECATED
-./inc/modules/admin/what-config_cache.php:2:// @DEPRECATED
-./inc/modules/admin/what-config_cats.php:2:// @DEPRECATED
-./inc/modules/admin/what-config_mods.php:2:// @DEPRECATED
-./inc/modules/admin/what-config_rallye_prices.php:2:// @DEPRECATED
-./inc/modules/admin/what-config_reg.php:2:// @DEPRECATED
-./inc/modules/admin/what-del_task.php:2:// @DEPRECATED
-./inc/modules/admin/what-list_network_vcheck_params.php:2:// @DEPRECATED
-./inc/modules/admin/what-list_newsletter.php:2:// @DEPRECATED
-./inc/modules/admin/what-list_norefs.php:2:// @DEPRECATED
-./inc/modules/admin/what-newsletter.php:2:// @DEPRECATED
-./inc/modules/admin/what-repair_amenu.php:2:// @DEPRECATED
-./inc/modules/admin/what-repair_gmenu.php:2:// @DEPRECATED
-./inc/modules/admin/what-repair_mmenu.php:2:// @DEPRECATED
-./inc/modules/admin/what-stats.php:2:// @DEPRECATED
-./inc/modules/admin/what-user_online.php:2:// @DEPRECATED
-./inc/modules/frameset.php:2:// @DEPRECATED
-./inc/modules/welcome.php:2:// @DEPRECATED
-./inc/patch-system.php:2:// @DEPRECATED
-./inc/pool-update.php:2:// @DEPRECATED
-./inc/profile-updte.php:2:// @DEPRECATED
-./inc/security.php:2:// @DEPRECATED
-./inc/sql_error.php:2:// @DEPRECATED
-./inc/stats_bonus.php:2:// @DEPRECATED
-./inc/template.php:2:// @DEPRECATED
-./mailid_top.php:2:// @DEPRECATED
-./templates/de/emails/admin/admin_autopurge_delete.tpl:1:@DEPRECATED
-./templates/de/emails/admin/admin_autopurge_del_mails.tpl:1:@DEPRECATED
-./templates/de/emails/admin/admin_autopurge_inactive.tpl:1:@DEPRECATED
-./templates/de/emails/admin/admin_autopurge_points.tpl:1:@DEPRECATED
-./templates/de/emails/admin/admin_autopurge_tsks.tpl:1:@DEPRECATED
-./templates/de/emails/admin/admin_autopurge_turbo.tpl:1:@DEPRECATED
-./templates/de/emails/admin/admin_autopurge_unconfirmed.tpl:1:@DEPRECATED
-./templates/de/html/admin/admin_add_network_vcheck_param.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_add_reflevel.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_add_reflvl.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_add_shop_cat.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_admins_contact_form.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_config_autopurge_pro.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_config_beg_pro.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_config_bonus_pro.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_config_cache.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_config_doubler_pro.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_config_home_settings_pro.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_config_reg_pro.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_config_shop.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_config_transfer_pro.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_edit_reflevel_row.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_edit_reflevel.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_export_network_vcheck_params.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_extensions_installed.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_extensions_list.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_extensions_search.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_forum_add.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_forum_descr.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_forum_display_cat.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_forum_edit_del.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_forum_edit_forum.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_holiday_task.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_list_network_vcheck_params_row.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_list_network_vcheck_params.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_list_reflevel_row.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_list_reflevel.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_list_unconfirmed_header.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_logout_sql_patches.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_mods_footer_list.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_mods_footer_stats2.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_mods_footer_stats.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_mods_header_list.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_mods_header_stats2.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_mods_header_stats.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_mods_list_row.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_mods_list.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_network_vcheck_param_added.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_new_ext.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_newsletter_tsk.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_online_footer.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_online_header.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_overview_header.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_patches_row.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_patches.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_reg_row.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_reg.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/admin/admin_theme_list.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/ext/ext_primera.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/fatal_footer.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/fatal_header.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/guest/guest_confirm_table.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/guest/guest_paidlinks_register_header.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/guest/guest_paidlinks_register.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/install/install_header.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/member/member_unconfirmed_404_nopoints.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/member/member_unconfirmed_404.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/member/member_unconfirmed_row_nopoints.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/member/member_unconfirmed_row.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/member/member_unconfirmed_table_nopoints.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/member/member_unconfirmed_table.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/metadata.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/theme_one.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/theme_select_box.tpl:1:<!-- @DEPRECATED //-->
-./templates/de/html/theme_select_form.tpl:1:<!-- @DEPRECATED //-->
-./js/jquery-ui.custom.js:1:// @DEPRECATED
-./js/jquery-uncompressed.js:1:// @DEPRECATED
 ### ### template-warnings.log follows: ### ###
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : td in templates/de/html/menu/menu_what_end.tpl, line: 1 in 
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : tr in templates/de/html/menu/menu_what_end.tpl, line: 2 in 
index d7f97fd..f9bdda0 100644 (file)
@@ -561,16 +561,6 @@ Auszug aus der originalen general.css:
        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;
@@ -606,14 +596,6 @@ Auszug aus der originalen general.css:
        height                  : 30px
 }
 
-.admin_task_header {
-       background-color        : #DDEEDD;
-       color                   : #009900;
-       vertical-align          : middle;
-       font-size                       : 18px;
-       height                  : 35px;
-}
-
 .separator {
        font-size                       : 1px
 }
diff --git a/api.php b/api.php
index fb54301..a6524ae 100644 (file)
--- a/api.php
+++ b/api.php
@@ -57,10 +57,10 @@ $GLOBALS['__footer_sent'] = 2;
 require('inc/config-global.php');
 
 // Load special API library
-//loadIncludeOnce('inc/ajax-functions.php');
+//loadIncludeOnce('inc/api-functions.php');
 
 // Init API request (including HTTP status code)
-//initAjax();
+//initApi();
 
 // Load header here
 loadIncludeOnce('inc/header.php');
index 10af24c..e5aedcd 100644 (file)
--- a/debug.php
+++ b/debug.php
@@ -55,7 +55,7 @@ if ((isExtensionActive('debug')) && (!ifFatalErrorsDetected())) {
                // Handle the request
                if (DEBUG_HANDLE_REQUEST(postRequestElement('request'))) {
                        // Construct FQFN for the module
-                       $inc = sprintf("inc/debug/%s/request_%s.php",
+                       $inc = sprintf('inc/debug/%s/request_%s.php',
                                getConfig('debug_mode'),
                                sqlEscapeString(postRequestElement('request'))
                        );
diff --git a/img.php b/img.php
index f8c5fda..d9780a6 100644 (file)
--- a/img.php
+++ b/img.php
@@ -57,9 +57,7 @@ if (isGetRequestElementSet('code')) {
        generateImageOrCode(bigintval(getRequestElement('code')));
 } elseif (isGetRequestElementSet('img')) {
        // 'img' set so create the IFN (Include-FileName)
-       $inc = sprintf("inc/img/img_%s.php",
-               getRequestElement('img')
-       );
+       $inc = sprintf('inc/img/img_%s.php', getRequestElement('img'));
 
        // Include is readable?
        if (isIncludeReadable($inc)) {
diff --git a/img/captcha-error.png b/img/captcha-error.png
new file mode 100644 (file)
index 0000000..ab0a996
Binary files /dev/null and b/img/captcha-error.png differ
index 512b3ae..35cb192 100644 (file)
@@ -61,7 +61,7 @@ function initAjax () {
        setUsername('{--USERNAME_AJAX--}');
 
        // In installation phase load ajax_installer.php
-       if (isInstallationPhase()) {
+       if (isInstaller()) {
                // Load it
                loadIncludeOnce('inc/ajax/ajax_installer.php');
        } // END - if
@@ -88,7 +88,7 @@ function isAjaxRequestLevelValid () {
        switch (postRequestElement('level')) {
                case 'install': // Installation phase level
                        // Simply check for it
-                       $isValid = isInstallationPhase();
+                       $isValid = isInstaller();
                        break;
 
                case 'admin': // Admin area
@@ -131,9 +131,9 @@ function processAjaxRequest () {
 }
 
 // Send AJAX content
-function sendAjaxContent () {
+function sendAjaxContent ($forceOutput = FALSE) {
        // Is the status fine or template not found (404)?
-       if (isAjaxHttpStatusAccepted()) {
+       if ((isAjaxHttpStatusAccepted()) || ($forceOutput === TRUE)) {
                // Then output the JSON
                outputHtml(encodeJson($GLOBALS['ajax_reply']));
        } // END - if
index 20099b8..de592ac 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
  * Mailer v0.2.1-FINAL                                Start: 06/24/2012 *
- * ===================                          Last change: 06/24/2012 *
+ * ===================                          Last change: 06/23/2013 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : ajax_admin.php                                   *
@@ -36,7 +36,9 @@
  ************************************************************************/
 
 // Some security stuff...
-if ((!defined('__SECURITY')) || (!isAjaxOutputMode())) {
+if (!defined('__SECURITY')) {
+       die();
+} elseif ((!isAjaxOutputMode()) || (!isAdmin())) {
        header('HTTP/1.1 403 Forbidden');
        die(json_encode(array('reply_content' => 'Access forbidden'), JSON_FORCE_OBJECT));
 } // END - if
index 9b5996b..98af1a4 100644 (file)
@@ -36,7 +36,9 @@
  ************************************************************************/
 
 // Some security stuff...
-if ((!defined('__SECURITY')) || (!isAjaxOutputMode()) || (!isAdmin())) {
+if (!defined('__SECURITY')) {
+       die();
+} elseif ((!isAjaxOutputMode()) || (!isAdmin())) {
        header('HTTP/1.1 403 Forbidden');
        die(json_encode(array('reply_content' => 'Access forbidden'), JSON_FORCE_OBJECT));
 } // END - if
index 108fd3e..0031a18 100644 (file)
@@ -36,7 +36,9 @@
  ************************************************************************/
 
 // Some security stuff...
-if ((!defined('__SECURITY')) || (!isAjaxOutputMode()) || (!isInstallationPhase())) {
+if (!defined('__SECURITY')) {
+       die();
+} elseif ((!isAjaxOutputMode()) || (!isInstaller())) {
        header('HTTP/1.1 403 Forbidden');
        die(json_encode(array('reply_content' => 'Access forbidden'), JSON_FORCE_OBJECT));
 } // END - if
@@ -63,19 +65,22 @@ function establishAjaxInstallerDatabaseLink () {
        if (!is_resource($linkResource)) {
                // Is not a resource
                reportBug(__FUNCTION__, __LINE__, 'linkResource[]=' . gettype($linkResource) . ', expected: link resource');
-       } // END - if
+       } elseif (!isSqlLinkUp()) {
+               // SQL link is not up
+               reportBug(__FUNCTION__, __LINE__, 'Could not bring up SQL link.');
+       }
 
        // Does selecting the database work?
        if (!sqlSelectDatabase(getSession('mysql_dbase'), __FUNCTION__, __LINE__)) {
                // Could not be selected
                reportBug(__FUNCTION__, __LINE__, 'Could not select database ' . getSession('mysql_dbase'));
-       } elseif ((!isFileReadable(getSession('base_path') . 'install/tables.sql')) || (!isFileReadable(getSession('base_path') . 'install/menu-'.getLanguage().'.sql'))) {
+       } elseif (!isInstallerSqlsReadable(getSession('base_path'))) {
                // Installation area not found
                reportBug(__FUNCTION__, __LINE__, 'SQL dumps not found. Please extract ALL files from the archive or checkout all files out from SVN.');
        } elseif (ifFatalErrorsDetected()) {
                // Some other fatal error occured
                reportBug(__FUNCTION__, __LINE__, 'Some fatal error detected, please check debug.log for details.');
-       } // END - if
+       }
 
        // Set type, prefix from POST data and database name for later queries
        setConfigEntry('_TABLE_TYPE'  , getSession('mysql_engine'));
@@ -90,7 +95,7 @@ function establishAjaxInstallerDatabaseLink () {
 // Processes AJAX requests for installer
 function doAjaxProcessInstall () {
        // 'do' must always be set and installation phase must be true
-       if (!isInstallationPhase()) {
+       if (!isInstaller()) {
                // This shall not happen
                reportBug(__FUNCTION__, __LINE__, 'This AJAX request handler was called outside the installer.');
        } elseif (!isPostRequestElementSet('do')) {
@@ -145,6 +150,7 @@ function doAjaxInstallerFooterNavigation () {
                case 'smtp_config':
                case 'other_config':
                case 'extensions':
+               case 'first_admin':
                        array_push($enabledNavigations, 'previous');
                case 'welcome': // Only 'next' works for welcome page
                        array_push($enabledNavigations, 'next');
@@ -187,17 +193,20 @@ function doAjaxInstallerDoStep () {
        // Is the function there?
        if (function_exists($callbackName)) {
                // Call it for setting values in session
-               call_user_func($callbackName);
+               $status = call_user_func($callbackName);
        } else {
                // Log missing functions
                reportBug(__FUNCTION__, __LINE__, 'Call-back function ' . $callbackName . ' does not exist.');
        }
 
-       // Set dummy content
-       setAjaxReplyContent(encodeJson(postRequestElement('step').'=OK'));
+       // Did the installation step went fine?
+       if ($status === TRUE) {
+               // All fine
+               setAjaxReplyContent(encodeJson(postRequestElement('step') . '=OK'));
 
-       // All okay if we reach this point
-       setHttpStatus('200 OK');
+               // All okay if we reach this point
+               setHttpStatus('200 OK');
+       } // END - if
 }
 
 // Processes installer AJAX calls for content-requests
@@ -366,13 +375,13 @@ function doAjaxPrepareInstallerBaseData () {
        // Is 'main_title' not set?
        if (!isSessionVariableSet('main_title')) {
                // Then set it from default main title
-               setSession('main_title', '{--DEFAULT_MAIN_TITLE--}');
+               setSession('main_title', compileRawCode(getMessage('DEFAULT_MAIN_TITLE')));
        } // END - if
 
        // Is 'slogan' not set?
        if (!isSessionVariableSet('slogan')) {
                // Then set it from default slogan
-               setSession('slogan', '{--DEFAULT_SLOGAN--}');
+               setSession('slogan', compileRawCode(getMessage('DEFAULT_SLOGAN')));
        } // END - if
 
        // Is 'webmaster' not set?
@@ -464,8 +473,8 @@ function doAjaxPrepareInstallerExtensions () {
        // Is 'extensions' set?
        if (!isSessionVariableSet('extensions')) {
                /*
-                * At least ext-sql_patches and ext-task should be installed
-                *(ext-sql_patches is a must!)
+                * At least ext-admins, ext-sql_patches and ext-task should be installed
+                * (ext-sql_patches is a must!)
                 */
                setSession('extensions', 'admins:sql_patches:task');
        } elseif (strpos(getSession('extensions'), 'sql_patches') === FALSE) {
@@ -474,6 +483,33 @@ function doAjaxPrepareInstallerExtensions () {
        }
 }
 
+// Prepare AJAX request 'first_admin'
+function doAjaxPrepareInstallerFirstAdmin () {
+       // Is 'admin_login' set?
+       if (!isSessionVariableSet('admin_login')) {
+               // Set it
+               setSession('admin_login', 'admin');
+       } // END - if
+
+       // Is 'admin_email' set?
+       if (!isSessionVariableSet('admin_email')) {
+               // Set it
+               setSession('admin_email', getSession('webmaster'));
+       } // END - if
+
+       // Is 'admin_password1' set?
+       if (!isSessionVariableSet('admin_password1')) {
+               // Set it
+               setSession('admin_password1', '');
+       } // END - if
+
+       // Is 'admin_password2' set?
+       if (!isSessionVariableSet('admin_password2')) {
+               // Set it
+               setSession('admin_password2', '');
+       } // END - if
+}
+
 // Prepare AJAX request 'overview'
 function doAjaxPrepareInstallerOverview () {
        // 'tab' must always be set to create a post-check-callback
@@ -579,6 +615,9 @@ function doAjaxInstallerStepImportTablesSql () {
 
        // Close SQL link
        sqlCloseLink(__FUNCTION__, __LINE__);
+
+       // All fine
+       return TRUE;
 }
 
 // Call-back function to import menu SQL file
@@ -603,6 +642,9 @@ function doAjaxInstallerStepImportMenuSql () {
 
        // Close SQL link
        sqlCloseLink(__FUNCTION__, __LINE__);
+
+       // All fine
+       return TRUE;
 }
 
 // Call-back function to install some important extensions
@@ -633,6 +675,9 @@ function doAjaxInstallerStepInstallExtensions () {
                        reportBug(__FUNCTION__, __LINE__, 'Cannot load/register extension ' . $ext_name . '.');
                } // END - if
        } // END - foreach
+
+       // All fine
+       return TRUE;
 }
 
 // Call-back function to write local configuration file
@@ -641,7 +686,16 @@ function doAjaxInstallerStepWriteLocalConfig () {
        if (!isSessionDataSet(array('base_path', 'base_url', 'main_title', 'slogan', 'webmaster', 'mysql_host', 'mysql_dbase', 'mysql_prefix', 'mysql_login', 'mysql_password1', 'mysql_password2', 'mysql_engine', 'output_mode', 'warn_no_pass', 'write_footer', 'enable_backlink'))) {
                // Some required session data is not set
                reportBug(__FUNCTION__, __LINE__, 'Required session data for this step not found.');
-       } // END - if
+       } elseif (isInstalled()) {
+               // Is already installed = local config written
+               reportBug(__FUNCTION__, __LINE__, 'Local config file is already written.');
+       } elseif (isAdminRegistered()) {
+               // Admin is already registered
+               reportBug(__FUNCTION__, __LINE__, 'First administrator account is already registered.');
+       }
+
+       // Establish database link
+       establishAjaxInstallerDatabaseLink();
 
        // Write config file
        if (!doInstallWriteLocalConfigurationFile(
@@ -667,6 +721,36 @@ function doAjaxInstallerStepWriteLocalConfig () {
                removeFile(getSession('base_path') . getCachePath() . 'config-local.php');
                reportBug(__FUNCTION__, __LINE__, 'Did not fully write config-local.php .');
        }
+
+       // Change ADMIN_REGISTERED flag
+       $done = changeDataInLocalConfigurationFile('ADMIN-SETUP', "setConfigEntry('ADMIN_REGISTERED', '", "');", 'Y', 0);
+
+       // All fine
+       return $done;
+}
+
+// Call-back function to register first admin
+function doAjaxInstallerStepRegisterFirstAdmin () {
+       // Is all set?
+       if (!isSessionDataSet(array('admin_login', 'admin_email', 'admin_password1', 'admin_password2'))) {
+               // Some required session data is not set
+               reportBug(__FUNCTION__, __LINE__, 'Required session data for this step not found.');
+       } elseif (isAdminRegistered()) {
+               // First admin is already registered
+               reportBug(__FUNCTION__, __LINE__, 'First administrator is already registered.');
+       }
+
+       // Establish database link
+       establishAjaxInstallerDatabaseLink();
+
+       // Load admin include
+       loadIncludeOnce('inc/modules/admin/admin-inc.php');
+
+       // Register first admin
+       $ret = addAdminAccount(getSession('admin_login'), md5(getSession('admin_password1')), getSession('admin_email'), 'allow');
+
+       // Did it work?
+       return ($ret == 'done');
 }
 
 // [EOF]
diff --git a/inc/autopurge.php b/inc/autopurge.php
deleted file mode 100644 (file)
index f551ef4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-// @DEPRECATED
-?>
diff --git a/inc/birthday_mails.php b/inc/birthday_mails.php
deleted file mode 100644 (file)
index f551ef4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-// @DEPRECATED
-?>
index 821bbd4..ee0a387 100644 (file)
@@ -43,7 +43,7 @@ if (!defined('__SECURITY')) {
 // Handles the XML node 'admin-entry-meta-data'
 function doXmlAdminEntryMetaData ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes, got ' . count($attributes));
        } // END - if
@@ -52,7 +52,7 @@ function doXmlAdminEntryMetaData ($resource, $attributes) {
 // Handles the XML node 'member-entry-meta-data'
 function doXmlMemberEntryMetaData ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes, got ' . count($attributes));
        } // END - if
@@ -118,7 +118,7 @@ function doXmlDatabaseTable ($resource, $attributes) {
 // Handles the XML node 'database-column-list'
 function doXmlDatabaseColumnList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } // END - if
@@ -172,7 +172,7 @@ function doXmlDatabaseColumnListEntry ($resource, $attributes) {
 // Handles the XML node 'callback-function-list'
 function doXmlCallbackFunctionList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } // END - if
@@ -214,7 +214,7 @@ function doXmlCallbackFunctionListEntry ($resource, $attributes) {
 // Handles the XML node 'extra-parameter-list'
 function doXmlExtraParameterList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } // END - if
@@ -256,7 +256,7 @@ function doXmlExtraParameterListEntry ($resource, $attributes) {
 // Handles the XML node 'time-columns-list'
 function doXmlTimeColumnsList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } // END - if
@@ -298,7 +298,7 @@ function doXmlTimeColumnsListEntry ($resource, $attributes) {
 // Handles the XML node 'extra-parameter-member-list'
 function doXmlExtraParameterMemberList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['extra_list']['member_list'])) {
@@ -310,7 +310,7 @@ function doXmlExtraParameterMemberList ($resource, $attributes) {
 // Handles the XML node 'extra-parameter-reload-list'
 function doXmlExtraParameterReloadList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['extra_list']['reload_list'])) {
@@ -322,7 +322,7 @@ function doXmlExtraParameterReloadList ($resource, $attributes) {
 // Handles the XML node 'extra-parameter-waiting-list'
 function doXmlExtraParameterWaitingList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['extra_list']['waiting_list'])) {
@@ -424,7 +424,7 @@ function doXmlExtraParameterWaitingListEntry ($resource, $attributes) {
 // Handles the XML node 'extra-parameter-added-list'
 function doXmlExtraParameterAddedList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['extra_list']['added_list'])) {
@@ -466,7 +466,7 @@ function doXmlExtraParameterAddedListEntry ($resource, $attributes) {
 // Handles the XML node 'extra-parameter-created-list'
 function doXmlExtraParameterCreatedList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['extra_list']['created_list'])) {
@@ -538,7 +538,7 @@ function doXmlStatusChangeColumn ($resource, $attributes) {
 // Handles the XML node 'status-change-list'
 function doXmlStatusChangeList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction'])) {
@@ -740,7 +740,7 @@ function doXmlCacheFile ($resource, $attributes) {
 // Handles the XML node 'admin-list-data'
 function doXmlAdminListData ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes, got ' . count($attributes));
        } // END - if
@@ -749,7 +749,7 @@ function doXmlAdminListData ($resource, $attributes) {
 // Handles the XML node 'member-list-data'
 function doXmlMemberListData ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes, got ' . count($attributes));
        } // END - if
@@ -758,7 +758,7 @@ function doXmlMemberListData ($resource, $attributes) {
 // Handles the XML node 'data-tables'
 function doXmlDataTables ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes, got ' . count($attributes));
        } // END - if
@@ -803,7 +803,7 @@ function doXmlDataTable ($resource, $attributes) {
 // Handles the XML node 'table-join-condition'
 function doXmlTableJoinCondition ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes, got ' . count($attributes));
        } // END - if
@@ -855,7 +855,7 @@ function doXmlTableJoinName ($resource, $attributes) {
 // Handles the XML node 'join-on'
 function doXmlJoinOn ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes, got ' . count($attributes));
        } // END - if
@@ -958,7 +958,7 @@ function doXmlJoinOnCondition ($resource, $attributes) {
 // Handles the XML node 'select-data-from-list'
 function doXmlSelectDataFromList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['data_table'])) {
@@ -1012,7 +1012,7 @@ function doXmlSelectDataFromListEntry ($resource, $attributes) {
 // Handles the XML node 'where-select-from-list'
 function doXmlWhereSelectFromList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['data_table'])) {
@@ -1102,7 +1102,7 @@ function doXmlWhereCondition ($resource, $attributes) {
 // Handles the XML node 'order-by-list'
 function doXmlOrderByList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['data_table'])) {
@@ -1210,7 +1210,7 @@ function doXmlListRowTemplate ($resource, $attributes) {
 // Handles the XML node 'column-callback-list'
 function doXmlColumnCallbackList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['data_table'])) {
@@ -1225,7 +1225,7 @@ function doXmlColumnCallbackList ($resource, $attributes) {
 // Handles the XML node 'column-callback-list-entry'
 function doXmlColumnCallbackListEntry ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['column_callback_list'])) {
@@ -1270,7 +1270,7 @@ function doXmlColumnCallbackData ($resource, $attributes) {
 // Handles the XML node 'callback-extra-parameter-list'
 function doXmlCallbackExtraParameterList ($resource, $attributes) {
        // There should be no attributes
-       if (count($attributes) > 0) {
+       if (isFilledArray($attributes)) {
                // Please don't add any attributes to foo-list nodes
                reportBug(__FUNCTION__, __LINE__, 'Expected 1 attributes because this is a named foo-list node, got ' . count($attributes));
        } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['column_callback_list'])) {
diff --git a/inc/captcha-base.png b/inc/captcha-base.png
new file mode 100644 (file)
index 0000000..f29f083
Binary files /dev/null and b/inc/captcha-base.png differ
diff --git a/inc/check-reset.php b/inc/check-reset.php
deleted file mode 100644 (file)
index f551ef4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-// @DEPRECATED
-?>
index 06fc673..2da5803 100644 (file)
@@ -494,7 +494,7 @@ class CacheSystem {
                                        $GLOBALS[__METHOD__][$ext_name] = ((isset($this->version[$this->name][$ext_name])) && ($this->version[$this->name][$ext_name] == $ext_ver));
                                } elseif ($this->isCacheReadable()) {
                                        // No cache version found
-                                       logDebugMessage(__METHOD__, __LINE__, 'Cache ' . $this->name . ' has missing version entry for extension ' . $ext_name . '! Purging cache...');
+                                       logDebugMessage(__METHOD__, __LINE__, 'Cache ' . $this->name . ' has missing version entry for extension ext-' . $ext_name . '! Purging cache...');
        
                                        // Remove the cache file
                                        $this->removeCacheFile(TRUE);
index 00ff1d8..53fc0c3 100644 (file)
@@ -50,7 +50,7 @@ function getCode ($key) {
        // Is the key set?
        if (!isCodeSet($key)) {
                // Abort here
-               reportBug(__FUNCTION__, __LINE__, sprintf("%s[%s:] Code %s is not set.",
+               reportBug(__FUNCTION__, __LINE__, sprintf('%s[%s:] Code %s is not set.',
                        __FUNCTION__,
                        __LINE__,
                        $key
index 4b51528..7b398bc 100644 (file)
@@ -58,6 +58,7 @@ function initConfig () {
                // 'DEBUG_HOURLY'        => 'N',
                // 'DEBUG_DAILY'         => 'N',
                // 'DEBUG_MONTHLY'       => 'N',
+               // 'DEBUG_YEARLY'        => 'N',
                // 'DEBUG_WEEKLY'        => 'N',
                // 'DEBUG_REGEX'         => 'N',
                // 'ADMIN_REGISTERED'    => 'N',
@@ -75,7 +76,7 @@ function getConfig ($configEntry) {
        // Is the entry there?
        if (!isConfigEntrySet($configEntry)) {
                // Raise an error of missing entries
-               reportBug(__FUNCTION__, __LINE__, sprintf("Configuration entry <span class=\"data\">%s</span> is missing.", $configEntry));
+               reportBug(__FUNCTION__, __LINE__, sprintf('Configuration entry <span class="data">%s</span> is missing.', $configEntry));
        } // END - if
 
        // Return it
@@ -286,11 +287,11 @@ function updateOldConfigFile () {
 }
 
 // Update config entries
-function updateConfiguration ($entries, $values, $updateMode = '', $config = '0') {
+function updateConfiguration ($entries, $values, $updateMode = '', $config = '0', $force = FALSE) {
        // Do not update config in CSS mode
-       if ((isCssOutputMode()) || (isRawOutputMode()) || (isInstallationPhase())) {
+       if (($force === FALSE) && ((isCssOutputMode()) || (isRawOutputMode()) || (isInstaller()))) {
                // This logger line may be very noisy
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Not updating configuration. entries[]=' . gettype($entries) . ',values[]=' . gettype($values) . ',updateMode=' . $updateMode . ',config=' . $config . ',isCssOutputMode()=' . intval(isCssOutputMode()) . ',isRawOutputMode()=' . intval(isRawOutputMode()) . ',isInstallationPhase()=' . intval(isInstallationPhase()));
+               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Not updating configuration. entries[]=' . gettype($entries) . ',values[]=' . gettype($values) . ',updateMode=' . $updateMode . ',config=' . $config . ',isCssOutputMode()=' . intval(isCssOutputMode()) . ',isRawOutputMode()=' . intval(isRawOutputMode()) . ',isInstaller()=' . intval(isInstaller()));
                return;
        } // END - if
 
@@ -312,7 +313,7 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
                                        reportBug(__FUNCTION__, __LINE__, 'values[' . $idx . '] should not be an array! Content=<pre>'.print_r($values[$idx], TRUE).'</pre>');
                                } elseif ($values[$idx] == 'UNIX_TIMESTAMP()') {
                                        // Function UNIX_TIMESTAMP() detected
-                                       $SQL .= sprintf("`%s`=UNIX_TIMESTAMP(),", $entry);
+                                       $SQL .= sprintf('`%s`=UNIX_TIMESTAMP(),', $entry);
 
                                        // Set timestamp in array as well
                                        setConfigEntry($entry, time());
@@ -325,10 +326,10 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
 
                                        // Update mode set
                                        // @TODO Call setConfigEntry() somehow
-                                       $SQL .= $entries = sprintf("`%s`=`%s`%s%s", $entry, $entry, $updateMode, (float) $values[$idx]);
+                                       $SQL .= $entries = sprintf('`%s`=`%s`%s%s', $entry, $entry, $updateMode, (float) $values[$idx]);
                                } elseif (($values[$idx] + 0) === $values[$idx]) {
                                        // Number detected
-                                       $SQL .= sprintf("`%s`=%s,", $entry, (float) $values[$idx]);
+                                       $SQL .= sprintf('`%s`=%s,', $entry, (float) $values[$idx]);
 
                                        // Set it in config as well
                                        setConfigEntry($entry, $values[$idx]);
@@ -353,16 +354,16 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
 
                // Update mode set
                // @TODO Call setConfigEntry() somehow
-               $SQL = sprintf("`%s`=`%s`%s%s", $entries, $entries, $updateMode, (float) $values);
+               $SQL = sprintf('`%s`=`%s`%s%s', $entries, $entries, $updateMode, (float) $values);
        } elseif (($values + 0) === $values) {
                // Number detected
-               $SQL = sprintf("`%s`=%s", $entries, (float) $values);
+               $SQL = sprintf('`%s`=%s', $entries, (float) $values);
 
                // Set it in config first
                setConfigEntry($entries, (float) $values);
        } elseif ($values == 'UNIX_TIMESTAMP()') {
                // Function UNIX_TIMESTAMP() detected
-               $SQL = sprintf("`%s`=UNIX_TIMESTAMP()", $entries);
+               $SQL = sprintf('`%s`=UNIX_TIMESTAMP()', $entries);
 
                // Set timestamp in array as well
                setConfigEntry($entries, time());
@@ -376,7 +377,7 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
 
        // Run database update
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SQL=' . $SQL);
-       sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_config` SET ".$SQL." WHERE `config`=%s LIMIT 1",
+       sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_config` SET " . $SQL . " WHERE `config`=%s LIMIT 1",
                        array(bigintval($config)), __FUNCTION__, __LINE__);
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SQL=' . $SQL . ',affectedRows=' . sqlAffectedRows());
 
@@ -387,7 +388,7 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
 // Filter for loading configuration
 function FILTER_LOAD_CONFIGURATION ($no = '0') {
        // Is installation phase?
-       if (isInstallationPhase()) {
+       if (isInstaller()) {
                // Then don't load any configuration
                return;
        } // END - if
index ddaf865..bed4e0e 100644 (file)
@@ -101,6 +101,9 @@ setConfigEntry('DEBUG_TEMPLATE_CACHE', 'N');
 // CFG: DEBUG-MONTHLY (comment in to test monthly reset, comment out to not test)
 //setConfigEntry('DEBUG_MONTHLY', 'Y');
 
+// CFG: DEBUG-YEARLY (comment in to test yearly reset, comment out to not test)
+//setConfigEntry('DEBUG_YEARLY', 'Y');
+
 // CFG: DEBUG-REGEX (comment in to debug regular expressions)
 //setConfigEntry('DEBUG_REGEX', 'Y');
 
index 5414a49..3a8c110 100644 (file)
@@ -52,13 +52,13 @@ function sqlQuery ($sqlString, $file, $line, $enableCodes = TRUE) {
                // Empty query string or link is not up?
                if (empty($sqlStringModified)) {
                        // Empty SQL string!
-                       reportBug(__FUNCTION__, __LINE__, sprintf("SQL string is empty, please fix this: file=%s, line=%s",
+                       reportBug(__FUNCTION__, __LINE__, sprintf('SQL string is empty, please fix this: file=%s, line=%s',
                                basename($file),
                                $line
                        ));
                } elseif (!isSqlLinkUp()) {
                        // We should not quietly ignore this
-                       reportBug(__FUNCTION__, __LINE__, sprintf("Cannot query database: sqlString=%s,file=%s,line=%s",
+                       reportBug(__FUNCTION__, __LINE__, sprintf('Cannot query database: sqlString=%s,file=%s,line=%s',
                                $sqlStringModified,
                                basename($file),
                                $line
@@ -222,7 +222,7 @@ function sqlConnectToDatabase ($host, $login, $password, $file, $line) {
                 * isSqlLinkUp() will only return 'true' if there is really a
                 * working database link.
                 */
-               setSqlLink(__FUNCTION__, __LINE__, $linkResource);
+               setSqlLink($file . ':' . __FUNCTION__, $line . ':' . __LINE__, $linkResource);
 
                // Init charsets (UTF-8 is default now)
                sqlQuery("SET
@@ -230,7 +230,7 @@ function sqlConnectToDatabase ($host, $login, $password, $file, $line) {
        `character_set_client`='utf8',
        `character_set_connection`='utf8',
        `character_set_database`='utf8',
-       `character_set_server`='utf8'", __FUNCTION__, __LINE__);
+       `character_set_server`='utf8'", $file . ':' . __FUNCTION__, $line . ':' . __LINE__);
        } // END - if
 
        // Return the resource
@@ -374,7 +374,7 @@ function sqlError ($file, $line, $message) {
        } // END - if
 
        // Is there installation phase?
-       if (isInstallationPhase()) {
+       if (isInstaller()) {
                /*
                 * In installation phase, we don't want SQL errors abort e.g. connection
                 * tests, so just log it away.
diff --git a/inc/doubler_send.php b/inc/doubler_send.php
deleted file mode 100644 (file)
index f551ef4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-// @DEPRECATED
-?>
index 7731595..3663ca4 100644 (file)
@@ -50,7 +50,7 @@ function sendEmail ($toEmail, $subject, $message, $isHtml = 'N', $mailHeader = '
        } // END - if
 
        // Set from header
-       if ((!isInString('@', $toEmail)) && ($toEmail > 0)) {
+       if ((!isInString('@', $toEmail)) && (isValidId($toEmail))) {
                // Does the user exist?
                if ((isExtensionActive('user')) && (fetchUserData($toEmail))) {
                        // Get the email
index eddc591..b7b57b3 100644 (file)
@@ -104,7 +104,7 @@ function loadExtension ($ext_name, $ext_mode, $ext_ver = '0.0.0', $isDryRun = FA
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Loading extension ' . $ext_name . ', getExtensionMode()=' . getExtensionMode() . ', getCurrentExtensionVersion()=' . getCurrentExtensionVersion());
        if ((isExtensionLoaded($ext_name)) && (getExtensionMode() == 'init')) {
                // Debug message
-               logDebugMessage(__FUNCTION__, __LINE__, sprintf("Extension %s already loaded.", $ext_name));
+               logDebugMessage(__FUNCTION__, __LINE__, sprintf('Extension %s already loaded.', $ext_name));
 
                // Abort here
                return FALSE;
@@ -113,7 +113,7 @@ function loadExtension ($ext_name, $ext_mode, $ext_ver = '0.0.0', $isDryRun = FA
        // Is the extension file NOT there?
        if (!isExtensionNameValid($ext_name)) {
                // Debug message
-               logDebugMessage(__FUNCTION__, __LINE__, sprintf("Extension %s not found or not readable or the PHP script is deprecated.", $ext_name));
+               logDebugMessage(__FUNCTION__, __LINE__, sprintf('Extension %s not found or not readable or the PHP script is deprecated.', $ext_name));
 
                // Abort here
                return FALSE;
@@ -130,7 +130,7 @@ function loadExtension ($ext_name, $ext_mode, $ext_ver = '0.0.0', $isDryRun = FA
                // Not yet loaded?
                if ((($GLOBALS['cache_array']['extension']['ext_func'][$ext_name] == 'Y') || (!isset($GLOBALS['cache_array']['extension']['ext_func'][$ext_name]))) && (!isExtensionLibraryLoaded($ext_name))) {
                        // Construct IFN for functions file
-                       $funcsInclude = sprintf("inc/libs/%s_functions.php", $ext_name);
+                       $funcsInclude = sprintf('inc/libs/%s_functions.php', $ext_name);
 
                        // Mark it as loaded
                        markExtensionLibraryAsLoaded($ext_name);
@@ -140,7 +140,7 @@ function loadExtension ($ext_name, $ext_mode, $ext_ver = '0.0.0', $isDryRun = FA
                } // END - if
        } elseif ((!isset($GLOBALS['cache_array']['extension']['ext_func'][$ext_name])) && (isDebugModeEnabled()) && (isHtmlOutputMode()) && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme') && (getExtensionMode() == 'test')) {
                // No functions file is not so good...
-               logDebugMessage(__FUNCTION__, __LINE__, sprintf("NOTICE: Extension %s has no own functions file or we cannot read from it. mode=%s",
+               logDebugMessage(__FUNCTION__, __LINE__, sprintf('NOTICE: Extension %s has no own functions file or we cannot read from it. mode=%s',
                        $ext_name,
                        getExtensionMode()
                ));
@@ -195,16 +195,16 @@ function registerExtension ($ext_name, $taskId, $isDryRun = FALSE, $ignoreUpdate
        enableExtensionProductive();
 
        // This shall never do a non-admin user or if the extension is active (already installed)
-       if (((!isAdmin()) && (!isInstallationPhase())) || (isExtensionInstalled($ext_name))) {
+       if (((!isAdmin()) && (!isInstaller())) || (isExtensionInstalled($ext_name))) {
                // Abort here with 'false'
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - ABORTED: isAdmin()=' . intval(isAdmin()) . ',isInstallationPhase()=' . intval(isInstallationPhase()) . ',isExtensionInstalled()=' . intval(isExtensionInstalled($ext_name)));
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - ABORTED: isAdmin()=' . intval(isAdmin()) . ',isInstaller()=' . intval(isInstaller()) . ',isExtensionInstalled()=' . intval(isExtensionInstalled($ext_name)));
                return FALSE;
        } // END - if
 
        // When this extension is already in registration/update phase, all is fine
        if ((isExtensionRegistrationRunning($ext_name)) || ((isExtensionUpdateRunning($ext_name)) && ($ignoreUpdates === FALSE))) {
                // Then abort here with 'true' because it is fine
-               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - already in registration/update phase, all fine,isDryRun=' . intval($isDryRun) . ',ignoreUpdates=' . intval($ignoreUpdates));
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - already in registration/update phase, all fine,isDryRun=' . intval($isDryRun) . ',ignoreUpdates=' . intval($ignoreUpdates));
                //* BUG: */ reportBug(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',isDryRun=' . intval($isDryRun) . ',ignoreUpdates=' . intval($ignoreUpdates) . ' - Please investigate!');
                return TRUE;
        } // END - if
@@ -219,7 +219,7 @@ function registerExtension ($ext_name, $taskId, $isDryRun = FALSE, $ignoreUpdate
        } // END - if
 
        // Is the task id zero? Then we need to auto-fix it here
-       if ((!isValidId($taskId)) && (!isInstallationPhase())) {
+       if ((!isValidId($taskId)) && (!isInstaller())) {
                // Try to find the task
                $taskId = determineExtensionTaskId(getCurrentExtensionName());
 
@@ -231,7 +231,7 @@ function registerExtension ($ext_name, $taskId, $isDryRun = FALSE, $ignoreUpdate
                        // Is it still zero?
                        if (!isValidId($taskId)) {
                                // Then request a bug report
-                               reportBug(__FUNCTION__, __LINE__, sprintf("%s: task_id is still zero after determineExtensionTaskId/createNewExtensionTask(%s)",
+                               reportBug(__FUNCTION__, __LINE__, sprintf('%s: task_id is still zero after determineExtensionTaskId/createNewExtensionTask(%s)',
                                        __FUNCTION__,
                                        getCurrentExtensionName()
                                ));
@@ -291,14 +291,14 @@ function registerExtension ($ext_name, $taskId, $isDryRun = FALSE, $ignoreUpdate
                                } // END - if
 
                                // Extension version set? If empty the extension is not registered
-                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_ver[' . gettype($ext_ver) . ']=' . $ext_ver . ',isInstallationPhase()=' . intval(isInstallationPhase()) . ',currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ' - EMPTY?');
+                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_ver[' . gettype($ext_ver) . ']=' . $ext_ver . ',isInstaller()=' . intval(isInstaller()) . ',currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ' - EMPTY?');
                                if (empty($ext_ver)) {
                                        // Extension not registered so far so first load task's id...
                                        $updateTaskId = determineExtensionTaskId($ext_update);
 
                                        // Entry found?
-                                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'updateTaskId=' . $updateTaskId . ',isInstallationPhase()=' . intval(isInstallationPhase()) . ',currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ' - CHECKING!');
-                                       if ((isValidId($updateTaskId)) || (isInstallationPhase())) {
+                                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'updateTaskId=' . $updateTaskId . ',isInstaller()=' . intval(isInstaller()) . ',currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ' - CHECKING!');
+                                       if ((isValidId($updateTaskId)) || (isInstaller())) {
                                                // Try to register the extension
                                                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ',updateTaskId=' . $updateTaskId . ',isExtensionDryRun()=' . intval(isExtensionDryRun()));
                                                $processResult = registerExtension($ext_update, $updateTaskId, isExtensionDryRun(), TRUE, $ext_name);
@@ -437,7 +437,7 @@ function registerExtension ($ext_name, $taskId, $isDryRun = FALSE, $ignoreUpdate
        }
 
        // @TODO This redirect is still needed to register sql_patches! Please try to avoid it
-       if (($ret === TRUE) && ($isDryRun === FALSE) && ($ext_name == 'sql_patches') && (!isInstallationPhase())) {
+       if (($ret === TRUE) && ($isDryRun === FALSE) && ($ext_name == 'sql_patches') && (!isInstaller())) {
                /*
                 * This is a really dirty hack to prevent an error about a missing
                 * configuration entry which should be there after registration of
@@ -455,8 +455,8 @@ function registerExtension ($ext_name, $taskId, $isDryRun = FALSE, $ignoreUpdate
 // @TODO Change from ext_id to ext_name (not just even the variable! ;-) )
 function doExtensionSqls ($ext_id, $load_mode) {
        // This shall never do a non-admin user but installation phase is okay
-       if ((!isAdmin()) && (!isInstallationPhase())) {
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_id=' . $ext_id. ',load_mode=' . $load_mode . ',isAdmin()=' . intval(isAdmin()) . ',isInstallationPhase()=' . intval(isInstallationPhase()) . ' - ABORT!');
+       if ((!isAdmin()) && (!isInstaller())) {
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_id=' . $ext_id. ',load_mode=' . $load_mode . ',isAdmin()=' . intval(isAdmin()) . ',isInstaller()=' . intval(isInstaller()) . ' - ABORT!');
                return FALSE;
        } // END - if
 
@@ -537,7 +537,7 @@ function isExtensionInstalled ($ext_name) {
 
                // Count cache hits
                incrementStatsEntry('cache_hits');
-       } elseif (isInstallationPhase()) {
+       } elseif ((isInstaller()) && (!isSqlLinkUp())) {
                // Extensions are all inactive/not installed during installation
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - installation phase detected.');
        } else {
@@ -567,7 +567,7 @@ function isExtensionInstalled ($ext_name) {
 
 // Check if given extension is active
 function isExtensionActive ($ext_name) {
-       if (isInstallationPhase()) {
+       if ((isInstaller()) && (!isSqlLinkUp())) {
                // Extensions are all inactive during installation
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Extensions are always inactive while installation phase. ext_name=' . $ext_name);
                return FALSE;
@@ -663,7 +663,7 @@ function getExtensionVersion ($ext_name, $force = FALSE) {
        } // END - if
 
        // Extensions are all inactive during installation
-       if (isInstallationPhase()) {
+       if ((isInstaller()) && (!isSqlLinkUp())) {
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',force=' . intval($force) . ' - Installation phase detected, returning empty version.');
                return '';
        } // END - if
@@ -692,7 +692,7 @@ function getExtensionVersion ($ext_name, $force = FALSE) {
                        setExtensionCacheRow($ext_name, $data);
                } elseif (isDebugModeEnabled()) {
                        // Not found, may happen while an extension is uninstalled
-                       logDebugMessage(__FUNCTION__, __LINE__, sprintf("Cannot find extension %s in database!", $ext_name));
+                       logDebugMessage(__FUNCTION__, __LINE__, sprintf('Cannot find extension %s in database!', $ext_name));
                }
 
                // Free result
@@ -702,7 +702,7 @@ function getExtensionVersion ($ext_name, $force = FALSE) {
        // Extension version should not be invalid
        if (($data['ext_version'] == 'false') && ($force === FALSE)) {
                // Please report this trouble
-               reportBug(__FUNCTION__, __LINE__, sprintf("Extension <span class=\"data\">%s</span> has empty version!", $ext_name));
+               reportBug(__FUNCTION__, __LINE__, sprintf('Extension <span class="data">%s</span> has empty version!', $ext_name));
        } // END - if
 
        // Return result
@@ -765,7 +765,7 @@ function updateExtension ($ext_name, $ext_ver, $isDryRun = FALSE, $ignoreDepende
                        $depencies = getExtensionUpdateDependencies();
 
                        // Nothing to apply?
-                       if (count($depencies) > 0) {
+                       if (isFilledArray($depencies)) {
                                // Apply all extension depencies
                                foreach ($depencies as $ext_depend) {
                                        // Did we already update/register this?
@@ -1075,9 +1075,8 @@ function createNewExtensionTask ($ext_name) {
                $message = '{%message,ADMIN_EXTENSION_TEXT_FILE_MISSING=' . $ext_name . '%}';
 
                // Template file
-               $FQFN = sprintf("%stemplates/%s/html/ext/ext_%s.tpl",
-                       getPath(),
-                       getLanguage(),
+               $FQFN = sprintf('%s/ext/ext_%s.tpl',
+                       getTemplateBasePath('html'),
                        $ext_name
                );
 
@@ -1120,7 +1119,7 @@ function createExtensionDeactivationTask ($ext_name) {
 // Determines the task id for given extension
 function determineExtensionTaskId ($ext_name) {
        // Is it installation phase and table task_system is not found?
-       if ((isInstallationPhase()) && (!ifSqlTableExists('task_system'))) {
+       if ((isInstaller()) && (!ifSqlTableExists('task_system'))) {
                // Then return NULL (not found)
                return NULL;
        } // END - if
@@ -1786,9 +1785,8 @@ function getExtensionHasCss () {
        // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__][getCurrentExtensionName()][getCurrentTheme()])) {
                // Construct FQFN for check
-               $FQFN = sprintf("%stheme/%s/css/%s.css",
-                       getPath(),
-                       getCurrentTheme(),
+               $FQFN = sprintf('%s%s.css',
+                       getBasePathFromTheme(getCurrentTheme()),
                        getCurrentExtensionName()
                );
 
@@ -2062,7 +2060,7 @@ function addSponsorMenuSql ($action, $what, $title, $active, $sort) {
 // Add ALTER TABLE `foo` ADD sql if not found
 function addExtensionAddTableColumnSql ($tableName, $columnName, $columnSql) {
        // Is the column there?
-       if (!ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName, isInstallationPhase())) {
+       if (!ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName, isInstaller())) {
                // Then add it
                addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ADD `' . $columnName . '` ' . $columnSql);
        } elseif (isDebugModeEnabled()) {
@@ -2074,7 +2072,7 @@ function addExtensionAddTableColumnSql ($tableName, $columnName, $columnSql) {
 // Add ALTER TABLE `foo` ADD INDEX sql if not found
 function addExtensionAddTableIndexSql ($tableName, $indexName, $columnSql) {
        // Is the column there?
-       if (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstallationPhase())) {
+       if (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstaller())) {
                // Then add it
                addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ADD INDEX `' . $indexName . '` ' . $columnSql);
        } elseif (isDebugModeEnabled()) {
@@ -2086,7 +2084,7 @@ function addExtensionAddTableIndexSql ($tableName, $indexName, $columnSql) {
 // Add ALTER TABLE `foo` ADD UNIQUE INDEX sql if not found
 function addExtensionAddTableUniqueSql ($tableName, $indexName, $columnSql) {
        // Is the column there?
-       if (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstallationPhase())) {
+       if (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstaller())) {
                // Then add it
                addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ADD UNIQUE INDEX `' . $indexName . '` ' . $columnSql);
        } elseif (isDebugModeEnabled()) {
@@ -2098,7 +2096,7 @@ function addExtensionAddTableUniqueSql ($tableName, $indexName, $columnSql) {
 // Add ALTER TABLE `foo` ADD FULLTEXT sql if not found
 function addExtensionAddTableFulltextSql ($tableName, $indexName, $columnSql) {
        // Is the column there and MyISAM engine? (InnoDB doesn't support FULLTEXT)
-       if ((getTableType() == 'MyISAM') && (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstallationPhase()))) {
+       if ((getTableType() == 'MyISAM') && (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstaller()))) {
                // Then add it
                addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ADD FULLTEXT `' . $indexName . '` ' . $columnSql);
        } elseif (isDebugModeEnabled()) {
@@ -2110,7 +2108,7 @@ function addExtensionAddTableFulltextSql ($tableName, $indexName, $columnSql) {
 // Add ALTER TABLE `foo` CHANGE sql if not found
 function addExtensionChangeTableColumnSql ($tableName, $fromColumnName, $toColumnName, $columnSql) {
        // Is the column there?
-       if ((ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $fromColumnName)) && (($fromColumnName == $toColumnName) || (!ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $toColumnName, isInstallationPhase())))) {
+       if ((ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $fromColumnName)) && (($fromColumnName == $toColumnName) || (!ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $toColumnName, isInstaller())))) {
                // Then add it
                addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` CHANGE `' . $fromColumnName . '` `' . $toColumnName . '` ' . $columnSql);
        } elseif (isDebugModeEnabled()) {
@@ -2122,7 +2120,7 @@ function addExtensionChangeTableColumnSql ($tableName, $fromColumnName, $toColum
 // Add ALTER TABLE `foo` DROP sql if not found
 function addExtensionDropTableColumnSql ($tableName, $columnName) {
        // Is the column there?
-       if (ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName, isInstallationPhase())) {
+       if (ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName, isInstaller())) {
                // Then add it
                addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` DROP `' . $columnName . '`');
        } elseif (isDebugModeEnabled()) {
@@ -2134,7 +2132,7 @@ function addExtensionDropTableColumnSql ($tableName, $columnName) {
 // Add ALTER TABLE `foo` DROP INDEX sql if not found
 function addExtensionDropTableIndexSql ($tableName, $indexName) {
        // Is the column there?
-       if (ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstallationPhase())) {
+       if (ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstaller())) {
                // Then add it
                addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` DROP INDEX `' . $indexName . '`');
        } elseif (isDebugModeEnabled()) {
@@ -2166,11 +2164,17 @@ function addConfigChangeSql ($oldColumnName, $newColumnName, $columnSql) {
  * extension registration queue.
  */
 function registerExtensionPointsData ($subject, $columnName, $lockedMode, $paymentMethod) {
+       // Is the suffix '_ref' not set?
+       if (!ifSubjectHasReferralSuffix($subject)) {
+               // Register this first
+               registerExtensionPointsData($subject . '_ref', $columnName, $lockedMode, $paymentMethod);
+       } // END - if
+
        // Default is old extension version
        $add = '';
 
        // Is the extension equal or newer 0.8.9?
-       if (((isInstallationPhase()) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
+       if (((isInstaller()) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
                // Then add provider
                $add = " AND `account_provider`='EXTENSION'";
        } // END - if
@@ -2179,15 +2183,15 @@ function registerExtensionPointsData ($subject, $columnName, $lockedMode, $payme
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ifSqlTableExists(points_data)=' . ifSqlTableExists('points_data') . ',getExtensionMode()=' . getExtensionMode() . ',add=' . $add);
        if (((!ifSqlTableExists('points_data')) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (countSumTotalData($subject, 'points_data', 'id', 'subject', TRUE, $add) == 0)) {
                // Not found so:
-               if ((!isInstallationPhase()) && (isset($GLOBALS['previous_extension'][getCurrentExtensionName()])) && (!ifSqlTableExists('points_data'))) {
+               if ((!isInstaller()) && (isset($GLOBALS['previous_extension'][getCurrentExtensionName()])) && (!ifSqlTableExists('points_data'))) {
                        // This may happen (but when?)
                        // @TODO Is this really neccessary?
                        $dummy = $GLOBALS['previous_extension'][getCurrentExtensionName()];
-                       reportBug(__FUNCTION__, __LINE__, 'previous_extension[' . gettype($dummy) . ']=' . $dummy . ',getCurrentExtensionName()=' . getCurrentExtensionName() . ' - Under development, please report this!');
+                       reportBug(__FUNCTION__, __LINE__, 'dummy[' . gettype($dummy) . ']=' . $dummy . ',getCurrentExtensionName()=' . getCurrentExtensionName() . ' - Under development, please report this!');
                } // END - if
 
                // With or without account_provider?
-               if (((isInstallationPhase()) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
+               if (((isInstaller()) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
                        // Add account_provider
                        addExtensionSql(sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`, `column_name`, `locked_mode`, `payment_method`, `account_provider`) VALUES ('%s','%s','%s','%s','EXTENSION')",
                                $subject,
@@ -2212,6 +2216,12 @@ function registerExtensionPointsData ($subject, $columnName, $lockedMode, $payme
  * extension unregistration queue.
  */
 function unregisterExtensionPointsData ($subject) {
+       // Is the suffix '_ref' not set?
+       if (!ifSubjectHasReferralSuffix($subject)) {
+               // Unregister this first
+               unregisterExtensionPointsData($subject . '_ref');
+       } // END - if
+
        // Default is old extension version
        $add = '';
 
@@ -2314,7 +2324,7 @@ function copyExtensionDataToCacheArray ($ext_name, $ext_id) {
        $GLOBALS['cache_array']['extension']['ext_active'][$ext_name]     = getThisExtensionAlwaysActive();
        $GLOBALS['cache_array']['extension']['ext_lang'][$ext_name]       = convertBooleanToYesNo(isExtensionLanguageFileReadable($ext_name));
        $GLOBALS['cache_array']['extension']['ext_func'][$ext_name]       = convertBooleanToYesNo(isExtensionFunctionFileReadable($ext_name));
-       $GLOBALS['cache_array']['extension']['ext_menu'][$ext_name]       = convertBooleanToYesNo(ifModuleHasMenu($ext_name, isInstallationPhase()));
+       $GLOBALS['cache_array']['extension']['ext_menu'][$ext_name]       = convertBooleanToYesNo(ifModuleHasMenu($ext_name, isInstaller()));
        $GLOBALS['cache_array']['extension']['ext_css'][$ext_name]        = convertBooleanToYesNo(getExtensionHasCss());
        $GLOBALS['cache_array']['extension']['ext_deprecated'][$ext_name] = 'N';
 }
diff --git a/inc/extensions.php b/inc/extensions.php
deleted file mode 100644 (file)
index f551ef4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-// @DEPRECATED
-?>
diff --git a/inc/extensions/admins/.htaccess b/inc/extensions/admins/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/extensions/admins/mode-update.php b/inc/extensions/admins/mode-update.php
new file mode 100644 (file)
index 0000000..be66d51
--- /dev/null
@@ -0,0 +1,325 @@
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL                                Start: 06/25/2013 *
+ * ===================                          Last change: 06/25/2013 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : mode-update.php                                  *
+ * -------------------------------------------------------------------- *
+ * Short description : Administrator management                         *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Admin-Accountsverwaltung                         *
+ * -------------------------------------------------------------------- *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
+ *                                                                      *
+ * 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 St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+       die();
+} // END - if
+
+// @TODO Remove double tabs from all lines
+               switch (getCurrentExtensionVersion()) {
+                       case '0.2.0': // SQL queries for v0.2
+                               addAdminMenuSql('admins','admins_contact','Admin kontaktieren','Kontaktiert einen Admin per Mail oder Nachricht (nur wenn messaging-Erweiterung installiert ist).',2);
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("F&uuml;gt den Men&uuml;punkt &quot;Admin kontaktieren&quot; hinzu.");
+                               break;
+
+                       case '0.3.0': // SQL queries for v0.3
+                               // Add admin menu
+                               addAdminMenuSql('admins','config_admins','ACL einstellen','Richten Sie Zugriffskontrollzeilen f&uuml;r jeden Admin individuell ein, um ihm nur bestimmte Bereiche des Admin-Bereiches zug&auml;nglich zu machen oder zu sperren.',4);
+
+                               // Which is the default setting when you create a new admin login?
+                               addConfigAddSql('admins_default_acl', "ENUM('deny','allow') NOT NULL DEFAULT 'deny'");
+
+                               // Default is deny everything
+                               addExtensionAddTableColumnSql('admins', 'default_acl', "ENUM('deny','allow') NOT NULL DEFAULT 'deny'");
+
+                               // But allow current admin everything (THIS SHALL BE YOU!)
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admins` SET `default_acl`='allow' WHERE `id`=".bigintval(getCurrentAdminId())." LIMIT 1");
+                               addDropTableSql('admins_acls');
+                               addCreateTableSql('admins_acls', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`action_menu` VARCHAR(255) NOT NULL DEFAULT '',
+`what_menu` VARCHAR(255) NOT NULL DEFAULT '',
+`access_mode` ENUM('deny','allow') NOT NULL DEFAULT 'deny',
+PRIMARY KEY (`id`),
+INDEX (`admin_id`)",
+                                       'Access control lines (ACLs)');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Sogn. ACLs werden hinzugef&uuml;gt: <strong>A</strong>ccess <strong>C</strong>ontrol <strong>L</strong>ines sind zu deutsch Zugriffkontrollzeilen, mit denen Sie einstellen k&ouml;nnen, was welcher Admin machen darf oder nicht. <strong>Nur Sie haben momentan Vollzugriff auf den Adminbereich.</strong>");
+                               break;
+
+                       case '0.3.1': // SQL queries for v0.3.1
+                               addExtensionChangeTableColumnSql('admins_acls', 'id', 'id', 'BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT');
+                               break;
+
+                       case '0.4.0': // SQL queries for v0.4.0
+                               addDropTableSql('admins_mails');
+                               addCreateTableSql('admins_mails', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`admin_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`mail_template` VARCHAR(255) NOT NULL,
+PRIMARY KEY (`id`),
+INDEX (`admin_id`)",
+                                       'Mail template -> admin connection table');
+                               addExtensionSql("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&ouml;nnen dies (derzeit) jedoch erst, wenn einmal die Mail versendet wurde!',5)");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Kontrollieren Sie, welche Mails welcher Admin oder alle (admin_id=0) bekommen soll oder im UserLog (admin_id=-1) verzeichnet werden soll. Standardm&auml;ssig wird weiter an alle versendet.");
+                               break;
+
+                       case '0.4.1': // SQL queries for v0.4.1
+                               addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admins_mails` WHERE mail_template LIKE '% %'");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Admins-Mails-Tabelle geleert.");
+
+                       case '0.4.4': // SQL queries for v0.4.4
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("&amp;admin= in &amp;amp;admin= umgewandelt.");
+                               break;
+
+                       case '0.4.5': // SQL queries for v0.4.5
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Vorbereitet auf Cache-System");
+                               break;
+
+                       case '0.4.6': // SQL queries for v0.4.6
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("Es wurde die Zeitmarke der Cache-Datei admins.cache mit ber&uuml;cksichtigt.");
+                               break;
+
+                       case '0.4.8': // SQL queries for v0.4.8
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("Cache wird endlich gel&oumlscht, wenn Admin entfernt wird.");
+                               break;
+
+                       case '0.5.2': // SQL queries for v0.5.2
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("L&ouml;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!)
+                               setExtensionUpdateNotes("Seit <strong>Patch 340</strong> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+                               break;
+
+                       case '0.5.4': // SQL queries for v0.5.4
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("Men&uuml;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
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='admins_contct' WHERE `what`='admins_contact' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Namenskonflikt zwischen den Erweiterungen <strong>admins</strong> und (kommender) <strong>contact</strong>.");
+                               break;
+
+                       case '0.5.7': // SQL queries for v0.5.7
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Links wegen <strong>what=admins_contct</strong> ge&auml;ndert.");
+                               break;
+
+                       case '0.5.8': // SQL queries for v0.5.8
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='admins_contct' WHERE `what`='admins_contact' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("Sicherheitsupdate: SQL-Anweisungen gesch&uuml;tzt.");
+                               break;
+
+                       case '0.6.0': // SQL queries for v0.6.0
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Link in &quot;ACL Einstellen&quot; zum Admin-Kontaktformular korregiert.");
+                               break;
+
+                       case '0.6.1': // SQL queries for v0.6.1
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+                               break;
+
+                       case '0.6.4': // SQL queries for v0.6.4
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Problem mit der Rechtevererbung beseitigt: Geben Sie nun ein Hauptmen&uuml; frei (Allow), dann kann der Admin auch die Untermen&uuml;s erreichen. Zudem k&ouml;nnen Sie gezielte Untermen&uuml;s im freigegeben Hauptmen&uuml; dennoch sperren.");
+                               break;
+
+                       case '0.6.5': // SQL queries for v0.6.5
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Sicherheitsupdate f&uuml;r die Include-Befehle.");
+                               break;
+
+                       case '0.6.6': // SQL queries for v0.5.6
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='admins_contct' WHERE `what`='admins_contact' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Namenskonflikt zwischen den Erweiterungen <strong>admins</strong> und (kommender) <strong>contact</strong>.");
+                               break;
+
+                       case '0.6.7': // SQL queries for v0.6.7
+                               addExtensionAddTableColumnSql('admins', 'la_mode', "ENUM('global','OLD','NEW') NOT NULL DEFAULT 'global'");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Namenskonflikt zwischen den Erweiterungen <strong>admins</strong> und (kommender) <strong>contact</strong>. Beseitigung eines Fehlers <strong>HTTP_POSR_VARS</strong> beim &Auml;ndern von Administratoren.");
+                               break;
+
+                       case '0.6.8': // SQL queries for v0.6.8
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("<strong>setSession()</strong> mit @-Zeichen gegen ungewollte Ausgaben abgesichert.");
+                               break;
+
+                       case '0.6.9': // SQL queries for v0.6.9
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Admin-Management' WHERE `action`='admins' AND (`what`='' OR `what` IS NULL) LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Verwaltung nach Management umbenannt.");
+                               break;
+
+                       case '0.7.0': // SQL queries for v0.7.0
+                               addExtensionAddTableColumnSql('admins', 'login_failtures', "BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+                               addExtensionAddTableColumnSql('admins', 'last_failture', "TIMESTAMP NULL DEFAULT NULL");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Veraltetes Update.");
+                               break;
+
+                       case '0.7.1': // SQL queries for v0.7.1
+                               // Add filters
+                               registerFilter(__FILE__, __LINE__, 'sql_admin_extra_data', 'ADD_EXTRA_SQL_DATA', FALSE, TRUE, isExtensionDryRun());
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Filter hinzugef&uuml;gt und ist von <strong>sql_patches</strong> abh&auml;ngig.");
+                               break;
+
+                       case '0.7.2': // SQL queries for v0.7.2
+                               addExtensionDropTableColumnSql('admins', 'login_failtures');
+                               addExtensionDropTableColumnSql('admins', 'last_failture');
+                               addExtensionAddTableColumnSql('admins', 'login_failures', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionAddTableColumnSql('admins', 'last_failure', "TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Schreibweise korregiert.");
+                               break;
+
+                       case '0.7.3': // SQL queries for v0.7.3
+                               addExtensionAddTableColumnSql('admins', 'expert_settings', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               addExtensionAddTableColumnSql('admins', 'expert_warning', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Entwicklereinstellungen sind nun hinzugekommen.");
+                               break;
+
+                       case '0.7.4': // SQL queries for v0.7.4
+                               // Add filter
+                               registerFilter(__FILE__, __LINE__, 'do_admin_login_done', 'RESET_ADMINS_LOGIN_FAILURES', FALSE, TRUE, isExtensionDryRun());
+                               registerFilter(__FILE__, __LINE__, 'do_admin_login_pass', 'COUNT_ADMINS_LOGIN_FAILURE', FALSE, TRUE, isExtensionDryRun());
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Filter hinzugefuegt.");
+                               break;
+
+                       case '0.7.5': // SQL queries for v0.7.5
+                               // Add filter
+                               registerFilter(__FILE__, __LINE__, 'do_admin_login_done', 'REHASH_ADMINS_PASSWORD', FALSE, TRUE, isExtensionDryRun());
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Filter zum Rehashen des Adminpassworts nach erfolgtem Login hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.7.6': // SQL queries for v0.7.6
+                               addExtensionChangeTableColumnSql('admins', 'last_failure', 'last_failure', 'TIMESTAMP NULL DEFAULT NULL');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Ausgangswert ist nicht mehr 0000-00-00 00:00:00, sondern NULL.");
+                               break;
+
+                       case '0.7.7': // SQL queries for v0.7.7
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='list_admins_acls' WHERE `what`='config_admins' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Ausgangswert ist nicht mehr 0000-00-00 00:00:00, sondern NULL.");
+                               break;
+
+                       case '0.7.8': // SQL queries for v0.7.8
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Abgek&uuml;rzte Bezeichnungen k&ouml;nnen f&uuml;r Missverst&auml;ndnisse am Code sorgen. Daher wurde der Spaltenalias <strong>def_acl</strong> entfernt.");
+                               break;
+
+                       case '0.7.9': // SQL queries for v0.7.9
+                               addExtensionChangeTableColumnSql('admins_mails', 'admin_id', 'admin_id', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+                               addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_admins_mails` SET `admin_id` = NULL WHERE `admin_id`=0');
+                               addExtensionSql("DELETE FROM `{?_MYSQL_PREFIX?}_admins_mails` WHERE `mail_template` IN ('admin-del_links', 'back-admin', 'done-admin', 'order-admin', 'register-admin')");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Spalte <strong>admin_id</strong> ist jetzt Ausgangswert NULL, alte Mail-Templates bereinigt.");
+                               break;
+               } // END - switch
+
+// [EOF]
+?>
diff --git a/inc/extensions/autopurge/.htaccess b/inc/extensions/autopurge/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/extensions/autopurge/mode-update.php b/inc/extensions/autopurge/mode-update.php
new file mode 100644 (file)
index 0000000..6288fbc
--- /dev/null
@@ -0,0 +1,237 @@
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL                                Start: 06/25/2013 *
+ * ===================                          Last change: 06/25/2013 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : mode-setup.php                                   *
+ * -------------------------------------------------------------------- *
+ * Short description : Automatical purging of outdated mail links       *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Auto-Loeschung von veralteten Mail-Links         *
+ * -------------------------------------------------------------------- *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
+ *                                                                      *
+ * 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 St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+       die();
+} // END - if
+
+// @TODO Remove double tabs from all lines
+               switch (getCurrentExtensionVersion()) {
+                       case '0.1.0': // SQL queries for v0.1.0
+                               // Add dependency to 'user'
+                               addExtensionDependency('user');
+
+                               // SQL queries
+                               addConfigAddSql('autopurge_inactive', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               addConfigAddSql('autopurge_unconfirmed', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               addConfigAddSql('ap_inactive_since', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 2592000');
+                               addConfigAddSql('ap_inactive_time', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 25200');
+                               addConfigAddSql('ap_unconfirmed_time', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 432000');
+                               addAdminMenuSql('setup', 'config_autopurge', 'Auto-L&ouml;schung', 'Automatisch inaktive oder nicht best&auml;tigte Accounts l&ouml;schen.', 12);
+                               addAdminMenuSql('user', 'list_autopurge', 'Inaktive finden', 'Lassen Sie sich vor dem t&auml;glichen Reset anzeigen, welche Mitglieder als inaktiv erkannt werden und welche gel&ouml;scht werden.', 10);
+                               addExtensionAddTableColumnSql('user_data', 'ap_notified', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Automatisches L&ouml;schen von inaktiven bzw. nicht best&auml;tigten Accounts hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.1.2': // SQL queries for v0.1.2
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Automatisches L&ouml;schen von als zu l&ouml;schen markierte Tasks hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.1.3': // SQL queries for v0.1.3
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Nicht mehr verwendetes Update.");
+                               break;
+
+                       case '0.1.4': // SQL queries for v0.1.4
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Fehler <div class=\"notice\">Warning: Missing argument 2 for create_timestamp_from_selections() in {?PATH?}inc/libs/pro_functions.php on line 227</div> behoben.");
+                               break;
+
+                       case '0.1.5': // SQL queries for v0.1.5
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Anstelle von <strong>ref_depth</strong> wurde <strong>level</strong> programmiert.");
+                               break;
+
+                       case '0.1.6': // SQL queries for v0.1.6
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
+                               break;
+
+                       case '0.1.9': // SQL queries for v0.1.9
+                               addConfigAddSql('autopurge_tasks', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               addConfigAddSql('ap_tasks_time', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 7));
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Bereinigung von zu l&ouml;schenden Aufgaben klappt wieder. Zeitlimit f&uuml;r genanntes kann eingestellt werden (Default = 7 Tage).<br /><br /><u>Bitte aktualisieren Sie auch die Admin-Templates!</u>");
+                               break;
+
+                       case '0.2.0': // SQL queries for v0.2.0
+                               addConfigAddSql('ap_in_notify', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               addConfigAddSql('ap_un_notify', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               addConfigAddSql('ap_tasks_notify', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Mail wird bei L&ouml;schung von Aufgaben ausgesendet.<br /><br /><u>Bitte aktualisieren Sie auch die Admin-Templates!</u>");
+                               break;
+
+                       case '0.2.1': // SQL queries for v0.2.1
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Diverse angebundene Erweiterungen gefixt.");
+                               break;
+
+                       case '0.2.2': // SQL queries for v0.2.2
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Betreffzeile f&uuml;r gel&ouml;schte Aufgaben korregiert.");
+                               break;
+
+                       case '0.2.3': // SQL queries for v0.2.3
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("Auto-L&ouml;schung von Best&auml;tigungslinks kann unter &quot;Sonstige Einstellungen&quot; abgeschaltet werden (0 setzen!)");
+                               break;
+
+                       case '0.2.5': // SQL queries for v0.2.5
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Seit <strong>Patch 340</strong> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+                               break;
+
+                       case '0.2.6': // SQL queries for v0.2.6
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("Link zum Mitgliedsprofil in Funktion <u>generateUserProfileLink()</u> ausgelagert.");
+                               break;
+
+                       case '0.2.8': // SQL queries for v0.2.8
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Link zum Mitgliedsprofil in Funktion <u>generateUserProfileLink()</u> ausgelagert.");
+                               break;
+
+                       case '0.2.9': // SQL queries for v0.2.9
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Mailbetreffs korregiert.");
+                               break;
+
+                       case '0.3.0': // SQL queries for v0.3.0
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Template <u>admin_config_autopurge_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!");
+                               break;
+
+                       case '0.3.1': // SQL queries for v0.3.1
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Datumsformat festgelegt auf ausf&uuml;hrlich.");
+                               break;
+
+                       case '0.3.2': // SQL queries for v0.3.2
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("W&ouml;rter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
+                               break;
+
+                       case '0.3.3': // SQL queries for v0.3.3
+                               addConfigAddSql('ap_del_mails', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               addConfigAddSql('ap_dm_notify', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               addConfigAddSql('ap_dm_timeout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT {?ONE_DAY?}');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Von bereits gel&ouml;schten Mitgliedern die Mails l&ouml;schen integriert.");
+                               break;
+
+                       case '0.3.4': // SQL queries for v0.3.4
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Fehler mit <strong>timestamp_send</strong> (Zeile 308) beseitigt.");
+                               break;
+
+                       case '0.3.5': // SQL queries for v0.3.5
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Fehler mit <strong>ap_del_emails</strong> (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!)
+                               setExtensionUpdateNotes("Die Accounts der Standard-Referral-Id, der Bonus-Id, Bettellink-Id und der Verdoppler-Id werden nun nicht mehr gel&ouml;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!)
+                               setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+                               break;
+
+                       case '0.3.8': // SQL queries for v0.3.8
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("if-Anweisungen auf Funktion <strong>empty()</strong> umgestellt. Unter <strong>Auto-L&ouml;schung</strong> finden Sie nun auch die Einstellungen zu Mailbest&auml;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!)
+                               setExtensionUpdateNotes("Template-Problem beseitigt. Dies verhinderte das Abspeichern der Einstellungen.");
+                               break;
+
+                       case '0.4.1': // SQL queries for v0.4.1
+                               // Register with points data system
+                               registerExtensionPointsData('autopurge_add', 'points', 'LOCKED', 'DIRECT');
+
+                               // Update notes
+                               setExtensionUpdateNotes("R&uuml;ckschriften bei Auto-L&ouml;schungen werden nun &uuml;ber die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
+                               break;
+
+                       case '0.4.2': // SQL queries for v0.4.2
+                               addConfigAddSql('auto_purge', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay()*14));
+                               addConfigAddSql('auto_purge_active', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+                               // Update notes
+                               setExtensionUpdateNotes("Konfiguration in diese Erweiterung verschoben.");
+                               break;
+               } // END - switch
+
+// [EOF]
+?>
diff --git a/inc/extensions/beg/.htaccess b/inc/extensions/beg/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/extensions/beg/mode-update.php b/inc/extensions/beg/mode-update.php
new file mode 100644 (file)
index 0000000..e45d7e2
--- /dev/null
@@ -0,0 +1,315 @@
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL                                Start: 06/25/2013 *
+ * ===================                          Last change: 06/25/2013 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : mode-update.php                                  *
+ * -------------------------------------------------------------------- *
+ * Short description : Update mode for ext-beg                          *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Update-Modus fuer ext-beg                        *
+ * -------------------------------------------------------------------- *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
+ *                                                                      *
+ * 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 St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+       die();
+} // END - if
+
+// @TODO Remove double tabs from all lines
+               switch (getCurrentExtensionVersion()) {
+                       case '0.0.1': // SQL queries for v0.0.1
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Design &quot;Solid-Business&quot; eingebaut.");
+                               break;
+
+                       case '0.0.2': // SQL queries for v0.0.2
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Seit <strong>Patch 340</strong> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+                               break;
+
+                       case '0.0.3': // SQL queries for v0.0.3
+                               addConfigAddSql('beg_points_max', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.10000');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Maximale Obergrenze an {?POINTS?} einstellbar (Standard: 0,1 {?POINTS?})");
+                               break;
+
+                       case '0.0.4': // SQL queries for v0.0.4
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("&Uuml;berlange Kommastellen bei Punktangaben aus Bettellink und Gastbereich entfernt und Admin-Templates repariert (&quot;Unbekannte Spalte <u>beg_points_ma</u>&quot;).");
+                               break;
+
+                       case '0.0.5': // SQL queries for v0.0.5
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Im Mitgliedsmen&uuml; wurde die Beschreibung aus dem Gastmen&uuml; verwendet.");
+                               break;
+
+                       case '0.0.6': // SQL queries for v0.0.6
+                               addConfigAddSql('beg_userid', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Ein Mitgliedsaccount (empfehlenswert ist Ihr eigenes!) kann zum Abbuchen der {?POINTS?} verwendet werden. Template <u>admin_config_beg.tpl</u> (und pro!) nicht vergessen, zu aktualisieren.");
+                               break;
+
+                       case '0.0.8': // SQL queries for v0.0.8
+                               addConfigAddSql('beg_ip_timeout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 1800');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Zeitsperre gegen die selbe IP-Nummer hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.0.9': // SQL queries for v0.0.9
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Bitte verschieben Sie die beg-Templates (Ordner: {?PATH?}/templates/".getLanguage()."/html/) in den neuen Order beg!");
+                               break;
+
+                       case '0.1.0': // SQL queries for v0.2.1
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+                               break;
+
+                       case '0.1.1': // SQL queries for v0.1.1
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4.");
+                               break;
+
+                       case '0.1.2':
+                               // SQL queries for v0.1.2
+                               addConfigAddSql('beg_ranks', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10');
+                               addConfigAddSql('beg_active', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigAddSql('beg_rallye', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addExtensionAddTableColumnSql('user_data', 'beg_points', 'FLOAT(21,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+
+                               // Menu system
+                               addAdminMenuSql('user', 'list_beg', 'Bettel-Rallye', 'Listet alle Teilnehmer der monatlichen Bettel-Rallye auf.', 12);
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Optionale Bettel-Rallye m&ouml;glich. Und die erbettelten {?POINTS?} k&ouml;nnen entweder nur dem bettelndem Mitglied direkt oder auch seinem Werber gutgeschrieben werden k&ouml;nnen.");
+                               break;
+
+                       case '0.1.3': // SQL queries for v0.1.3
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Erbettelte {?POINTS?} werden nach Deaktivierung der Bettel-Rallye gel&ouml;scht.");
+                               break;
+
+                       case '0.1.4': // SQL queries for v0.1.4
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Rechtlichen Hinweis im Mitgliedsbereich vergessen (<strong>member_list_beg.tpl</strong>); Template <strong>member_beg_404.tpl</strong> fehlte!");
+                               break;
+
+                       case '0.1.5': // SQL queries for v0.1.5
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Bettellink/-rallye', descr='IP-Sperre, {OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Verg&uuml;tung und auch die Bettel-Rallye k&ouml;nnen Sie hier einstellen.' WHERE `what`='config_beg' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Fehlendes Template im Admin-Bereich hinzugef&uuml;gt. Im Admin-Bereich Hinweis hinzugef&uuml;gt, wenn Bettel-Rallye inaktiv ist. Bitte Script inc/monthly_beg.php l&ouml;schen!");
+                               break;
+
+                       case '0.1.6': // SQL queries for v0.1.6
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Es wurden immer dem ersten bettelndem Mitglied die {?POINTS?} gutgeschrieben.");
+                               break;
+
+                       case '0.1.7': // SQL queries for v0.1.7
+                               addConfigAddSql('beg_rallye_enable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigAddSql('beg_rallye_disable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigAddSql('beg_new_member_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigAddSql('beg_notify_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+                               addConfigAddSql('beg_notify_wait', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 30');
+                               addExtensionAddTableColumnSql('user_data', 'beg_ral_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionAddTableColumnSql('user_data', 'beg_rallye_enable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionAddTableColumnSql('user_data', 'beg_rallye_disable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Die Mitglieder k&ouml;nnen nun optional automatisch &uuml;ber eine aktivierte und/oder deaktivierte Bettel-Rallye informiert werden. Beide Benachrichtigungen k&ouml;nnen Sie unter <strong>Einstellungen --&gt; Bettel-Link/-rallye</strong> 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!)
+                               setExtensionUpdateNotes("Fehler im t&auml;glichen Reset beseitigt.");
+                               break;
+
+                       case '0.1.9': // SQL queries for v0.1.9
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("De-/Aktivieren des mit dieser Erweiterung verkn&uuml;pften Modules eingebunden.");
+                               break;
+
+                       case '0.2.0': // SQL queries for v0.2.0
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Bei {?POINTS?}-Gleichstand wird als n&auml;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!)
+                               setExtensionUpdateNotes("Fehler <strong>unknown column &#39;userid&#39;</strong> beseitigt.");
+                               break;
+
+                       case '0.2.2': // SQL queries for v0.2.2
+                               addConfigAddSql('beg_include_own', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Eigene Mitglieds-Ids sind von der Bettel-Rallye nun ausschliessbar.");
+                               break;
+
+                       case '0.2.3': // SQL queries for v0.2.3
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Abfrage des Account-Status eingebaut. Es k&ouml;nnen nur best&auml;tigte Accounts betteln.");
+                               break;
+
+                       case '0.2.4': // SQL queries for v0.2.4
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras',`sort`=1 WHERE `what`='beg' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Mitgliedsmen&uuml; komplett umgebaut.");
+                               break;
+
+                       case '0.2.5': // SQL queries for v0.2.5
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+                               break;
+
+                       case '0.2.6': // SQL queries for v0.2.6
+                               addExtensionAddTableColumnSql('beg_ips', 'sid', "VARCHAR(255) NOT NULL DEFAULT ''");
+                               addConfigAddSql('beg_pay_mode', "ENUM('IMG','JS','BOTH','NONE') DEFAULT 'NONE' NOT NULL ;");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("IP-Lock mit Session-Id erweitert. Tracker-Script eingef&uuml;gt, dass das Einbinden des Bettel-Links als Bild/Script/CSS verhindern soll.");
+                               break;
+
+                       case '0.2.7': // SQL queries for v0.2.7
+                               addConfigChangeSql('beg_ral_en_notify', 'beg_rallye_enable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigChangeSql('beg_ral_di_notify', 'beg_rallye_disable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigChangeSql('beg_new_mem_notify', 'beg_new_member_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addExtensionChangeTableColumnSql('user_data', 'beg_ral_en_notify', 'beg_rallye_enable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionChangeTableColumnSql('user_data', 'beg_ral_di_notify', 'beg_rallye_disable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Umbenannt nach neuer Namenskonvention");
+                               break;
+
+                       case '0.2.8': // SQL queries for v0.2.8
+                               addConfigChangeSql('beg_ral_enable_notify', 'beg_rallye_enable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigChangeSql('beg_ral_disable_notify', 'beg_rallye_disable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addExtensionChangeTableColumnSql('user_data', 'beg_ral_enable_notify', 'beg_rallye_enable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionChangeTableColumnSql('user_data', 'beg_ral_disable_notify', 'beg_rallye_disable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Umbenannt nach neuer Namenskonvention");
+                               break;
+
+                       case '0.2.9': // SQL queries for v0.2.9
+                               addDropTableSql('beg_referrals');
+                               addCreateTableSql('beg_referrals', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`remote_ip` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
+`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`referral_url` TINYTEXT NOT NULL,
+PRIMARY KEY (`id`),
+INDEX (`userid`)",
+                                       'Recorded referral URLs');
+
+                               // Add admin menu
+                               addAdminMenuSql('user','list_beg_referral_urls','Bettel-Referrals auflisten','Listet alle Bettellink-Aufrufe inklusive Referral-URL auf.','13');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Loggen der Referral-URLs hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.3.0': // SQL queries for v0.3.0
+                               addConfigDropSql('beg_mode');
+
+                               // Register points data
+                               registerExtensionPointsData('beg'        , 'points', 'LOCKED', 'DIRECT');
+                               registerExtensionPointsData('monthly_beg', 'points', 'LOCKED', 'DIRECT');
+
+                               // Update notes
+                               setExtensionUpdateNotes("Monatliche Bettelrallye und die erbettelten {?POINTS?} werden nun &uuml;ber die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
+                               break;
+
+                       case '0.3.1': // SQL queries for v0.3.1
+                               // Add/move menu
+                               addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='beg2'");
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `action`='members',`sort`=3 WHERE `what`='beg' LIMIT 1");
+                               addMemberMenuSql('rals', 'beg2', 'Bettel-Rallye', 3);
+
+                               // Update notes
+                               setExtensionUpdateNotes("Bettel-Rallye re-hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.3.2': // SQL queries for v0.3.2
+                               // Add module entry
+                               addModuleSql('beg', '{OPEN_LANGUAGE}MODULE_BEG_TITLE{CLOSE_LANGUAGE}', 'Y', 'Y', 'N', 'N');
+
+                               // Set module title
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Betteln bei {OPEN_CONFIG}MAIN_TITLE{CLOSE_CONFIG}' WHERE `module`='beg' AND `title`='' LIMIT 1");
+
+                               // Update notes
+                               setExtensionUpdateNotes("Modul registriert und bei leerem Titel mit einem Standardtitel versehen.");
+                               break;
+
+                       case '0.3.3': // SQL queries for v0.3.3
+                               // Register a filter
+                               registerFilter(__FILE__, __LINE__, 'pre_user_registration', 'BEG_RALLYE_USER_REGISTRATION_ADD_SQL_COLUMNS', FALSE, TRUE, isExtensionDryRun());
+                               registerFilter(__FILE__, __LINE__, 'init', 'BEG_PURGE_IPS_NOTIFY_USER', FALSE, TRUE, isExtensionDryRun());
+
+                               // This depends on ext-register
+                               addExtensionDependency('register');
+
+                               // Update notes
+                               setExtensionUpdateNotes("Filter f&uuml;r Anmeldeformular und Aufr&auml;men der IPs hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.3.4': // SQL queries for v0.3.4
+                               // SQL queries (renaming)
+                               addRenameTableSql('beg_referrals', 'referrals');
+                               addExtensionChangeTableColumnSql('beg_referrals', 'referal_url', 'referral_url', 'TINYTEXT NOT NULL');
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='list_beg_referral_urls' WHERE `what`='list_beg_referal_urls' LIMIT 1");
+
+                               // Update notes
+                               setExtensionUpdateNotes("Verwendungszwecke f&uuml;r Referralgutgschriften registriert.");
+                               break;
+
+                       case '0.3.5': // SQL queries for v0.3.5
+                               // Register a filter
+                               registerFilter(__FILE__, __LINE__, 'config_userid_exclusion_sql', 'EXCLUDE_BEG_USERID', FALSE, TRUE, isExtensionDryRun());
+
+                               // Update notes
+                               setExtensionUpdateNotes("Filter f&uuml;r das Ausschlie&szlig;en des konfigurierbaren Mitgliedaccounts hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.3.6': // SQL queries for v0.3.6
+                               // SQL to update module
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='{OPEN_LANGUAGE}MODULE_BEG_TITLE{CLOSE_LANGUAGE}' WHERE `module`='beg' LIMIT 1");
+
+                               // Update notes
+                               setExtensionUpdateNotes("Modul-Titel nach neuem Format angepasst.");
+                               break;
+               } // END - switch
+
+// [EOF]
+?>
index d6b9164..81a836c 100644 (file)
@@ -184,7 +184,7 @@ INDEX `userid` (`userid`)",
 
                        case '0.3.7': // SQL queries for v0.3.7
                                // Update notes (these will be set as task text!)
-                               setExtensionUpdateNotes("Mitglieder-Account auw&auml;hlbar, von dem die {?POINTS?} f&uuml;r den Aktiv- und Login-Bonus abgebucht werden.");
+                               setExtensionUpdateNotes("Mitgliedaccount auw&auml;hlbar, von dem die {?POINTS?} f&uuml;r den Aktiv- und Login-Bonus abgebucht werden.");
                                break;
 
                        case '0.3.8': // SQL queries for v0.3.8
@@ -230,7 +230,7 @@ INDEX `userid` (`userid`)",
                                addExtensionAddTableColumnSql('user_data', 'bonus_stats', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
 
                                // Update notes (these will be set as task text!)
-                               setExtensionUpdateNotes("Bonus-{?POINTS?} f&uuml;r: Mailbestellung, Referral-Werbung (bei Best. der EMail-Adresse) und wenn 100% Klickrate jeder Mailbuchung erreicht wurde.<br />Template <u>admin_config_bonus_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!<br />Eingestellte Bonus-{?POINTS?} f&uuml;r Rank 2 war um eins verschoben.");
+                               setExtensionUpdateNotes("Bonus-{?POINTS?} f&uuml;r: Mailbuchung, Referral-Werbung (bei Best. der EMail-Adresse) und wenn 100% Klickrate jeder Mailbuchung erreicht wurde.<br />Template <u>admin_config_bonus_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!<br />Eingestellte Bonus-{?POINTS?} f&uuml;r Rank 2 war um eins verschoben.");
                                break;
 
                        case '0.4.5': // SQL queries for v0.4.5
@@ -411,9 +411,9 @@ ORDER BY
                                break;
 
                        case '0.7.7': // SQL queries for v0.7.7
-                               addConfigAddSql('bonus_en_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
-                               addConfigAddSql('bonus_di_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
-                               addConfigAddSql('bonus_new_mem_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigAddSql('bonus_enable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigAddSql('bonus_disable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addConfigAddSql('bonus_new_member_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
                                addConfigAddSql('bonus_notify_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
                                addConfigAddSql('bonus_notify_wait', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 30');
                                addExtensionAddTableColumnSql('user_data', 'bonus_ral_en_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
diff --git a/inc/extensions/doubler/.htaccess b/inc/extensions/doubler/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/extensions/doubler/mode-setup.php b/inc/extensions/doubler/mode-setup.php
new file mode 100644 (file)
index 0000000..e3bf003
--- /dev/null
@@ -0,0 +1,110 @@
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL                                Start: 06/25/2013 *
+ * ===================                          Last change: 06/25/2013 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : mode-setup.php                                   *
+ * -------------------------------------------------------------------- *
+ * Short description : Double points                                    *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Punkte verdoppeln                                *
+ * -------------------------------------------------------------------- *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
+ *                                                                      *
+ * 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 St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+       die();
+} // END - if
+
+// @TODO Remove double tabs from all lines
+               // Doubler table
+               addDropTableSql('doubler');
+               addCreateTableSql('doubler', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
+`remote_ip` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
+`timemark` BIGINT(10) NOT NULL DEFAULT 0,
+`completed` ENUM('Y','N') NOT NULL DEFAULT 'N',
+`is_ref` ENUM('Y','N') NOT NULL DEFAULT 'N',
+PRIMARY KEY (`id`),
+INDEX (`refid`),
+INDEX (`userid`)",
+                       'User doubler data');
+
+               //
+               // --- SETTINGS ---
+               //
+               // Minimum points to double
+               addConfigAddSql('doubler_min', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000');
+               // Maximum points to double
+               addConfigAddSql('doubler_max', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 10000.00000');
+               // Points left on users account after doubling
+               addConfigAddSql('doubler_left', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 1000');
+               // Charge for doubling points which goes to the webmaster (shreddered in fact!)
+               addConfigAddSql('doubler_charge', 'FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.03000');
+               // Referral percents
+               addConfigAddSql('doubler_ref', 'FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.02000');
+               // Shall I use the jackpot to take points from? (Y/N, default=Y)
+               addConfigAddSql('doubler_jackpot', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+               // A user account to take points from (default: 0->none)
+               addConfigAddSql('doubler_userid', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+               // Total payed out points from your doublers
+               addConfigAddSql('doubler_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+               // Sending mode of mails (immediately/daily reset)
+               // --> This also means who fast the doubled points will be payed out!
+               addConfigAddSql('doubler_send_mode', "ENUM('DIRECT','RESET') NOT NULL DEFAULT 'DIRECT'");
+               // Timeout for entries to be purged (default: one week)
+               addConfigAddSql('doubler_timeout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 7));
+               // Number of newest entries to display
+               addConfigAddSql('doubler_display_new', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10');
+               // Number of entries which will be payed out soon
+               addConfigAddSql('doubler_display_pay', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10');
+               // Number of entries which are already payed out
+               addConfigAddSql('doubler_display_old', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10');
+               // Points used by every member
+               addExtensionAddTableColumnSql('user_data', 'doubler_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+               // Counter for usage of the doubler
+               addConfigAddSql('doubler_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+
+               //
+               // --- MENU SYSTEMS ---
+               //
+               // Admin menu
+               addAdminMenuSql('doubler', NULL, '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Verdoppler','Einstellungen und Eintr&auml;ge auflisten.', 4);
+               addAdminMenuSql('doubler','list_doubler','Auflisten','Eintr&auml;ge aus der Verdiensttabelle auflisten', 1);
+               addAdminMenuSql('doubler','config_doubler','Einstellungen','Prozentuale Geb&uuml;hr usw. einstellen.', 2);
+
+               // Guest menu (informations / default doubler link)
+               addGuestMenuSql('main', 'doubler', 'Verdoppeln!', 3);
+
+               // Member menu
+               addMemberMenuSql('main', 'doubler', 'Verdoppeln!', 7);
+
+// [EOF]
+?>
diff --git a/inc/extensions/doubler/mode-update.php b/inc/extensions/doubler/mode-update.php
new file mode 100644 (file)
index 0000000..da3cb46
--- /dev/null
@@ -0,0 +1,180 @@
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL                                Start: 06/25/2013 *
+ * ===================                          Last change: 06/25/2013 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : mode-update.php                                  *
+ * -------------------------------------------------------------------- *
+ * Short description : Double points                                    *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Punkte verdoppeln                                *
+ * -------------------------------------------------------------------- *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
+ *                                                                      *
+ * 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 St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+       die();
+} // END - if
+
+// @TODO Remove double tabs from all lines
+                       case '0.0.1': // SQL queries for v0.0.1
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Problem mit Mitglieds-Id behoben.");
+                               break;
+
+                       case '0.0.2': // SQL queries for v0.0.2
+                               // Total used points
+                               addConfigAddSql('doubler_user', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Geb&uuml;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!)
+                               setExtensionUpdateNotes("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)
+                               addConfigAddSql('doubler_own', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("{?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!)
+                               setExtensionUpdateNotes("Counter-Stand und noch zum Verdoppeln &uuml;brige {?POINTS?} in Templates eingebunden. Auflistung in Admin-Bereich komplettiert.");
+                               break;
+
+                       case '0.0.6': // SQL queries for v0.0.6
+                               addConfigAddSql('doubler_max_sent', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 1');
+                               addConfigAddSql('doubler_group_sent', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 1');
+                               addConfigAddSql('doubler_sent_all', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Geb&uuml;hrenabzug wird beim Einzahlen abgezogen (wurde von Auszahlung abgezogen) und maximal bei Auszahlung zu kontrollierende Accounts einstellbar.<br />Template <u>admin_config_doubler_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!");
+                               break;
+
+                       case '0.0.7': // SQL queries for v0.0.7
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("W&ouml;rter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.<br /><br />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!)
+                               setExtensionUpdateNotes("Bitte verschieben Sie die doubler-Templates (Ordner: {?PATH?}/templates/".getLanguage()."/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!)
+                               setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+                               break;
+
+                       case '0.1.0': // SQL queries for v0.2.1
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("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!)
+                               setExtensionUpdateNotes("Zwei SQL-Fehler in <strong>inc/doubler_send.php</strong> beseitigt.");
+                               break;
+
+                       case '0.1.2': // SQL queries for v0.1.2
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Sicherheitsupdate f&uuml;r die Include-Befehle.");
+                               break;
+
+                       case '0.1.3': // SQL queries for v0.1.3
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("De-/Aktivieren des mit dieser Erweiterung verkn&uuml;pften Modules eingebunden.");
+                               break;
+
+                       case '0.1.4': // SQL queries for v0.1.4
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras',`sort`=4 WHERE `what`='doubler' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Mitgliedsmen&uuml; komplett umgebaut.");
+                               break;
+
+                       case '0.1.5': // SQL queries for v0.1.5
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Hash-Erstellung von <strong>md5()</strong> auf bessere Funktion <strong>generateHash()</strong> umgestellt.");
+     &nbs