/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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
./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'
./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&what=impressum&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&what=impressum&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
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;
height : 30px
}
-.admin_task_header {
- background-color : #DDEEDD;
- color : #009900;
- vertical-align : middle;
- font-size : 18px;
- height : 35px;
-}
-
.separator {
font-size : 1px
}
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');
// 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'))
);
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)) {
setUsername('{--USERNAME_AJAX--}');
// In installation phase load ajax_installer.php
- if (isInstallationPhase()) {
+ if (isInstaller()) {
// Load it
loadIncludeOnce('inc/ajax/ajax_installer.php');
} // END - if
switch (postRequestElement('level')) {
case 'install': // Installation phase level
// Simply check for it
- $isValid = isInstallationPhase();
+ $isValid = isInstaller();
break;
case 'admin': // Admin area
}
// 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
<?php
/************************************************************************
* Mailer v0.2.1-FINAL Start: 06/24/2012 *
- * =================== Last change: 06/24/2012 *
+ * =================== Last change: 06/23/2013 *
* *
* -------------------------------------------------------------------- *
* File : ajax_admin.php *
************************************************************************/
// 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
************************************************************************/
// 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
************************************************************************/
// 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
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'));
// 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')) {
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');
// 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
// 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?
// 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) {
}
}
+// 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
// Close SQL link
sqlCloseLink(__FUNCTION__, __LINE__);
+
+ // All fine
+ return TRUE;
}
// Call-back function to import menu SQL file
// Close SQL link
sqlCloseLink(__FUNCTION__, __LINE__);
+
+ // All fine
+ return TRUE;
}
// Call-back function to install some important extensions
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
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(
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]
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// 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
// 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
// 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
// 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
// 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
// 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
// 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'])) {
// 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'])) {
// 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'])) {
// 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'])) {
// 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'])) {
// 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'])) {
// 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
// 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
// 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
// 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
// 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
// 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'])) {
// 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'])) {
// 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'])) {
// 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'])) {
// 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'])) {
// 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'])) {
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
$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);
// 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
// 'DEBUG_HOURLY' => 'N',
// 'DEBUG_DAILY' => 'N',
// 'DEBUG_MONTHLY' => 'N',
+ // 'DEBUG_YEARLY' => 'N',
// 'DEBUG_WEEKLY' => 'N',
// 'DEBUG_REGEX' => 'N',
// 'ADMIN_REGISTERED' => 'N',
// 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
}
// 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
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());
// 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]);
// 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());
// 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());
// 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
// 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');
// 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
* 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
`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
} // 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.
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
} // 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
//* 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;
// 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;
// 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);
} // 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()
));
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
} // 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());
// 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()
));
} // 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);
}
// @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
// @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
// 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 {
// 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;
} // 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
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
// 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
$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?
$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
);
// 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
// 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()
);
// 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()) {
// 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()) {
// 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()) {
// 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()) {
// 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()) {
// 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()) {
// 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()) {
* 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
//* 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,
* 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 = '';
$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';
}
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
--- /dev/null
+Deny from all
--- /dev/null
+<?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ügt den Menüpunkt "Admin kontaktieren" hinzu.");
+ break;
+
+ case '0.3.0': // SQL queries for v0.3
+ // Add admin menu
+ addAdminMenuSql('admins','config_admins','ACL einstellen','Richten Sie Zugriffskontrollzeilen für jeden Admin individuell ein, um ihm nur bestimmte Bereiche des Admin-Bereiches zugä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ügt: <strong>A</strong>ccess <strong>C</strong>ontrol <strong>L</strong>ines sind zu deutsch Zugriffkontrollzeilen, mit denen Sie einstellen kö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ö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ä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("&admin= in &amp;admin= umgewandelt.");
+ break;
+
+ case '0.4.5': // SQL queries for v0.4.5
+ // Update notes (these will be set as task text!)
+ 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ü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öscht, wenn Admin entfernt wird.");
+ break;
+
+ case '0.5.2': // SQL queries for v0.5.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Löschen von Admin-Accounts repariert und HTML-Code ausgelagert in Templates.");
+ break;
+
+ case '0.5.3': // SQL queries for v0.5.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
+ break;
+
+ case '0.5.4': // SQL queries for v0.5.4
+ // Update notes (these will be set as task text!)
+ 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ü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ä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ützt.");
+ break;
+
+ case '0.6.0': // SQL queries for v0.6.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Link in "ACL Einstellen" zum Admin-Kontaktformular korregiert.");
+ break;
+
+ case '0.6.1': // SQL queries for v0.6.1
+ // Update notes (these will be set as task text!)
+ 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ü frei (Allow), dann kann der Admin auch die Untermenüs erreichen. Zudem können Sie gezielte Untermenüs im freigegeben Hauptmenü dennoch sperren.");
+ break;
+
+ case '0.6.5': // SQL queries for v0.6.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Sicherheitsupdate fü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 Ä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ügt und ist von <strong>sql_patches</strong> abhä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ü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ürzte Bezeichnungen können für Missverstä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]
+?>
--- /dev/null
+Deny from all
--- /dev/null
+<?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öschung', 'Automatisch inaktive oder nicht bestätigte Accounts löschen.', 12);
+ addAdminMenuSql('user', 'list_autopurge', 'Inaktive finden', 'Lassen Sie sich vor dem täglichen Reset anzeigen, welche Mitglieder als inaktiv erkannt werden und welche gelö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öschen von inaktiven bzw. nicht bestätigten Accounts hinzugefügt.");
+ break;
+
+ case '0.1.2': // SQL queries for v0.1.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Automatisches Löschen von als zu löschen markierte Tasks hinzugefü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öschenden Aufgaben klappt wieder. Zeitlimit fü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ö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ür gelöschte Aufgaben korregiert.");
+ break;
+
+ case '0.2.3': // SQL queries for v0.2.3
+ // Update notes (these will be set as task text!)
+ 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öschung von Bestätigungslinks kann unter "Sonstige Einstellungen" abgeschaltet werden (0 setzen!)");
+ break;
+
+ case '0.2.5': // SQL queries for v0.2.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
+ break;
+
+ case '0.2.6': // SQL queries for v0.2.6
+ // Update notes (these will be set as task text!)
+ 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 überflüssig geworden. Bitte löschen Sie dies!");
+ break;
+
+ case '0.3.1': // SQL queries for v0.3.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Datumsformat festgelegt auf ausführlich.");
+ break;
+
+ case '0.3.2': // SQL queries for v0.3.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wö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öschten Mitgliedern die Mails löschen integriert.");
+ break;
+
+ case '0.3.4': // SQL queries for v0.3.4
+ // Update notes (these will be set as task text!)
+ 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ö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öschung</strong> finden Sie nun auch die Einstellungen zu Mailbestätigungs wieder. Zudem werden keine Urlauber (neue Urlaubsschaltung beachtet) mehr als inaktiv erkannt.");
+ break;
+
+ case '0.4.0': // SQL queries for v0.4.0
+ // Update notes (these will be set as task text!)
+ 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ückschriften bei Auto-Löschungen werden nun ü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]
+?>
--- /dev/null
+Deny from all
--- /dev/null
+<?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 "Solid-Business" 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> überflü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("Überlange Kommastellen bei Punktangaben aus Bettellink und Gastbereich entfernt und Admin-Templates repariert ("Unbekannte Spalte <u>beg_points_ma</u>").");
+ break;
+
+ case '0.0.5': // SQL queries for v0.0.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Im Mitgliedsmenü wurde die Beschreibung aus dem Gastmenü 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ü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öglich. Und die erbettelten {?POINTS?} können entweder nur dem bettelndem Mitglied direkt oder auch seinem Werber gutgeschrieben werden können.");
+ break;
+
+ case '0.1.3': // SQL queries for v0.1.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Erbettelte {?POINTS?} werden nach Deaktivierung der Bettel-Rallye gelöscht.");
+ break;
+
+ case '0.1.4': // SQL queries for v0.1.4
+ // Update notes (these will be set as task text!)
+ 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ütung und auch die Bettel-Rallye können Sie hier einstellen.' WHERE `what`='config_beg' LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlendes Template im Admin-Bereich hinzugefügt. Im Admin-Bereich Hinweis hinzugefügt, wenn Bettel-Rallye inaktiv ist. Bitte Script inc/monthly_beg.php löschen!");
+ break;
+
+ case '0.1.6': // SQL queries for v0.1.6
+ // Update notes (these will be set as task text!)
+ 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önnen nun optional automatisch über eine aktivierte und/oder deaktivierte Bettel-Rallye informiert werden. Beide Benachrichtigungen können Sie unter <strong>Einstellungen --> 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ä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ü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ä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 'userid'</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önnen nur bestä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ü 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ü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ü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 ü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ü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ür Anmeldeformular und Aufrämen der IPs hinzugefü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ü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ür das Ausschließen des konfigurierbaren Mitgliedaccounts hinzugefü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]
+?>
case '0.3.7': // SQL queries for v0.3.7
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Mitglieder-Account auwählbar, von dem die {?POINTS?} für den Aktiv- und Login-Bonus abgebucht werden.");
+ setExtensionUpdateNotes("Mitgliedaccount auwählbar, von dem die {?POINTS?} für den Aktiv- und Login-Bonus abgebucht werden.");
break;
case '0.3.8': // SQL queries for v0.3.8
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ü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 überflüssig geworden. Bitte löschen Sie dies!<br />Eingestellte Bonus-{?POINTS?} für Rank 2 war um eins verschoben.");
+ setExtensionUpdateNotes("Bonus-{?POINTS?} fü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 überflüssig geworden. Bitte löschen Sie dies!<br />Eingestellte Bonus-{?POINTS?} für Rank 2 war um eins verschoben.");
break;
case '0.4.5': // SQL queries for v0.4.5
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');
--- /dev/null
+Deny from all
--- /dev/null
+<?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äge auflisten.', 4);
+ addAdminMenuSql('doubler','list_doubler','Auflisten','Einträge aus der Verdiensttabelle auflisten', 1);
+ addAdminMenuSql('doubler','config_doubler','Einstellungen','Prozentuale Gebühr usw. einstellen.', 2);
+
+ // Guest menu (informations / default doubler link)
+ addGuestMenuSql('main', 'doubler', 'Verdoppeln!', 3);
+
+ // Member menu
+ addMemberMenuSql('main', 'doubler', 'Verdoppeln!', 7);
+
+// [EOF]
+?>
--- /dev/null
+<?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ü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 ü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ü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 überflüssig geworden. Bitte löschen Sie dies!");
+ break;
+
+ case '0.0.7': // SQL queries for v0.0.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wö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ü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ü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ü 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.");
+ break;
+
+ case '0.1.6': // SQL queries for v0.1.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+ break;
+
+ case '0.1.7': // SQL queries for v0.1.7
+ addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_config` SET `doubler_charge`=`doubler_charge`*100 WHERE `config`=0 LIMIT 1');
+ addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_config` SET `doubler_ref`=`doubler_ref`*100 WHERE `config`=0 LIMIT 1');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+ break;
+
+ case '0.1.8': // SQL queries for v0.1.8
+ // Register points data
+ registerExtensionPointsData('doubler_direct', 'points', 'LOCKED', 'DIRECT');
+ registerExtensionPointsData('doubler_reset' , 'points', 'LOCKED', 'DIRECT');
+
+ // Update notes
+ setExtensionUpdateNotes("Doppler-Gutschriften werden nun über die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
+ break;
+
+ case '0.1.9': // SQL queries for v0.1.9
+ // Total payed out points from your doublers
+ addConfigAddSql('doubler_used', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+
+ // Update notes
+ setExtensionUpdateNotes("Fehlender Konfigurationseintrag <strong>doubler_used</strong> hinzgefügt.");
+ break;
+
+ case '0.2.0': // SQL queries for v0.2.0
+ // Register filter
+ registerFilter(__FILE__, __LINE__, 'config_userid_exclusion_sql', 'EXLCUDE_DOUBLER_USERID', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Filter zum Ausschließen des konfigurierten Mitgliedaccounts.");
+ break;
+
+ case '0.2.1': // SQL queries for v0.2.1
+ // Register subject lines
+ registerExtensionPointsData('doubler_direct', 'points', 'LOCKED', 'DIRECT');
+ registerExtensionPointsData('doubler_reset', 'points', 'LOCKED', 'DIRECT');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Verwendungszwecks für Guthabenkonten hinzugefügt.");
+ break;
+ } // END - switch
+
+// [EOF]
+?>
break;
case 'update': // Update an extension
- 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ügt den Menüpunkt "Admin kontaktieren" hinzu.");
- break;
-
- case '0.3.0': // SQL queries for v0.3
- // Add admin menu
- addAdminMenuSql('admins','config_admins','ACL einstellen','Richten Sie Zugriffskontrollzeilen für jeden Admin individuell ein, um ihm nur bestimmte Bereiche des Admin-Bereiches zugä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ügt: <strong>A</strong>ccess <strong>C</strong>ontrol <strong>L</strong>ines sind zu deutsch Zugriffkontrollzeilen, mit denen Sie einstellen kö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ö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ä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("&admin= in &amp;admin= umgewandelt.");
- break;
-
- case '0.4.5': // SQL queries for v0.4.5
- // Update notes (these will be set as task text!)
- 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ü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öscht, wenn Admin entfernt wird.");
- break;
-
- case '0.5.2': // SQL queries for v0.5.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Löschen von Admin-Accounts repariert und HTML-Code ausgelagert in Templates.");
- break;
-
- case '0.5.3': // SQL queries for v0.5.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
- break;
-
- case '0.5.4': // SQL queries for v0.5.4
- // Update notes (these will be set as task text!)
- 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ü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ä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ützt.");
- break;
-
- case '0.6.0': // SQL queries for v0.6.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Link in "ACL Einstellen" zum Admin-Kontaktformular korregiert.");
- break;
-
- case '0.6.1': // SQL queries for v0.6.1
- // Update notes (these will be set as task text!)
- 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ü frei (Allow), dann kann der Admin auch die Untermenüs erreichen. Zudem können Sie gezielte Untermenüs im freigegeben Hauptmenü dennoch sperren.");
- break;
-
- case '0.6.5': // SQL queries for v0.6.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Sicherheitsupdate fü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 Ä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ügt und ist von <strong>sql_patches</strong> abhä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ü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ürzte Bezeichnungen können für Missverstä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
break;
case 'modify': // When the extension got modified
break;
case 'update': // Update an extension
- 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öschung', 'Automatisch inaktive oder nicht bestätigte Accounts löschen.', 12);
- addAdminMenuSql('user', 'list_autopurge', 'Inaktive finden', 'Lassen Sie sich vor dem täglichen Reset anzeigen, welche Mitglieder als inaktiv erkannt werden und welche gelö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öschen von inaktiven bzw. nicht bestätigten Accounts hinzugefügt.");
- break;
-
- case '0.1.2': // SQL queries for v0.1.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Automatisches Löschen von als zu löschen markierte Tasks hinzugefü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öschenden Aufgaben klappt wieder. Zeitlimit fü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ö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ür gelöschte Aufgaben korregiert.");
- break;
-
- case '0.2.3': // SQL queries for v0.2.3
- // Update notes (these will be set as task text!)
- 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öschung von Bestätigungslinks kann unter "Sonstige Einstellungen" abgeschaltet werden (0 setzen!)");
- break;
-
- case '0.2.5': // SQL queries for v0.2.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
- break;
-
- case '0.2.6': // SQL queries for v0.2.6
- // Update notes (these will be set as task text!)
- 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 überflüssig geworden. Bitte löschen Sie dies!");
- break;
-
- case '0.3.1': // SQL queries for v0.3.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Datumsformat festgelegt auf ausführlich.");
- break;
-
- case '0.3.2': // SQL queries for v0.3.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wö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öschten Mitgliedern die Mails löschen integriert.");
- break;
-
- case '0.3.4': // SQL queries for v0.3.4
- // Update notes (these will be set as task text!)
- 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ö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öschung</strong> finden Sie nun auch die Einstellungen zu Mailbestätigungs wieder. Zudem werden keine Urlauber (neue Urlaubsschaltung beachtet) mehr als inaktiv erkannt.");
- break;
-
- case '0.4.0': // SQL queries for v0.4.0
- // Update notes (these will be set as task text!)
- 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ückschriften bei Auto-Löschungen werden nun ü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
break;
case 'modify': // When the extension got modified
addAdminMenuSql('bank', 'list_bank_account', 'Konten auflisten', 'Auflistung aller Konto oder eines auswählbaren Mitglieds.', 7);
addAdminMenuSql('bank', 'edit_bank_account', 'Konto ändern', 'Ändern Sie hier bestehende Konten, z.B. den Dispositionskredit usw. PINs und TANs sind hier nicht änderbar! Bestätigungsmails sind optional versendbar.', 8);
addAdminMenuSql('bank', 'lock_bank_account', 'Konto ent-/sperren', 'Sperren Sie hier Konten bei Bedarf. Auch das Freischalten ist hier möglich. Eine Benachrichtigung per Mail wird dann an das Mitglied ausgesendet.', 9);
- addAdminMenuSql('bank', 'del_bank_account', 'Konto löschen', 'Löschen von Konten mit Bestätigungsmail. Wenn Sie ein Mitglieder-Account löschen, so müssen Sie derzeit seine angelegten Konten auch löschen!', 10);
+ addAdminMenuSql('bank', 'del_bank_account', 'Konto löschen', 'Löschen von Konten mit Bestätigungsmail. Wenn Sie ein Mitgliedaccount löschen, so müssen Sie derzeit seine angelegten Konten auch löschen!', 10);
addAdminMenuSql('bank', 'send_bank_tanlist', 'TAN-Liste aussenden', 'Listet zuerst Anfragen von Mitgliedern auf, die eine neue (i)TAN-Liste benötigen, anschliessend kann die Liste dann ausgesendet werden.', 11);
addAdminMenuSql('bank', 'lock_bank_tanlist', 'TAN-Liste ent-/sperren', 'Bestehende TAN-Listen können auf Kundenwunsch hin gesperrt und wieder entsperrt werden. Dies passiert auch, wenn der Kunde x-mal (siehe Angebotspakete) eine verkehrte TAN eingegeben hat. Einzelne TANs sind nicht ent-/sperrbar.', 12);
addAdminMenuSql('bank', 'list_bank_trans', 'Überweisungen auflisten', 'Nach Auswahl eines Mitgliedes und einem Konto (benötgt JavaScript!) können Sie seitenweise die Überweisungen durchschauen.', 13);
// Unregister points data
unregisterExtensionPointsData('beg');
- unregisterExtensionPointsData('beg_ref');
unregisterExtensionPointsData('monthly_beg');
- unregisterExtensionPointsData('monthly_beg_ref');
// Unregister module
addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_mod_reg` WHERE `module`='beg' LIMIT 1");
break;
case 'update': // Update an extension
- switch (getCurrentExtensionVersion()) {
- case '0.0.1': // SQL queries for v0.0.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Design "Solid-Business" 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> überflü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("Überlange Kommastellen bei Punktangaben aus Bettellink und Gastbereich entfernt und Admin-Templates repariert ("Unbekannte Spalte <u>beg_points_ma</u>").");
- break;
-
- case '0.0.5': // SQL queries for v0.0.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Im Mitgliedsmenü wurde die Beschreibung aus dem Gastmenü 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ü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öglich. Und die erbettelten {?POINTS?} können entweder nur dem bettelndem Mitglied direkt oder auch seinem Werber gutgeschrieben werden können.");
- break;
-
- case '0.1.3': // SQL queries for v0.1.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Erbettelte {?POINTS?} werden nach Deaktivierung der Bettel-Rallye gelöscht.");
- break;
-
- case '0.1.4': // SQL queries for v0.1.4
- // Update notes (these will be set as task text!)
- 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ütung und auch die Bettel-Rallye können Sie hier einstellen.' WHERE `what`='config_beg' LIMIT 1");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlendes Template im Admin-Bereich hinzugefügt. Im Admin-Bereich Hinweis hinzugefügt, wenn Bettel-Rallye inaktiv ist. Bitte Script inc/monthly_beg.php löschen!");
- break;
-
- case '0.1.6': // SQL queries for v0.1.6
- // Update notes (these will be set as task text!)
- 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önnen nun optional automatisch über eine aktivierte und/oder deaktivierte Bettel-Rallye informiert werden. Beide Benachrichtigungen können Sie unter <strong>Einstellungen --> 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ä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ü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ä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 'userid'</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önnen nur bestä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ü 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ü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ü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 ü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ü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ür Anmeldeformular und Aufrämen der IPs hinzugefügt.");
- break;
-
- case '0.3.4': // SQL queries for v0.3.4
- // Register points data
- registerExtensionPointsData('beg_ref' , 'points', 'LOCKED', 'DIRECT');
- registerExtensionPointsData('monthly_beg_ref', 'points', 'LOCKED', 'DIRECT');
-
- // 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ü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ür das Ausschließen des konfigurierbaren Mitgliedaccounts hinzugefü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
break;
case 'modify': // When the extension got modified
registerFilter(__FILE__, __LINE__, 'pre_user_registration' , 'CHECK_EMAIL_BLACKLISTED', FALSE, TRUE, isExtensionDryRun());
registerFilter(__FILE__, __LINE__, 'pre_user_registration' , 'CHECK_IP_BLACKLISTED' , FALSE, TRUE, isExtensionDryRun());
registerFilter(__FILE__, __LINE__, 'pre_update_user_data' , 'CHECK_EMAIL_BLACKLISTED', FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'pre_mail_order' , 'CHECK_URL_BLACKLISTED' , FALSE, TRUE, isExtensionDryRun());
registerFilter(__FILE__, __LINE__, 'post_email_blacklisted', 'LOG_EMAIL_BLACKLISTED' , FALSE, TRUE, isExtensionDryRun());
registerFilter(__FILE__, __LINE__, 'post_ip_blacklisted' , 'LOG_IP_BLACKLISTED' , FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'post_url_blacklisted' , 'LOG_URL_BLACKLISTED' , FALSE, TRUE, isExtensionDryRun());
break;
case 'remove': // Do stuff when removing extension
unregisterFilter(__FILE__, __LINE__, 'pre_user_registration' , 'CHECK_EMAIL_BLACKLISTED', TRUE, isExtensionDryRun());
unregisterFilter(__FILE__, __LINE__, 'pre_user_registration' , 'CHECK_IP_BLACKLISTED' , TRUE, isExtensionDryRun());
unregisterFilter(__FILE__, __LINE__, 'pre_update_user_data' , 'CHECK_EMAIL_BLACKLISTED', TRUE, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'pre_mail_order' , 'CHECK_URL_BLACKLISTED' , TRUE, isExtensionDryRun());
unregisterFilter(__FILE__, __LINE__, 'post_email_blacklisted', 'LOG_EMAIL_BLACKLISTED' , TRUE, isExtensionDryRun());
unregisterFilter(__FILE__, __LINE__, 'post_ip_blacklisted' , 'LOG_IP_BLACKLISTED' , TRUE, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'post_url_blacklisted' , 'LOG_URL_BLACKLISTED' , TRUE, isExtensionDryRun());
break;
case 'activate': // Do stuff when admin activates this extension
} // END - if
// Version number
-setThisExtensionVersion('0.2.0');
+setThisExtensionVersion('0.2.1');
// Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0'));
+setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1'));
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
- // 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äge auflisten.', 4);
- addAdminMenuSql('doubler','list_doubler','Auflisten','Einträge aus der Verdiensttabelle auflisten', 1);
- addAdminMenuSql('doubler','config_doubler','Einstellungen','Prozentuale Gebühr usw. einstellen.', 2);
-
- // Guest menu (informations / default doubler link)
- addGuestMenuSql('main', 'doubler', 'Verdoppeln!', 3);
-
- // Member menu
- addMemberMenuSql('main', 'doubler', 'Verdoppeln!', 7);
break;
case 'remove': // Do stuff when removing extension
// Unregister filters
unregisterFilter(__FILE__, __LINE__, 'config_userid_exclusion_sql', 'EXLCUDE_DOUBLER_USERID', TRUE, isExtensionDryRun());
+
+ // Unregister subject lines
+ unregisterExtensionPointsData('doubler_direct');
+ unregisterExtensionPointsData('doubler_reset');
break;
case 'activate': // Do stuff when admin activates this extension
break;
case 'update': // Update an extension
- switch (getCurrentExtensionVersion()) {
- 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ü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 ü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ü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 überflüssig geworden. Bitte löschen Sie dies!");
- break;
-
- case '0.0.7': // SQL queries for v0.0.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wö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ü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ü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ü 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.");
- break;
-
- case '0.1.6': // SQL queries for v0.1.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
- break;
-
- case '0.1.7': // SQL queries for v0.1.7
- addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_config` SET `doubler_charge`=`doubler_charge`*100 WHERE `config`=0 LIMIT 1');
- addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_config` SET `doubler_ref`=`doubler_ref`*100 WHERE `config`=0 LIMIT 1');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
- break;
-
- case '0.1.8': // SQL queries for v0.1.8
- // Register points data
- registerExtensionPointsData('doubler_direct', 'points', 'LOCKED', 'DIRECT');
- registerExtensionPointsData('doubler_reset' , 'points', 'LOCKED', 'DIRECT');
-
- // Update notes
- setExtensionUpdateNotes("Doppler-Gutschriften werden nun über die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
- break;
-
- case '0.1.9': // SQL queries for v0.1.9
- // Total payed out points from your doublers
- addConfigAddSql('doubler_used', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
-
- // Update notes
- setExtensionUpdateNotes("Fehlender Konfigurationseintrag <strong>doubler_used</strong> hinzgefügt.");
- break;
-
- case '0.2.0': // SQL queries for v0.2.0
- // Register filter
- registerFilter(__FILE__, __LINE__, 'config_userid_exclusion_sql', 'EXLCUDE_DOUBLER_USERID', FALSE, TRUE, isExtensionDryRun());
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Filter zum Ausschließen des konfigurierten Mitgliedaccounts.");
- break;
- } // END - switch
break;
case 'modify': // When the extension got modified
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
- // Add dependency for ext-earning
- addExtensionDependency('earning');
-
- // All required tables for this extension:
- // - Ads
- addDropTableSql('forced_ads');
- addCreateTableSql('forced_ads', "
-`forced_ads_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`forced_ads_provider` ENUM('ADMIN', 'MEMBER', 'API', 'UNKNOWN') NOT NULL DEFAULT 'UNKNOWN',
-`forced_ads_api_type` VARCHAR(255) NULL DEFAULT NULL,
-`forced_ads_ad_url` VARCHAR(255) NULL DEFAULT NULL,
-`forced_ads_click_url` VARCHAR(255) NOT NULL,
-`forced_ads_width` SMALLINT(3) UNSIGNED NULL DEFAULT NULL,
-`forced_ads_height` SMALLINT(3) UNSIGNED NULL DEFAULT NULL,
-`forced_ads_alt_text` VARCHAR(255) NULL DEFAULT NULL,
-`forced_ads_framebreaker` ENUM('Y','N') NOT NULL DEFAULT 'Y',
-`forced_ads_type` VARCHAR(255) NOT NULL DEFAULT 'INVALID',
-`forced_ads_views_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`forced_ads_clicks_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`forced_ads_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-`forced_ads_userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
-PRIMARY KEY (`forced_ads_id`),
-INDEX (`forced_ads_userid`)",
- 'Forced Ads Data');
-
- // - Connection ->ext-network
- addDropTableSql('forced_network');
- addCreateTableSql('forced_network', "
-`forced_network_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`forced_ads_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-PRIMARY KEY (`forced_network_id`),
-UNIQUE `ads_type` (`forced_ads_id`, `network_type_id`)",
- 'Forced Campaign Data');
-
- // - Campaigns
- addDropTableSql('forced_campaigns');
- addCreateTableSql('forced_campaigns', "
-`forced_campaign_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`forced_campaign_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-`forced_campaign_status` ENUM('ACTIVE','PENDING','EXPIRED','LOCKED') NOT NULL DEFAULT 'PENDING',
-`forced_campaign_last_locked` TIMESTAMP NULL DEFAULT NULL,
-`forced_campaign_lock_reason` VARCHAR(255) NULL DEFAULT NULL,
-`forced_campaign_expired` TIMESTAMP NULL DEFAULT NULL,
-`forced_campaign_ordered_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`forced_campaign_payment_api` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
-`forced_campaign_reload_lock` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`forced_campaign_minimum_stay` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`forced_ads_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`forced_campaign_userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
-`forced_costs_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
-PRIMARY KEY (`forced_campaign_id`),
-INDEX (`forced_costs_id`)",
- 'Forced Campaign Data');
-
- // - Campaign costs
- addDropTableSql('forced_costs');
- addCreateTableSql('forced_costs', "
-`forced_costs_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`forced_costs_price_click` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
-`forced_costs_payment_click` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
-`forced_costs_visibility` ENUM('MEMBER','SPONSOR','ALL','NONE') NOT NULL DEFAULT 'NONE',
-PRIMARY KEY (`forced_costs_id`)",
- 'Forced Campaign Costs');
-
- // - Campaign Statistics
- addDropTableSql('forced_stats');
- addCreateTableSql('forced_stats', "
-`forced_stats_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`forced_stats_campaign_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
-`forced_stats_userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
-`forced_stats_token` VARCHAR(255) NULL DEFAULT NULL,
-`forced_stats_viewed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-`forced_stats_clicked` TIMESTAMP NULL DEFAULT NULL,
-`forced_stats_real_ip` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
-`forced_stats_remote_addr` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
-`forced_stats_ua` VARCHAR(255) NULL DEFAULT NULL,
-`forced_stats_is_proxy` ENUM('Y','N') NOT NULL DEFAULT 'N',
-`forced_stats_session_id` VARCHAR(100) NULL DEFAULT NULL,
-PRIMARY KEY (`forced_stats_id`),
-INDEX (`forced_stats_campaign_id`),
-INDEX (`forced_stats_userid`)",
- 'Forced Campaign Statistics');
-
- // Menu system
- // - Administrator
- addAdminMenuSql('forced', NULL, 'Forced-Ads', 'Verwalten Sie hier bequem alle laufenden Forced-Banner, -Textlinks, -PopUps und deren Kampgnen. Sie können hier auch neue Werbmittel (Ads) hinzufügen oder laufende Forced-Kampagnen bei z.B. Regelverstössen sperren oder löschen. Auch das naträgliche Editieren von Ads und Kampagnen ist jederzeit möglich. Kampagnen dienen der einfacheren Verwaltung und der Trennung von dem Werbemittel selbst dienen. Sie brauchen also z.B. einen Forced-Banner nur einmal einfügen und können dann bei Bedarf weitere Kampagnen starten.', 5);
- addAdminMenuSql('forced', 'list_forced_ads', 'Forced-Ads verwalten', 'Listet alle eingetragenen Forced-Ads (Werbmittel mit Klickzwang) auf und fügt neue hinzu. Sie können hier diese nachträglich editieren falls Sie mal eine falsche URL eingegeben haben oder den Text ändern wollen. Löschen Sie hier auch Forced-Banner, die nicht mehr gültig sind (z.B. abgelaufen sind). Sollten doch mit dem Werbmittel verknüpfte Kampagnen vorhanden sein, erhalten Sie einen Warnhinweis. Neue Werbmittel können Sie hier ebenfalls hinzufügen. Denken Sie aber daran, dass ohne Kampagne dieses nicht angezeigt wird. Achten Sie hier auch die Reload-Sperre.', 2);
- addAdminMenuSql('forced', 'list_forced_campaigns', 'Kampagnen verwalten', 'Listet alle Kampagnen auf und zeigt deren Status an. Jederzeit können Sie Kampagnen stoppen, falls Sie dies wünschen oder ein Regelverstoss vorliegt. Haben Sie ein Werbemittel hinzugefügt, so fügen Sie bitte unbedingt eine Kampagne hinzu, da es sonst nicht angezeigt wird.', 3);
- addAdminMenuSql('forced', 'list_forced_costs', 'Preise verwalten', 'Legen Sie die Preise pro Klick für Forced-Werbemittelbuchungen fest und wie viele {OPEN_CONFIG}POINTS{CLOSE_CONFIG} Ihre Mitglieder erhalten sollen. Generell sollten Sie bei Mitgliederbuchungen höhere Kosten pro Klick als was Ihre Mitglieder pro Klick erhalten einstellen, da so die {OPEN_CONFIG}POINTS{CLOSE_CONFIG} abgebaut werden (Sie können an Accountaufladungen z.B. verdienen).', 4);
- addAdminMenuSql('forced', 'stats_forced', 'Statistiken', 'Zeigt Gesamtstatistiken und zu den einzelnen Kampagnen und Werbmitteln an. Die hier angezeigte Statistik kann jedoch nicht manuell gelöscht werden (bitte auch nicht selber tun) da sie auch gleichzeitigt als Reload-Sperre dient.', 5);
-
- // - Members
- addMemberMenuSql('earn', 'forced_banner', 'Forced-Banner', 3);
- addMemberMenuSql('earn', 'forced_textlink', 'Forced-Textlinks', 4);
- addMemberMenuSql('extras', 'book_forced', 'Forced-Kampagne buchen', 3);
-
- // Register Forced-PopUps with earning_data table
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_earning_data` (`earning_group`, `earning_provider`, `earning_sorting`) VALUES ('POPUP','FORCED_POPUP',1)");
-
- // Register filters
- registerFilter(__FILE__, __LINE__, 'add_forced_ads_types', 'FORCED_AD_TYPE_DEFAULTS', FALSE, TRUE, isExtensionDryRun());
- registerFilter(__FILE__, __LINE__, 'member_earning_table_data', 'FORCED_POPUP_TABLE_DATA', FALSE, TRUE, isExtensionDryRun());
- registerFilter(__FILE__, __LINE__, 'post_change_forced_campaign_status', 'FORCED_CHANGE_CAMPAIGN_STATUS', FALSE, TRUE, isExtensionDryRun());
- registerFilter(__FILE__, __LINE__, 'pre_change_forced_campaign_status', 'FORCED_CHANGE_CAMPAIGN_VALIDATE_DATA', FALSE, TRUE, isExtensionDryRun());
- registerFilter(__FILE__, __LINE__, 'handle_click_php', 'HANDLE_FORCED_AD_CLICK', FALSE, TRUE, isExtensionDryRun());
- registerFilter(__FILE__, __LINE__, 'handle_view_php', 'HANDLE_FORCED_AD_VIEW', FALSE, TRUE, isExtensionDryRun());
break;
case 'remove': // Do stuff when removing extension
addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='forced'");
addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what` LIKE '%forced%'");
- // Is earning_data there?
- if (ifSqlTableExists('earning_data')) {
- // Unregister Forced-PopUps from earning_data
+ // Is ext-earning there?
+ if (isExtensionInstalled('earning')) {
+ // Unregister Forced-PopUps from ext-earning
addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_earning_data` WHERE `earning_provider`='FORCED_POPUP' LIMIT 1");
} // END - if
addAdminMenuSql('grade', NULL, 'Accountstufen', 'Stufen Sie Ihre Mitglieder ein, die sie ab einer einstellbaren Anzahl an {OPEN_CONFIG}POINTS{CLOSE_CONFIG} oder bestätigten Mails usw. erhalten und durch die Accountstufe Ermäßigungen oder Sonderboni erhalten können.', 6);
addAdminMenuSql('grade', 'list_grade_data', 'Auflisten...', 'Listet alle Accountstufen auf, auch sind diese hier editierbar, neue hinzufügbar und löschbar.', 1);
addAdminMenuSql('grade', 'list_cash_grade', 'Ermäßigungen/Sonderboni', 'Listet alle Ermäßigungen/Sonderboni auf, auch sind diese hier editierbar, neue hinzufügbar und löschbar.', 2);
- addAdminMenuSql('grade', 'list_current_grades', 'Mitglieder-Accountstufen', 'Liste alle durch die Mitglieder aktuell erreichten Einstungen auf. Diese sind nicht editierbar (wir wollen ja nicht schummeln und bestimmten Mitgliedern bessere Accountstufen geben, oder? ;-) ).', 3);
+ addAdminMenuSql('grade', 'list_current_grades', 'Mitgliedaccountsstufen', 'Liste alle durch die Mitglieder aktuell erreichten Einstungen auf. Diese sind nicht editierbar (wir wollen ja nicht schummeln und bestimmten Mitgliedern bessere Accountstufen geben, oder? ;-) ).', 3);
addAdminMenuSql('grade', 'config_grade', 'Einstellungen ...', 'Diverse Einstellungen zu den Accountstufen.', 4);
// Member menu
addConfigAddSql('holiday_lock', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 2));
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Die Mitglieder-Accounts werden nicht mehr gesperrt, sondern nur auf <strong>Urlaub</strong> geschaltet. Lassen Sie sich nicht davon verwirren, dass sie "freigegeben" sind!");
+ setExtensionUpdateNotes("Die Mitgliedaccounts werden nicht mehr gesperrt, sondern nur auf <strong>Urlaub</strong> geschaltet. Lassen Sie sich nicht davon verwirren, dass sie "freigegeben" sind!");
break;
case '0.1.4': // SQL queries for v0.1.4
} // END - if
// Version number
-setThisExtensionVersion('0.1.6');
+setThisExtensionVersion('0.1.7');
// Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.51', '0.0.52', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6'));
+setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.51', '0.0.52', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7'));
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
case 'remove': // Do stuff when removing extension
// SQL commands to run
addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='html_mail' LIMIT 1");
+
+ // Remove filter(s)
+ unregisterFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_URL', TRUE, isExtensionDryRun());
break;
case 'activate': // Do stuff when admin activates this extension
case '0.1.6':
// Dependency is needed for ext-registration!! (want to alter a non existent Table)
addExtensionDependency('bonus');
+
+ // Update notes (these will be set as task text!)
setExtensionUpdateNotes("Abhänigkeit von der Erweiterung <strong>bonus</strong> hinzugefügt.");
break;
+
+ case '0.1.7':
+ // Register filter
+ registerFilter(__FILE__, __LINE__, 'pre_mail_order', 'CHECK_HTML_MAIL_ORDER', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Filter für ext-order hinzugefügt.");
+ break;
} // END - switch
break;
} // END - if
// Version number
-setThisExtensionVersion('0.5.9');
+setThisExtensionVersion('0.6.0');
// Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.0.0', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '0.4.0', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7', '0.4.8', '0.4.9', '0.5.0', '0.5.1', '0.5.2', '0.5.3', '0.5.4', '0.5.5', '0.5.6', '0.5.7', '0.5.8', '0.5.9'));
+setExtensionVersionHistory(array('0.0.0', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '0.4.0', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7', '0.4.8', '0.4.9', '0.5.0', '0.5.1', '0.5.2', '0.5.3', '0.5.4', '0.5.5', '0.5.6', '0.5.7', '0.5.8', '0.5.9', '0.6.0'));
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
unregisterFilter(__FILE__, __LINE__, 'get_all_point_columns', 'GET_ALL_ORDER_POINTS_COLUMN_NAMES', TRUE, isExtensionDryRun());
unregisterFilter(__FILE__, __LINE__, 'user_exclusion_sql', 'ORDER_ZIP_CODE_SQL', TRUE, isExtensionDryRun());
unregisterFilter(__FILE__, __LINE__, 'locked_points_columns_array', 'ORDER_POINTS_COLUMNS', TRUE, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_SUBJECT', TRUE, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_TEXT', TRUE, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_TYPE', TRUE, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_URL', TRUE, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_RECEIVER', TRUE, isExtensionDryRun());
break;
case 'activate': // Do stuff when admin activates this extension
break;
case 'update': // Update an extension
- switch (getCurrentExtensionVersion()) {
- case '0.0.1': // SQL queries for v0.0.1
- // 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.0.2': // SQL queries for v0.0.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Speichern der Einstellungen vereinfacht. Es wird dazu die Funktion adminSaveSettings() verwendet.");
- break;
-
- case '0.0.3': // SQL queries for v0.0.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
- break;
-
- case '0.0.4': // SQL queries for v0.0.4
- addConfigAddSql('max_comma', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 3');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Angezeigte Kommastellen können zwischen 0 und 5 eingestellt werden.");
- break;
-
- case '0.0.5': // SQL queries for v0.0.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
- break;
-
- case '0.0.6': // SQL queries for v0.0.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen endlich beseitigt.");
- break;
-
- case '0.0.7': // SQL queries for v0.0.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Ausgabemodus der CSS-Dateien hinzugefügt. Bitte auch das Admin-Template aktualisieren!");
- break;
-
- case '0.0.8': // SQL queries for v0.0.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Erweiterung bleibt wegen integrierten Schalters immer aktiv.");
- break;
-
- case '0.0.9': // SQL queries for v0.0.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Abspeichern der Einstellungen repariert.");
- break;
-
- case '0.1.0': // SQL queries for v0.2.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Folgende Einstellungen können auf 0 gesetzt werden:
-<ol>
-<li>Selbe beworbene URL nicht mehr bewerbar (0 = URL kann sofort wieder gebucht werden)</li>
-<li>Gültigkeitsdauer der Bestätigungslinks (0 = Bestätigungslinks laufen nie ab)</li>
-<li>Sperrzeit des Mitgliedprofiles nach Änderung (0 = Mitglied kann sein Account immer und sofort ändern)</li>
-<li>Profilaktualisierungsinterval (0 = Es wird keine Mail zum Profilaktualisierunng durch das Mitglied ausgesendet(</li>
-<li>Erneute Aussendung der Mail (0 = Siehe oben)</li>
-</ol>");
- break;
-
- case '0.1.1': // SQL queries for v0.1.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Gast- und Mitgliedsmenüs lassen sich voneinander getrentt ein- und auschalten.");
- break;
-
- case '0.1.2': // SQL queries for v0.1.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
- break;
-
- case '0.1.3': // SQL queries for v0.1.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wort "Baustelle" vom Auto-Versand entfernt, da dieser nun klappt.");
- break;
-
- case '0.1.4': // SQL queries for v0.1.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
- break;
-
- case '0.1.5': // SQL queries for v0.1.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
- break;
-
- case '0.1.6': // SQL queries for v0.1.6
- addConfigAddSql('reject_url', "VARCHAR(255) NOT NULL DEFAULT '{?URL?}'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Bei Ablehnung der URL wird jetzt endlich eine Standard-URL eingesetzt, die konfigurierbar ist. Fehler beim Laden der Konfiguration gefunden.");
- break;
-
- case '0.1.7': // SQL queries for v0.1.7
- addConfigAddSql('currency', "VARCHAR(255) NOT NULL DEFAULT '€'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Standard-Währung der Gebühren für alle Erweiterungen geltend hinzugefügt.");
- break;
-
- case '0.1.8': // SQL queries for v0.1.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Die sonstigen Einstellungen lassen sich nun nur noch ändern, wenn die Erweiterung <strong>other</strong> auch installiert ist. Anderfalls gibt es einen SQL-Fehler beim Speichern und GROSS_GESCHRIEBENE Worte im Formular.");
- break;
-
- case '0.1.9': // SQL queries for v0.1.9
- addConfigAddSql('mailid_error_redirect', "ENUM('INDEX','REJECT') NOT NULL DEFAULT 'INDEX'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Bei fehlerhafter Mail während der Bestätigung kann wahlweise zur Hauptseite weitergeleitet oder auf die eingestellte Ablehnungsseite umgeleitet werden.");
- break;
-
- case '0.2.0': // SQL queries for v0.2.0
- addConfigChangeSql('mailid_error_redirect', 'mailid_error_redirect', "ENUM('INDEX','REJECT') NOT NULL DEFAULT 'INDEX'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Bei fehlerhafter Mail während der Bestätigung kann wahlweise zur Hauptseite weitergeleitet oder auf die eingestellte Ablehnungsseite umgeleitet werden.");
- break;
-
- case '0.2.1': // SQL queries for v0.2.1
- addConfigAddSql('min_age', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 16');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Minimumalter ist nun konfigurierbar.");
- break;
-
- case '0.2.2': // SQL queries for v0.2.2
- addConfigAddSql('display_debug_sqls', "ENUM('N','Y') NOT NULL DEFAULT 'N'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("(Fast) alle SQL-Abfragen lassen sich nun zu Debugging-Zwecken (!) einschalten. Nur der Administrator sieht diese unten am Ende der Seite.");
- break;
-
- case '0.2.3': // SQL queries for v0.2.3
- addConfigAddSql('max_send', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 10');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlende Konfiguration hinzugefügt.");
- break;
-
- case '0.2.4': // SQL queries for v0.2.4
- // Register filter
- registerFilter(__FILE__, __LINE__, 'page_footer', 'DISPLAY_DEBUG_SQL', FALSE, TRUE, isExtensionDryRun());
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Filter zum Anzeigen (Debug) von ausgeführten SQL-Anweisungen hinzugefügt.");
- break;
-
- case '0.2.5': // SQL queries for v0.2.5
- addConfigAddSql('code_length', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 5');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Codelänge aus tables.sql rausgeholt.");
- break;
-
- case '0.2.6': // SQL queries for v0.2.6
- addConfigAddSql('internal_stats', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Interne Statistiken sind nun abschaltbar (kann Performance bringen).");
- break;
-
- case '0.2.7': // SQL queries for v0.2.7
- addConfigChangeSql('stats_enabled', 'internal_stats', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Der Suffix <strong>_enabled</strong> in Konfigurationseinträgen ist deprecated und sollte nicht mehr verwendet werden. Da sonst Wrapper-Funktionsnamen wie z.B. <strong>isStatsEnabledEnabled()</strong> nach streng genommender Namenskonvention entstehen.");
- break;
-
- case '0.2.8': // SQL queries for v0.2.8
- addConfigChangeSql('mailid_error_redirect', 'mailid_error_redirect', "ENUM('INDEX','REJECT') NOT NULL DEFAULT 'INDEX'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("<strong>mailid_error_redirect</strong> bzw. alle ENUMs haben gross geschriebene Werte.");
- break;
-
- case '0.2.9': // SQL queries for v0.2.9
- addConfigAddSql('word_wrap', 'TINYINT(3) NOT NULL DEFAULT 15');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Anzahl Zeichen für <strong>wordwrap()</strong>-Aufruf hinzugefügt.");
- break;
-
- case '0.3.0': // SQL queries for v0.3.0
- addConfigAddSql('check_double_email', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
- addConfigAddSql('admin_notify', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
- addConfigAddSql('activate_xchange', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 100');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Konfiguration aus allgemeiner <strong>tables.sql</strong> zu dieser Erweiterung verschoben.");
- break;
- } // END - switch
break;
case 'modify': // When the extension got modified
break;
case 'update': // Update an extension
- switch (getCurrentExtensionVersion()) {
- case '0.1.2': // SQL queries for v0.1.2
- addAdminMenuSql('payouts', NULL, 'Auszahlungsmanagement','Management der Auszahlungsarten.',8);
- addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `action`='payouts',`title`='Einstellungen' WHERE `action`='setup' AND `what`='config_payouts' LIMIT 1");
- break;
-
- case '0.1.3': // SQL queries for v0.1.3
- addExtensionChangeTableColumnSql('payout_types', 'from_account', "VARCHAR(255) NOT NULL DEFAULT ''");
- addExtensionChangeTableColumnSql('payout_types', 'from_pass', "VARCHAR(255) NOT NULL DEFAULT ''");
- addExtensionChangeTableColumnSql('payout_types', 'engine_url', "VARCHAR(255) NOT NULL DEFAULT ''");
- addExtensionChangeTableColumnSql('payout_types', 'engine_ret_ok', "VARCHAR(255) NOT NULL DEFAULT ''");
- addExtensionChangeTableColumnSql('payout_types', 'engine_ret_failed', "VARCHAR(255) NOT NULL DEFAULT ''");
- addExtensionChangeTableColumnSql('payout_types', 'pass_enc', "ENUM('md5','base64','none') NOT NULL DEFAULT 'md5'");
- break;
-
- case '0.1.4': // SQL queries for v0.1.4
- addExtensionChangeTableColumnSql('user_payouts', 'password', "VARCHAR(255) NOT NULL DEFAULT ''");
- break;
-
- case '0.1.5': // SQL queries for v0.1.5
- addExtensionChangeTableColumnSql('user_payouts', 'target_url', 'LONGTEXT NOT NULL');
- addExtensionChangeTableColumnSql('user_payouts', 'banner_url', 'LONGTEXT NOT NULL');
- addExtensionChangeTableColumnSql('user_payouts', 'link_text', "VARCHAR(30) NOT NULL DEFAULT ''");
- addExtensionChangeTableColumnSql('payout_types', 'allow_url', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
- break;
-
- case '0.1.6': // SQL queries for v0.1.6
- addExtensionChangeTableColumnSql('payout_types', 'pass_enc', 'pass_enc', "ENUM('md5','base64','xxx') NOT NULL DEFAULT 'xxx'");
- break;
-
- case '0.1.8': // SQL queries for v0.1.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Auflistung der Auszahlungen ausgelagert in Template <span class=\"bad\">member_payout.tpl</span>.");
- break;
-
- case '0.1.9': // SQL queries for v0.1.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
- break;
-
- case '0.2.0': // SQL queries for v0.2.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("5 Nachkommastellen implementiert.");
- break;
-
- case '0.2.1': // SQL queries for v0.2.1
- addExtensionChangeTableColumnSql('user_payouts', 'payout_total', 'payout_total', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
- addExtensionChangeTableColumnSql('payout_types', 'rate', 'rate', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
- break;
-
- case '0.2.2': // SQL queries for v0.2.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Buttons aus Aufgabenauflisten ausgelagert");
- break;
-
- case '0.2.3': // SQL queries for v0.2.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
- break;
-
- case '0.2.4': // SQL queries for v0.2.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Ausgabe der Auszahlungsmöglichkeiten im Mitgliedsbereich repariert.");
- break;
-
- case '0.2.5': // SQL queries for v0.2.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
- break;
-
- case '0.2.6': // SQL queries for v0.2.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt.");
- break;
-
- case '0.2.7': // SQL queries for v0.2.7
- // Update notes (these will be set as task text!)
- 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("Work-Arount-Lösung zu temporären Problemen mit der Task-Id eingebaut.");
- break;
-
- case '0.2.9': // SQL queries for v0.2.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Nachricht an Admin bei Auszahlungsanfrage wird endlich versendet.");
- break;
-
- case '0.3.0': // SQL queries for v0.3.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.");
- break;
-
- case '0.3.1': // SQL queries for v0.3.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler in Auszahlungsfunktion beseitigt, wenn Umrechnungsrate ungleich 1 eingestellt ist.");
- break;
-
- case '0.3.2': // SQL queries for v0.3.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
- break;
-
- case '0.3.3': // SQL queries for v0.3.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4.");
- break;
-
- case '0.3.4': // SQL queries for v0.3.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Anzahl zu überweisende {?POINTS?} müssen immer grösser 0 sein, ansonsten bricht das Script mit einer Fehlermeldung an das Mitglied ab.");
- break;
-
- case '0.3.5': // SQL queries for v0.3.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle.");
- break;
-
- case '0.3.6': // SQL queries for v0.3.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Hash-Erstellung von <strong>md5()</strong> auf bessere Funktion <strong>generateHash()</strong> umgestellt.");
- break;
-
- case '0.3.7': // SQL queries for v0.3.7
- addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Auszahlungsmanagement' WHERE `action`='payouts' AND (`what`='' OR `what` IS NULL) LIMIT 1");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Verwaltung nach Management umgestellt.");
- break;
-
- case '0.3.8': // SQL queries for v0.3.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
- break;
- } // END - switch
break;
case 'modify': // When the extension got modified
break;
case 'update': // Update an extension
- switch (getCurrentExtensionVersion()) {
- case '0.0.1': // SQL queries for v0.0.1
- addExtensionAddTableColumnSql('rallye_data', 'expired', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Ablaufen der Rallyes intergriert.");
- break;
-
- case '0.0.2': // SQL queries for v0.0.2
- addExtensionAddTableColumnSql('rallye_users', 'curr_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Aktueller {?POINTS?}-Stand wird beachtet.");
- break;
-
- case '0.0.6': // SQL queries for v0.0.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler <span class=\"notice\">Unknown column 'd.useid' in 'on clause'</span> behoben.");
- break;
-
- case '0.0.7': // SQL queries for v0.0.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist.");
- break;
-
- case '0.0.8': // SQL queries for v0.0.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler <u>Template nicht gefunden</u> behoben und Admin-Formulare ausgelagert");
- break;
-
- case '0.0.9': // SQL queries for v0.0.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist. Und der vorherige Fehler <u>Template nicht gefunden</u> ist endlich beseitigt.");
- break;
-
- case '0.1.0': // SQL queries for v0.2.1
- addExtensionChangeTableColumnSql('rallye_users', 'curr_points', 'curr_points', 'FLOAT(23,5) UNSIGNED NOT NULL DEFAULT 0.00000');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("5 Nachkommastellen implementiert.");
- break;
-
- case '0.1.1': // SQL queries for v0.1.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
- break;
-
- case '0.1.2': // SQL queries for v0.1.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
- break;
-
- case '0.1.3': // SQL queries for v0.1.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Anzeigefehler im Gast-/Mitgliedsbereich behoben.");
- break;
-
- case '0.1.4': // SQL queries for v0.1.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Admin-Mails korregiert.");
- break;
-
- case '0.1.5': // SQL queries for v0.1.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
- break;
-
- case '0.1.6': // SQL queries for v0.1.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
- break;
-
- case '0.1.7': // SQL queries for v0.1.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Aktivierte bzw. abgelaufene Rallyes werden nur ausserhalb des CSS-Modus geladen (wenn also nicht css.php aufgerufen wurde)");
- break;
-
- case '0.1.8': // SQL queries for v0.1.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Weitere Templates vom Admin-Bereich ausgelagert und Referral-Anazahl in der Mail zur Rallye-Ankündigung repariert.");
- break;
-
- case '0.1.9': // SQL queries for v0.1.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Funktion <u>generateUserProfileLink()</u> mit Verlinkung auf Referral-Liste implementiert.");
- break;
-
- case '0.2.0': // SQL queries for v0.2.0
- addExtensionAddTableColumnSql('rallye_data', 'min_users', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
- addExtensionAddTableColumnSql('rallye_data', 'min_prices', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 3');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Ablaufen der Rallyes intergriert. Bauen Sie in Ihr Template <strong>templates/de/emails/member/member_rallye_notify.tpl</strong> folgende zwei Zeilen ein:<br />
-<ul>
- <li>$DATA[min_users]</li>
- <li>$DATA[min_prices]</li>
-</ul>
-Zudem sollten Sie mindestens folgende Templates (in <strong>templates/".getLanguage()."/html/guest/</strong> !) aktualisieren:<br />
-<ul>
- <li><strong>guest_rallye_footer.tpl</strong></li>
- <li><strong>guest_rallye_header.tpl</strong></li>
-</ul>");
- break;
-
- case '0.2.1': // SQL queries for v0.2.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
- break;
-
- case '0.2.2': // SQL queries for v0.2.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Links wegen <strong>what=admins_contct</strong> geändert.");
- break;
-
- case '0.2.3': // SQL queries for v0.2.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.");
- break;
-
- case '0.2.4': // SQL queries for v0.2.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
- break;
-
- case '0.2.5': // SQL queries for v0.2.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Menüpunkt "Rallyes verwalten" repariert.");
- break;
-
- case '0.2.6': // SQL queries for v0.2.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Automatisches Starten von Referral-Rallyes repariert.");
- break;
-
- case '0.2.7': // SQL queries for v0.2.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fatalen Fehler beseitigt.");
- break;
-
- case '0.2.8': // SQL queries for v0.2.8
- // Update notes (these will be set as task text!)
-
- setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4.");
- break;
-
- case '0.2.9': // SQL queries for v0.2.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle.");
- break;
-
- case '0.3.0': // SQL queries for v0.3.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("if-Anweisungen auf Funktion <strong>empty()</strong> umgestellt.");
- break;
-
- case '0.3.1': // SQL queries for v0.3.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Erweiterung für automatisch generierte Admin-Kontaktlinks geändert.");
- break;
-
- case '0.3.2': // SQL queries for v0.3.2
- addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='rals',`title`='Referral-Rallye',`sort`=1 WHERE `what`='rallyes' LIMIT 1");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut.");
- break;
-
- case '0.3.3': // SQL queries for v0.3.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Rallyes werden nun nur dann automatisch beseitigt, wenn die Erweiterung <strong>autopurge</strong> installiert und aktiviert ist.");
- break;
-
- case '0.3.4': // SQL queries for v0.3.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
- break;
-
- case '0.3.5': // SQL queries for 0.3.5
- // Register filter
- registerFilter(__FILE__, __LINE__, 'extra_autopurge', 'RALLYE_EXTRA_AUTOPURGE', FALSE, TRUE, isExtensionDryRun());
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Filter hinzugefügt und ist von <strong>sql_patches</strong> abhängig.");
- break;
-
- case '0.3.6': // SQL queries for v0.3.6
- // Register points data
- registerExtensionPointsData('rallye_winner', 'points', 'LOCKED', 'DIRECT');
-
- // Update notes
- setExtensionUpdateNotes("Gewinn aus der Referral-Rallye wird nun über die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
- break;
-
- case '0.3.7': // SQL queries for v0.3.7
- // Register filter
- registerFilter(__FILE__, __LINE__, 'init', 'RALLYE_NOTIFY_USERS', FALSE, TRUE, isExtensionDryRun());
- registerFilter(__FILE__, __LINE__, 'add_rallye_notify_sqls', 'ADD_RALLYE_SQL_COLUMNS', FALSE, TRUE, isExtensionDryRun());
-
- // Update notes
- setExtensionUpdateNotes("Weitere Filter hinzugefügt.");
- break;
-
- case '0.3.8': // SQL queries for v0.3.8
- addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='list_rallye_prices' WHERE `action`='rallye' AND `what`='config_rallye_prices' LIMIT 1");
-
- // Update notes
- setExtensionUpdateNotes("Menü umbenannt, da "config" nur für die Konfigurationstabelle <strong>{?_MYSQL_PREFIX?}_config</strong> ist.");
- break;
- } // END - switch
break;
case 'modify': // When the extension got modified
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/27/2013 *
+ * =================== Last change: 06/27/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : ext-ranking.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Ranking listing extension *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Erweiterung fuer Ranking-Liste *
+ * -------------------------------------------------------------------- *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
+ * -------------------------------------------------------------------- *
+ * @TODO Replaces ext-top10 *
+ * -------------------------------------------------------------------- *
+ * 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
+
+// Version number
+setThisExtensionVersion('0.0.0');
+
+// Version history array (add more with , '0.0.1' and so on)
+setExtensionVersionHistory(array('0.0.0'));
+
+// This extension is in development (non-productive)
+enableExtensionProductive(FALSE);
+
+switch (getExtensionMode()) {
+ case 'setup': // Do stuff when installation is running
+ // SQL commands to run
+
+ // Register module
+ //addModuleSql('foo', '{OPEN_LANGUAGE}MODULE_FOO_TITLE{CLOSE_LANGUAGE}','Y','Y','N','N');
+ break;
+
+ case 'remove': // Do stuff when removing extension
+ // SQL commands to run
+ break;
+
+ case 'activate': // Do stuff when admin activates this extension
+ // SQL commands to run
+ //addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='N' WHERE `module`='foo' LIMIT 1");
+ break;
+
+ case 'deactivate': // Do stuff when admin deactivates this extension
+ // SQL commands to run
+ //addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='Y' WHERE `module`='foo' LIMIT 1");
+ break;
+
+ case 'update': // Update an extension
+ switch (getCurrentExtensionVersion()) {
+ case '0.0.1': // SQL queries for v0.0.1
+ addExtensionSql('');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes('');
+ break;
+ } // END - switch
+ break;
+
+ case 'modify': // When the extension got modified
+ break;
+
+ case 'test': // For testing purposes
+ break;
+
+ case 'init': // Do stuff when extension is initialized
+ break;
+
+ default: // Unknown extension mode
+ reportBug(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
+ break;
+} // END - switch
+
+// [EOF]
+?>
// Unregister points data
unregisterExtensionPointsData('register_welcome');
unregisterExtensionPointsData('referral_bonus');
- unregisterExtensionPointsData('referral_bonus_ref');
// Unregister filter
unregisterFilter(__FILE__, __LINE__, 'register_must_fillout', 'REGISTER_MUST_FILLOUT', TRUE, isExtensionDryRun());
registerFilter(__FILE__, __LINE__, 'post_youhere_line', 'ADD_ANONYMITY_NOTICE', FALSE, TRUE, isExtensionDryRun());
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Filter hinzugefügt und ist von <strong>sql_patches</strong> abhängig.");
+ setExtensionUpdateNotes("Filter hinzugefügt.");
break;
} // END - switch
break;
// Version history array (add more with , '0.0.1' and so on)
setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3'));
-// This extension is deprecated!
-// Only since 'seo' is ready! setExtensionDeprecated('Y');
+// This extension is deprecated
+// @TODO Only when 'seo' is ready: setExtensionDeprecated('Y');
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
} // END - if
// Version number
-setThisExtensionVersion('0.9.8');
+setThisExtensionVersion('0.9.9');
// Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '0.4.0', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7', '0.4.8', '0.4.9', '0.5.0', '0.5.1', '0.5.2', '0.5.3', '0.5.4', '0.5.5', '0.5.6', '0.5.7', '0.5.8', '0.5.9', '0.6.0', '0.6.1', '0.6.2', '0.6.3', '0.6.4', '0.6.5', '0.6.6', '0.6.7', '0.6.8', '0.6.9', '0.7.0', '0.7.1', '0.7.2', '0.7.3', '0.7.4', '0.7.5', '0.7.6', '0.7.7', '0.7.8', '0.7.9', '0.8.0', '0.8.1', '0.8.2', '0.8.3', '0.8.4', '0.8.5', '0.8.6', '0.8.7', '0.8.8', '0.8.9', '0.9.0', '0.9.1', '0.9.2', '0.9.3', '0.9.4', '0.9.5', '0.9.6', '0.9.7', '0.9.8'));
+setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '0.4.0', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7', '0.4.8', '0.4.9', '0.5.0', '0.5.1', '0.5.2', '0.5.3', '0.5.4', '0.5.5', '0.5.6', '0.5.7', '0.5.8', '0.5.9', '0.6.0', '0.6.1', '0.6.2', '0.6.3', '0.6.4', '0.6.5', '0.6.6', '0.6.7', '0.6.8', '0.6.9', '0.7.0', '0.7.1', '0.7.2', '0.7.3', '0.7.4', '0.7.5', '0.7.6', '0.7.7', '0.7.8', '0.7.9', '0.8.0', '0.8.1', '0.8.2', '0.8.3', '0.8.4', '0.8.5', '0.8.6', '0.8.7', '0.8.8', '0.8.9', '0.9.0', '0.9.1', '0.9.2', '0.9.3', '0.9.4', '0.9.5', '0.9.6', '0.9.7', '0.9.8', '0.9.9'));
// Keep this extension always active!
setExtensionAlwaysActive('Y');
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
- // SQL commands to run (surfbar URLs)
- addDropTableSql('surfbar_urls');
- addCreateTableSql('surfbar_urls', "
-`url_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`url_userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
-`url_package_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
-`url` VARCHAR(255) NOT NULL DEFAULT '',
-`url_last_salt` VARCHAR(255) NOT NULL DEFAULT '',
-`url_views_total` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`url_views_max` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`url_views_allowed` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`url_status` ENUM('PENDING', 'ACTIVE', 'LOCKED', 'STOPPED', 'REJECTED', 'DELETED', 'MIGRATED', 'DEPLETED') NOT NULL DEFAULT 'PENDING',
-`url_registered` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-`url_last_locked` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
-`url_lock_reason` VARCHAR(255) NOT NULL DEFAULT '',
-`url_reject_reason` VARCHAR(255) NOT NULL DEFAULT '',
-`url_fixed_reload` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`url_fixed_waiting` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-PRIMARY KEY (`url_id`),
-UNIQUE INDEX `userid_url` (`url_userid`, `url`),
-INDEX `status_userid` (`url_status`, `url_userid`),
-INDEX (`url_package_id`)",
- 'Visitor add-on URLs');
-
- // Booking packages for members
- addDropTableSql('surfbar_packages');
- addCreateTableSql('surfbar_packages', "
-`package_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`package_reload` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`package_waiting` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`package_points_costs` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
-`package_points_reward` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
-PRIMARY KEY (`package_id`),
-UNIQUE INDEX `package` (`package_reload`, `package_waiting`)",
- 'Booking packages');
-
- // Reload locks
- addDropTableSql('surfbar_locks');
- addCreateTableSql('surfbar_locks', "
-`locks_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`locks_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`locks_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`locks_last_surfed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-PRIMARY KEY (`locks_id`),
-UNIQUE INDEX `userid_url` (`locks_userid`, `locks_url_id`),
-INDEX (`locks_url_id`)",
- 'Vistor-addon reload locks');
-
- // Visitor add-on salts
- addDropTableSql('surfbar_salts');
- addCreateTableSql('surfbar_salts', "
-`salts_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`salts_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`salts_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`salts_last_salt` VARCHAR(255) NOT NULL DEFAULT '',
-PRIMARY KEY (`salts_id`),
-UNIQUE INDEX `salts_userid_url` (`salts_userid`, `salts_url_id`),
-INDEX (`salts_url_id`)",
- 'Visitor add-on last used salts');
-
- // Statistics
- addDropTableSql('surfbar_stats');
- addCreateTableSql('surfbar_stats', "
-`stats_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`stats_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`stats_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`stats_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`stats_last_surfed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-PRIMARY KEY (`stats_id`),
-UNIQUE INDEX `userid_url` (`stats_userid`, `stats_url_id`),
-INDEX (`stats_url_id`)",
- 'Visitor add-on Statistics');
-
- // Member actions pending on status
- addDropTableSql('surfbar_actions');
- addCreateTableSql('surfbar_actions', "
-`actions_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`actions_status` ENUM('PENDING', 'ACTIVE', 'LOCKED', 'STOPPED', 'REJECTED', 'DELETED', 'MIGRATED', 'DEPLETED') NULL DEFAULT NULL,
-`actions_action` ENUM('EDIT', 'DELETE', 'PAUSE', 'UNPAUSE', 'FRAMETEST', 'RETREAT', 'RESUBMIT', 'BOOKNOW') NULL DEFAULT NULL,
-`actions_new_status` ENUM('PENDING', 'ACTIVE', 'LOCKED', 'STOPPED', 'REJECTED', 'DELETED', 'MIGRATED', 'DEPLETED') NULL DEFAULT NULL,
-PRIMARY KEY (`actions_id`),
-UNIQUE INDEX `status_action` (`actions_status`, `actions_action`)",
- 'Visitor add-on Member Actions');
-
- // Member actions
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('PENDING', 'RETREAT', 'DELETED')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('PENDING', 'FRAMETEST',NULL)");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('PENDING', 'EDIT',NULL)");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('ACTIVE', 'EDIT', 'PENDING')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('ACTIVE', 'DELETE', 'DELETED')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('ACTIVE', 'PAUSE', 'STOPPED')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('ACTIVE', 'FRAMETEST',NULL)");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('LOCKED', 'DELETE', 'DELETED')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('LOCKED', 'FRAMETEST',NULL)");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('LOCKED', 'RESUBMIT', 'PENDING')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('STOPPED', 'EDIT', 'PENDING')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('STOPPED', 'DELETE', 'DELETED')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('STOPPED', 'UNPAUSE', 'PENDING')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('DEPLETED', 'EDIT', 'PENDING')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('DEPLETED', 'DELETE', 'DELETED')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('REJECTED', 'EDIT', 'PENDING')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('REJECTED', 'DELETE', 'DELETED')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('REJECTED', 'FRAMETEST',NULL)");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('REJECTED', 'RESUBMIT', 'PENDING')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('MIGRATED', 'EDIT', 'MIGRATED')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('MIGRATED', 'DELETE', 'DELETED')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('MIGRATED', 'FRAMETEST',NULL)");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('MIGRATED', 'BOOKNOW', 'PENDING')");
-
- // Config entries
- addConfigAddSql('surfbar_payment_model', "ENUM('STATIC', 'DYNAMIC') NOT NULL DEFAULT 'STATIC'");
- addConfigAddSql('surfbar_static_reward', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.25000');
- addConfigAddSql('surfbar_static_costs', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 1.00000');
- addConfigAddSql('surfbar_static_time', 'SMALLINT(6) UNSIGNED NOT NULL DEFAULT 60');
- addConfigAddSql('surfbar_static_lock', 'SMALLINT(6) UNSIGNED NOT NULL DEFAULT ' . (60 * 5));
- addConfigAddSql('surfbar_dynamic_percent', 'FLOAT(10,5) UNSIGNED NOT NULL DEFAULT 10.00000');
- addConfigAddSql('surfbar_max_order', 'INT(7) UNSIGNED NOT NULL DEFAULT 10');
- addConfigAddSql('surfbar_restart_time', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (60 * 6));
- addConfigAddSql('surfbar_auto_start', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
- addConfigAddSql('surfbar_migrate_urls', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
- addConfigAddSql('surfbar_total_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
- addConfigAddSql('surfbar_daily_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
- addConfigAddSql('surfbar_yester_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
- addConfigAddSql('surfbar_weekly_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
- addConfigAddSql('surfbar_monthly_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
- addConfigAddSql('surfbar_stats_reload', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 30');
- addConfigAddSql('surfbar_purge_deleted', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 7));
- addConfigAddSql('surfbar_purge_migrated', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 3));
- addConfigAddSql('surfbar_pause_mode', "ENUM('INTERNAL', 'EXERNAL') NOT NULL DEFAULT 'INTERNAL'");
- addConfigAddSql('surfbar_pause_url', "VARCHAR(255) NOT NULL DEFAULT ''");
- addConfigAddSql('surfbar_notify_limits', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
- addConfigAddSql('surfbar_notify_admin_unlock', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
- addConfigAddSql('surfbar_warn_low_points', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 100');
- addConfigAddSql('surfbar_low_interval', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT {?ONE_DAY?}');
- addConfigAddSql('surfbar_migrate_order', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
- addConfigAddSql('surfbar_notification_mode', "ENUM('INSTANT', 'RESET') NOT NULL DEFAULT 'INSTANT'");
- addConfigAddSql('surfbar_guest_login_form', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
-
- // Extend user data
- addExtensionAddTableColumnSql('user_data', 'surfbar_low_notified', "TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'");
-
- // Member menus
- addMemberMenuSql('surfbar', NULL, 'Besuchertausch', 4);
- addMemberMenuSql('surfbar', 'start_surfbar', 'Besuchertausch starten', 1);
- addMemberMenuSql('surfbar', 'book_surfbar', 'Seite buchen', 2);
- addMemberMenuSql('surfbar', 'list_surfbar', 'Seiten-Management', 3);
- addMemberMenuSql('surfbar', 'stats_surfbar', 'Seiten-Statistik', 4);
-
- // Admin menus
- addAdminMenuSql('surfbar', NULL, 'Besuchertausch', 'URLs im Besuchertausch verwalten, Einstellungen ändern und vieles mehr.', 7);
- addAdminMenuSql('surfbar', 'add_surfbar_url', 'URL hinzufügen', 'Fügen Sie URLs z.B. von Werbenetzwerken hinzu, oder Ihre eigenen Projekte. <strong>Vorsicht!</strong> Ihnen muss es auch gestattet sein, URLs aus dem Werbenetzwerk im Besuchertausch einzufügen.', 1);
- addAdminMenuSql('surfbar', 'list_surfbar_urls', 'URLs verwalten', 'Verwalten Sie hier alle im Besuchertausch befindlichen URLs mit nur wenigen Klicks.', 2);
- addAdminMenuSql('surfbar', 'unlock_surfbar_urls', 'Wartende URLs freigeben', 'Geben Sie hier für den Besuchertausch gebuchte URLs frei.', 3);
- addAdminMenuSql('surfbar', 'list_surfbar_packages', 'Buchungspakete verwalten', '"Buchungspakete" erlauben dem Mitglied nur von Ihnen definierte Reloadzeiten und Mindestauffenthalte.', 4);
- addAdminMenuSql('surfbar', 'config_surfbar', 'Einstellungen', 'Einstellungen am Besuchertausch ändern, wie Festvergütung, prozentuale Ref-Vergütung und vieles mehr.', 5);
- addAdminMenuSql('surfbar', 'surfbar_stats', 'Statistiken', 'Detailierte Statistiken zu einer ausgewählten URL anzeigen.', 6);
- addAdminMenuSql('surfbar', 'list_surfbar_actions', 'Mitglieder-Aktionen', 'Listet alle Mitglieder-Aktionen auf.', 7);
-
- // Register module
- addModuleSql('surfbar', '{OPEN_LANGUAGE}MODULE_SURFBAR_TITLE{CLOSE_LANGUAGE}', 'Y', 'Y', 'N', 'N');
-
- // Insert data for points accounts
- registerExtensionPointsData('monthly_surfbar', 'points', 'LOCKED', 'DIRECT');
-
- // Register filters
- registerFilter(__FILE__, __LINE__, 'post_change_surfbar_url_status', 'SURFBAR_CHANGE_URL_STATUS', FALSE, TRUE, isExtensionDryRun());
- registerFilter(__FILE__, __LINE__, 'pre_change_surfbar_url_status', 'SURFBAR_CHANGE_URL_VALIDATE_DATA', FALSE, TRUE, isExtensionDryRun());
break;
case 'remove': // Do stuff when removing extension
break;
case 'update': // Update an extension
- switch (getCurrentExtensionVersion()) {
- case '0.0.1': // SQL queries for v0.0.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Veraltetes Update entfernt.");
- break;
-
- case '0.0.1': // SQL queries for v0.0.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Unnötige Script-Teile aus what-list_tasks.php herausgelöscht; beim Anzeigen einer Extension-Update, oder -Register Aufgabe werden bei eingeschaltetem Verbose-Modus alle SQL-Anweisungen aufgelistet.");
- break;
-
- case '0.0.4': // SQL queries for v0.0.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.0.5': // SQL queries for v0.0.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("&admin= in &amp;admin= umgewandelt.");
- break;
-
- case '0.0.6': // SQL queries for v0.0.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert.");
- break;
-
- case '0.0.7': // SQL queries for v0.0.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Erstellung der Extra-Übersichten verbessert.");
- break;
-
- case '0.0.8': // SQL queries for v0.0.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
- break;
-
- case '0.0.9': // SQL queries for v0.0.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler bei Abfrage der payout-Erweiterung beseitigt.");
- break;
-
- case '0.1.0': // SQL queries for v0.2.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Task-Liste ausgelagert als Template");
- break;
-
- case '0.1.1': // SQL queries for v0.1.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Design "Solid-Business" eingebaut.");
- break;
-
- case '0.1.2': // SQL queries for v0.1.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
- break;
-
- case '0.1.3': // SQL queries for v0.1.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Link zum Mitgliedsprofil in Funktion <u>generateUserProfileLink()</u> ausgelagert.");
- break;
-
- case '0.1.4': // SQL queries for v0.1.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
- break;
-
- case '0.1.5': // SQL queries for v0.1.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Links wegen <strong>what=admins_contct</strong> geändert.");
- break;
-
- case '0.1.6': // SQL queries for v0.1.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Weitere Direkt-Links eingebaut:<br />
-<ul>
- <li>Ländercodes</li>
- <li>Wartende Verdopplungen</li>
- <li><strong>Geändert:</strong> Wartende Auszahlungen</li>
- <li>Teilnehmer an der Aktiv-Rallye</li>
- <li>Nett hinweisende Linktitel hinzugefügt. :-)</li>
-</ul>");
- break;
-
- case '0.1.7': // SQL queries for v0.1.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Direkt Links zum Sponsorenbereich vorbereitend eingebaut.");
- break;
-
- case '0.1.8': // SQL queries for v0.1.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Es werden alle installierten und aktivierten Themes angezeigt und verlinkt.");
- break;
-
- case '0.1.9': // SQL queries for v0.1.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("CSS-Datei in general.css verschmolzen (Patch 435!)");
- break;
-
- case '0.2.0': // SQL queries for v0.2.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Alle Administratoren, Referral-Banner und aktivierte Referral-Banner werden nun eingeblendet.");
- break;
-
- case '0.2.1': // SQL queries for v0.2.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Problem mit überlanger Textbreite beseitigt.");
- break;
-
- case '0.2.2': // SQL queries for v0.2.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Link zum Freischalten von Sponoren-Accounts korregiert.");
- break;
-
- case '0.2.3': // SQL queries for v0.2.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Sortierungsreihenfolge grundlegend geändert: Es wird jetzt nach Mitglieds-Id, Aufgabenbereich, Infos und nach dem Erstellunsdatum sortiert.");
- break;
-
- case '0.2.4': // SQL queries for v0.2.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
- break;
-
- case '0.2.5': // SQL queries for v0.2.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("<strong>Nur mit bonus v0.6.9 oder höher:</strong> Zuschaltbare Bonis werden auch bei der Ermittlung Anzahl teilnehmender Mitglieder mit ber&uumk;cksichtigt.");
- break;
-
- case '0.2.6': // SQL queries for v0.2.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Teilnehmer der Bettel-Rallye werden angezeigt.");
- break;
-
- case '0.2.7': // SQL queries for v0.2.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Link zum direkten Aufheben einer Urlaubsschaltung eines Mitgliedes korregiert.");
- break;
-
- case '0.2.8': // SQL queries for v0.2.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle.");
- break;
-
- case '0.2.9': // SQL queries for v0.2.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("if-Anweisungen auf Funktion <strong>empty()</strong> umgestellt. Update-Aufgaben werden nach "Bearbeitung" nicht mehr als <strong>Erledigt</strong> gesetzt. Dies hatte sonst den Anschein, die Update-Aufgaben müssten erledigt werden, um die Erweiterungs-Updates einzuspielen, was aber automatisch geschieht.");
- break;
-
- case '0.3.0': // SQL queries for v0.3.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Export-Accounts werden in Task-Übersicht aufgelistet.");
- break;
-
- case '0.3.1': // SQL queries for v0.3.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Diverse Fixes an den Templates (Notice-Hinweise vom PHP-Interpreter entfernt).");
- break;
-
- case '0.3.2': // SQL queries for v0.3.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Hängt nun von <u>ext-user</u> ab.");
- break;
-
- case '0.3.3': // SQL queries for v0.3.3
- addExtensionChangeTableColumnSql('task_system', 'assigned_admin', 'assigned_admin', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL');
- addExtensionChangeTableColumnSql('task_system', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `assigned_admin`=NULL WHERE `assigned_admin`=0');
- addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `userid`=NULL WHERE `userid`=0');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Zugewiesener Admin und User-Id dürfen nun NULL sein.");
- break;
- } // END - switch
break;
case 'modify': // When the extension got modified
case 'update': // Update an extension
switch (getCurrentExtensionVersion()) {
case '0.0.1': // SQL queries for v0.0.1
- addExtensionSql("");
+ addExtensionSql('');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Beschreinungstext des Updates.");
break;
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Filter zum Zurücksetzens des fehlgeschlagenen Mitgliederlogins hinzugefügt (internes TODO).");
- break;
} // END - switch
break;
// Version history array (add more with , '0.0.1' and so on)
setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2'));
+// This extension is deprecated
+// @TODO Only deprecated when 'ext-ranking' is ready: setExtensionDeprecated('Y');
+
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
// SQL commands to run
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 09/25/2004 *
+ * =================== Last change: 09/25/2004 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : ext- *
+ * -------------------------------------------------------------------- *
+ * Short description : *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : *
+ * -------------------------------------------------------------------- *
+ * $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
+
+// Version number
+setThisExtensionVersion('0.0.0');
+
+// Version history array (add more with , '0.0.1' and so on)
+setExtensionVersionHistory(array('0.0.0'));
+
+// This extension is in development (non-productive)
+enableExtensionProductive(FALSE);
+
+switch (getExtensionMode()) {
+ case 'setup': // Do stuff when installation is running
+ // SQL commands to run
+
+ // Register filter
+ registerFilter(__FILE__, __LINE__, 'post_add_points', 'LOG_TRANSACTION', FALSE, TRUE, isExtensionDryRun());
+ break;
+
+ case 'remove': // Do stuff when removing extension
+ // SQL commands to run
+
+ // Remove filter
+ unregisterFilter(__FILE__, __LINE__, 'post_add_points', 'LOG_TRANSACTION', TRUE, isExtensionDryRun());
+ break;
+
+ case 'activate': // Do stuff when admin activates this extension
+ // SQL commands to run
+ break;
+
+ case 'deactivate': // Do stuff when admin deactivates this extension
+ // SQL commands to run
+ break;
+
+ case 'update': // Update an extension
+ switch (getCurrentExtensionVersion()) {
+ case '0.0.1': // SQL queries for v0.0.1
+ addExtensionSql('');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes('');
+ break;
+ } // END - switch
+ break;
+
+ case 'modify': // When the extension got modified
+ break;
+
+ case 'test': // For testing purposes
+ break;
+
+ case 'init': // Do stuff when extension is initialized
+ break;
+
+ default: // Unknown extension mode
+ reportBug(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
+ break;
+} // END - switch
+
+// [EOF]
+?>
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
- // Transfer from a member
- addDropTableSql('user_transfers_in');
- addCreateTableSql('user_transfers_in', "
-`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`from_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`reason` VARCHAR(255) NOT NULL DEFAULT '',
-`time_trans` VARCHAR(14) NOT NULL DEFAULT 0,
-`trans_id` VARCHAR(12) NOT NULL DEFAULT '',
-PRIMARY KEY (`id`),
-INDEX (`userid`),
-INDEX (`from_userid`)",
- 'Ingoing points transfers');
-
- // Transfers to a member
- addDropTableSql('user_transfers_out');
- addCreateTableSql('user_transfers_out', "
-`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`to_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`reason` VARCHAR(255) NOT NULL DEFAULT '',
-`time_trans` VARCHAR(14) NOT NULL DEFAULT 0,
-`trans_id` VARCHAR(12) NOT NULL DEFAULT '',
-PRIMARY KEY (`id`),
-INDEX (`userid`),
-INDEX (`to_userid`)",
- 'Outgoing points transfers');
-
- // Admin menu
- addAdminMenuSql('transfer', NULL, '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transfer','Verwalten Sie hier die {OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transaktionen zwischen Ihren Mitgliedern.', 7);
- addAdminMenuSql('transfer','list_transfer','Auflisten','Hier bekommen Sie alle ein- und ausgehende Transaktionen aufgelistet.', 1);
- addAdminMenuSql('transfer','config_transfer','Einstellungen','Stellen Sie ein, wie viele Transaktionen aufgelistet werden sollen und wie alt diese werden dürfen. Die evtl. installierte autopurge-Erweiterung kann dann automatisch die veralteten Transktionen löschen.', 2);
- addAdminMenuSql('transfer','del_transfer','Manuell löschen','Hier können Sie - abgesehen von der automatischen Löschung - Transaktionen selber löschen. Bitte beachten Sie, dass immer aus- und eingehende Transaktionen gleichzeitig gelöscht werden.', 3);
-
- // Member menu
- addMemberMenuSql('extras', 'transfer', '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transfer', 5);
-
- // Add config values
- addConfigAddSql('transfer_max', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 50');
- addConfigAddSql('transfer_age', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 28));
- addConfigAddSql('transfer_timeout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT {?ONE_DAY?}');
- addConfigAddSql('transfer_balance', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 100');
- addConfigAddSql('transfer_code', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 5');
-
- // Add row(s) to user's data
- addExtensionAddTableColumnSql('user_data', 'opt_in', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
break;
case 'remove': // Do stuff when removing extension
break;
case 'update': // Update an extension
- switch (getCurrentExtensionVersion()) {
- case '0.0.2': // SQL queries for v0.0.2
- // 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.0.3': // SQL queries for v0.0.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Überflüssige unset()-Anweisungen aus der what-config_transfer.php entfernt. Dies wird bereits von der eigenen Funktion adminSaveSettings() erledigt.");
- break;
-
- case '0.0.3': // SQL queries for v0.0.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist.");
- break;
-
- case '0.0.5': // SQL queries for v0.0.5
- addConfigAddSql('ap_transfer', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Link <span class=\"bad\">Auflisten</span> im Admin-Bereich hatte das eingeloggte Mitglied und nicht den eingeloggten Admin abgefragt. Automatisches Löschen von veraltete Einträgen kann unabhängig von der autopurge-Erweiterung de-/aktiviert werden. Bitte aktualisieren Sie auch die beiden Admin-Templates!");
- break;
-
- case '0.0.6': // SQL queries for v0.0.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert.");
- break;
-
- case '0.0.7': // SQL queries for v0.0.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
- break;
-
- case '0.0.8': // SQL queries for v0.0.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Problem mit E in Transaktionsnummer beseitigt.");
- break;
-
- case '0.0.9': // SQL queries for v0.0.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
- break;
-
- case '0.1.0': // SQL queries for v0.2.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
- break;
-
- case '0.1.1': // SQL queries for v0.1.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Design "Solid-Business" eingebaut.");
- break;
-
- case '0.1.2': // SQL queries for v0.1.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
- break;
-
- case '0.1.3': // SQL queries for v0.1.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt.");
- break;
-
- case '0.1.4': // SQL queries for v0.1.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Link zum Mitgliedsprofil in Funktion <u>generateUserProfileLink()</u> ausgelagert.");
- break;
-
- case '0.1.5': // SQL queries for v0.1.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Template <u>admin_config_transfer_pro.tpl</u> ist überflüssig geworden. Bitte löschen Sie dies!");
- break;
-
- case '0.1.6': // SQL queries for v0.1.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
- break;
-
- case '0.1.7': // SQL queries for v0.1.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Wort <strong>Punkte</strong> dynamisiert.");
- break;
-
- case '0.1.8': // SQL queries for v0.1.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.");
- break;
-
- case '0.1.9': // SQL queries for v0.1.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Parser-Error im Mitgliedsbereich beseitigt.");
- break;
-
- case '0.2.0': // SQL queries for v0.2.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
- break;
-
- case '0.2.1': // SQL queries for v0.2.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Durchführung des Transfers korregiert.");
- break;
-
- case '0.2.2': // SQL queries for v0.2.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle.");
- break;
-
- case '0.2.3': // SQL queries for v0.2.3
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu_las` (`la_id`, `la_action`, `la_what`) VALUES ('member', '', 'list_transfer')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu_las` (`la_id`, `la_action`, `la_what`) VALUES ('member', '', 'del_transfer')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu_las` (`la_id`, `la_action`, `la_what`) VALUES ('config', '', 'config_transfer')");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Erweiterung in's neue Menüsystem integriert.");
- break;
-
- case '0.2.4': // SQL queries for v0.2.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("<strong>Touring-Code wiederholen</strong> nach <strong>Touring-Code eingeben</strong> hin geändert.");
- break;
-
- case '0.2.5': // SQL queries for v0.2.5
- addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras',`sort`=5 WHERE `what`='transfer' LIMIT 1");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Eintrag im Mitgliedsmenü verschoben.");
- break;
-
- case '0.2.6': // SQL queries for v0.2.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Hash-Erstellung von <strong>md5()</strong> auf bessere Funktion <strong>generateHash()</strong> umgestellt.");
- break;
-
- case '0.2.7': // SQL queries for v0.2.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Die {?POINTS?} können nun wieder wie gewohnt transferiert werden. Der Grund für <span class=\"bad\">{--MEMBER_TRANSFER_INVALID_PASSWORD--}</span> war, dass der Cookie-Hash ein anderer ist, als der in der Datenbank... :-/");
- break;
-
- case '0.2.8': // SQL queries for v0.2.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlermeldung <span class=\"bad\">Notice: Undefined index: to_userid in {?PATH?}/inc/modules/member/what-transfer.php on line 301</span> gefixt. Danke an <a href=\"http://forum.mxchange.org/profile-8.html\" target=\"_blank\" title=\"Forumprofil von Piter01\">Piter01</a>.");
- break;
-
- case '0.2.9': // SQL queries for v0.2.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
- break;
-
- case '0.3.0': // SQL queries for v0.3.0
- // Register points data
- registerExtensionPointsData('transfer', 'points', 'LOCKED', 'DIRECT');
-
- // Update notes
- setExtensionUpdateNotes("Ünerweisungen anderer Mitglieder werden nun über die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
- break;
- } // END - switch
break;
case 'modify': // When the extension got modified
// Keep this extension always active!
setExtensionAlwaysActive('Y');
-// This extension is deprecated!
-// @TODO Only deprecated when 'ext-network' is ready! setExtensionDeprecated('Y');
+// This extension is deprecated
+// @TODO Only deprecated when 'ext-network' is ready: setExtensionDeprecated('Y');
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/25/2013 *
+ * =================== Last change: 06/25/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-update.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Clickable forced banner or text links *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Klickbare Forced-Banner oder -Textlinks *
+ * -------------------------------------------------------------------- *
+ * $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
+ // Add dependency for ext-earning
+ addExtensionDependency('earning');
+
+ // All required tables for this extension:
+ // - Ads
+ addDropTableSql('forced_ads');
+ addCreateTableSql('forced_ads', "
+`forced_ads_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_ads_provider` ENUM('ADMIN', 'MEMBER', 'API', 'UNKNOWN') NOT NULL DEFAULT 'UNKNOWN',
+`forced_ads_api_type` VARCHAR(255) NULL DEFAULT NULL,
+`forced_ads_ad_url` VARCHAR(255) NULL DEFAULT NULL,
+`forced_ads_click_url` VARCHAR(255) NOT NULL,
+`forced_ads_width` SMALLINT(3) UNSIGNED NULL DEFAULT NULL,
+`forced_ads_height` SMALLINT(3) UNSIGNED NULL DEFAULT NULL,
+`forced_ads_alt_text` VARCHAR(255) NULL DEFAULT NULL,
+`forced_ads_framebreaker` ENUM('Y','N') NOT NULL DEFAULT 'Y',
+`forced_ads_type` VARCHAR(255) NOT NULL DEFAULT 'INVALID',
+`forced_ads_views_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_ads_clicks_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_ads_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`forced_ads_userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+PRIMARY KEY (`forced_ads_id`),
+INDEX (`forced_ads_userid`)",
+ 'Forced Ads Data');
+
+ // - Connection -> ext-network
+ addDropTableSql('forced_network');
+ addCreateTableSql('forced_network', "
+`forced_network_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_ads_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+PRIMARY KEY (`forced_network_id`),
+UNIQUE `ads_type` (`forced_ads_id`, `network_type_id`)",
+ 'Forced Campaign Data');
+
+ // - Campaigns
+ addDropTableSql('forced_campaigns');
+ addCreateTableSql('forced_campaigns', "
+`forced_campaign_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_campaign_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`forced_campaign_status` ENUM('ACTIVE','PENDING','EXPIRED','LOCKED') NOT NULL DEFAULT 'PENDING',
+`forced_campaign_last_locked` TIMESTAMP NULL DEFAULT NULL,
+`forced_campaign_lock_reason` VARCHAR(255) NULL DEFAULT NULL,
+`forced_campaign_expired` TIMESTAMP NULL DEFAULT NULL,
+`forced_campaign_ordered_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_campaign_payment_api` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
+`forced_campaign_reload_lock` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_campaign_minimum_stay` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_ads_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_campaign_userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`forced_costs_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+PRIMARY KEY (`forced_campaign_id`),
+INDEX (`forced_costs_id`)",
+ 'Forced Campaign Data');
+
+ // - Campaign costs
+ addDropTableSql('forced_costs');
+ addCreateTableSql('forced_costs', "
+`forced_costs_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_costs_price_click` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
+`forced_costs_payment_click` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
+`forced_costs_visibility` ENUM('MEMBER','SPONSOR','ALL','NONE') NOT NULL DEFAULT 'NONE',
+PRIMARY KEY (`forced_costs_id`)",
+ 'Forced Campaign Costs');
+
+ // - Campaign Statistics
+ addDropTableSql('forced_stats');
+ addCreateTableSql('forced_stats', "
+`forced_stats_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_stats_campaign_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`forced_stats_userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`forced_stats_token` VARCHAR(255) NULL DEFAULT NULL,
+`forced_stats_viewed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`forced_stats_clicked` TIMESTAMP NULL DEFAULT NULL,
+`forced_stats_real_ip` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
+`forced_stats_remote_addr` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
+`forced_stats_ua` VARCHAR(255) NULL DEFAULT NULL,
+`forced_stats_is_proxy` ENUM('Y','N') NOT NULL DEFAULT 'N',
+`forced_stats_session_id` VARCHAR(100) NULL DEFAULT NULL,
+PRIMARY KEY (`forced_stats_id`),
+INDEX (`forced_stats_campaign_id`),
+INDEX (`forced_stats_userid`)",
+ 'Forced Campaign Statistics');
+
+ // Menu system
+ // - Administrator
+ addAdminMenuSql('forced', NULL, 'Forced-Ads', 'Verwalten Sie hier bequem alle laufenden Forced-Banner, -Textlinks, -PopUps und deren Kampgnen. Sie können hier auch neue Werbmittel (Ads) hinzufügen oder laufende Forced-Kampagnen bei z.B. Regelverstössen sperren oder löschen. Auch das naträgliche Editieren von Ads und Kampagnen ist jederzeit möglich. Kampagnen dienen der einfacheren Verwaltung und der Trennung von dem Werbemittel selbst dienen. Sie brauchen also z.B. einen Forced-Banner nur einmal einfügen und können dann bei Bedarf weitere Kampagnen starten.', 5);
+ addAdminMenuSql('forced', 'list_forced_ads', 'Forced-Ads verwalten', 'Listet alle eingetragenen Forced-Ads (Werbmittel mit Klickzwang) auf und fügt neue hinzu. Sie können hier diese nachträglich editieren falls Sie mal eine falsche URL eingegeben haben oder den Text ändern wollen. Löschen Sie hier auch Forced-Banner, die nicht mehr gültig sind (z.B. abgelaufen sind). Sollten doch mit dem Werbmittel verknüpfte Kampagnen vorhanden sein, erhalten Sie einen Warnhinweis. Neue Werbmittel können Sie hier ebenfalls hinzufügen. Denken Sie aber daran, dass ohne Kampagne dieses nicht angezeigt wird. Achten Sie hier auch die Reload-Sperre.', 2);
+ addAdminMenuSql('forced', 'list_forced_campaigns', 'Kampagnen verwalten', 'Listet alle Kampagnen auf und zeigt deren Status an. Jederzeit können Sie Kampagnen stoppen, falls Sie dies wünschen oder ein Regelverstoss vorliegt. Haben Sie ein Werbemittel hinzugefügt, so fügen Sie bitte unbedingt eine Kampagne hinzu, da es sonst nicht angezeigt wird.', 3);
+ addAdminMenuSql('forced', 'list_forced_costs', 'Preise verwalten', 'Legen Sie die Preise pro Klick für Forced-Werbemittelbuchungen fest und wie viele {OPEN_CONFIG}POINTS{CLOSE_CONFIG} Ihre Mitglieder erhalten sollen. Generell sollten Sie bei Mitgliederbuchungen höhere Kosten pro Klick als was Ihre Mitglieder pro Klick erhalten einstellen, da so die {OPEN_CONFIG}POINTS{CLOSE_CONFIG} abgebaut werden (Sie können an Accountaufladungen z.B. verdienen).', 4);
+ addAdminMenuSql('forced', 'stats_forced', 'Statistiken', 'Zeigt Gesamtstatistiken und zu den einzelnen Kampagnen und Werbmitteln an. Die hier angezeigte Statistik kann jedoch nicht manuell gelöscht werden (bitte auch nicht selber tun) da sie auch gleichzeitigt als Reload-Sperre dient.', 5);
+
+ // - Members
+ addMemberMenuSql('earn', 'forced_banner', 'Forced-Banner', 3);
+ addMemberMenuSql('earn', 'forced_textlink', 'Forced-Textlinks', 4);
+ addMemberMenuSql('extras', 'book_forced', 'Forced-Kampagne buchen', 3);
+
+ // Register Forced-PopUps with earning_data table
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_earning_data` (`earning_group`, `earning_provider`, `earning_sorting`) VALUES ('POPUP','FORCED_POPUP',1)");
+
+ // Register filters
+ registerFilter(__FILE__, __LINE__, 'add_forced_ads_types', 'FORCED_AD_TYPE_DEFAULTS', FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'member_earning_table_data', 'FORCED_POPUP_TABLE_DATA', FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'post_change_forced_campaign_status', 'FORCED_CHANGE_CAMPAIGN_STATUS', FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'pre_change_forced_campaign_status', 'FORCED_CHANGE_CAMPAIGN_VALIDATE_DATA', FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'handle_click_php', 'HANDLE_FORCED_AD_CLICK', FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'handle_view_php', 'HANDLE_FORCED_AD_VIEW', FALSE, TRUE, isExtensionDryRun());
+
+// [EOF]
+?>
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Konfiguration wird nun in dieser Erweiterung hinzugefügt (vorher: allgemeine <strong>tables.sql</strong>).");
break;
+
+ case '0.6.0': // SQL queries for v0.6.0
+ // Register filters
+ registerFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_SUBJECT' , FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_TEXT' , FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_TYPE' , FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_URL' , FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'pre_mail_order', 'MAIL_ORDER_GENERIC_CHECK_RECEIVER', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Filter für gesperrtes Werbeguthaben hinzugefügt.");
+ break;
} // END - switch
// [EOF]
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/25/2013 *
+ * =================== Last change: 06/25/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-setup.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Other administrative settings *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Weitere administrative Einstellungen *
+ * -------------------------------------------------------------------- *
+ * $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("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.0.2': // SQL queries for v0.0.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Speichern der Einstellungen vereinfacht. Es wird dazu die Funktion adminSaveSettings() verwendet.");
+ break;
+
+ case '0.0.3': // SQL queries for v0.0.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+ break;
+
+ case '0.0.4': // SQL queries for v0.0.4
+ addConfigAddSql('max_comma', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 3');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Angezeigte Kommastellen können zwischen 0 und 5 eingestellt werden.");
+ break;
+
+ case '0.0.5': // SQL queries for v0.0.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
+ break;
+
+ case '0.0.6': // SQL queries for v0.0.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen endlich beseitigt.");
+ break;
+
+ case '0.0.7': // SQL queries for v0.0.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Ausgabemodus der CSS-Dateien hinzugefügt. Bitte auch das Admin-Template aktualisieren!");
+ break;
+
+ case '0.0.8': // SQL queries for v0.0.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Erweiterung bleibt wegen integrierten Schalters immer aktiv.");
+ break;
+
+ case '0.0.9': // SQL queries for v0.0.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Abspeichern der Einstellungen repariert.");
+ break;
+
+ case '0.1.0': // SQL queries for v0.2.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Folgende Einstellungen können auf 0 gesetzt werden:
+<ol>
+<li>Selbe beworbene URL nicht mehr bewerbar (0 = URL kann sofort wieder gebucht werden)</li>
+<li>Gültigkeitsdauer der Bestätigungslinks (0 = Bestätigungslinks laufen nie ab)</li>
+<li>Sperrzeit des Mitgliedprofiles nach Änderung (0 = Mitglied kann sein Account immer und sofort ändern)</li>
+<li>Profilaktualisierungsinterval (0 = Es wird keine Mail zum Profilaktualisierunng durch das Mitglied ausgesendet(</li>
+<li>Erneute Aussendung der Mail (0 = Siehe oben)</li>
+</ol>");
+ break;
+
+ case '0.1.1': // SQL queries for v0.1.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Gast- und Mitgliedsmenüs lassen sich voneinander getrentt ein- und auschalten.");
+ break;
+
+ case '0.1.2': // SQL queries for v0.1.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
+ break;
+
+ case '0.1.3': // SQL queries for v0.1.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wort "Baustelle" vom Auto-Versand entfernt, da dieser nun klappt.");
+ break;
+
+ case '0.1.4': // SQL queries for v0.1.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+ break;
+
+ case '0.1.5': // SQL queries for v0.1.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+ break;
+
+ case '0.1.6': // SQL queries for v0.1.6
+ addConfigAddSql('reject_url', "VARCHAR(255) NOT NULL DEFAULT '{?URL?}'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Bei Ablehnung der URL wird jetzt endlich eine Standard-URL eingesetzt, die konfigurierbar ist. Fehler beim Laden der Konfiguration gefunden.");
+ break;
+
+ case '0.1.7': // SQL queries for v0.1.7
+ addConfigAddSql('currency', "VARCHAR(255) NOT NULL DEFAULT '€'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Standard-Währung der Gebühren für alle Erweiterungen geltend hinzugefügt.");
+ break;
+
+ case '0.1.8': // SQL queries for v0.1.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Die sonstigen Einstellungen lassen sich nun nur noch ändern, wenn die Erweiterung <strong>other</strong> auch installiert ist. Anderfalls gibt es einen SQL-Fehler beim Speichern und GROSS_GESCHRIEBENE Worte im Formular.");
+ break;
+
+ case '0.1.9': // SQL queries for v0.1.9
+ addConfigAddSql('mailid_error_redirect', "ENUM('INDEX','REJECT') NOT NULL DEFAULT 'INDEX'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Bei fehlerhafter Mail während der Bestätigung kann wahlweise zur Hauptseite weitergeleitet oder auf die eingestellte Ablehnungsseite umgeleitet werden.");
+ break;
+
+ case '0.2.0': // SQL queries for v0.2.0
+ addConfigChangeSql('mailid_error_redirect', 'mailid_error_redirect', "ENUM('INDEX','REJECT') NOT NULL DEFAULT 'INDEX'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Bei fehlerhafter Mail während der Bestätigung kann wahlweise zur Hauptseite weitergeleitet oder auf die eingestellte Ablehnungsseite umgeleitet werden.");
+ break;
+
+ case '0.2.1': // SQL queries for v0.2.1
+ addConfigAddSql('min_age', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 16');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Minimumalter ist nun konfigurierbar.");
+ break;
+
+ case '0.2.2': // SQL queries for v0.2.2
+ addConfigAddSql('display_debug_sqls', "ENUM('N','Y') NOT NULL DEFAULT 'N'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("(Fast) alle SQL-Abfragen lassen sich nun zu Debugging-Zwecken (!) einschalten. Nur der Administrator sieht diese unten am Ende der Seite.");
+ break;
+
+ case '0.2.3': // SQL queries for v0.2.3
+ addConfigAddSql('max_send', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 10');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlende Konfiguration hinzugefügt.");
+ break;
+
+ case '0.2.4': // SQL queries for v0.2.4
+ // Register filter
+ registerFilter(__FILE__, __LINE__, 'page_footer', 'DISPLAY_DEBUG_SQL', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Filter zum Anzeigen (Debug) von ausgeführten SQL-Anweisungen hinzugefügt.");
+ break;
+
+ case '0.2.5': // SQL queries for v0.2.5
+ addConfigAddSql('code_length', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 5');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Codelänge aus tables.sql rausgeholt.");
+ break;
+
+ case '0.2.6': // SQL queries for v0.2.6
+ addConfigAddSql('internal_stats', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Interne Statistiken sind nun abschaltbar (kann Performance bringen).");
+ break;
+
+ case '0.2.7': // SQL queries for v0.2.7
+ addConfigChangeSql('stats_enabled', 'internal_stats', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Der Suffix <strong>_enabled</strong> in Konfigurationseinträgen ist deprecated und sollte nicht mehr verwendet werden. Da sonst Wrapper-Funktionsnamen wie z.B. <strong>isStatsEnabledEnabled()</strong> nach streng genommender Namenskonvention entstehen.");
+ break;
+
+ case '0.2.8': // SQL queries for v0.2.8
+ addConfigChangeSql('mailid_error_redirect', 'mailid_error_redirect', "ENUM('INDEX','REJECT') NOT NULL DEFAULT 'INDEX'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("<strong>mailid_error_redirect</strong> bzw. alle ENUMs haben gross geschriebene Werte.");
+ break;
+
+ case '0.2.9': // SQL queries for v0.2.9
+ addConfigAddSql('word_wrap', 'TINYINT(3) NOT NULL DEFAULT 15');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Anzahl Zeichen für <strong>wordwrap()</strong>-Aufruf hinzugefügt.");
+ break;
+
+ case '0.3.0': // SQL queries for v0.3.0
+ addConfigAddSql('check_double_email', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+ addConfigAddSql('admin_notify', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+ addConfigAddSql('activate_xchange', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 100');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Konfiguration aus allgemeiner <strong>tables.sql</strong> zu dieser Erweiterung verschoben.");
+ break;
+ } // END - switch
+
+// [EOF]
+?>
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/27/2013 *
+ * =================== Last change: 06/27/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-update.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Payout extension *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Auszahlung-Erweiterung *
+ * -------------------------------------------------------------------- *
+ * $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.2': // SQL queries for v0.1.2
+ addAdminMenuSql('payouts', NULL, 'Auszahlungsmanagement','Management der Auszahlungsarten.',8);
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `action`='payouts',`title`='Einstellungen' WHERE `action`='setup' AND `what`='config_payouts' LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Adminmenü hinzugefügt.");
+ break;
+
+ case '0.1.3': // SQL queries for v0.1.3
+ addExtensionAddTableColumnSql('payout_types', 'from_account', "VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionAddTableColumnSql('payout_types', 'from_pass', "VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionAddTableColumnSql('payout_types', 'engine_url', "VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionAddTableColumnSql('payout_types', 'engine_ret_ok', "VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionAddTableColumnSql('payout_types', 'engine_ret_failed', "VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionAddTableColumnSql('payout_types', 'pass_enc', "ENUM('md5','base64','none') NOT NULL DEFAULT 'md5'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Daten für API-Auszahlung hinzugefügt.");
+ break;
+
+ case '0.1.4': // SQL queries for v0.1.4
+ addExtensionAddTableColumnSql('user_payouts', 'password', "VARCHAR(255) NOT NULL DEFAULT ''");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Passwort für Auszahlungsarten hinzugefügt (API).");
+ break;
+
+ case '0.1.5': // SQL queries for v0.1.5
+ addExtensionAddTableColumnSql('user_payouts', 'target_url', 'LONGTEXT NOT NULL');
+ addExtensionAddTableColumnSql('user_payouts', 'banner_url', 'LONGTEXT NOT NULL');
+ addExtensionAddTableColumnSql('user_payouts', 'link_text', "VARCHAR(30) NOT NULL DEFAULT ''");
+ addExtensionAddTableColumnSql('payout_types', 'allow_url', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Daten für Banner und Textlink hinzugefügt (eventuell durch ext-clickbanner veraltet).");
+ break;
+
+ case '0.1.6': // SQL queries for v0.1.6
+ addExtensionChangeTableColumnSql('payout_types', 'pass_enc', 'pass_enc', "ENUM('md5','base64','xxx') NOT NULL DEFAULT 'xxx'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Passwortverschlüsselung hinzugefügt.");
+ break;
+
+ case '0.1.8': // SQL queries for v0.1.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Auflistung der Auszahlungen ausgelagert in Template <span class=\"bad\">member_payout.tpl</span>.");
+ break;
+
+ case '0.1.9': // SQL queries for v0.1.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+ break;
+
+ case '0.2.0': // SQL queries for v0.2.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("5 Nachkommastellen implementiert.");
+ break;
+
+ case '0.2.1': // SQL queries for v0.2.1
+ addExtensionChangeTableColumnSql('user_payouts', 'payout_total', 'payout_total', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+ addExtensionChangeTableColumnSql('payout_types', 'rate', 'rate', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
+ break;
+
+ case '0.2.2': // SQL queries for v0.2.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Buttons aus Aufgabenauflisten ausgelagert");
+ break;
+
+ case '0.2.3': // SQL queries for v0.2.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
+ break;
+
+ case '0.2.4': // SQL queries for v0.2.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Ausgabe der Auszahlungsmöglichkeiten im Mitgliedsbereich repariert.");
+ break;
+
+ case '0.2.5': // SQL queries for v0.2.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
+ break;
+
+ case '0.2.6': // SQL queries for v0.2.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt.");
+ break;
+
+ case '0.2.7': // SQL queries for v0.2.7
+ // Update notes (these will be set as task text!)
+ 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("Work-Arount-Lösung zu temporären Problemen mit der Task-Id eingebaut.");
+ break;
+
+ case '0.2.9': // SQL queries for v0.2.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Nachricht an Admin bei Auszahlungsanfrage wird endlich versendet.");
+ break;
+
+ case '0.3.0': // SQL queries for v0.3.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.");
+ break;
+
+ case '0.3.1': // SQL queries for v0.3.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler in Auszahlungsfunktion beseitigt, wenn Umrechnungsrate ungleich 1 eingestellt ist.");
+ break;
+
+ case '0.3.2': // SQL queries for v0.3.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+ break;
+
+ case '0.3.3': // SQL queries for v0.3.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4.");
+ break;
+
+ case '0.3.4': // SQL queries for v0.3.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Anzahl zu überweisende {?POINTS?} müssen immer grösser 0 sein, ansonsten bricht das Script mit einer Fehlermeldung an das Mitglied ab.");
+ break;
+
+ case '0.3.5': // SQL queries for v0.3.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle.");
+ break;
+
+ case '0.3.6': // SQL queries for v0.3.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Hash-Erstellung von <strong>md5()</strong> auf bessere Funktion <strong>generateHash()</strong> umgestellt.");
+ break;
+
+ case '0.3.7': // SQL queries for v0.3.7
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Auszahlungsmanagement' WHERE `action`='payouts' AND (`what`='' OR `what` IS NULL) LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Verwaltung nach Management umgestellt.");
+ break;
+
+ case '0.3.8': // SQL queries for v0.3.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+ break;
+ } // END - switch
+
+// [EOF]
+?>
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/25/2013 *
+ * =================== Last change: 06/25/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-update.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Referral rallye *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Referral Rallyes starten *
+ * -------------------------------------------------------------------- *
+ * $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
+ addExtensionAddTableColumnSql('rallye_data', 'expired', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Ablaufen der Rallyes intergriert.");
+ break;
+
+ case '0.0.2': // SQL queries for v0.0.2
+ addExtensionAddTableColumnSql('rallye_users', 'curr_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Aktueller {?POINTS?}-Stand wird beachtet.");
+ break;
+
+ case '0.0.6': // SQL queries for v0.0.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler <span class=\"notice\">Unknown column 'd.useid' in 'on clause'</span> behoben.");
+ break;
+
+ case '0.0.7': // SQL queries for v0.0.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist.");
+ break;
+
+ case '0.0.8': // SQL queries for v0.0.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler <u>Template nicht gefunden</u> behoben und Admin-Formulare ausgelagert");
+ break;
+
+ case '0.0.9': // SQL queries for v0.0.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist. Und der vorherige Fehler <u>Template nicht gefunden</u> ist endlich beseitigt.");
+ break;
+
+ case '0.1.0': // SQL queries for v0.2.1
+ addExtensionChangeTableColumnSql('rallye_users', 'curr_points', 'curr_points', 'FLOAT(23,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("5 Nachkommastellen implementiert.");
+ break;
+
+ case '0.1.1': // SQL queries for v0.1.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+ break;
+
+ case '0.1.2': // SQL queries for v0.1.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
+ break;
+
+ case '0.1.3': // SQL queries for v0.1.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Anzeigefehler im Gast-/Mitgliedsbereich behoben.");
+ break;
+
+ case '0.1.4': // SQL queries for v0.1.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Admin-Mails korregiert.");
+ break;
+
+ case '0.1.5': // SQL queries for v0.1.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
+ break;
+
+ case '0.1.6': // SQL queries for v0.1.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
+ break;
+
+ case '0.1.7': // SQL queries for v0.1.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Aktivierte bzw. abgelaufene Rallyes werden nur ausserhalb des CSS-Modus geladen (wenn also nicht css.php aufgerufen wurde)");
+ break;
+
+ case '0.1.8': // SQL queries for v0.1.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Weitere Templates vom Admin-Bereich ausgelagert und Referral-Anazahl in der Mail zur Rallye-Ankündigung repariert.");
+ break;
+
+ case '0.1.9': // SQL queries for v0.1.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Funktion <u>generateUserProfileLink()</u> mit Verlinkung auf Referral-Liste implementiert.");
+ break;
+
+ case '0.2.0': // SQL queries for v0.2.0
+ addExtensionAddTableColumnSql('rallye_data', 'min_users', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+ addExtensionAddTableColumnSql('rallye_data', 'min_prices', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 3');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Ablaufen der Rallyes intergriert. Bauen Sie in Ihr Template <strong>templates/de/emails/member/member_rallye_notify.tpl</strong> folgende zwei Zeilen ein:<br />
+<ul>
+ <li>$DATA[min_users]</li>
+ <li>$DATA[min_prices]</li>
+</ul>
+Zudem sollten Sie mindestens folgende Templates (in <strong>templates/".getLanguage()."/html/guest/</strong> !) aktualisieren:<br />
+<ul>
+ <li><strong>guest_rallye_footer.tpl</strong></li>
+ <li><strong>guest_rallye_header.tpl</strong></li>
+</ul>");
+ break;
+
+ case '0.2.1': // SQL queries for v0.2.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
+ break;
+
+ case '0.2.2': // SQL queries for v0.2.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Links wegen <strong>what=admins_contct</strong> geändert.");
+ break;
+
+ case '0.2.3': // SQL queries for v0.2.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.");
+ break;
+
+ case '0.2.4': // SQL queries for v0.2.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+ break;
+
+ case '0.2.5': // SQL queries for v0.2.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Menüpunkt "Rallyes verwalten" repariert.");
+ break;
+
+ case '0.2.6': // SQL queries for v0.2.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Automatisches Starten von Referral-Rallyes repariert.");
+ break;
+
+ case '0.2.7': // SQL queries for v0.2.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fatalen Fehler beseitigt.");
+ break;
+
+ case '0.2.8': // SQL queries for v0.2.8
+ // Update notes (these will be set as task text!)
+
+ setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4.");
+ break;
+
+ case '0.2.9': // SQL queries for v0.2.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle.");
+ break;
+
+ case '0.3.0': // SQL queries for v0.3.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("if-Anweisungen auf Funktion <strong>empty()</strong> umgestellt.");
+ break;
+
+ case '0.3.1': // SQL queries for v0.3.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Erweiterung für automatisch generierte Admin-Kontaktlinks geändert.");
+ break;
+
+ case '0.3.2': // SQL queries for v0.3.2
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='rals',`title`='Referral-Rallye',`sort`=1 WHERE `what`='rallyes' LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut.");
+ break;
+
+ case '0.3.3': // SQL queries for v0.3.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Rallyes werden nun nur dann automatisch beseitigt, wenn die Erweiterung <strong>autopurge</strong> installiert und aktiviert ist.");
+ break;
+
+ case '0.3.4': // SQL queries for v0.3.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+ break;
+
+ case '0.3.5': // SQL queries for 0.3.5
+ // Register filter
+ registerFilter(__FILE__, __LINE__, 'extra_autopurge', 'RALLYE_EXTRA_AUTOPURGE', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Filter hinzugefügt und ist von <strong>sql_patches</strong> abhängig.");
+ break;
+
+ case '0.3.6': // SQL queries for v0.3.6
+ // Register points data
+ registerExtensionPointsData('rallye_winner', 'points', 'LOCKED', 'DIRECT');
+
+ // Update notes
+ setExtensionUpdateNotes("Gewinn aus der Referral-Rallye wird nun über die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
+ break;
+
+ case '0.3.7': // SQL queries for v0.3.7
+ // Register filter
+ registerFilter(__FILE__, __LINE__, 'init', 'RALLYE_NOTIFY_USERS', FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'add_rallye_notify_sqls', 'ADD_RALLYE_SQL_COLUMNS', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes
+ setExtensionUpdateNotes("Weitere Filter hinzugefügt.");
+ break;
+
+ case '0.3.8': // SQL queries for v0.3.8
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='list_rallye_prices' WHERE `action`='rallye' AND `what`='config_rallye_prices' LIMIT 1");
+
+ // Update notes
+ setExtensionUpdateNotes("Menü umbenannt, da "config" nur für die Konfigurationstabelle <strong>{?_MYSQL_PREFIX?}_config</strong> ist.");
+ break;
+ } // END - switch
+
+// [EOF]
+?>
// Register points data
registerExtensionPointsData('referral_bonus', 'points', 'LOCKED', 'DIRECT');
- registerExtensionPointsData('referral_bonus_ref', 'points', 'LOCKED', 'DIRECT');
// Update notes
setExtensionUpdateNotes("Anmeldeformular komplett auf drei Filter umgestrickt (mehr dazu siehe Wiki) und weitere Verwendungszwecke registriert.");
unregisterExtensionPointsData('pool_payback');
unregisterExtensionPointsData('mail_deleted');
unregisterExtensionPointsData('admin_add_single');
-unregisterExtensionPointsData('admin_add_single_ref');
unregisterExtensionPointsData('admin_add_all');
-unregisterExtensionPointsData('admin_add_all_ref');
// Unregister filter
unregisterFilter(__FILE__, __LINE__, 'member_login_check', 'RESET_USER_LOGIN_FAILURE', TRUE, isExtensionDryRun());
// Register points data
registerExtensionPointsData('admin_add_single', 'points', 'LOCKED', 'DIRECT');
- registerExtensionPointsData('admin_add_single_ref', 'points', 'LOCKED', 'DIRECT');
registerExtensionPointsData('admin_add_all', 'points', 'LOCKED', 'DIRECT');
- registerExtensionPointsData('admin_add_all_ref', 'points', 'LOCKED', 'DIRECT');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Filter zum Initialisieren von ext-sql_patches registriert und Einträge in <strong>{?_MYSQL_PREFIX?}_points_data</strong> hinzugefügt.");
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Spalten umbenannt, damit die Namen (Verwendung) nun eindeutiger sind.");
break;
+
+ case '0.9.9': // SQL queries for v0.9.9
+ addConfigAddSql('last_yearly', 'SMALLINT(4) UNSIGNED ZEROFILL NOT NULL DEFAULT ' . getYear());
+ addConfigChangeSql('pass_len', 'min_password_length', 'TINYINT(2) UNSIGNED NOT NULL DEFAULT 5');
+ addConfigAddSql('min_password_score', 'TINYINT(2) UNSIGNED NOT NULL DEFAULT 3');
+ addModuleSql('api', '{OPEN_LANGUAGE}MODULE_GENERIC_API_TITLE{CLOSE_LANGUAGE}', 'Y', 'Y', 'N', 'N');
+
+ // Make this depending on ext-mods
+ addExtensionDependency('mods');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Jahres-Reset + generelles API-Modul hinzugefügt.");
+ break;
} // END - switch
// [EOF]
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/25/2013 *
+ * =================== Last change: 06/25/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-setup.php *
+ * -------------------------------------------------------------------- *
+ * Short description : A visitor add-on for your members *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Ein Besuchertausch fuer Ihre Mitglieder *
+ * -------------------------------------------------------------------- *
+ * $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
+ // SQL commands to run (surfbar URLs)
+ addDropTableSql('surfbar_urls');
+ addCreateTableSql('surfbar_urls', "
+`url_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`url_userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`url_package_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`url` VARCHAR(255) NOT NULL DEFAULT '',
+`url_last_salt` VARCHAR(255) NOT NULL DEFAULT '',
+`url_views_total` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`url_views_max` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`url_views_allowed` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`url_status` ENUM('PENDING', 'ACTIVE', 'LOCKED', 'STOPPED', 'REJECTED', 'DELETED', 'MIGRATED', 'DEPLETED') NOT NULL DEFAULT 'PENDING',
+`url_registered` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`url_last_locked` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
+`url_lock_reason` VARCHAR(255) NOT NULL DEFAULT '',
+`url_reject_reason` VARCHAR(255) NOT NULL DEFAULT '',
+`url_fixed_reload` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`url_fixed_waiting` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+PRIMARY KEY (`url_id`),
+UNIQUE INDEX `userid_url` (`url_userid`, `url`),
+INDEX `status_userid` (`url_status`, `url_userid`),
+INDEX (`url_package_id`)",
+ 'Visitor add-on URLs');
+
+ // Booking packages for members
+ addDropTableSql('surfbar_packages');
+ addCreateTableSql('surfbar_packages', "
+`package_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`package_reload` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`package_waiting` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`package_points_costs` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
+`package_points_reward` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
+PRIMARY KEY (`package_id`),
+UNIQUE INDEX `package` (`package_reload`, `package_waiting`)",
+ 'Booking packages');
+
+ // Reload locks
+ addDropTableSql('surfbar_locks');
+ addCreateTableSql('surfbar_locks', "
+`locks_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`locks_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`locks_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`locks_last_surfed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+PRIMARY KEY (`locks_id`),
+UNIQUE INDEX `userid_url` (`locks_userid`, `locks_url_id`),
+INDEX (`locks_url_id`)",
+ 'Vistor-addon reload locks');
+
+ // Visitor add-on salts
+ addDropTableSql('surfbar_salts');
+ addCreateTableSql('surfbar_salts', "
+`salts_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`salts_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`salts_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`salts_last_salt` VARCHAR(255) NOT NULL DEFAULT '',
+PRIMARY KEY (`salts_id`),
+UNIQUE INDEX `salts_userid_url` (`salts_userid`, `salts_url_id`),
+INDEX (`salts_url_id`)",
+ 'Visitor add-on last used salts');
+
+ // Statistics
+ addDropTableSql('surfbar_stats');
+ addCreateTableSql('surfbar_stats', "
+`stats_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`stats_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`stats_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`stats_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`stats_last_surfed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+PRIMARY KEY (`stats_id`),
+UNIQUE INDEX `userid_url` (`stats_userid`, `stats_url_id`),
+INDEX (`stats_url_id`)",
+ 'Visitor add-on Statistics');
+
+ // Member actions pending on status
+ addDropTableSql('surfbar_actions');
+ addCreateTableSql('surfbar_actions', "
+`actions_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`actions_status` ENUM('PENDING', 'ACTIVE', 'LOCKED', 'STOPPED', 'REJECTED', 'DELETED', 'MIGRATED', 'DEPLETED') NULL DEFAULT NULL,
+`actions_action` ENUM('EDIT', 'DELETE', 'PAUSE', 'UNPAUSE', 'FRAMETEST', 'RETREAT', 'RESUBMIT', 'BOOKNOW') NULL DEFAULT NULL,
+`actions_new_status` ENUM('PENDING', 'ACTIVE', 'LOCKED', 'STOPPED', 'REJECTED', 'DELETED', 'MIGRATED', 'DEPLETED') NULL DEFAULT NULL,
+PRIMARY KEY (`actions_id`),
+UNIQUE INDEX `status_action` (`actions_status`, `actions_action`)",
+ 'Visitor add-on Member Actions');
+
+ // Member actions
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('PENDING', 'RETREAT', 'DELETED')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('PENDING', 'FRAMETEST',NULL)");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('PENDING', 'EDIT',NULL)");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('ACTIVE', 'EDIT', 'PENDING')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('ACTIVE', 'DELETE', 'DELETED')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('ACTIVE', 'PAUSE', 'STOPPED')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('ACTIVE', 'FRAMETEST',NULL)");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('LOCKED', 'DELETE', 'DELETED')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('LOCKED', 'FRAMETEST',NULL)");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('LOCKED', 'RESUBMIT', 'PENDING')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('STOPPED', 'EDIT', 'PENDING')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('STOPPED', 'DELETE', 'DELETED')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('STOPPED', 'UNPAUSE', 'PENDING')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('DEPLETED', 'EDIT', 'PENDING')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('DEPLETED', 'DELETE', 'DELETED')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('REJECTED', 'EDIT', 'PENDING')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('REJECTED', 'DELETE', 'DELETED')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('REJECTED', 'FRAMETEST',NULL)");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('REJECTED', 'RESUBMIT', 'PENDING')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('MIGRATED', 'EDIT', 'MIGRATED')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('MIGRATED', 'DELETE', 'DELETED')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('MIGRATED', 'FRAMETEST',NULL)");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`, `actions_action`, `actions_new_status`) VALUES ('MIGRATED', 'BOOKNOW', 'PENDING')");
+
+ // Config entries
+ addConfigAddSql('surfbar_payment_model', "ENUM('STATIC', 'DYNAMIC') NOT NULL DEFAULT 'STATIC'");
+ addConfigAddSql('surfbar_static_reward', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.25000');
+ addConfigAddSql('surfbar_static_costs', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 1.00000');
+ addConfigAddSql('surfbar_static_time', 'SMALLINT(6) UNSIGNED NOT NULL DEFAULT 60');
+ addConfigAddSql('surfbar_static_lock', 'SMALLINT(6) UNSIGNED NOT NULL DEFAULT ' . (60 * 5));
+ addConfigAddSql('surfbar_dynamic_percent', 'FLOAT(10,5) UNSIGNED NOT NULL DEFAULT 10.00000');
+ addConfigAddSql('surfbar_max_order', 'INT(7) UNSIGNED NOT NULL DEFAULT 10');
+ addConfigAddSql('surfbar_restart_time', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (60 * 6));
+ addConfigAddSql('surfbar_auto_start', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
+ addConfigAddSql('surfbar_migrate_urls', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
+ addConfigAddSql('surfbar_total_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+ addConfigAddSql('surfbar_daily_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+ addConfigAddSql('surfbar_yester_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+ addConfigAddSql('surfbar_weekly_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+ addConfigAddSql('surfbar_monthly_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+ addConfigAddSql('surfbar_stats_reload', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 30');
+ addConfigAddSql('surfbar_purge_deleted', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 7));
+ addConfigAddSql('surfbar_purge_migrated', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 3));
+ addConfigAddSql('surfbar_pause_mode', "ENUM('INTERNAL', 'EXERNAL') NOT NULL DEFAULT 'INTERNAL'");
+ addConfigAddSql('surfbar_pause_url', "VARCHAR(255) NOT NULL DEFAULT ''");
+ addConfigAddSql('surfbar_notify_limits', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
+ addConfigAddSql('surfbar_notify_admin_unlock', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
+ addConfigAddSql('surfbar_warn_low_points', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 100');
+ addConfigAddSql('surfbar_low_interval', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT {?ONE_DAY?}');
+ addConfigAddSql('surfbar_migrate_order', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
+ addConfigAddSql('surfbar_notification_mode', "ENUM('INSTANT', 'RESET') NOT NULL DEFAULT 'INSTANT'");
+ addConfigAddSql('surfbar_guest_login_form', "ENUM('Y', 'N') NOT NULL DEFAULT 'Y'");
+
+ // Extend user data
+ addExtensionAddTableColumnSql('user_data', 'surfbar_low_notified', "TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'");
+
+ // Member menus
+ addMemberMenuSql('surfbar', NULL, 'Besuchertausch', 4);
+ addMemberMenuSql('surfbar', 'start_surfbar', 'Besuchertausch starten', 1);
+ addMemberMenuSql('surfbar', 'book_surfbar', 'Seite buchen', 2);
+ addMemberMenuSql('surfbar', 'list_surfbar', 'Seiten-Management', 3);
+ addMemberMenuSql('surfbar', 'stats_surfbar', 'Seiten-Statistik', 4);
+
+ // Admin menus
+ addAdminMenuSql('surfbar', NULL, 'Besuchertausch', 'URLs im Besuchertausch verwalten, Einstellungen ändern und vieles mehr.', 7);
+ addAdminMenuSql('surfbar', 'add_surfbar_url', 'URL hinzufügen', 'Fügen Sie URLs z.B. von Werbenetzwerken hinzu, oder Ihre eigenen Projekte. <strong>Vorsicht!</strong> Ihnen muss es auch gestattet sein, URLs aus dem Werbenetzwerk im Besuchertausch einzufügen.', 1);
+ addAdminMenuSql('surfbar', 'list_surfbar_urls', 'URLs verwalten', 'Verwalten Sie hier alle im Besuchertausch befindlichen URLs mit nur wenigen Klicks.', 2);
+ addAdminMenuSql('surfbar', 'unlock_surfbar_urls', 'Wartende URLs freigeben', 'Geben Sie hier für den Besuchertausch gebuchte URLs frei.', 3);
+ addAdminMenuSql('surfbar', 'list_surfbar_packages', 'Buchungspakete verwalten', '"Buchungspakete" erlauben dem Mitglied nur von Ihnen definierte Reloadzeiten und Mindestauffenthalte.', 4);
+ addAdminMenuSql('surfbar', 'config_surfbar', 'Einstellungen', 'Einstellungen am Besuchertausch ändern, wie Festvergütung, prozentuale Ref-Vergütung und vieles mehr.', 5);
+ addAdminMenuSql('surfbar', 'surfbar_stats', 'Statistiken', 'Detailierte Statistiken zu einer ausgewählten URL anzeigen.', 6);
+ addAdminMenuSql('surfbar', 'list_surfbar_actions', 'Mitglieder-Aktionen', 'Listet alle Mitglieder-Aktionen auf.', 7);
+
+ // Register module
+ addModuleSql('surfbar', '{OPEN_LANGUAGE}MODULE_SURFBAR_TITLE{CLOSE_LANGUAGE}', 'Y', 'Y', 'N', 'N');
+
+ // Insert data for points accounts
+ registerExtensionPointsData('monthly_surfbar', 'points', 'LOCKED', 'DIRECT');
+
+ // Register filters
+ registerFilter(__FILE__, __LINE__, 'post_change_surfbar_url_status', 'SURFBAR_CHANGE_URL_STATUS', FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'pre_change_surfbar_url_status', 'SURFBAR_CHANGE_URL_VALIDATE_DATA', FALSE, TRUE, isExtensionDryRun());
+
+// [EOF]
+?>
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/25/2013 *
+ * =================== Last change: 06/25/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-update.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Task management *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Aufgabenverwaltung *
+ * -------------------------------------------------------------------- *
+ * $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("Veraltetes Update entfernt.");
+ break;
+
+ case '0.0.1': // SQL queries for v0.0.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Unnötige Script-Teile aus what-list_tasks.php herausgelöscht; beim Anzeigen einer Extension-Update, oder -Register Aufgabe werden bei eingeschaltetem Verbose-Modus alle SQL-Anweisungen aufgelistet.");
+ break;
+
+ case '0.0.4': // SQL queries for v0.0.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.0.5': // SQL queries for v0.0.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("&admin= in &amp;admin= umgewandelt.");
+ break;
+
+ case '0.0.6': // SQL queries for v0.0.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert.");
+ break;
+
+ case '0.0.7': // SQL queries for v0.0.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Erstellung der Extra-Übersichten verbessert.");
+ break;
+
+ case '0.0.8': // SQL queries for v0.0.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+ break;
+
+ case '0.0.9': // SQL queries for v0.0.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler bei Abfrage der payout-Erweiterung beseitigt.");
+ break;
+
+ case '0.1.0': // SQL queries for v0.2.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Task-Liste ausgelagert als Template");
+ break;
+
+ case '0.1.1': // SQL queries for v0.1.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Design "Solid-Business" eingebaut.");
+ break;
+
+ case '0.1.2': // SQL queries for v0.1.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
+ break;
+
+ case '0.1.3': // SQL queries for v0.1.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Link zum Mitgliedsprofil in Funktion <u>generateUserProfileLink()</u> ausgelagert.");
+ break;
+
+ case '0.1.4': // SQL queries for v0.1.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
+ break;
+
+ case '0.1.5': // SQL queries for v0.1.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Links wegen <strong>what=admins_contct</strong> geändert.");
+ break;
+
+ case '0.1.6': // SQL queries for v0.1.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Weitere Direkt-Links eingebaut:<br />
+<ul>
+ <li>Ländercodes</li>
+ <li>Wartende Verdopplungen</li>
+ <li><strong>Geändert:</strong> Wartende Auszahlungen</li>
+ <li>Teilnehmer an der Aktiv-Rallye</li>
+ <li>Nett hinweisende Linktitel hinzugefügt. :-)</li>
+</ul>");
+ break;
+
+ case '0.1.7': // SQL queries for v0.1.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Direkt Links zum Sponsorenbereich vorbereitend eingebaut.");
+ break;
+
+ case '0.1.8': // SQL queries for v0.1.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Es werden alle installierten und aktivierten Themes angezeigt und verlinkt.");
+ break;
+
+ case '0.1.9': // SQL queries for v0.1.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("CSS-Datei in general.css verschmolzen (Patch 435!)");
+ break;
+
+ case '0.2.0': // SQL queries for v0.2.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Alle Administratoren, Referral-Banner und aktivierte Referral-Banner werden nun eingeblendet.");
+ break;
+
+ case '0.2.1': // SQL queries for v0.2.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Problem mit überlanger Textbreite beseitigt.");
+ break;
+
+ case '0.2.2': // SQL queries for v0.2.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Link zum Freischalten von Sponoren-Accounts korregiert.");
+ break;
+
+ case '0.2.3': // SQL queries for v0.2.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Sortierungsreihenfolge grundlegend geändert: Es wird jetzt nach Mitglieds-Id, Aufgabenbereich, Infos und nach dem Erstellunsdatum sortiert.");
+ break;
+
+ case '0.2.4': // SQL queries for v0.2.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+ break;
+
+ case '0.2.5': // SQL queries for v0.2.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("<strong>Nur mit bonus v0.6.9 oder höher:</strong> Zuschaltbare Bonis werden auch bei der Ermittlung Anzahl teilnehmender Mitglieder mit ber&uumk;cksichtigt.");
+ break;
+
+ case '0.2.6': // SQL queries for v0.2.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Teilnehmer der Bettel-Rallye werden angezeigt.");
+ break;
+
+ case '0.2.7': // SQL queries for v0.2.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Link zum direkten Aufheben einer Urlaubsschaltung eines Mitgliedes korregiert.");
+ break;
+
+ case '0.2.8': // SQL queries for v0.2.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle.");
+ break;
+
+ case '0.2.9': // SQL queries for v0.2.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("if-Anweisungen auf Funktion <strong>empty()</strong> umgestellt. Update-Aufgaben werden nach "Bearbeitung" nicht mehr als <strong>Erledigt</strong> gesetzt. Dies hatte sonst den Anschein, die Update-Aufgaben müssten erledigt werden, um die Erweiterungs-Updates einzuspielen, was aber automatisch geschieht.");
+ break;
+
+ case '0.3.0': // SQL queries for v0.3.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Export-Accounts werden in Task-Übersicht aufgelistet.");
+ break;
+
+ case '0.3.1': // SQL queries for v0.3.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Diverse Fixes an den Templates (Notice-Hinweise vom PHP-Interpreter entfernt).");
+ break;
+
+ case '0.3.2': // SQL queries for v0.3.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Hängt nun von <u>ext-user</u> ab.");
+ break;
+
+ case '0.3.3': // SQL queries for v0.3.3
+ addExtensionChangeTableColumnSql('task_system', 'assigned_admin', 'assigned_admin', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionChangeTableColumnSql('task_system', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `assigned_admin`=NULL WHERE `assigned_admin`=0');
+ addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `userid`=NULL WHERE `userid`=0');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Zugewiesener Admin und User-Id dürfen nun NULL sein.");
+ break;
+ } // END - switch
+
+// [EOF]
+?>
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 01/14/2013 *
+ * =================== Last change: 01/14/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-setup.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Transactions *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Transaktionen *
+ * -------------------------------------------------------------------- *
+ * $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
+
+// [EOF]
+?>
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/25/2013 *
+ * =================== Last change: 06/25/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-setup.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Point transfers between members *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Punktetransfers zwischen Mitgliedern *
+ * -------------------------------------------------------------------- *
+ * $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
+ // Transfer from a member
+ addDropTableSql('user_transfers_in');
+ addCreateTableSql('user_transfers_in', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`from_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`reason` VARCHAR(255) NOT NULL DEFAULT '',
+`time_trans` VARCHAR(14) NOT NULL DEFAULT 0,
+`trans_id` VARCHAR(12) NOT NULL DEFAULT '',
+PRIMARY KEY (`id`),
+INDEX (`userid`),
+INDEX (`from_userid`)",
+ 'Ingoing points transfers');
+
+ // Transfers to a member
+ addDropTableSql('user_transfers_out');
+ addCreateTableSql('user_transfers_out', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`to_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`reason` VARCHAR(255) NOT NULL DEFAULT '',
+`time_trans` VARCHAR(14) NOT NULL DEFAULT 0,
+`trans_id` VARCHAR(12) NOT NULL DEFAULT '',
+PRIMARY KEY (`id`),
+INDEX (`userid`),
+INDEX (`to_userid`)",
+ 'Outgoing points transfers');
+
+ // Admin menu
+ addAdminMenuSql('transfer', NULL, '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transfer','Verwalten Sie hier die {OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transaktionen zwischen Ihren Mitgliedern.', 7);
+ addAdminMenuSql('transfer','list_transfer','Auflisten','Hier bekommen Sie alle ein- und ausgehende Transaktionen aufgelistet.', 1);
+ addAdminMenuSql('transfer','config_transfer','Einstellungen','Stellen Sie ein, wie viele Transaktionen aufgelistet werden sollen und wie alt diese werden dürfen. Die evtl. installierte autopurge-Erweiterung kann dann automatisch die veralteten Transktionen löschen.', 2);
+ addAdminMenuSql('transfer','del_transfer','Manuell löschen','Hier können Sie - abgesehen von der automatischen Löschung - Transaktionen selber löschen. Bitte beachten Sie, dass immer aus- und eingehende Transaktionen gleichzeitig gelöscht werden.', 3);
+
+ // Member menu
+ addMemberMenuSql('extras', 'transfer', '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transfer', 5);
+
+ // Add config values
+ addConfigAddSql('transfer_max', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 50');
+ addConfigAddSql('transfer_age', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 28));
+ addConfigAddSql('transfer_timeout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT {?ONE_DAY?}');
+ addConfigAddSql('transfer_balance', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 100');
+ addConfigAddSql('transfer_code', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 5');
+
+ // Add row(s) to user's data
+ addExtensionAddTableColumnSql('user_data', 'opt_in', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+
+// [EOF]
+?>
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/25/2013 *
+ * =================== Last change: 06/25/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-update.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Point transfers between members *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Punktetransfers zwischen Mitgliedern *
+ * -------------------------------------------------------------------- *
+ * $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.2': // SQL queries for v0.0.2
+ // 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.0.3': // SQL queries for v0.0.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Überflüssige unset()-Anweisungen aus der what-config_transfer.php entfernt. Dies wird bereits von der eigenen Funktion adminSaveSettings() erledigt.");
+ break;
+
+ case '0.0.3': // SQL queries for v0.0.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist.");
+ break;
+
+ case '0.0.5': // SQL queries for v0.0.5
+ addConfigAddSql('ap_transfer', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Link <span class=\"bad\">Auflisten</span> im Admin-Bereich hatte das eingeloggte Mitglied und nicht den eingeloggten Admin abgefragt. Automatisches Löschen von veraltete Einträgen kann unabhängig von der autopurge-Erweiterung de-/aktiviert werden. Bitte aktualisieren Sie auch die beiden Admin-Templates!");
+ break;
+
+ case '0.0.6': // SQL queries for v0.0.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert.");
+ break;
+
+ case '0.0.7': // SQL queries for v0.0.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+ break;
+
+ case '0.0.8': // SQL queries for v0.0.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Problem mit E in Transaktionsnummer beseitigt.");
+ break;
+
+ case '0.0.9': // SQL queries for v0.0.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
+ break;
+
+ case '0.1.0': // SQL queries for v0.2.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
+ break;
+
+ case '0.1.1': // SQL queries for v0.1.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Design "Solid-Business" eingebaut.");
+ break;
+
+ case '0.1.2': // SQL queries for v0.1.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
+ break;
+
+ case '0.1.3': // SQL queries for v0.1.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt.");
+ break;
+
+ case '0.1.4': // SQL queries for v0.1.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Link zum Mitgliedsprofil in Funktion <u>generateUserProfileLink()</u> ausgelagert.");
+ break;
+
+ case '0.1.5': // SQL queries for v0.1.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Template <u>admin_config_transfer_pro.tpl</u> ist überflüssig geworden. Bitte löschen Sie dies!");
+ break;
+
+ case '0.1.6': // SQL queries for v0.1.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
+ break;
+
+ case '0.1.7': // SQL queries for v0.1.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wort <strong>Punkte</strong> dynamisiert.");
+ break;
+
+ case '0.1.8': // SQL queries for v0.1.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.");
+ break;
+
+ case '0.1.9': // SQL queries for v0.1.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Parser-Error im Mitgliedsbereich beseitigt.");
+ break;
+
+ case '0.2.0': // SQL queries for v0.2.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+ break;
+
+ case '0.2.1': // SQL queries for v0.2.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Durchführung des Transfers korregiert.");
+ break;
+
+ case '0.2.2': // SQL queries for v0.2.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle.");
+ break;
+
+ case '0.2.3': // SQL queries for v0.2.3
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu_las` (`la_id`, `la_action`, `la_what`) VALUES ('member', '', 'list_transfer')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu_las` (`la_id`, `la_action`, `la_what`) VALUES ('member', '', 'del_transfer')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu_las` (`la_id`, `la_action`, `la_what`) VALUES ('config', '', 'config_transfer')");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Erweiterung in's neue Menüsystem integriert.");
+ break;
+
+ case '0.2.4': // SQL queries for v0.2.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("<strong>Touring-Code wiederholen</strong> nach <strong>Touring-Code eingeben</strong> hin geändert.");
+ break;
+
+ case '0.2.5': // SQL queries for v0.2.5
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras',`sort`=5 WHERE `what`='transfer' LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Eintrag im Mitgliedsmenü verschoben.");
+ break;
+
+ case '0.2.6': // SQL queries for v0.2.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Hash-Erstellung von <strong>md5()</strong> auf bessere Funktion <strong>generateHash()</strong> umgestellt.");
+ break;
+
+ case '0.2.7': // SQL queries for v0.2.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Die {?POINTS?} können nun wieder wie gewohnt transferiert werden. Der Grund für <span class=\"bad\">{--MEMBER_TRANSFER_INVALID_PASSWORD--}</span> war, dass der Cookie-Hash ein anderer ist, als der in der Datenbank... :-/");
+ break;
+
+ case '0.2.8': // SQL queries for v0.2.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlermeldung <span class=\"bad\">Notice: Undefined index: to_userid in {?PATH?}/inc/modules/member/what-transfer.php on line 301</span> gefixt. Danke an <a href=\"http://forum.mxchange.org/profile-8.html\" target=\"_blank\" title=\"Forumprofil von Piter01\">Piter01</a>.");
+ break;
+
+ case '0.2.9': // SQL queries for v0.2.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+ break;
+
+ case '0.3.0': // SQL queries for v0.3.0
+ // Register points data
+ registerExtensionPointsData('transfer', 'points', 'LOCKED', 'DIRECT');
+
+ // Update notes
+ setExtensionUpdateNotes("Ünerweisungen anderer Mitglieder werden nun über die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
+ break;
+ } // END - switch
+
+// [EOF]
+?>
addAdminMenuSql('user', 'lock_user', 'Mitglied sperren / entsperren', 'Sperren Sie Mitglied, die zu viele unbestätigte Mails haben oder gegen Ihre AGBs verstossen haben über diesen Menüpunkt.', 3);
addAdminMenuSql('user', 'list_user', 'Mitglieder auflisten', 'Listen Sie alle Mitglied oder eingeschränkt nach Suchkritieren Ihre Userdatenbank auf. Sie könen per Klick auf die Usernummer sich Details zum Mitglied ansehen.', 4);
addAdminMenuSql('user', 'add_points', '{OPEN_CONFIG}POINTS{CLOSE_CONFIG} gutschreiben', 'Buchen Sie einem Mitglied direkt {OPEN_CONFIG}POINTS{CLOSE_CONFIG} auf. Sie können dazu auch einen Kommentar mitsenden.', 5);
-addAdminMenuSql('user', 'edit_user', 'Account editieren', 'Daten eines Mitglieder-Accountes ändern.', 6);
+addAdminMenuSql('user', 'edit_user', 'Account editieren', 'Daten eines Mitgliedaccountes ändern.', 6);
addAdminMenuSql('user', 'list_refs', 'Referrals anzeigen', 'Mit diesem Menüpunkt können Sie die generierten Referrals eines Mitgliedes auflisten.', 7);
addAdminMenuSql('user', 'list_links', 'Unbestätigte Mails', 'Mit diesem Menüpunkt können Sie die vom Mitglied nicht bestätigten Mails anzeigen.', 8);
addAdminMenuSql('user', 'list_user_cats', 'Kategorien anzeigen', 'Listet die ausgewählten Kategorien eines Mitgliedes auf.', 9);
case '0.3.3': // SQL queries for v0.3.3
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Mitglieder sind nun per Formular kontaktierbar (es wird eine EMail versendet), gesperrte und bestätigte Mitglieder-Accounts sind seperat oder gemeinsam auflistbar (seperat nur mit der Erweiterung <span class=\"bad\">task</span>!)");
+ setExtensionUpdateNotes("Mitglieder sind nun per Formular kontaktierbar (es wird eine EMail versendet), gesperrte und bestätigte Mitgliedaccounts sind seperat oder gemeinsam auflistbar (seperat nur mit der Erweiterung <span class=\"bad\">task</span>!)");
break;
case '0.3.4': // SQL queries for v0.3.4
setExtensionUpdateNotes("Menüpunkt umbenannt um Platz für Konflikt mit <strong>what-config_cats.php</strong> zu schaffen.");
break;
} // END - switch
- break;
// [EOF]
?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// Mark it as initialized
$GLOBALS['filter_init'] = TRUE;
- } elseif ((!isInstallationPhase()) && (isExtensionInstalledAndNewer('sql_patches', '0.5.9'))) {
+ } elseif ((!isInstaller()) && (isExtensionInstalledAndNewer('sql_patches', '0.5.9'))) {
// Init add
$add = '';
if (isExtensionINstalledAndNewer('sql_patches', '0.6.0')) {
registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_DAILY_RESET');
registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_WEEKLY_RESET');
registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_MONTHLY_RESET');
+ registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_YEARLY_RESET');
registerFilter(__FUNCTION__, __LINE__, 'init', 'TRIGGER_SENDING_POOL');
// @TODO Remove this forced removal after a year or so
unregisterFilter(__FUNCTION__, __LINE__, 'init', 'DETERMINE_USERNAME', TRUE);
// Do monthly stuff, keep this entry first in this chain:
registerFilter(__FUNCTION__, __LINE__, 'monthly', 'RUN_MONTHLY_INCLUDES');
+ // Do yearly stuff, keep this entry first in this chain:
+ registerFilter(__FUNCTION__, __LINE__, 'yearly', 'RUN_YEARLY_INCLUDES');
+
// Remove extension
registerFilter(__FUNCTION__, __LINE__, 'extension_remove', 'REMOVE_EXTENSION');
// Is that filter already there?
if ((isset($GLOBALS['cache_array']['filter']['chains'][$filterName][$filterFunction])) && ($force === FALSE)) {
// In installation phase we always want to abort
- if (($silentAbort === FALSE) || (isInstallationPhase())) {
+ if (($silentAbort === FALSE) || (isInstaller())) {
// Add fatal message
reportBug(__FUNCTION__, __LINE__, sprintf("Filter chain %s has already filter function %s registered! file=%s,L=%s,force=%d", $filterName, $filterFunction, basename($file), $line, intval($force)));
} // END - if
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'filterName=' . $filterName . ',count()=' . count($GLOBALS['cache_array']['filter']['chains'][$filterName]));
$returnValue = $filterData;
+ // Remove any existing flag(s)
+ unset($GLOBALS['filter_chain_aborted']);
+
// Then run all filters
foreach ($GLOBALS['cache_array']['filter']['chains'][$filterName] as $filterFunction => $active) {
// Debug message
// Is this filter there?
if (!function_exists($filterFunction)) {
// Should be fixed
- reportBug(__FUNCTION__, __LINE__, 'filterName=' . $filterName . ',filterFunction=' . $filterFunction . ' - AUTO-UNREGISTERED!');
+ reportBug(__FUNCTION__, __LINE__, 'filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',active=' . $active . ' - AUTO-UNREGISTERED!');
} // END - if
// Call the filter chain
// Debug message
logDebugMessage(__FUNCTION__, __LINE__, 'Skipped: name=' . $filterName . ',func=' . $filterFunction . ',active=' . $active);
}
+
+ // Abort loop?
+ if (isFilterChainAborted()) {
+ // Yes, then abort here
+ break;
+ } // END - if
} // END - foreach
// Return the filtered content
$GLOBALS[__FUNCTION__][$ext_name] = FALSE;
// Construct include file name
- $incFileName = sprintf("inc/filter/%s_filter.php", $ext_name);
+ $incFileName = sprintf('inc/filter/%s_filter.php', $ext_name);
// Is the include file readable?
if (isIncludeReadable($incFileName)) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',result=' . intval($GLOBALS[__FUNCTION__][$ext_name]) . ' - EXIT!');
}
+// Checks whether the filter chain has been aborted
+function isFilterChainAborted () {
+ // Determine it
+ return ((isset($GLOBALS['filter_chain_aborted'])) && ($GLOBALS['filter_chain_aborted'] === TRUE));
+}
+
// [EOF]
?>
return $filterData;
}
+// Filter to check URL against blacklist
+function FILTER_CHECK_URL_BLACKLISTED ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+ // And shall I check that his URL is not in the black list?
+ if ((isUrlBlacklistEnabled()) && (isUrlBlacklisted($filterData['url']))) {
+ // Create redirect-URL
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('BLIST_URL') . '&blist=' . $GLOBALS['blacklist_data'][$filterData['url']]['timestamp'];
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+
+ // Set data for next filter chain
+ $filterData['init_done'] = FALSE;
+ $filterData['blacklisted'] = 'url';
+ $filterData['message'] = '{--URL_IS_BLACKLISTED--}';
+
+ // Run filter chain for successful detection (don't rely on other fields than 'IP') here
+ runFilterChain('post_url_blacklisted', $filterData);
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
// Filter for logging blacklisted email addresses, is being called from above filter
function FILTER_LOG_EMAIL_BLACKLISTED ($filerData) {
// Make sure, that required data is there
return $filterData;
}
+// Filter for logging blacklisted URLs, is being called from above filter
+function FILTER_LOG_URL_BLACKLISTED ($filerData) {
+ // Make sure, that required data is there
+ assert((isset($filterData['init_done'])) && ($filterData['blacklisted'] == 'url'));
+
+ // @TODO Insert log entry
+
+ // Return filtered data
+ return $filterData;
+}
+
// [EOF]
?>
} // END - if
// Filter to add default forced-ad types
-function FILTER_FORCED_AD_TYPE_DEFAULTS ($data) {
+function FILTER_FORCED_AD_TYPE_DEFAULTS ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
// Forced-Banner
array_push(
- $data,
+ $filterData,
array(
// Forced-Banner
'type' => 'BANNER',
);
// Return data
- return $data;
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
}
// Filter for collecting data for the member table
// Get max/min/count of all popups
// @TODO This part is unfinished
- //die(__FUNCTION__.':OK!');
+ die(__FUNCTION__ . ':filterData=<pre>' . print_r($filterData, TRUE) . '</pre>');
} // END - if
// Return filter data array
// Filter for changing URL status
function FILTER_FORCED_CHANGE_CAMPAIGN_STATUS ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
/*
// Do some dirty fixing here:
if (($filterData['data']['forced_campaign_status'] == 'STOPPED') && ($filterData['new_status'] == 'pending')) {
// Filter for validating status
function FILTER_FORCED_CHANGE_CAMPAIGN_VALIDATE_DATA ($filterData) {
- // Is the new status set?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+ // Is the new status set?
if ((!is_string($filterData['new_status'])) || (empty($filterData['new_status']))) {
// Abort here, not fine
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'newStatus[' . gettype($filterData['new_status']) . ']=' . $filterData['new_status'] . ' - EXIT!');
- $filterData['abort'] = FALSE;
+ $GLOBALS['filter_chain_aborted'] = FALSE;
} elseif ($filterData['data']['forced_campaign_status'] != $filterData['prev_status']) {
// Status is not like prevStatus
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $filterData['data']['forced_campaign_status'] . '!=' . $filterData['prev_status'] . ' - EXIT!');
- $filterData['abort'] = FALSE;
+ $GLOBALS['filter_chain_aborted'] = FALSE;
} // END - if
// Return filter data
// Filter for handling click on forced ad
function FILTER_HANDLE_FORCED_AD_CLICK ($filterData) {
- // Are all required parameters set?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
- die(__FUNCTION__.': CALLED!');
+ // Are all required parameters set?
+ die(__FUNCTION__ . ': filterData=<pre>' . print_r($filterData, TRUE) . '</pre>');
// Return filter data
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
// Filter for handling viewing forced banner
function FILTER_HANDLE_FORCED_AD_VIEW ($filterData) {
- // Are all required parameters set?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
- die(__FUNCTION__.': CALLED!');
+ // Are all required parameters set?
+ die(__FUNCTION__ . ': filterData=<pre>' . print_r($filterData, TRUE) . '</pre>');
// Return filter data
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 05/22/2013 *
+ * =================== Last change: 05/22/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : html_mail_filter.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Filters for ext-html_mail *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Filter fuer ext-html_mail *
+ * -------------------------------------------------------------------- *
+ * $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
+
+// Filter for checking HTML mail in ext-order
+function FILTER_CHECK_HTML_MAIL_ORDER ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // HTML or regular text mail?
+ if ($filterData['html'] == 'Y') {
+ // Chek for valid HTML tags
+ $checked = checkHtmlTags($filterData['text']);
+
+ // Maybe invalid tags found?
+ if (empty($checked)) {
+ // Invalid HTML tags found
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('INVALID_TAGS') . '&id=' . $filterData['id'];
+ } // END - if
+ } else {
+ // Remove any HTML code
+ $filterData['text'] = str_replace(array('<', '>'), array('{OPEN_HTML}', '{CLOSE_HTML}'), $filterData['text']);
+ }
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// [EOF]
+?>
return $filterData;
}
+// Filter for generic check of subject line
+function FILTER_MAIL_ORDER_GENERIC_CHECK_SUBJECT ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // Shall I test the subject line against URLs?
+ if (!isAllowUrlInSubjectEnabled()) {
+ // @TODO 200 is hard-coded here, swap it out to config + admin_config_order.tpl
+ $filterData['subject'] = str_replace(chr(92), '[nl]', substr($filterData['subject'], 0, 200));
+
+ // Check the subject line for unwanted things
+ if ((isInStringIgnoreCase('https://', $filterData['subject'])) || (isInStringIgnoreCase('http://', $filterData['subject'])) || (isInStringIgnoreCase('www', $filterData['subject']))) {
+ // URL in subject found
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('SUBJECT_URL');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for generic check of mail text
+function FILTER_MAIL_ORDER_GENERIC_CHECK_TEXT ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ if (!isAllowUrlInTextEnabled()) {
+ // Test submitted text against some filters (length, URLs in text etc.)
+ if ((isInStringIgnoreCase('https://', $filterData['text'])) || (isInStringIgnoreCase('http://', $filterData['text'])) || (isInStringIgnoreCase('www', $filterData['text']))) {
+ // URL found
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('URL_FOUND');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+
+ // Remove new-line and carriage-return characters
+ $TEST = str_replace(array(PHP_EOL, chr(13)), array('', ''), $filterData['text']);
+
+ // Text length within allowed length?
+ if (strlen($TEST) > getMaxTextLength()) {
+ // Text is too long!
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('OVERLENGTH');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for generic check of mail type
+function FILTER_MAIL_ORDER_GENERIC_CHECK_TYPE ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // Is mail type set?
+ if ((!isset($filterData['mail_type'])) || ($filterData['mail_type'] < 1)) {
+ // Not correctly set
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('NO_MAIL_TYPE');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for generic check of URL
+function FILTER_MAIL_ORDER_GENERIC_CHECK_URL ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // Validate URL
+ if (!isUrlValid($filterData['url'])) {
+ // URL is invalid!
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('INVALID_URL');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for generic check of receiver amount
+function FILTER_MAIL_ORDER_GENERIC_CHECK_RECEIVER ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // Enougth receivers entered?
+ if (($filterData['receiver'] < getOrderMin()) && (!isAdmin())) {
+ // Less than allowed receivers entered!
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS3');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
// [EOF]
?>
if ((!is_string($filterData['new_status'])) || (empty($filterData['new_status']))) {
// Abort here, but fine!
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'newStatus[' . gettype($filterData['new_status']) . ']=' . $filterData['new_status'] . ' - EXIT!');
- $filterData['abort'] = TRUE;
+ $GLOBALS['filter_chain_aborted'] = TRUE;
} elseif ($filterData['data'][$filterData['url_id']]['url_status'] != $filterData['prev_status']) {
// Status is not like prevStatus
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $filterData['data'][$filterData['url_id']]['url_status'] . '!=' . $filterData['prev_status'] . ' - EXIT!');
- $filterData['abort'] = FALSE;
+ $GLOBALS['filter_chain_aborted'] = FALSE;
} // END - if
// Return filter data
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/22/2013 *
+ * =================== Last change: 06/22/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : transaction_filter.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Filters for ext- *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Filter fuer ext- *
+ * -------------------------------------------------------------------- *
+ * $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
+
+// Filter for adding booking record
+function FILTER_LOG_TRANSACTION ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+ addBookingRecord($filterData['subject'], $filterData['userid'], $filterData['points'], $filterData['points_mode'], $filterData['column']);
+
+ // Log transaction
+ logTransaction($sender, $filterData['userid'], $GLOBALS['ref_level'], $amount, $filterData['points'], $filterData['subject']);
+
+ // Return data
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// [EOF]
+?>
initSqls();
// Is a database link here and not in installation mode?
- if ((!isSqlLinkUp()) && (!isInstallationPhase())) {
+ if ((!isSqlLinkUp()) && (!isInstaller())) {
// Abort here
reportBug(__FUNCTION__, __LINE__, 'No database link is up. Cannot flush filters.');
- } elseif ((isInstallationPhase()) && (!isSqlLinkUp())) {
+ } elseif ((isInstaller()) && (!isSqlLinkUp())) {
// If the link is not up in installation phase, skip flushing filters
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot flush filters: No link is up.');
return;
}
// Is the extension ext-sql_patches updated?
- if (((!isExtensionInstalled('sql_patches')) || (isExtensionInstalledAndOlder('sql_patches', '0.5.9'))) && (!isInstallationPhase())) {
+ if (((!isExtensionInstalled('sql_patches')) || (isExtensionInstalledAndOlder('sql_patches', '0.5.9'))) && (!isInstaller())) {
// Log only in debug mode
if (isDebugModeEnabled()) {
logDebugMessage(__FUNCTION__, __LINE__, 'Cannot flush filters, ext-sql_patches might be missing. isExtensionInstalled()=' . intval(isExtensionInstalled('sql_patches')) . ',isExtensionInstalledAndOlder()=' . intval(isExtensionInstalledAndOlder('sql_patches', '0.5.9')));
adminSolveTask($filterData['task_id']);
} else {
// Not detectable!
- reportBug(__FUNCTION__, __LINE__, sprintf("Cannot resolve task. data[%s]=<pre>%s</pre>", gettype($filterData), print_r($filterData, TRUE)));
+ reportBug(__FUNCTION__, __LINE__, sprintf('Cannot resolve task. data[%s]=<pre>%s</pre>', gettype($filterData), print_r($filterData, TRUE)));
}
// Return the data
// Is it an array?
if ((!isset($data)) || (!is_array($data))) {
// Then abort here
- reportBug(__FUNCTION__, __LINE__, sprintf("INC_POOL is no array! Type: %s", gettype($data)));
+ reportBug(__FUNCTION__, __LINE__, sprintf('INC_POOL is no array! Type: %s', gettype($data)));
} elseif (isset($data['inc_pool'])) {
// Use this as new inclusion pool!
setIncludePool($realPool, $data['inc_pool']);
preg_match_all('/\{\?(([a-zA-Z0-9-_]+)*)\?\}/', $code, $matches);
// Some entries found?
- if ((count($matches) > 0) && (count($matches[0]) > 0)) {
+ if ((isFilledArray($matches)) && (isFilledArray($matches[0]))) {
// Replace all matches
foreach ($matches[0] as $key => $match) {
// Is there cache?
$outputMode = getScriptOutputMode();
// Some entries found?
- if ((count($matches) > 0) && (count($matches[3]) > 0)) {
+ if ((isFilledArray($matches)) && (isFilledArray($matches[3]))) {
// Replace all matches
foreach ($matches[2] as $key => $eti) {
// Init replacer/call-back variable
} // END - if
}
+// Load more yearly scripts
+function FILTER_RUN_YEARLY_INCLUDES () {
+ // Is the reset set or old sql_patches?
+ if (((!isYearlyResetEnabled()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) && (isHtmlOutputMode())) {
+ // Then abort here
+ reportBug(__FUNCTION__, __LINE__, 'Cannot run yearly reset! enabled='.intval(isYearlyResetEnabled()).',isExtensionInstalledAndNewer='.intval(isExtensionInstalledAndNewer('sql_patches', '0.9.8')).' Please report this bug. Thanks');
+ } // END - if
+
+ // Is ext-sql_patches at least 0.9.8?
+ if (isExtensionInstalledAndNewer('sql_patches', '0.9.8')) {
+ // Has it changed?
+ if ((getLastYearly() != getYear()) || (isDebugYearlyEnabled())) {
+ // Include yearly reset scripts
+ setIncludePool('yearly', getArrayFromDirectory('inc/yearly/', 'yearly_'));
+
+ // Run the filter
+ runFilterChain('load_includes', 'yearly');
+ } // END - if
+ } // END - if
+}
+
// Filter for removing the given extension
function FILTER_REMOVE_EXTENSION () {
// Delete this extension (remember to remove it from your server *before* you click on welcome!
// Filter for determining what/action/module
function FILTER_DETERMINE_WHAT_ACTION () {
// In installation phase we don't have what/action
- if (isInstallationPhase()) {
+ if (isInstaller()) {
// Set both to empty
setAction('');
setWhat('');
// Filter for running hourly reset
function FILTER_RUN_HOURLY_RESET () {
// Only execute this filter if installed
- if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
+ if ((isInstaller()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
return;
} // END - if
// Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getLastHourly()=' . getLastHourly() . ',getHour()=' . getHour());
- if (((getLastHourly() != getHour()) || (isDebugHourlyEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
+ if (((getLastHourly() != getHour()) || (isDebugHourlyEnabled())) && (!isInstaller()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
// Tell every module we are in reset-mode!
doHourly();
} // END - if
// Filter for running daily reset
function FILTER_RUN_DAILY_RESET () {
// Only execute this filter if installed
- if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
+ if ((isInstaller()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
return;
} // END - if
// Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getLastDaily()=' . getLastDaily() . ',getDay()=' . getDay());
- if (((getLastDaily() != getDay()) || (isDebugDailyEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
+ if (((getLastDaily() != getDay()) || (isDebugDailyEnabled())) && (!isInstaller()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
// Tell every module we are in reset-mode!
doDaily();
} // END - if
// Filter for running weekly reset
function FILTER_RUN_WEEKLY_RESET () {
// Only execute this filter if installed
- if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
+ if ((isInstaller()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
return;
} // END - if
// Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getLastWeekly()=' . getLastWeekly() . ',getWeek()=' . getWeek());
- if (((getLastWeekly() != getWeek()) || (isDebugWeeklyEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
+ if (((getLastWeekly() != getWeek()) || (isDebugWeeklyEnabled())) && (!isInstaller()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
// Tell every module we are in reset-mode!
doWeekly();
} // END - if
// Filter for running monthly reset
function FILTER_RUN_MONTHLY_RESET () {
// Only execute this filter if installed
- if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
+ if ((isInstaller()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
return;
} // END - if
// Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getLastMonthly()=' . getLastMonthly() . ',getMonth()=' . getMonth());
- if (((getLastMonthly() != getMonth()) || (isDebugMonthlyEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
+ if (((getLastMonthly() != getMonth()) || (isDebugMonthlyEnabled())) && (!isInstaller()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
// Tell every module we are in reset-mode!
doMonthly();
} // END - if
}
+// Filter for running yearly reset
+function FILTER_RUN_YEARLY_RESET () {
+ // Only execute this filter if installed
+ if ((isInstaller()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
+ return;
+ } // END - if
+
+ // Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getLastYearly()=' . getLastYearly() . ',getYear()=' . getYear());
+ if (((getLastYearly() != getYear()) || (isDebugYearlyEnabled())) && (!isInstaller()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
+ // Tell every module we are in reset-mode!
+ doYearly();
+ } // END - if
+}
+
// Filter for loading more runtime includes (not for installation)
function FILTER_LOAD_RUNTIME_INCLUDES () {
// Load more includes
// Update module counter
function FILTER_COUNT_MODULE () {
// Is installation phase or no admin registered?
- if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered())) {
+ if ((isInstaller()) || (!isInstalled()) || (!isAdminRegistered())) {
// Then don't count any modules
return;
} // END - if
$content = '';
// Installation phase or regular mode?
- if ((isInstallationPhase())) {
+ if ((isInstaller())) {
// While we are installing ouput other header than while it is installed... :-)
$OUT = '';
foreach (getFatalArray() as $key => $value) {
function FILTER_DISPLAY_PARSING_TIME () {
// Shall we display the parsing time and number of queries?
// 1234 5 54 4 554 4 5543 3 4432 2 332 2 21
- if ((((isExtensionInstalledAndNewer('sql_patches', '0.4.1')) && (isShowTimingsEnabled()) && (isFullPage())) && (!isInstallationPhase())) && (isHtmlOutputMode()) && ($GLOBALS['__header_sent'] == 2)) {
+ if ((((isExtensionInstalledAndNewer('sql_patches', '0.4.1')) && (isShowTimingsEnabled()) && (isFullPage())) && (!isInstaller())) && (isHtmlOutputMode()) && ($GLOBALS['__header_sent'] == 2)) {
// Then display it here
displayParsingTime();
} // END - if
} // END - if
// Is there cached eval() data?
- if ((isset($GLOBALS['template_eval'])) && (count($GLOBALS['template_eval']) > 0)) {
+ if ((isset($GLOBALS['template_eval'])) && (isFilledArray($GLOBALS['template_eval']))) {
// Flush all
foreach ($GLOBALS['template_eval'] as $prefix => $templateArray) {
foreach ($templateArray as $template => $eval) {
// Filter to activate exchange
function FILTER_ACTIVATE_EXCHANGE () {
// Are the extension ext-user/other there?
- if ((!isExtensionActive('user')) || (!isExtensionActive('other')) || (getActivateXchange() == '0')) {
+ if ((!isExtensionActive('user')) || (!isExtensionInstalled('other')) || (isAjaxOutputMode()) || (getActivateXchange() == '0')) {
// Silently abort here
return FALSE;
} // END - if
// Init key
setConfigEntry('secret_key', '');
+ // File hash fas generated so we can also file the secret file... hopefully.
+ $hashFile = sprintf('%s%s.%s.cache', getPath(), getCachePath(), getFileHash());
+
// Read key from secret file
- if ((getFileHash() == '') || (getMasterSalt() == '') || (getPassScramble() == '')) {
+ if ((getFileHash() == '') || (getMasterSalt() == '') || (getPassScramble() == '') || (!isFileReadable($hashFile))) {
// Maybe need setup of secret key!
loadIncludeOnce('inc/gen_sql_patches.php');
} // END - if
// Test again
if ((getFileHash() != '') && (getMasterSalt() != '') && (getPassScramble() != '')) {
- // File hash fas generated so we can also file the secret file... hopefully.
- $hashFile = sprintf("%s%s.%s.cache", getPath(), getCachePath(), getFileHash());
-
// Is the secret key file readable?
if (isFileReadable($hashFile)) {
// Read file
setConfigEntry('secret_key', readFromFile($hashFile));
} else {
// Remove it from database
- updateConfiguration('file_hash', '');
+ updateConfiguration('file_hash', '', '', '0', TRUE);
// Cannot read secret file!
reportBug(__FILE__, __LINE__, 'Cannot read secret file! Please try to reload.');
function FILTER_DETERMINE_MENU_MODE_GENERIC ($filterData) {
// "Detect" it
switch (getModule()) {
+ case 'chk_login': // Is also faked
case 'confirm': // Login script is 'member'
+ case 'loader': // Is faked to 'member' to avoid indexing by search engines
+ case 'mailid': // Mail confirmation is 'member'
$filterData = 'member';
break;
} // END - switch
initSqls();
// Now insert our unqiue key for action-what combination
- addSql(sprintf("ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` DROP INDEX `action_what`", $menu));
- addSql(sprintf("ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` ADD UNIQUE INDEX `action_what` (`action`, `what`)", $menu));
+ addSql(sprintf('ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` DROP INDEX `action_what`', $menu));
+ addSql(sprintf('ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` ADD UNIQUE INDEX `action_what` (`action`, `what`)', $menu));
// Now insert our unqiue key for what
- addSql(sprintf("ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` DROP INDEX `what`", $menu));
- addSql(sprintf("ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` ADD UNIQUE INDEX `what` (`what`)", $menu));
+ addSql(sprintf('ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` DROP INDEX `what`', $menu));
+ addSql(sprintf('ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` ADD UNIQUE INDEX `what` (`what`)', $menu));
// And run all
runFilterChain('run_sqls');
function generatePassword ($length = '0', $exclude = array()) {
// Auto-fix invalid length of zero
if ($length == '0') {
- $length = getPassLen();
+ $length = getMinPasswordLength();
} // END - if
// Exclude some entries
// Fix "deleted" cookies
function fixDeletedCookies ($cookies) {
// Is this an array with entries?
- if ((is_array($cookies)) && (count($cookies) > 0)) {
+ if (isFilledArray($cookies)) {
// Then check all cookies if they are marked as deleted!
foreach ($cookies as $cookieName) {
// Is the cookie set to "deleted"?
} // END - if
}
+// Enables the yearly reset mode and runs it
+function doYearly () {
+ // Enable the reset mode
+ $GLOBALS['yearly_enabled'] = TRUE;
+
+ // Run filters
+ runFilterChain('yearly');
+
+ // Do not update in yearly debug mode
+ if ((!isConfigEntrySet('DEBUG_YEARLY')) || (!isDebugYearlyEnabled())) {
+ // Update database
+ updateConfiguration('last_yearly', getYear());
+ } // END - if
+}
+
// Shuts down the mailer (e.g. closing database link, flushing output/filters, etc.)
function doShutdown () {
// Call the filter chain 'shutdown'
if (isSqlLinkUp()) {
// Close link
sqlCloseLink(__FUNCTION__, __LINE__);
- } elseif (!isInstallationPhase()) {
+ } elseif (!isInstaller()) {
// No database link
reportBug(__FUNCTION__, __LINE__, 'Database link is already down, while shutdown is running.');
}
// Converts a zero or NULL to word 'NULL'
function convertZeroToNull ($number) {
// Is it a valid username?
- if ((!is_null($number)) && (!empty($number)) && ($number > 0)) {
+ if (isValidNumber($number)) {
// Always secure it
$number = bigintval($number);
} else {
// Converts a NULL|empty string|< 1 to zero
function convertNullToZero ($number) {
// Is it a valid username?
- if ((is_null($number)) || (empty($number)) || ($number < 1)) {
+ if (!isValidNumber($number)) {
// Is not valid or zero
$number = '0';
} // END - if
}
} // END - if
+// "Calculates" password strength
+function calculatePasswordStrength ($password, $configEntry = 'min_password_length') {
+ // Default score
+ $score = 1;
+
+ if ((strlen($password) < 1) || (strlen($password) < getConfig($configEntry))) {
+ // Is to weak
+ return 0;
+ } // END - if
+
+ // At least 8 chars long?
+ if (strlen($password) >= 8) {
+ // Add score
+ $score++;
+ } // END - if
+
+ // At least 10 chars long?
+ if (strlen($password) >= 10) {
+ // Add score
+ $score++;
+ } // END - if
+
+ // Lower and upper cases?
+ if ((preg_match('/[a-z]/', $password)) && (preg_match('/[A-Z]/', $password))) {
+ // Add score
+ $score++;
+ } // END - if
+
+ // Also numbers?
+ if (preg_match('/[0-9]/', $password)) {
+ // Add score
+ $score++;
+ } // END - if
+
+ // Special characters?
+ if (preg_match('/.[!,@,#,$,%,^,&,*,?,\/,_,~,+,-,(,)]/', $password)) {
+ // Add score
+ $score++;
+ } // END - if
+
+ // Return password score
+ return $score;
+}
+
+// "Translates" password strength/score
+function translatePasswordStrength ($strength) {
+ // Return it translated
+ return '{--PASSWORD_SCORE_' . bigintval($strength) . '--}';
+}
+
+// Checks whether given password is strong enough
+function isStrongPassword ($password) {
+ // Determine it
+ return (calculatePasswordStrength($password) >= getConfig('min_password_score'));
+}
+
+// "Getter" for base path from theme
+function getBasePathFromTheme ($theme) {
+ return sprintf('%stheme/%s/css/', getPath(), $theme);
+}
+
// [EOF]
?>
unset($masterSalt);
} // END - if
-if (getFileHash() == '') {
+if ((getFileHash() == '') || (!isFileReadable(getPath() . getCachePath() . '.' . getFileHash() . '.cache'))) {
// Create filename from hashed random string
$fileHash = sha1(generatePassword(mt_rand(128, 256)));
- $FQFN = sprintf("%s%s.%s.cache",
+ $FQFN = sprintf('%s%s.%s.cache',
getPath(),
getCachePath(),
$fileHash
if (isFileReadable($FQFN)) {
// Also update configuration
setConfigEntry('secret_key', $secretKey);
- updateConfiguration('file_hash', $fileHash);
+
+ // Force update
+ updateConfiguration('file_hash', $fileHash, '', '0', TRUE);
// Remove variables
unset($secretKey);
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/22/2013 *
+ * =================== Last change: 06/22/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : hourly_transaction.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Hourly reset for transaction hash *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Stuendlicher Reset fuer Transaktionshashes *
+ * -------------------------------------------------------------------- *
+ * $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();
+} elseif ((!isHtmlOutputMode()) || (isHourlyResetEnabled()) || (!isExtensionInstalledAndNewer('sql_patches', '0.7.5'))) {
+ // Do not execute when script is in non-HTML mode or no hourly reset
+ return;
+} elseif (!isExtensionActive('transaction')) {
+ if (isDebugModeEnabled()) logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension ext-transaction disabled.');
+ return;
+}
+
+// Debug line
+//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'hourly reset started.');
+
+sqlQuery("DELETE LOW_PRIORITY FROM
+ `{?_MYSQL_PREFIX?}_transaction_log`
+WHERE
+ (
+ `transaction_confirmed`='Y' AND
+ (UNIX_TIMESTAMP() - UNIX_TIMESTAMP(`transaction_timestamp`)) >= {?transaction_confirmed_purge_interval?}
+ ) OR (
+ `transaction_fee_collected`='Y' AND
+ (UNIX_TIMESTAMP() - UNIX_TIMESTAMP(`transaction_timestamp`)) >= {?transaction_confirmed_purge_interval?}
+ )", __FILE__, __LINE__
+);
+
+// Look for for "unhashed" transactions
+$result = sqlQuery("SELECT
+ `transaction_id`,
+ `transaction_sender`,
+ `transaction_receiver`,
+ `transaction_fee_sender`,
+ `transaction_fee_receiver`,
+ `transaction_original`,
+ `transaction_subject`,
+ `transaction_timestamp`
+FROM
+ `{?_MYSQL_PREFIX?}_transaction_log`
+WHERE
+ `transaction_hash`='INVALID' AND
+ `transaction_level` IS NULL
+ORDER BY
+ `transaction_id` ASC", __FILE__, __LINE__);
+
+// Are there some entries?
+if (sqlNumRows($result) > 0) {
+ // Load all
+ while ($row = sqlFetchArray($result)) {
+ // Generate hash from transaction data
+ $hash = generateHashFromTransactionData($row);
+
+ // Save hash in transaction
+ sqlQueryEscaped("UPDATE
+ `{?_MYSQL_PREFIX?}_transaction_log`
+SET
+ `transaction_hash`='%s',
+ `transaction_captcha`=%s
+WHERE
+ `transaction_id`=%s
+LIMIT 1",
+ array(
+ $hash,
+ bigintval($row['transaction_captcha']),
+ bigintval($row['transaction_id'])
+ ), __FILE__, __LINE__
+ );
+ } // END - while
+} // END - if
+
+// Free result
+sqlFreeResult($result);
+
+// Debug line
+//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'hourly reset ended.');
+
+// [EOF]
+?>
//* DEBUG: */ debugOutput('<strong>Response:</strong><pre>'.print_r($response, TRUE).'</pre>');
// Proxy agent found or something went wrong?
- if (count($response) == 0) {
+ if (!isFilledArray($response)) {
// No response, maybe timeout
$response = array('', '', '');
logDebugMessage(__FUNCTION__, __LINE__, 'Invalid empty response array, maybe timed out?');
$GLOBALS['http_headers'][] = getConfig('HTTP_EOL');
// Make sure at least one header is there (which is still not valid but okay here)
- assert((is_array($GLOBALS['http_headers'])) && (count($GLOBALS['http_headers']) > 0));
+ assert(isFilledArray($GLOBALS['http_headers']));
// Merge both together
return merge_array($GLOBALS['http_headers'], array(count($GLOBALS['http_headers']) => $body));
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 01/06/2013 *
+ * =================== Last change: 01/06/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : img- *
+ * -------------------------------------------------------------------- *
+ * Short description : Image tag for ext- *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Bild-Tag fuer ext- *
+ * -------------------------------------------------------------------- *
+ * $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();
+} elseif (!isExtensionActive('transaction')) {
+ redirectToUrl('img/captcha-error.png');
+ return;
+} elseif ((!isMember()) || (!isGetRequestElementSet('id')) && (!isValidId(getRequestElement('id')))) {
+ redirectToUrl('img/captcha-error.png');
+ return;
+}
+
+// Configure the CAPTCHA sub-system
+if (!generateCaptcha(array(
+ // Base image
+ 'base_image' => getPath() . 'inc/captcha-base.png',
+ // Code to display
+ 'code' => getCaptchaCodeFromTransactionId(getRequestElement('id')),
+))) {
+ // Not generated
+ redirectToUrl('img/captcha-error.png');
+} // END - if
+
+// [EOF]
+?>
// Is the include file there?
if (!isIncludeReadable($inc)) {
// Not there so log it
- reportBug(__FUNCTION__, __LINE__, sprintf("Include file %s not found or deprecated.", $inc));
+ reportBug(__FUNCTION__, __LINE__, sprintf('Include file %s not found or deprecated.', $inc));
} // END - if
// Add the path. This is why we need a trailing slash in config.php
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
'warn_no_pass' => 'other_config',
'write_footer' => 'other_config',
'enable_backlink' => 'other_config',
+ // first_admin
+ 'admin_login' => 'first_admin',
+ 'admin_email' => 'first_admin',
+ 'admin_password1' => 'first_admin',
+ 'admin_password2' => 'first_admin',
);
+
+ // Set mininmum password length/score and other config entries
+ setConfigEntry('min_password_length', 5);
+ setConfigEntry('min_password_score' , 3);
+ setConfigEntry('verbose_sql' , 'N');
}
// Write the local config-local.php file from "template"
// Handle all given failed fields
function handleInstallerFailedFields ($failedFields) {
// Don't do anything with no array or no entries
- if ((!is_array($failedFields)) || (count($failedFields) == 0)) {
+ if (!isFilledArray($failedFields)) {
// Abort here
reportBug(__FUNCTION__, __LINE__, 'failedFields[]=' . gettype($failedFields) . ' verification failed');
} // END - if
// Is the function there?
if (!function_exists($callbackName)) {
// Not found, which is not bad, but it means the post-check won't be run
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Call-back function ' . $callbackName . ' not found. saveStatus[status]=' . $saveStatus['status'] . ', currentTab=' . $currentTab);
+ /* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Call-back function ' . $callbackName . ' not found. saveStatus[status]=' . $saveStatus['status'] . ', currentTab=' . $currentTab);
// Abort here
- return;
+ return FALSE;
} // END - if
// Init 'tab-specific error message'
$isValid = (bool) call_user_func($callbackName, $currentTab);
// Is it not valid?
- if (($isValid === FALSE) || (count($GLOBALS['installer_failed_fields'][$currentTab]) > 0)) {
+ if (($isValid === FALSE) || (isFilledArray($GLOBALS['installer_failed_fields'][$currentTab]))) {
// Then change status and message
$saveStatus['status'] = 'failed';
$saveStatus['message'] = '{%message,INSTALLER_POST_CHECK_' . strtoupper($currentTab) . '_FAILED=' . $GLOBALS['installer_post_error'][$currentTab] . '%}';
// Is there failed fields?
- if (count($GLOBALS['installer_failed_fields'][$currentTab]) > 0) {
+ if (isFilledArray($GLOBALS['installer_failed_fields'][$currentTab])) {
// Then merge both
$saveStatus['failed_fields'] = merge_array($saveStatus['failed_fields'], $GLOBALS['installer_failed_fields'][$currentTab]);
} // END - if
if ((loadExtension($ext_name, 'test', '0.0.0', TRUE)) && (isExtensionProductive($ext_name)) && (substr($ext_name, 0, 10) != 'admintheme')) {
// Default is not disabled
$disabled = '';
- if ($ext_name == 'sql_patches') {
+ if (in_array($ext_name, array('sql_patches', 'timezone'))) {
// Always keep this enabled
$disabled = ' disabled="disabled"';
} // END - if
(isEmailValid($value))
||
// Or is there 'localhost/127.0.0.1' as hostname? Then don't check email address (e.g. you@localhost)
- (in_array(detectServerName(), array('localhost', '127.0.0.1')))
+ (isDeveloperSystem())
) && (
// Is not default "email address"
$value != getMessage('DEFAULT_WEBMASTER')
+ ) && (
+ strlen($value) >= 11
));
// Return it
// ----------------- Other configuration -----------------
+// ----------------- First administator -----------------
+
+// Call-back function to check validity of 'admin_login'
+function isInstallerAdminLoginValid ($value) {
+ // Length should not be shorter than 4 characters
+ return (strlen($value) >= 4);
+}
+
+// Call-back function to check validity of 'admin_email'
+function isInstallerAdminEmailValid ($value) {
+ // Just call webmaster-check function
+ return isInstallerWebmasterValid($value);
+}
+
+// Call-back function to check validity of 'admin_password1'
+function isInstallerAdminPassword1Valid ($value) {
+ // Check if it is strong
+ return isStrongPassword($value);
+}
+
+// Call-back function to check validity of 'admin_password2'
+function isInstallerAdminPassword2Valid ($value) {
+ // Check if it is strong
+ return isStrongPassword($value);
+}
+
// ----------------- Extensions -----------------
// Call-back function to check 'sel' (array!)
// Abort here
return FALSE;
- } elseif (count($engines) == 0) {
+ } elseif (!isFilledArray($engines)) {
// No engine is active
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_NO_ENGINES_ACTIVE--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_engine');
return $isValid;
}
+// Call-back function to check if first admin data is valid
+function isInstallerPostFirstAdminValid ($currentTab) {
+ // Is all data valid?
+ if (!isPostRequestElementSet('admin_login')) {
+ // Login not set
+ $GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_FIRST_ADMIN_LOGIN_EMPTY--}';
+ array_push($GLOBALS['installer_failed_fields'][$currentTab], 'admin_login');
+ return FALSE;
+ } elseif (strlen(postRequestElement('admin_login')) < 4) {
+ // Login to short
+ $GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_FIRST_ADMIN_LOGIN_SHORT--}';
+ array_push($GLOBALS['installer_failed_fields'][$currentTab], 'admin_login');
+ return FALSE;
+ } elseif (!isPostRequestElementSet('admin_email')) {
+ // Email address not set
+ $GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_FIRST_ADMIN_EMAIL_EMPTY--}';
+ array_push($GLOBALS['installer_failed_fields'][$currentTab], 'admin_email');
+ return FALSE;
+ } elseif (!isInstallerAdminEmailValid(postRequestElement('admin_email'))) {
+ // Invalid email address
+ $GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_FIRST_ADMIN_EMAIL_INVALID--}';
+ array_push($GLOBALS['installer_failed_fields'][$currentTab], 'admin_email');
+ return FALSE;
+ } elseif ((!isPostRequestElementSet('admin_password1')) && (isPostRequestElementSet('admin_password2'))) {
+ // Password 1 not set
+ $GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_FIRST_ADMIN_PASSWORD1_EMPTY--}';
+ array_push($GLOBALS['installer_failed_fields'][$currentTab], 'admin_password1');
+ return FALSE;
+ } elseif ((isPostRequestElementSet('admin_password1')) && (!isPostRequestElementSet('admin_password2'))) {
+ // Password 2 not set
+ $GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_FIRST_ADMIN_PASSWORD2_EMPTY--}';
+ array_push($GLOBALS['installer_failed_fields'][$currentTab], 'admin_password2');
+ return FALSE;
+ } elseif (postRequestElement('admin_password1') != postRequestElement('admin_password2')) {
+ // Passwords mismatch
+ $GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_FIRST_ADMIN_PASSWORDS_MISMATCH--}';
+ array_push($GLOBALS['installer_failed_fields'][$currentTab], 'admin_password1', 'admin_password2');
+ return FALSE;
+ } elseif (!isStrongPassword(postRequestElement('admin_password1'))) {
+ // Weak passwords entered
+ $GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_FIRST_ADMIN_PASSWORDS_WEAK--}';
+ array_push($GLOBALS['installer_failed_fields'][$currentTab], 'admin_password1', 'admin_password2');
+ return FALSE;
+ } // END - if
+
+ // All tests passed
+ return TRUE;
+}
+
// Store given tab in session
function installTabOkay ($currentTab) {
// Is it set?
importSqlDump('install', $dumpName, 'install');
}
+// Wrapper to check if tables.sql and menu-foo.sql are readable
+function isInstallerSqlsReadable ($path) {
+ // Determine it
+ return ((isFileReadable($path . 'install/tables.sql')) && (isFileReadable($path . 'install/menu-' . getLanguage() . '.sql')));
+}
+
// [EOF]
?>
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
loadIncludeOnce($inc);
} else {
// Not found, may be invalid page
- logDebugMessage(__FILE__, __LINE__, sprintf("Wrong install_page=%s detected", getRequestElement('install_page')));
+ logDebugMessage(__FILE__, __LINE__, sprintf('Wrong install_page=%s detected', getRequestElement('install_page')));
addTemplateToInstallContent('admin_settings_unsaved', '{%message,INSTALLER_WRONG_PAGE=' . getRequestElement('install_page') . '%}');
}
} else {
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
// Seems to work, also right database?
if (sqlSelectDatabase($GLOBALS['install_mysql']['dbase'], __FILE__, __LINE__) === TRUE) {
// Check for dumps
- if ((!isFileReadable(postRequestElement('spath') . 'install/tables.sql')) || (!isFileReadable(postRequestElement('spath') . 'install/menu-'.getLanguage().'.sql'))) {
+ if (!isInstallerSqlsReadable(postRequestElement('spath'))) {
// Installation area not found
reportBug(__FILE__, __LINE__, 'SQL dumps not found. Please extract ALL files from the archive or checkout all files out from SVN.');
return;
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!isInstallationPhase())) {
+if ((!defined('__SECURITY')) || (!isInstaller())) {
die();
} // END - if
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isInstallationPhase()) || (!isGetRequestElementSet('install_page'))) {
+} elseif ((!isInstaller()) || (!isGetRequestElementSet('install_page'))) {
return;
}
$return = $GLOBALS['messages'][getCurrentLanguage()][$messageId];
} else {
// Missing language constant
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Missing message string %s detected.", $messageId));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Missing message string %s detected.', $messageId));
}
// Return the string
// Generate filename
if ($ext_name == 'none') {
// Generic
- $languageInclude = sprintf("inc/language/%s.php", getLanguage());
+ $languageInclude = sprintf('inc/language/%s.php', getLanguage());
} else {
// Extension's language file
- $languageInclude = sprintf("inc/language/%s_%s.php", $ext_name, getLanguage());
+ $languageInclude = sprintf('inc/language/%s_%s.php', $ext_name, getLanguage());
}
// Look for file if no extension name is provided
loadLanguageInclude($ext_name);
} elseif ((isDebugModeEnabled()) && (isHtmlOutputMode()) && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme')) {
// No language file is not so good...
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("NOTICE: Extension %s has no language file or we cannot read from it. lang=%s, mode=%s",
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('NOTICE: Extension %s has no language file or we cannot read from it. lang=%s, mode=%s',
$ext_name,
getLanguage(),
getExtensionMode()
}
// Check for installation mode
- if ((isInstallationPhase()) || (!isAdminRegistered())) {
+ if ((isInstaller()) || (!isAdminRegistered())) {
// Load language file
loadLanguageInclude('install');
} // END - if
// Generate filename
if ($ext_name == 'none') {
// Generic
- $languageInclude = sprintf("inc/language/%s.php", getLanguage());
+ $languageInclude = sprintf('inc/language/%s.php', getLanguage());
} else {
// Extension's language file
- $languageInclude = sprintf("inc/language/%s_%s.php", $ext_name, getLanguage());
+ $languageInclude = sprintf('inc/language/%s_%s.php', $ext_name, getLanguage());
}
// Check it before loading
loadIncludeOnce($languageInclude);
} else {
// Not readable!
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Language file %s not found or readable.", $languageInclude));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Language file %s not found or readable.', $languageInclude));
}
}
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
'GUEST_ACTIVE_NO_MEMER_ONLINE_TODAY' => "Heute war noch kein einziges Mitglied online.",
'GUEST_ACTIVE_HEADER' => "Wir waren heute online.",
'GUEST_ACTIVE_FOOTER' => "Diese Mitglieder waren heute bei <strong>{?MAIN_TITLE?}</strong> eingeloggt.",
- 'ADMIN_CONFIG_ACTIVE_TITLE' => "Einstellungen an Aktiv-Liste",
- 'ADMIN_CONFIG_ACTIVE_LIMIT' => "Anzahl Einträge in Liste",
+ 'ADMIN_CONFIG_ACTIVE_TITLE' => "Einstellungen an Aktiv-Liste:",
+ 'ADMIN_CONFIG_ACTIVE_LIMIT' => "Anzahl Einträge in Liste:",
));
// [EOF]
'ADMIN_ADMINS_ADD_DONE' => "Das Admin-Account wurde angelegt.",
'ADMIN_ADMINS_EDIT_ACCOUNTS_TITLE' => "Admin-Accounts bearbeiten",
'ADMIN_ADMINS_EDIT_DELETE_ACCOUNTS_TITLE' => "Admin-Accounts verwalten",
- 'ADMIN_ADMINS_CONTACT' => "Admin-Login",
- 'ADMIN_ADMINS_EMAIL' => "E-Mail Adresse",
- 'ADMIN_ADMINS_PASSWORD' => "Passwort und Wiederholung",
+ 'ADMIN_ADMINS_CONTACT' => "Admin-Login:",
+ 'ADMIN_ADMINS_EMAIL' => "E-Mail Adresse:",
+ 'ADMIN_ADMINS_PASSWORD' => "Passwort und Wiederholung:",
'ADMIN_ADMINS_EDIT_NOTICE' => "Bitte beachten Sie, dass Sie nur dann das Passwort zweimal eingeben müssen, wenn Sie es ändern wollen. Wollen Sie nur die Daten ändern, brauchen Sie kein Passwort eingeben.",
'ADMIN_ADMINS_DELETE_ACCOUNTS_TITLE' => "Wollen Sie wirklich diese Accounts löschen?",
'ADMIN_ADMINS_CANNOT_DELETE_LAST' => "Das letzte Admin-Account kann nicht gelöscht werden.",
'ADMIN_ADMINS_SELECT_MODE' => "Zugriffsmodus auswählen",
'ADMIN_ADMINS_ACCESS_MODE_ALLOW' => "Erlauben",
'ADMIN_ADMINS_ACCESS_MODE_DENY' => "Ablehnen",
- 'ADMIN_ADMINS_ACCESS_MODE' => "Zugriffsmodus",
+ 'ADMIN_ADMINS_ACCESS_MODE' => "Zugriffsmodus:",
'ADMIN_ADMINS_ACL_NOTICE' => "Sperren Sie nicht sich selber aus, indem Sie den Zugriffsmodus Ihres eigenen Accountes auf <strong>{--ADMIN_ADMINS_ACCESS_MODE_DENY--}</strong> stellen! Dann können Sie zwar einloggen, aber nichts mehr machen.",
'ADMIN_ADMINS_SAME_MODE_SELECTED' => "Bitte wählen Sie den anderen Zugriffsmodus aus.",
'ADMIN_ADMINS_SELECT_ACTION_WHAT' => "Bitte wählen Sie ein Haupt- oder Untermenü aus.",
'ADMIN_ADMINS_ACL_ALREADY_ADDED' => "Zugriffskontrollzeile bereits hinzugefügt.",
'ADMIN_ADMINS_ACL_SAVED' => "Zugriffskontrollzeile gespeichert.",
'ADMIN_ADMINS_LIST_ACLS' => "Alle angelgten Zugriffkontrollzeilen auflisten",
- 'ADMIN_ADMINS_LOGIN_ID' => "Admin-Login",
+ 'ADMIN_ADMINS_LOGIN_ID' => "Admin-Login:",
'ADMIN_ADMINS_EDIT_ACLS_TITLE' => "Zugriffkontrollzeilen ändern",
'ADMIN_ADMINS_DELETE_ACLS' => "Zugriffkontrollzeilen löschen",
'ADMIN_ADMINS_CHANGE_ACLS_SUBMIT' => "Einträge ändern",
'ADMIN_ADMINS_ENTRIES_DELETED' => "Zugriffkontrollzeilen wurden gelöscht.",
'ADMIN_ADMINS_MAILS_NO_ENTRIES' => "Keine Einträge gefunden.",
'ADMIN_LIST_ADMINS_MAILS_TITLE' => "Admins-Mails verwalten",
- 'ADMIN_ADMINS_TEMPLATE' => "Mail-Template",
+ 'ADMIN_ADMINS_TEMPLATE' => "Mail-Template:",
'ADMIN_TO_ALL_ADMINS' => "An alle Admins",
'ADMIN_ADMINS_TO_USER_EVENTS' => "Im Userlog vermerken",
'ADMIN_ADMINS_NO_MAIL_CHECKED' => "Keine Mails zum Editieren ausgewählt.",
// Language definitions
addMessages(array(
// Admin lines
- 'ADMIN_CONFIG_AUTOPURGE_TITLE' => "Konfiguration der automatischen Löschungen",
+ 'ADMIN_CONFIG_AUTOPURGE_TITLE' => "Konfiguration der automatischen Löschungen:",
'ADMIN_CONFIG_AUTOPURGE_INACTIVE' => "Sollten inaktive Accounts erkannt und gelöscht werden?",
'ADMIN_CONFIG_AUTOPURGE_INACTIVE_SINCE' => "Dauer bis bestätigtes Account als inaktiv markiert wird:",
'ADMIN_CONFIG_AUTOPURGE_INACTIVE_TIME' => "Dauer bis inaktives Account gelöscht wird:",
// Points accounts - subject
'POINTS_SUBJECT_AUTOPURGE_ADD' => "Mailrückvergütung durch Autolöschung",
+ 'POINTS_SUBJECT_AUTOPURGE_ADD_REF' => "Anteilige Mailrückvergütung durch Autolöschung",
// Admin - for ext-task
'ADMIN_TASK_INACTIVE_AUTOPURGE' => "Inaktive Accounts",
'ADMIN_ADD_BANK_PACKAGE' => "Angebotspaket einstellen",
'ADMIN_BANK_FOOTER_NOTICE' => "Bitte beachten Sie, dass keine Mail zu den Mitgliedern unterwegs ist. Seien Sie bei Titel, Beschreibung und Freitext kreativ und schreiben Sie aussagekräftige Texte.",
'ADMIN_BANK_NO_PACKAGES_FOUND' => "Keine Angebotspakete zum Auflisten gefunden.",
- 'ADMIN_LIST_BANK_PACKAGES' => "Angebotspakete für Ihre Bank auflisten",
- 'ADMIN_LIST_BANK_PACKAGES_TITLE' => "Pakettitel",
- 'ADMIN_LIST_BANK_PACKAGES_DESCR' => "Paketbeschreibung",
- 'ADMIN_LIST_BANK_PACKAGES_ACCOUNT_FEE' => "Grundgebühr",
- 'ADMIN_LIST_BANK_PACKAGES_STATUS' => "Erwerbbar?",
- 'ADMIN_LIST_BANK_PACKAGES_ACCOUNT_INTEREST_PLUS' => "Zinsen f. Haben",
- 'ADMIN_LIST_BANK_PACKAGES_ACCOUNT_INTEREST_MINUS' => "Zinsen f. Soll",
- 'ADMIN_DELETE_BANK_PACKAGES' => "Angebotspakete entgültig entfernen",
+ 'ADMIN_LIST_BANK_PACKAGES_TITLE' => "Angebotspakete für Ihre Bank auflisten",
+ 'ADMIN_DELETE_BANK_PACKAGES_TITLE' => "Angebotspakete entgültig entfernen:",
'ADMIN_DELETE_BANK_PACKAGES_NOTICE' => "<strong>Hinweis:</strong> Wenn Sie die aufgelisteten Angebotspakete entgültig löschen, kann eventuell Ihre Bank nicht korrekt funktionieren, da eventuell einige Mitglieder dieses Paket ausgewählt haben. Bitte schauen Sie unter <span class=\"bad\">Konten auflisten</span> vorher nach.",
'ADMIN_EDIT_BANK_PACKAGES' => "Angebotspakete ändern",
'ADMIN_EDIT_BANK_PACKAGES_NOTICE' => "<strong>Hinweis:</strong> Derzeit keine Tipps für diese Aktion.",
-// Output modes
+ // Output modes
'BANK_OUTPUT_MODE_LOGIN' => "Nur im Mitgliedsbereich",
'BANK_OUTPUT_MODE_EMAIL' => "Per EMail&Mitgliedsbereich",
'BANK_OUTPUT_MODE_DISABLED' => "Keinen Zugriff",
+
+ // Generic messages
+ 'BANK_PACKAGES_TITLE' => "Pakettitel:",
+ 'BANK_PACKAGES_DESCR' => "Paketbeschreibung:",
+ 'BANK_PACKAGES_ACCOUNT_FEE' => "Grundgebühr:",
+ 'BANK_PACKAGES_STATUS' => "Erwerbbar?",
+ 'BANK_PACKAGES_ACCOUNT_INTEREST_PLUS' => "Zinsen f. Haben:",
+ 'BANK_PACKAGES_ACCOUNT_INTEREST_MINUS' => "Zinsen f. Soll:",
));
// [EOF]
'ADMIN_BEG_ALREADY_WITHDRAW' => "Manuelle Vergütungvorbereitung bereits betätigt.",
'BEG_RALLYE_NOTICE' => "Hinweis: Unter <strong>{--BEG_POINTS--}</strong> finden Sie Ihre gesamt erbettelten {?POINTS?} wieder.",
'BEG_RALLYE_CONDITIONS' => "Wer alles an der Bettel-Rallye teilnehmen kann",
- 'BEG_RALLYE_CONDITION_1' => "Es werden nur aktive und freigeschaltete Mitglieder berücksichtig.",
+ 'BEG_RALLYE_CONDITION_1' => "Es werden nur aktive und freigeschaltete Mitglieder berücksichtigt.",
'BEG_RALLYE_CONDITION_2' => "Es kann jeder dran teilnehmen, der Mitglied bei diesem {?mt_word?} (<strong>{?MAIN_TITLE?}</strong>) und freigegeben ist.",
- 'BEG_RALLYE_CONDITION_3' => "Zur Erstellung des Rallye-Ergebnisses werden alle erbettelten {?POINTS?} berücksichtig.",
+ 'BEG_RALLYE_CONDITION_3' => "Zur Erstellung des Rallye-Ergebnisses werden alle erbettelten {?POINTS?} berücksichtigt.",
'BEG_RALLYE_CONDITION_4' => "Der Rechtsweg ist ausgeschlossen.",
'MEMBER_LIST_BEG_RALLYE_TITLE' => "Derzeitiger Stand der Bettel-Rallye",
'BEG_LINK_HERE' => "Betteln Sie am Besten gleich los! Hier ist der Link dazu.",
'ADMIN_CONFIG_IP_BLACKLIST_ENABLED' => "Sperrliste für IP-Adressen aktivieren?",
'ADMIN_CONFIG_URL_BLACKLIST_ENABLED' => "Sperrliste für gebuchte URLs aktivieren?",
'ADMIN_CONFIG_BLACKLIST_NOTICE' => "<strong>Hinweise:</strong> Die Sperrliste für Email-Adressen gilt sowohl für die Mitgliedsanmeldung als auch wenn das Mitglied seine Daten ändert. Ist die vom Mitglied eingegebene Email-Adresse gesperrt, wird diese nicht angenommen. Die URL-Sperrliste gilt für alle Erweiterungen (Besuchertausch, Mailbuchung, Forced-Buchungen usw.).",
+ 'ADMIN_BLACKLIST_NO_SELECTIONS' => "Es wurden keine Auswahlen getroffen. Bitte wählen Sie mindestens einen Sperreintrag aus.",
+ 'ADMIN_BLACKLIST_404' => "Es wurden keine Einträge in der Sperrliste gefunden.",
));
// [EOF]
addMessages(array(
'MEMBER_BONUS_LOGIN_TOTAL' => "Login-Bonus",
'MEMBER_BONUS_TURBO_TOTAL' => "Aktiv-Bonus beim Best.",
- 'ADMIN_CONFIG_BONUS_TITLE' => "Einstellungen an Vergütungen",
+ 'ADMIN_CONFIG_BONUS_TITLE' => "Einstellungen an Vergütungen:",
'ADMIN_CONFIG_BONUS_LOGIN' => "Bonus für Login",
'ADMIN_CONFIG_BONUS_TURBO' => "Rang-Bonus für Erst-Klicker",
'ADMIN_CONFIG_TURBO_RATES' => "Bonus für Klicker 2 bis x",
'BONUS_SHOW_WRONG_TYPE' => "Falscher Typ an das Script übergeben! Bitte melden Sie sich <a href=\"mailto:{?WEBMASTER?}\">beim Webmaster</a> .",
'BONUS_SHOW_NO_DATA' => "Entweder haben Sie für diese Mail keine Aktiv-Vergütung erhalten oder der Link ist nicht mehr gültig.",
'MEMBER_BONUS_NO_RANKS' => "Es hat noch niemand {?POINTS?} zur Mail <span class=\"data\">%s</span> gewonnen! Sie könnten der erste sein! :-)",
- 'MEMBER_BONUS_LOGIN_TURBO_NOTICE' => "Der Login-, Referral-, Klickrate-, Mailbuchungs- und Bestätigungsbonus wird Ihnen nicht sofort vergütet, sondern erst am Ende jeden Monats in Form einer Aktiv-Rallye. Den Mailbuchungsbonus erhalten Sie erst bei Freischaltung Ihrer Mail auf das Bonus-Konto gutgeschrieben.",
+ 'MEMBER_BONUS_LOGIN_TURBO_NOTICE' => "Der Login-, Referral-, Klickrate-, Mailbuchungs- und Bestätigungsbonus wird Ihnen nicht sofort vergütet, sondern erst am Ende jeden Monats in Form <a href=\"{%url=modules.php?module=login&what=bonus%}\">einer Aktiv-Rallye</a>. Den Mailbuchungsbonus erhalten Sie erst bei Freischaltung Ihrer Mail auf das Bonus-Konto gutgeschrieben.",
'MEMBER_BONUS_POINTS_TITLE' => "Sonderbonus-{?POINTS?}",
'MEMBER_BONUS_RANK_YOU_ARE_404' => "Sie haben bis jetzt noch keine Aktiv-Vergütung erhalten.",
'BONUS_RANK' => "Platz",
'ADMIN_CONFIG_BONUS_TURBO_TIMEOUT_TITLE' => "Zeitabstände und Aufbewahrungszeiten",
'ADMIN_CONFIG_BONUS_TURBO_MISC_TITLE' => "Sonstige Einstellungen zur Bonus-Erweiterung",
'MEMBER_BONUS_REFERRAL_TOTAL' => "Referral-Bonus",
- 'MEMBER_BONUS_ORDER_TOTAL' => "Mailbestellungsbonus",
+ 'MEMBER_BONUS_ORDER_TOTAL' => "Mailbuchungsbonus",
'MEMBER_BONUS_STATS_TOTAL' => "100%-Klickratebonus",
'MEMBER_BONUS_RALLYE_DISABLED' => "Aktiv-Rallye derzeit nicht aktiv.",
'MEMBER_BONUS_STATS_SUBJECT' => "Ihr Aktiv-Bonus wegen 100% Klickrate",
// Language strings
addMessages(array(
+ // Admin config
+ 'ADMIN_CONFIG_BOOKING_PAGE_COUNT' => "Anzahl Einträge pro Seite:",
+ 'ADMIN_CONFIG_BOOKING_PURGE' => "Wie lange sollen Einträge für den Kontoauszug in der Datenbank verbleiben?",
+
// Admin member 'action' links
'ADMIN_USER_ACTION_LINK_LIST_BOOKING' => "Kontoauszug anzeigen",
'ADMIN_USER_ACTION_LINK_LIST_BOOKING_TITLE' => "Zeigt den Kontoauszug des Mitgliedes an.",
'ADMIN_BOOKING_404' => "Das ausgewählte Mitgliedaccount weist zur Zeit keine Kontobewegungen auf.",
// Admin titles
+ 'ADMIN_CONFIG_BOOKING_TITLE' => "Konfiguration zum Kontoauszug",
'ADMIN_LIST_BOOKING_RECORDS_TITLE' => "Alle Buchungen des Mitgliedes <span class=\"data\">{%get,generateUserProfileLink=userid%}</span> auflisten",
+ // Admin legend texts
+ 'ADMIN_CONFIG_BOOKING_LISTING_LEGEND' => "Auflisten von Auszugseinträgen:",
+ 'ADMIN_CONFIG_BOOKING_PURGING_LEGEND' => "Bereinigung der Tabelle:",
+
+ // Admin notices
+ 'ADMIN_CONFIG_BOOKING_NOTICE' => "<strong>Wichtig:</strong> Diese Tabelle kann bei vielen Mitgliedern sehr schnell gross werden, was bei kleineren Datenbankservern schnell zur Überlastung führen kann. Daher empfiehlt es sich, die Einträge schneller zu bereinigen und auch den Tabellentyp auf InnoDB zu setzen.",
+ 'ADMIN_LIST_BOOKING_NOTICE' => "<strong>Vorsicht:</strong> Mit Klick auf <strong>{--ADMIN_ACTION_DELETE_BOOKING_SUBMIT--}</strong> werden die Logbucheinträge ohne Sicherheitsabfrage gelöscht. Die Buchungen selbst werden nicht rückgängig gemacht.",
+
+ // Admin submit buttons
+ 'ADMIN_ACTION_DELETE_BOOKING_SUBMIT' => "Kontoauszug löschen",
+
// Member error messages
'MEMBER_BOOKING_404' => "Ihr Benutzerkonto weist noch keine Buchungen auf.",
// Generic messages
'BOOKING_RECORDED' => "Durchgeführt",
'BOOKING_COMMENTS' => "Kommentar",
-
- // Admin booking listing
- 'ADMIN_ACTION_DELETE_BOOKING_SUBMIT' => "Kontoauszug löschen",
- 'ADMIN_LIST_BOOKING_NOTICE' => "<strong>Vorsicht:</strong> Mit Klick auf <strong>{--ADMIN_ACTION_DELETE_BOOKING_SUBMIT--}</strong> werden die Logbucheinträge ohne Sicherheitsabfrage gelöscht. Die Buchungen selbst werden nicht rückgängig gemacht.",
));
// [EOF]
// Point account subjects
'POINTS_SUBJECT_COUPON_CASHED' => "Einlösung eines Gutscheins",
- 'POINTS_SUBJECT_CASHED_COUPON' => "Mitglied hat Gutschein eingelöst",
+ 'POINTS_SUBJECT_COUPON_CASHED_REF' => "Anteil an Einlösung eines Gutscheins",
));
// [EOF]
addMessages(array(
// Language elements - unsorted
// @TODO Please sort these language elements
+ 'MAILER_WARNING' => "Warnung:",
'MODULE_REGISTRY_404' => "Modul <span class=\"data\">{%pipe,getModule%}</span> existiert nicht.",
'MODULE_REGISTRY_LOCKED_404' => "Gsperrtes Modul <span class=\"data\">{%pipe,getModule%}</span> existiert nicht.",
'MODULE_REGISTRY_IS_LOCKED' => "Das Modul <span class=\"data\">{%pipe,getModule%}</span> wurde gesperrt.",
'ADMIN_ACCOUNT_FIRST_CREATION_LOGIN' => "Geben Sie einen Administrator-Loginnamen ein",
'ADMIN_ACCOUNT_FIRST_CREATION_PASSWORD1' => "Vergeben Sie dazu ein Passwort",
'ADMIN_ACCOUNT_FIRST_CREATION_PASSWORD2' => "Das Passwort erneut eingeben",
- 'ADMIN_NO_PASS' => "Kein Passwort eingegeben.",
+ 'ADMIN_NO_PASSWORD' => "Kein Passwort eingegeben.",
'CLEAR_FORM' => "Nochmal eingeben",
'ADMIN_ACCOUNT_FIRST_CREATION_SUBMIT' => "Admin-Account erstellen",
'ADMIN_NO_LOGIN' => "Sie haben keinen Loginnamen eingegeben.",
'ADMIN_NO_PASSWORD1' => "Sie haben kein Passwort eingegeben.",
'ADMIN_NO_PASSWORD2' => "Sie haben keine Passwortwiederholung eingegeben.",
- 'ADMIN_SHORT_PASSWORD1' => "Das Passwort ist zu kurz! Mindestens {?minium_admin_pass_length?} Zeichen.",
- 'ADMIN_SHORT_PASSWORD2' => "Die Passwortwiederholung ist zu kurz! Mindestens {?minium_admin_pass_length?} Zeichen.",
- 'ADMIN_SHORT_PASS' => "Ihr Administratorpasswort ist zu kurz! Mindestens {?minium_admin_pass_length?} Zeichen",
+ 'ADMIN_WEAK_PASSWORD1' => "Das Passwort ist zu schwach. Mindestens: <strong>{%config,translatePasswordStrength=min_password_score%}</strong>.",
+ 'ADMIN_WEAK_PASSWORD2' => "Die Passwortwiederholung ist zu schwach. Mindestens: <strong>{%config,translatePasswordStrength=min_password_score%}</strong>.",
+ 'ADMIN_WEAK_PASSWORD' => "Ihr Administratorpasswort ist zu schwach. Mindestens: <strong>{%config,translatePasswordStrength=min_password_score%}</strong>.",
'ADMIN_PASSWORD1_MISMATCH' => "Das Passwort stimmt nicht mit der Wiederholung überein.",
'ADMIN_PASSWORD2_MISMATCH' => "Die Passwortwiederholung stimmt nicht mit dem Passwort überein.",
'ADMIN_LOGIN_ALREADY_REG' => "Das von Ihnen eingegebene Admin-Login existiert bereits.",
'ENTER_EMAIL' => "Bitte geben Sie Ihre Email-Adresse ein! Diese muss auch erreichbar sein.",
'ENTER_SURNAME' => "Bitte geben Sie Ihren Vornamen ein.",
'ENTER_FAMILY' => "Bitte geben Sie Ihren Nachnamen ein.",
- 'ADMIN_CONFIG_MINIMUM_PASSWORD_LENGTH' => "Minimale Passwortlänge",
'SETTINGS_NOT_SAVED' => "Einstellungen NICHT gespeichert / geändert.",
'SETTINGS_SAVED' => "Einstellungen gespeichert.",
'FATAL_CANNOT_LOAD_CONFIG' => "Kann die Konfigurationsdaten nicht laden! Vermutlich richtet der Webmaster diesen {?mt_word?} gerade das Script erst ein! Bitte schauen Sie später noch einmal vorbei.",
'ADMIN_ACTION_INVALID' => "Die action/what-Kombination <span class=\"data\">%s</span> ist ungültig.",
- 'GUEST_SHORT_PASS' => "Das eingegebene Passwort ist nach unseren Sicherheitseinstellungen zu kurz. Mindestlänge ist",
+ 'GUEST_WEAK_PASSWORD' => "Das eingegebene Passwort ist nach unseren Sicherheitseinstellungen zu schwch. Mindeststärke: <strong>{%config,translatePasswordStrength=min_password_score%}</strong>",
'GUEST_EMPTY_PASSWORD_HINT' => "Lassen Sie beide Passwörter leer, so wird Ihnen eines generiert.",
'ADMIN_ENTER_POINTS_REGISTER' => "Willkommensgutschrift",
'ADMIN_ENTER_POINTS_REFERRAL' => "Einmalige Referral-Gutschrift",
'CHOOSE_MORE_CATEGORIES' => "Bitte wählen Sie mehr Kategorien aus! Minimum ist: <span class=\"data\">{?least_cats?}</span>",
'ADMIN_EDIT_POINTS' => "Willkommensgutschrift und andere Festbeträge editieren",
+ 'MEMBER_LIST_UNCONFIRMED_MAILS_TITLE' => "Ihre unbestätigten Mails:",
// Referral levels (admin/generic)
'ADMIN_ADD_NEW_REFERRAL_DEPTH_TITLE' => "Neue Referral-Ebene hinzufügen",
'LIFE_MONTHS' => "Monat(e)",
'LIFE_YEARS' => "Jahr(e)",
'MODULE_MEMBER_ONLY' => "Auf das ausgewählte Modul <span class=\"data\">%s</span> dürfen nur eingeloggte Mitglieder zugreifen.",
+ 'MODULE_GENERIC_API_TITLE' => "Generelle API",
'MEMBER_404_ACTION' => "Das Mitgliedsaktionsmodul <span class=\"data\">%s</span> ist nicht auffindbar.",
'USERNAME_GUEST' => "Gast",
'USERNAME_INSTALLER' => "Installation",
'REFERRAL_CLICKS_SHORT' => "Klicks",
'REFERRAL_VIEWS' => "Views",
'REFERRAL_IS_ACTIVE' => "Aktiv?",
- 'POINTS_USED' => "Verbrauchte {?POINTS?}",
- 'MEMBER_POINTS_LEFT' => "{?POINTS?}-Guthaben zum Mailversand übrig",
+ 'POINTS_USED' => "Verbrauchte {?POINTS?}:",
+ 'MEMBER_POINTS_LEFT' => "{?POINTS?}-Guthaben zum Mailversand übrig:",
'MEMBER_SELECT_MAIL_TYPE' => "Mailart auswählen:",
- 'PLEASE_SELECT' => "Bitte auswählen",
+ 'PLEASE_SELECT' => "Bitte auswählen:",
'PER_MAIL' => "{?POINTS?} / Mail",
'PAYMENT' => "{?POINTS?} Vergütung",
'SELECT_CATEGORY' => "Zielkategorie auswählen:",
'ADMIN_EDIT_PAYMENT_TITLE' => "Mailvergütungen editieren",
'ADMIN_CHANGE_PAYMENT' => "Mailvergütungen ändern",
'ADMIN_REMOVE_PAYMENT' => "Mailvergütungen löschen",
- 'REFERRALS' => "Referrals",
+ 'REFERRAL_COUNT' => "Referrals:",
'MEMBER_PART_POINTS' => "Teilsummen",
'KBYTES' => "KBytes",
'MEBER_UPDATE_PWD_WRONG' => "Sie haben das falsche Passwort eingegeben! Bitte nochmal versuchen.",
'ADMIN_ONLINE_DETAILS' => "Detailierte Statistik für alle Besucher",
'_REFID' => "Ref-Id",
'_MODULE' => "Modul",
- 'ADMIN_MENU_ACTION' => "Hauptmenü",
- 'ADMIN_MENU_WHAT' => "Untermenü",
+ 'ADMIN_MENU_ACTION' => "Hauptmenü:",
+ 'ADMIN_MENU_WHAT' => "Untermenü:",
'_IS_ADMIN' => "Administrator",
'_IS_GUEST' => "Gast",
'LAST_SEEN' => "Zuletzt gesehen",
'ADMIN_ID_404' => "ID <span class=\"data\">%s</span> nicht gefunden.",
// Columns for listing tasks
- 'ADMIN_ASSIGNED_ADMIN' => "Zugewiesener Admin",
- 'ADMIN_ASSIGNED_ADMIN_EMAIL' => "Admin",
- 'ADMIN_MEMBER_USERID' => "ID des Mitgliedes",
- 'ADMIN_MEMBER_USERID_EMAIL' => "Mitglied-Id",
+ 'ADMIN_TASK_ASSIGNED_ADMIN' => "Zugewiesener Admin",
+ 'ADMIN_TASK_ASSIGNED_ADMIN_EMAIL' => "Admin:",
+ 'ADMIN_ASSIGNED_USERID' => "ID des Mitgliedes",
+ 'ADMIN_ASSIGNED_USERID_EMAIL' => "Mitglied-Id:",
'ADMIN_TASK_TYPE' => "Aufgabenbereich",
- 'ADMIN_TASK_TYPE_EMAIL' => "Aufgabenbereich",
'ADMIN_TASK_CREATED' => "Aufgabe erstellt",
'ADMIN_TASK_CREATED_EMAIL' => "Erstellt",
'ADMIN_IS_SYSTEM_TASK' => "System-Task",
'ADMIN_TASK_SUBJECT' => "Aufgabenbetreff",
'ADMIN_TASK_TEXT' => "Aufgabentext",
- 'ADMIN_REGISTER_EXTENSION' => "Installieren",
- 'ADMIN_REGISTER_EXTENSION_TITLE' => "Erweiterung sofort installieren",
+ 'ADMIN_TASK_REGISTER_EXTENSION' => "Installieren",
+ 'ADMIN_TASK_REGISTER_EXTENSION_TITLE' => "Erweiterung sofort installieren",
'ADMIN_EXTENSION_IS_DEPRECATED_TITLE' => "Erweiterung wird nicht mehr verwendet (deprecated).",
- 'ADMIN_SELECTED_TASKS_ASSIGN' => "Zum Bearbeiten ausgewählte Aufgaben",
+ 'ADMIN_SELECTED_TASKS_ASSIGN' => "Zum Bearbeiten ausgewählte Aufgaben:",
'ADMIN_EXTENSION_REGISTRATION_FAILED_INVALID' => "Registrierung fehlgeschlagen: Ungültige id übermittelt.",
'ADMIN_EXTENSION_REGISTRATION_FAILED_ID_404' => "Registrierung fehlgeschlagen: Erweiterung-Id nicht auffindbar.",
'ADMIN_EXTENSION_REGISTRATION_FAILED_404' => "Registrierung fehlgeschlagen: Erweiterung <span class=\"data\">%s</span> nicht auffindbar.",
'_ON' => "an",
'MEMBER_CLICK_STATISTICS' => "Mail-Statistik",
'ADMIN_CONFIG_SELECT_DEFAULT_REFID' => "Standard Referral-Id bei Anmeldung über <strong>keinen</strong> Ref-Link",
- 'ADMIN_CONFIG_SELECT_REFID_TARGRT' => "Ziel-Seite des Referral-Linkes",
+ 'ADMIN_CONFIG_SELECT_REFID_TARGRT' => "Ziel-Seite des Referral-Linkes:",
'ADMIN_CONFIG_REFERRAL_TARGET_REGISTER' => "Zur Anmeldeseite",
'ADMIN_CONFIG_REFERRAL_TARGET_INDEX' => "Zur Eingangsseite",
'ADMIN_INSTALLER_THEME' => "Theme importieren",
'ADMIN_LOGOUT_QUESTION' => "Wollen Sie sich jetzt ausloggen?",
'ADMIN_LA_MODE' => "Menütyp",
'ADMIN_ACCOUNT_NOREFS_404' => "Es wurden keine Mitgliederaccounts ohne Werber gefunden, oder verändern Sie die Aussortierung.",
- 'ADMIN_CONFIG_SALT_LENGTH' => "Länge des "Salz-Hhashes" für alle Passwörter",
'MEMBER_PASSWORD_ERROR' => "Fehler beim Abgleichen der Passwörter.",
'ADMIN_PASS_SALTED' => "Admin-Password wegen Update geändert",
- 'ADMIN_CONFIG_SALT_LENGTH_NOTICE' => "Um für alle Accounts (Mitglieder/Admins derzeit) neue Passwörter zu generieren, lassen Sie das Eingabefeld <strong>{--ADMIN_CONFIG_SALT_LENGTH--}</strong> leer oder geben Sie eine <strong>0</strong> ein! <strong>Vorsicht!</strong> Sie müssen sich dann anschliessend erneut einloggen.",
'GUEST_LOGIN_FAILED_GENERAL' => "Genereller Loginfehler! Bitte kontaktieren Sie den Webmaster.",
'DEFAULT_MT_WORD' => "Mailtausch",
'DEFAULT_MT_WORD2' => "Mailtausches",
'EXTENSION_PROBLEM_EXTENSION_OUTDATED' => "Kann nicht fortfahren! Fehler Eine Erweiterung ist veraltet. Bitte benachrichten Sie den Support.",
'EXTENSION_WARNING_EXTENSION_INACTIVE' => "Die Erweiterung <span class=\"data\">%s</span> ist nicht aktiv. Dies kann zu Störungen führen.<br />\nBitte aktivieren Sie diese unter <span class=\"bad\">Verschiedenes->Erweiterungen</span>.",
'EXTENSION_WARNING_USER_LIMIT' => "Die Erweiterung <strong>ext-user</strong> ist nicht aktiv. Die Anzahl Mitglieder pro Seite wurde auf 100 gesetzt. Bitte aktivieren Sie diese unter <span class=\"bad\">Verschiedenes->Erweiterungen</span>.",
- 'ADMIN_PROXY_SETTINGS_INVALID' => "Ihre Proxy-Einstellungen scheinen ungültig zu sein.",
- 'ADMIN_EDIT_PROXY_SETTINGS' => "Proxy-Einstellungen ändern",
- 'ADMIN_CONFIG_PROXY_HOST' => "Hostname oder IP-Nummer:",
- 'ADMIN_CONFIG_PROXY_PORT' => "Port-Nummer (z.B. 8085):",
- 'ADMIN_CONFIG_PROXY_USERNAME' => "Benuztername (falls vorhanden):",
- 'ADMIN_CONFIG_PROXY_PASSWORD' => "Passwort (falls vorhanden):",
'ADMIN_EDIT_ENTRIES' => "Einträge ändern",
'_CATEGORY_NONE' => "Keine Kategorie",
'_UNUSED' => "Ungenutzt",
'ENTRY_ADDED' => "Eintrag hinzugefügt",
'UNLIMITED' => "Unbegrenzt",
+ // Admin config - proxy settings
+ 'ADMIN_CONFIG_PROXY_TITLE' => "Proxy-Einstellungen ändern",
+ 'ADMIN_CONFIG_PROXY_HOST' => "Hostname oder IP-Nummer:",
+ 'ADMIN_CONFIG_PROXY_PORT' => "Port-Nummer (z.B. 8085):",
+ 'ADMIN_CONFIG_PROXY_USERNAME' => "Benuztername (falls vorhanden):",
+ 'ADMIN_CONFIG_PROXY_PASSWORD' => "Passwort (falls vorhanden):",
+ 'ADMIN_PROXY_SETTINGS_INVALID' => "Ihre Proxy-Einstellungen scheinen ungültig zu sein.",
+
// Status
'ACTIVATED' => "Aktiviert",
'DEACTIVATED' => "Deaktiviert",
'ADMIN_ENTRIES_404' => "Es wurden keine Einträge gefunden.",
'ADMIN_EXTENSION_ALWAYS_ACTIVE' => "Die Erweiterung <span class=\"data\">{%%pipe,getExtensionName=%s%%}</span> kann nicht deaktiviert werden, da sie immer aktiv bleiben muss.",
'MEMBER_REFERRAL_LINKS_FOOTER' => "Ihr Referral-Link eingebaut in Ihrer Homepage bringt Ihnen passiv mehr Referrals. (Aber Ihren Referral-Link bewerben schadet auch nicht... ;-) )",
- 'POINTS_ORDER' => "Werbeguthaben",
- 'MEMBER_TOTAL_POINTS' => "Gesamtguthaben",
+ 'POINTS_OWN' => "Eigenguthaben:",
+ 'POINTS_ORDER' => "Werbeguthaben:",
+ 'MEMBER_TOTAL_POINTS' => "Gesamtguthaben:",
'ADMIN_UNSUPPORTED_MAIL_TYPE_DETECTED' => "Nicht unterstützer Mail-Typ <span class=\"data\">%s</span> erkannt. Bitte melden Sie dies im Support-Forum.",
'ADMIN_EDIT_EMAIL_FAILED' => "Änderungen an der Mail nicht gespeichert, bitte kontaktieren Sie den Support.",
'ADMIN_EMAIL_CHANGES_SAVED' => "Die Maildaten wurden aktualisiert.",
'URL_IS_BLACKLISTED' => "URL ist gesperrt.",
'EMAIL_IS_BLACKLISTED' => "Ihre Email-Adresse darf bei uns nicht verwendet werden. Bitte setzen Sie sich mit uns in Verbindung.",
'IP_IS_BLACKLISTED' => "Die von Ihnen derzeit verwendete IP-Adresse ist bei uns gesperrt. Bitte setzen Sie sich mit uns in Verbindung.",
+ 'URL_IS_BLACKLISTED' => "Die von Ihnen eingegebene URL ist bei uns gesperrt. Bitte setzen Sie sich mit uns in Verbindung.",
'DATA_IS_HIDDEN' => "Daten sind verdeckt.",
'ADMIN_BOOKING_PACKAGE_ID' => "Buchungspaket",
'ADMIN_BOOKING_PACKAGE_LINK' => "Zum Paket ...",
'APPLICATION_DIED_TITLE' => "Bug im Script erkannt.",
+ // Admin config - security-related settings
+ 'ADMIN_CONFIG_SECURE_TITLE' => "Sicherheitseinstellungen:",
+ 'ADMIN_CONFIG_MINIMUM_PASSWORD_LENGTH_LEGEND' => "Minimale Passwort/Saltlängen:",
+ 'ADMIN_CONFIG_MINIMUM_PASSWORD_LENGTH' => "Minimale Passwortlänge:",
+ 'ADMIN_CONFIG_SALT_LENGTH' => "Länge des "Salz-Hhashes" für alle Passwörter:",
+ 'ADMIN_CONFIG_MINIMUM_PASSWORD_SCORE' => "Minimale Sicherheitsstufe aller Passwörter:",
+ 'ADMIN_CONFIG_SECURE_NOTICE' => "Um für alle Accounts (Mitglieder/Admins derzeit) neue Passwörter zu generieren, lassen Sie das Eingabefeld <strong>{--ADMIN_CONFIG_SALT_LENGTH--}</strong> leer oder geben Sie eine <strong>0</strong> ein! <strong>Vorsicht!</strong> Sie müssen sich dann anschliessend erneut einloggen. Sie sollten die minimale Passwortstärke <u>nie</u> unter {--PASSWORD_SCORE_3--} stellen, da diese dann zu schach und somit leicht "erratbar" sind (Brute-Force-Attacke).",
+
// Admin - subject lines
'ADMIN_NEW_ACCOUNT_SUBJECT' => "Neue Anmeldung zu Ihrem {?mt_word?}",
'ADMIN_SEND_DONE_SUBJECT' => "Vollständig: Aussendung einer Werbebbuchung.",
// Admin - configuration titles
'ADMIN_CONFIG_CATEGORIES_TITLE' => "Aufgelistete Kategorien bearbeiten / löschen",
- 'ADMIN_CONFIG_SECURITY_TITLE' => "Sicherheitseinstellungen",
'ADMIN_CONFIG_POINTS_SETTINGS_TITLE' => "Ändern der Willkommensgutschrift und anderer {?POINTS?}",
'ADMIN_CONFIG_POINT_SETTINGS_TITLE' => "Einstellungen an {?POINTS?}vergütungen",
'ADMIN_CONFIG_HOME_TITLE' => "Legen Sie hier die neue Home-Seite fest",
// Special user lists (what=list_user)
'ADMIN_LIST_ALL_ACCOUNTS' => "Alle Benutzeraccounts (auch Testaccounts) auflisten",
- 'ADMIN_LIST_STATUS_LOCKED_ACCOUNTS' => "Alle gesperrten Mitglieder-Accounts auflisten",
- 'ADMIN_LIST_STATUS_CONFIRMED_ACCOUNTS' => "Alle bestätigten Mitglieder-Accounts auflisten",
- 'ADMIN_LIST_STATUS_UNCONFIRMED_ACCOUNTS' => "Alle unbestätigten Mitglieder-Accounts auflisten",
- 'ADMIN_LIST_DO_CONFIRMED_ACCOUNTS' => "Alle bestätigten Mitglieder-Accounts auflisten",
- 'ADMIN_LIST_DO_NOREFS_ACCOUNTS' => "Alle Mitglieder-Accounts ohne Referrals auflisten",
- 'ADMIN_LIST_DO_RANDOM_REFID_ACCOUNTS' => "Alle Mitglieder-Accounts für Zufallsreferral auflisten",
+ 'ADMIN_LIST_STATUS_LOCKED_ACCOUNTS' => "Alle gesperrten Mitgliedaccounts auflisten",
+ 'ADMIN_LIST_STATUS_CONFIRMED_ACCOUNTS' => "Alle bestätigten Mitgliedaccounts auflisten",
+ 'ADMIN_LIST_STATUS_UNCONFIRMED_ACCOUNTS' => "Alle unbestätigten Mitgliedaccounts auflisten",
+ 'ADMIN_LIST_DO_CONFIRMED_ACCOUNTS' => "Alle bestätigten Mitgliedaccounts auflisten",
+ 'ADMIN_LIST_DO_NOREFS_ACCOUNTS' => "Alle Mitgliedaccounts ohne Referrals auflisten",
+ 'ADMIN_LIST_DO_RANDOM_REFID_ACCOUNTS' => "Alle Mitgliedaccounts für Zufallsreferral auflisten",
'ADMIN_LIST_DO_TESTERS_ACCOUNTS' => "Alle Testbenutzer auflisten",
// Admin task lines
'ADMIN_ADD_POINTS_DATA_USAGE_TITLE' => "Kleine Nutzungsanleitung:",
'ADMIN_ADD_POINTS_DATA_NOTICE' => "Achten Sie bei der Verwendung dieses Formulars darauf, dass der Verwendungszweck nicht mehrfach aufgeführt ist, sollte die eingegebene Tabellenspalte nicht existieren, wird sie automatisch angelegt. Sollte das Guthabenkonto wieder gelöscht werden, werden die dort angesammelten {?POINTS?} auf das eingestellbare Guthabenkonto (aktuell: <strong>{%config,translatePointsAccountType=points_remove_account%}</strong> umgebucht. Es können mit diesem Formular nur benutzerdefinierte Guthabenkonten angelegt oder gelöscht werden, die Konten durch Erweiterungen angelegt sind dieses nicht.",
'ADMIN_ADD_POINTS_DATA_SUBJECT_NOTICE' => "Der Verwendungszweck ist stets klein zu schreiben und sollte auch im Programmcode verwendet werden und muss mit dem ersten Parameter von den Funktionen <strong>addPointsThroughReferralSystem()</strong>, <strong>subtractPoints()</strong> und somit auch <strong>addBookingRecord()</strong> übereinstimmen.",
- 'ADMIN_ADD_POINTS_DATA_COLUMN_NAME_NOTICE' => "Die Tabellenspalte ist stets klein zu schreiben, ist diese in der Tabelle <strong>{?_MYSQL_PREFIX?}_user_points</strong> nicht vorhanden, wird diese plus der selbe Spaltenname mit dem Präfix <strong>locked_</strong> automatisch dort erzeugt. Der Spaltenname sollte das Stichwort <strong>points</strong> enthalten und darf <strong><u>NIEMALS</u></strong> <strong>id</strong>, <strong>userid</strong> oder <strong>ref_depth</strong> heissen oder <strong>locked</strong> enthalten.",
+ 'ADMIN_ADD_POINTS_DATA_COLUMN_NAME_NOTICE' => "Die Tabellenspalte ist stets klein zu schreiben, ist diese in der Tabelle <strong>{?_MYSQL_PREFIX?}_user_points</strong> nicht vorhanden, wird diese plus der selbe Spaltenname mit dem Präfix <strong>locked_</strong> automatisch dort erzeugt. Der Spaltenname sollte das Stichwort <strong>points</strong> enthalten und darf <strong><u>NIEMALS</u></strong> <strong>id</strong>, <strong>userid</strong> oder <strong>ref_depth</strong> heissen oder <strong>locked</strong> enthalten oder mit <strong>_ref</strong> enden.",
'ADMIN_ADD_POINTS_DATA_LOCKED_MODE_NOTICE' => "Bei der {?POINTS?}-Sperre werden dem Mitglied die {?POINTS?} auf sein so genanntes "gesperrtes Guthaben" gutgeschrieben. Auf dieses hat das Mitglied solange keinen Zugriff, bis es die Mindestanzahl zu bestätigender Mails erreicht hat. Die Einstellung <strong>{--POINTS_LOCKED_MODE_LOCKED--}</strong> bewirkt, dass das Mitglied ebenfalls auf dieses Guthaben hinarbeiten muss. <strong>{--POINTS_LOCKED_MODE_UNLOCKED--}</strong> bewirkt hingegen, dass das Mitglied die Gutschrift sofort erhält, ohne Mails bestätigen zu müssen.",
- 'ADMIN_ADD_POINTS_DATA_PAYMENT_METHOD_NOTICE' => "Mit der Vergütungsmethode können Sie beeinflussen, ob Ihre Mitglieder Referral-Gutschriften erhalten oder nur das eigentliche Mitglied (also das, was die Gutschrift erhalten soll) diese "direkt" gutgeschrieben werden soll. Stellen Sie dies z.B. beim Verwendungszweck <strong>mailid_okay</strong> auf "{--POINTS_PAYMENT_METHOD_DIRECT--}" um, erhät das werbende Mitglied (das als Referral-Id eingetragen ist) keine Gutschriften bei der Mailbestätigung mehr. Seien Sie also auch mit dieser Einstellung nicht leichtsinnig.",
+ 'ADMIN_ADD_POINTS_DATA_PAYMENT_METHOD_NOTICE' => "Mit der Vergütungsmethode können Sie beeinflussen, ob Ihre Mitglieder Referral-Gutschriften erhalten oder nur das eigentliche Mitglied (also das, was die Gutschrift erhalten soll) diese "direkt" gutgeschrieben werden soll. Stellen Sie dies z.B. beim Verwendungszweck <strong>mailid_okay</strong> auf "{--POINTS_PAYMENT_METHOD_DIRECT--}" um, erhält das werbende Mitglied (das als Referral-Id eingetragen ist) keine Gutschriften bei der Mailbestätigung mehr. Seien Sie also auch mit dieser Einstellung nicht leichtsinnig.",
'ADMIN_POINT_ACCOUNT_ADDED' => "Das Guthabenkonto wurde soeben angelegt. Bitte bauen Sie dies nun in Ihren PHP-Code ein.",
'ADMIN_POINT_ACCOUNT_NOT_ADDED' => "Das Guthabenkonto konnte nicht angelegt werden. Vielleicht ist es bereits vorhanden oder von einer Erweiterung bereits angelegt?",
'ADMIN_POINTS_ACCOUNT_SUBJECT' => "Verwendungszweck",
// Admin points data config - title
'ADMIN_ADD_POINTS_DATA_TITLE' => "Benutzerdefiniertes Guthabenkonto erstellen",
'ADMIN_EDIT_POINTS_DATA_TITLE' => "Ändern von Guthabenkonten",
- 'ADMIN_LIST_POINTS_ACCOUNTS_TITLE' => "Alle Guthabenkonten auflisten",
+ 'ADMIN_LIST_POINTS_ACCOUNTS_TITLE' => "Alle Verwendungszwecke und Guthabenkonten auflisten",
// Admin points data config - submit buttons
'ADMIN_ADD_POINTS_DATA_SUBMIT' => "Guthabenkonto anlegen",
'EMAIL_DISPLAY_TO_ADDRESS' => "An:",
'EMAIL_DISPLAY_SUBJECT_LINE' => "Betreffzeile:",
'EMAIL_DISPLAY_MESSAGE_LENGTH' => "Nachricht(Länge):",
+
+ // Password scores
+ 'PASSWORD_SCORE_0' => "Zu schwach/leer",
+ 'PASSWORD_SCORE_1' => "Sehr schach",
+ 'PASSWORD_SCORE_2' => "Schwach",
+ 'PASSWORD_SCORE_3' => "Mittel",
+ 'PASSWORD_SCORE_4' => "Stark",
+ 'PASSWORD_SCORE_5' => "Sehr stark",
));
// Description of all months
// Language definitions
addMessages(array(
// Admin configuration
- 'ADMIN_CONFIG_DOUBLER_TITLE' => "Einstellungen am {?POINTS?}-Verdoppler",
- 'ADMIN_CONFIG_DOUBLER_CHARGE' => "Prozentuale Gebühr zum Verdoppeln",
+ 'ADMIN_CONFIG_DOUBLER_TITLE' => "Einstellungen am {?POINTS?}-Verdoppler:",
+ 'ADMIN_CONFIG_DOUBLER_CHARGE' => "Prozentuale Gebühr zum Verdoppeln:",
'ADMIN_CONFIG_DOUBLER_JACKPOT' => "Soll der Jackpot zum Verdoppeln verwendet werden?",
- 'ADMIN_CONFIG_DOUBLER_SEND_MODE' => "Aussendemodus der Benachrichtigungsmails",
+ 'ADMIN_CONFIG_DOUBLER_SEND_MODE' => "Aussendemodus der Benachrichtigungsmails:",
'ADMIN_CONFIG_DOUBLER_SEND_DIRECT' => "Aussenden, sobald genügend {?POINTS?} zur Auszahlung der Verdoppelung bereit stehen.",
'ADMIN_CONFIG_DOUBLER_SEND_RESET' => "Erst beim täglichen Reset prüfen, ob Verdoppelungen ausgezahlt werden können.",
- 'ADMIN_CONFIG_DOUBLER_TIMEOUT' => "Verweildauer ausgezahlter Verdoppelungen in der Datenbank",
- 'ADMIN_CONFIG_DOUBLER_USERID' => "Mitglieder-Account zur Verdoppelung verwenden",
- 'ADMIN_CONFIG_DOUBLER_DISPLAY_TITLE' => "Anzeige-Einstellungen für Anzahl Einträge",
+ 'ADMIN_CONFIG_DOUBLER_TIMEOUT' => "Verweildauer ausgezahlter Verdoppelungen in der Datenbank:",
+ 'ADMIN_CONFIG_DOUBLER_USERID' => "Mitgliedaccount zur Verdoppelung verwenden:",
+ 'ADMIN_CONFIG_DOUBLER_DISPLAY_TITLE' => "Anzeige-Einstellungen für Anzahl Einträge:",
'ADMIN_CONFIG_DOUBLER_DISPLAY_NEW' => "Anzahl ersten X neuen Einträge",
'ADMIN_CONFIG_DOUBLER_DISPLAY_PAY' => "Anzahl ersten X vor Auszahlung stehender Verdoppelungen",
'ADMIN_CONFIG_DOUBLER_DISPLAY_OLD' => "Anzahl ersten X bereits ausgezahlter Verdoppelungen",
- 'ADMIN_CONFIG_DOUBLER_REFERRAL' => "Prozentuale Referral-Vergütung",
+ 'ADMIN_CONFIG_DOUBLER_REFERRAL' => "Prozentuale Referral-Vergütung:",
'ADMIN_CONFIG_DOUBLER_MINIMUM' => "Minimum {?POINTS?} die verdoppelt werden sollen",
'ADMIN_CONFIG_DOUBLER_MAXIMUM' => "Maximum {?POINTS?} die verdoppelt werden sollen",
- 'ADMIN_CONFIG_DOUBLER_LEFT' => "Auf dem Mitgliedsaccount nach Verdoppelung Minimum-{?POINTS?}-Guthaben",
- 'ADMIN_CONFIG_DOUBLER_OWN' => "{?POINTS?}-Guthaben des Verdopplers zur Auszahlung verwenden",
- 'ADMIN_CONFIG_DOUBLER_GROUP_SENT' => "Auf Anzahl durchführbare Auszahlungen warten, damit an diese ausgezahlt werden kann. (Gruppenauszahlung!)",
- 'ADMIN_CONFIG_DOUBLER_MAX_SENT' => "Pro Klick/Reset auf Auszahlungsfähigkeit hin zu testende Verdopplungen",
+ 'ADMIN_CONFIG_DOUBLER_LEFT' => "Auf dem Mitgliedsaccount nach Verdoppelung Restguthaben ({?POINTS?}):",
+ 'ADMIN_CONFIG_DOUBLER_OWN' => "{?POINTS?}-Guthaben des Verdopplers zur Auszahlung verwenden?",
+ 'ADMIN_CONFIG_DOUBLER_GROUP_SENT' => "Auf Anzahl durchführbare Auszahlungen warten, damit an diese ausgezahlt werden kann. (Gruppenauszahlung)",
+ 'ADMIN_CONFIG_DOUBLER_MAX_SENT' => "Pro Klick/Reset auf Auszahlungsfähigkeit hin zu testende Verdopplungen:",
'ADMIN_CONFIG_DOUBLER_SENT_ALL' => "Soll anstelle der Gruppenauszahlung alle möglichen Auszahlungen durchgeführt werden?",
// Admin generic messages
'DOUBLER_MINIMUM_IS' => "Mindestens",
'DOUBLER_MAXIMUM_IS' => "verdoppeln, maximal",
'DOUBLER_HAVE_FUN' => "Viel Spaß.",
- 'DOUBLER_POINTS_1' => "Wenn Sie {?POINTS?} verdoppeln, kommen Sie diese nach Abzug von",
- 'DOUBLER_POINTS_2' => "Betreibergebühr in einen Topf; bei Erreichen einer Verdopplung wird diese der Einzahlungsreihe nach, automatisch ausgeführt.",
- 'DOUBLER_EXAMPLE_1' => "Beispiel: Einzahlung",
- 'DOUBLER_EXAMPLE_2' => "Auszahlung:",
- 'DOUBLER_EXAMPLE_3' => ", sobald Sie an der Reihe sind, ohne(*) ein Risiko einzugehen.",
+ 'DOUBLER_POINTS' => "Wenn Sie {?POINTS?} verdoppeln, kommen Sie diese nach Abzug von <strong>{%config,translateComma=doubler_charge%}%</strong> Betreibergebühr in einen Topf; bei Erreichen einer Verdopplung wird diese der Einzahlungsreihe nach, automatisch ausgeführt.",
+ 'DOUBLER_EXAMPLE' => "Beispiel: Einzahlung <strong>500 {?POINTS?}</strong> »» Auszahlung: <strong>1000 {?POINTS?}</strong>, sobald Sie an der Reihe sind, ohne(*) ein Risiko einzugehen.",
'DOUBLER_FULL_PAYOUT' => "100% Auszahlung",
- 'DOUBLER_REFERRAL_1' => "Refverdienst: Es gibt <strong>{%config,translateComma=doubler_ref%}%</strong> Refverdienst. Wenn Sie {?POINTS?} auf dem Refkonto durch Werbung erwirtschaftet haben, (Wichtig! Maximal Verdoppelung darf nicht überschritten werden) werden diese bei Ihrer nächsten Verdoppelung aufgeschlagen.",
- 'DOUBLER_REFERRAL_2' => "Beispiel: Sie haben <strong>100 {?POINTS?}</strong> Refverdienst und verdoppeln <strong>100 {?POINTS?}</strong>, Sie bekommen - sobald Sie an der Reihe sind - <strong>300 {?POINTS?}</strong> zurück.",
+ 'DOUBLER_REFERRAL' => "Refverdienst: Es gibt <strong>{%config,translateComma=doubler_ref%}%</strong> Refverdienst. Wenn Sie {?POINTS?} auf dem Refkonto durch Werbung erwirtschaftet haben, (Wichtig! Maximal Verdoppelung darf nicht überschritten werden) werden diese bei Ihrer nächsten Verdoppelung aufgeschlagen. Beispiel: Sie haben <strong>100 {?POINTS?}</strong> Refverdienst und verdoppeln <strong>100 {?POINTS?}</strong>, Sie bekommen - sobald Sie an der Reihe sind - <strong>300 {?POINTS?}</strong> zurück.",
'DOUBLER_TIMEOUT' => "Es werden Einträge nicht älter als <strong>{%config,createFancyTime=doubler_timeout%}</strong> angezeigt.",
'DOUBLER_REFERRAL_LINK' => "Den Reflink erfahren Sie nach jeder Verdoppelung.",
'DOUBLER_NOT_YET_REGISTERED' => "Noch nicht angemeldet?",
'ADMIN_HOLIDAY_DELETE_LINK' => "Urlaub beenden",
'ADMIN_HOLIDAY_SINGLE_DELETED' => "Urlaub eines Mitgliedes beendet.",
'ADMIN_HOLIDAY_MULTI_DELETE' => "Urlaub von <span class=\"data\">%s</span> Mitglied(-ern) beendet.",
- 'ADMIN_CONFIG_HOLIDAY_TITLE' => "Einstellungen an der Urlaubsschaltung",
- 'ADMIN_CONFIG_HOLIDAY_MAX_TIME' => "Maximale beantragbare Urlaubszeit",
+ 'ADMIN_CONFIG_HOLIDAY_TITLE' => "Einstellungen an der Urlaubsschaltung:",
+ 'ADMIN_CONFIG_HOLIDAY_MAX_TIME' => "Maximale beantragbare Urlaubszeit:",
'ADMIN_HOLIDAY_SINGLE_404' => "Urlaubsschaltung nicht mehr vorhanden, oder veralteter Link.",
- 'ADMIN_CONFIG_HOLIDAY_LOCKED' => "Dauer bis Urlaubsschaltung aufgehoben werden kann",
- 'ADMIN_CONFIG_HOLIDAY_MODE' => "Zeitpunkt der Abarbeitung der Urlaubsschaltungen",
+ 'ADMIN_CONFIG_HOLIDAY_LOCKED' => "Dauer bis Urlaubsschaltung aufgehoben werden kann:",
+ 'ADMIN_CONFIG_HOLIDAY_MODE' => "Zeitpunkt der Abarbeitung der Urlaubsschaltungen:",
'ADMIN_CONFIG_HOLIDAY_MODE_RESET' => "Am täglichen Reset um 00:00 Uhr",
'ADMIN_CONFIG_HOLIDAY_MODE_DIRECT' => "Sofort nach Beantragung prüfen",
// Member strings
'INSTALLER_FATAL_NO_MPASSWORD2' => "Bitte geben Sie noch die Passwortbestätigung ein.",
// Installation pages titles
- 'INSTALLER_PAGE_INIT_TITLE' => "Installationsroute initialisiert gerade",
- 'INSTALLER_PAGE_WELCOME_TITLE' => "Willkommen zur Installation von {?TITLE?}, dem freien {?mt_word?}-Script",
- 'INSTALLER_PAGE_BASE_DATA_TITLE' => "Server-Pfad, Basis-URL und Webseitentitel",
+ 'INSTALLER_PAGE_INIT_TITLE' => "Installationsroute initialisiert gerade",
+ 'INSTALLER_PAGE_WELCOME_TITLE' => "Willkommen zur Installation von {?TITLE?}, dem freien {?mt_word?}-Script",
+ 'INSTALLER_PAGE_BASE_DATA_TITLE' => "Server-Pfad, Basis-URL und Webseitentitel",
'INSTALLER_PAGE_DATABASE_CONFIG_TITLE' => "Zugangsdaten zur Datenbank",
- 'INSTALLER_PAGE_SMTP_CONFIG_TITLE' => "SMTP-Server Einstellungen",
- 'INSTALLER_PAGE_OTHER_CONFIG_TITLE' => "Verschiedene Einstellungen",
- 'INSTALLER_PAGE_EXTENSIONS_TITLE' => "Erweiterungen installieren",
- 'INSTALLER_PAGE_OVERVIEW_TITLE' => "Die Installation kann beginnen",
+ 'INSTALLER_PAGE_SMTP_CONFIG_TITLE' => "SMTP-Server Einstellungen",
+ 'INSTALLER_PAGE_OTHER_CONFIG_TITLE' => "Verschiedene Einstellungen",
+ 'INSTALLER_PAGE_EXTENSIONS_TITLE' => "Erweiterungen installieren",
+ 'INSTALLER_PAGE_FIRST_ADMIN_TITLE' => "Ersten Administratoraccount anlegen",
+ 'INSTALLER_PAGE_OVERVIEW_TITLE' => "Die Installation kann starten",
// Installation pages descriptions
- 'INSTALLER_BASE_DATA_DESCRIPTION' => "Geben Sie hier den absoluten Server-Pfad (/ihr/server/pfad/) <strong>mit</strong> abschliessendem Slash (/), die Basis-URL (vorgegebene Werte stimmen meistens) und den Titel Ihres {?mt_word2?} ein.",
+ 'INSTALLER_BASE_DATA_DESCRIPTION' => "Geben Sie hier den absoluten Server-Pfad (/ihr/server/pfad/) <strong>mit</strong> abschliessendem Slash (/), die Basis-URL (vorgegebene Werte stimmen meistens) und den Titel Ihres {?mt_word2?} ein.",
'INSTALLER_DATABASE_CONFIG_DESCRIPTION' => "Geben Sie hier die Daten vom Datenbankserver ein, die Ihnen vom Hoster mitgeteilt wurden. Es wird dann anschliessend versucht, eine Testverbindung aufzubauen.",
- 'INSTALLER_SMTP_CONFIG_DESCRIPTION' => "Geben Sie hier Ihre Zugangsdaten zum SMTP-Server (ausgehender Mailserver) ein, wenn der mail()-Befehl auf Ihrem Server deaktiviert sein sollte. Oder lassen Sie alle Felder leer für Standard-Einstellungen.",
- 'INSTALLER_OTHER_CONFIG_DESCRIPTION' => "Hier können Sie weitere Einstellungen vornehmen, wie zum Beispiel den Ausgabe-Modus festlegen, in der der HTML-Code ausgegeben werden soll, usw.",
+ 'INSTALLER_SMTP_CONFIG_DESCRIPTION' => "Geben Sie hier Ihre Zugangsdaten zum SMTP-Server (ausgehender Mailserver) ein, wenn der mail()-Befehl auf Ihrem Server deaktiviert sein sollte. Oder lassen Sie alle Felder leer für Standard-Einstellungen.",
+ 'INSTALLER_OTHER_CONFIG_DESCRIPTION' => "Hier können Sie weitere Einstellungen vornehmen, wie zum Beispiel den Ausgabe-Modus festlegen, in der der HTML-Code ausgegeben werden soll, usw.",
+ 'INSTALLER_EXTENSION_DESCRIPTION' => "Wählen Sie Erweiterungen aus, die bei der Installation sofort mitinstalliert werden sollen. Möchten Sie eventuell später weitere installieren, so ist dies kein Problem.",
+ 'INSTALLER_FIRST_ADMIN_DESCRIPTION' => "Richten Sie hier gleich mit den ersten Administratoraccount ein. Den vorgegebenen Loginnamen können Sie selbstverständlich anpassen (und sollten es auch), um die Sicherheit Ihrer Installation zu verbessern.",
// Installation page - Base data
'INSTALLER_LABEL_BASE_PATH' => "Absoluter Server-Pfad:",
'INSTALLER_MYSQL_PASSWORD1' => "Ihr Passwort:",
'INSTALLER_MYSQL_PASSWORD2' => "Passwortwiederholung:",
- // Installation page - Other settings
+ // Installation page - other settings
'INSTALLER_OUTPUT_MODE' => "Ausgabemodus des HTML-Codes",
'INSTALLER_MODE_RENDER' => "In $GLOBALS "rendern"",
'INSTALLER_MODE_DIRECT' => "Im Ausgabebuffer cachen",
'INSTALLER_ENABLE_BACKLINK' => "Backlink zu {?SERVER_URL?} setzen?",
'INSTALLER_ENABLE_BACKLINK_NOTICE' => "<strong>Hinweis:</strong> Derzeit ist <span class=\"notice\">rel="external"</span> für den Backlink gesetzt. Bitte nicht den Backlink eingebaut lassen und <strong>rel="nofollow"</strong> verwenden. Das schadet allen.",
+ // Installation page - first admin
+ 'INSTALLER_FIRST_ADMIN_LOGIN' => "Geben Sie einen Loginnamen ein:",
+ 'INSTALLER_FIRST_ADMIN_EMAIL' => "Ihre EMail-Adresse:",
+ 'INSTALLER_FIRST_ADMIN_PASSWORD1' => "Geben Sie ein Passwort ein:",
+ 'INSTALLER_FIRST_ADMIN_PASSWORD2' => "Wiederholen Sie das Passwort:",
+ 'INSTALLER_ADMIN_PASSWORD_NOTICE' => "Das Passwort muss der Mindeststärke <strong>{%config,translatePasswordStrength=min_password_score%}</strong> entsprechen.",
+
// Installation notes
'INSTALLER_BASE_PATH_NOTICE' => "Mit abschließendem /.",
'INSTALLER_BASE_URL_NOTICE' => "Ohne abschließendem /.",
'INSTALLER_SMTP_HOST_NOTICE' => "Zum Beispiel <strong>mail.ihre-domain.example</strong>",
// AJAX title
- 'INSTALLER_AJAX_ERROR_TITLE' => "AJAX-Abfrage im Installer fehlgeschlagen",
- 'INSTALLER_AJAX_WARNING_TITLE' => "Warnung: Es sind ungespeicherte Änderungen vorhanden",
- 'INSTALLER_AJAX_TEST_TITLE' => "AJAX-Testergebnis positiv",
- 'INSTALLER_AJAX_FINISH_TITLE' => "Installation läuft . . .",
+ 'INSTALLER_AJAX_ERROR_TITLE' => "AJAX-Abfrage im Installer fehlgeschlagen",
+ 'INSTALLER_AJAX_WARNING_TITLE' => "Warnung: Es sind ungespeicherte Änderungen vorhanden",
+ 'INSTALLER_AJAX_TEST_TITLE' => "AJAX-Testergebnis positiv",
+ 'INSTALLER_AJAX_PROGRESS_TITLE' => "Installation läuft . . .",
+ 'INSTALLER_AJAX_SUCCESS_TITLE' => "Installation abgeschlossen!",
// Installer switches
'INSTALLER_SWITCH_PLAIN' => "Kompatiblitätsmodus",
'INSTALLER_TAB_NAVIGATION_DATABASE_CONFIG_LINK' => "Datenbankzugang",
'INSTALLER_TAB_NAVIGATION_SMTP_CONFIG_TITLE' => "Seite 3: SMTP-Daten konfigurieren",
'INSTALLER_TAB_NAVIGATION_SMTP_CONFIG_LINK' => "SMTP-Daten",
- 'INSTALLER_TAB_NAVIGATION_OTHER_CONFIG_TITLE' => "Seite 5: Sonstige Grundeinstellungen",
+ 'INSTALLER_TAB_NAVIGATION_OTHER_CONFIG_TITLE' => "Seite 4: Sonstige Grundeinstellungen",
'INSTALLER_TAB_NAVIGATION_OTHER_CONFIG_LINK' => "Sonstiges",
- 'INSTALLER_TAB_NAVIGATION_EXTENSIONS_TITLE' => "Erweiterungen installieren",
+ 'INSTALLER_TAB_NAVIGATION_EXTENSIONS_TITLE' => "Seite 5: Erweiterungen installieren",
'INSTALLER_TAB_NAVIGATION_EXTENSIONS_LINK' => "Erweiterungen",
+ 'INSTALLER_TAB_NAVIGATION_FIRST_ADMIN_TITLE' => "Seite 6: Ersten Administratoraccount anlegen",
+ 'INSTALLER_TAB_NAVIGATION_FIRST_ADMIN_LINK' => "Administratoraccount",
'INSTALLER_TAB_NAVIGATION_OVERVIEW_TITLE' => "Installationszusammenfassung",
'INSTALLER_TAB_NAVIGATION_OVERVIEW_LINK' => "Zusammenfassung",
// Changed elements - extensions
'INSTALLER_CHANGED_ELEMENT_EXTENSION' => "Die Erweiterung <span class=\"data\">%s</span> wurde aus- oder abgewählt.",
+ // Changed elements - first admin
+ 'INSTALLER_CHANGED_ELEMENT_ADMIN_LOGIN' => "Sie haben das Administratorlogin geändert.",
+ 'INSTALLER_CHANGED_ELEMENT_ADMIN_EMAIL' => "Sie haben die EMail-Adresse des Administratorlogins geändert.",
+ 'INSTALLER_CHANGED_ELEMENT_ADMIN_PASSWORD1' => "Sie haben das Kennwort des Administratorlogins geändert.",
+ 'INSTALLER_CHANGED_ELEMENT_ADMIN_PASSWORD2' => "Sie haben die Wiederholung des Kennwortes des Administratorlogins geändert.",
+
// Fieldset legends
- 'INSTALLER_BASE_DATA_LEGEND_BASE_URL_PATH' => "Basis-Pfad und -URL:",
- 'INSTALLER_BASE_DATA_LEGEND_TITLE_SLOGAN' => "{?mt_word?}-Titel und Werbespruch:",
+ 'INSTALLER_BASE_DATA_LEGEND_BASE_URL_PATH' => "Basis-Pfad und -URL:",
+ 'INSTALLER_BASE_DATA_LEGEND_TITLE_SLOGAN' => "{?mt_word?}-Titel und Werbespruch:",
'INSTALLER_DATABASE_LEGEND_HOST_DBASE_PREFIX_TYPE' => "Hostname, Datenbankname, Präfix und Tabellentyp:",
- 'INSTALLER_DATABASE_LEGEND_LOGIN_PASSWORD' => "Datenbanklogin und -passwort:",
- 'INSTALLER_SMTP_LEGEND_OPTIONAL_CONFIG' => "Optionale SMTP-Daten:",
- 'INSTALLER_OTHER_CONFIG_LEGEND_ET_CETERA' => "Sonstige Einstellungen:",
+ 'INSTALLER_DATABASE_LEGEND_LOGIN_PASSWORD' => "Datenbanklogin und -passwort:",
+ 'INSTALLER_SMTP_LEGEND_OPTIONAL_CONFIG' => "Optionale SMTP-Daten:",
+ 'INSTALLER_OTHER_CONFIG_LEGEND_ET_CETERA' => "Sonstige Einstellungen:",
+ 'INSTALLER_FIRST_ADMIN_LEGEND' => "Daten des ersten Administratoraccunts:",
// Save changes
'INSTALLER_SAVE_CHANGES_FAILED' => "Die Änderungen konnten leider nicht gespeichert werden, da einige fehlerhaft sind. Bitte korregieren Sie die rot hervorgehobenen Einträge und probieren Sie es erneut.",
'INSTALLER_SAVE_CHANGES_DONE' => "Änderungen gespeichert.",
- // Post-Check - General failure messages
+ // Post-check - general failure messages
'INSTALLER_POST_CHECK_DATABASE_CONFIG_FAILED' => "Beim testweisen Aufbauen einer Datenbankverbindung ist ein Fehler entstanden: %s",
- // Post-Check - Base configuration
+ // Post-check - base configuration
'INSTALLER_POST_BASE_PATH_INVALID' => "Der Basis-Pfad für Include-Dateien ist ungültig.",
'INSTALLER_POST_BASE_URL_INVALID' => "Die Basis-URL ist ungültig.",
'INSTALLER_POST_MAIN_TITLE_INVALID' => "Der {?mt_word?}-Titel ist zu kurz.",
'INSTALLER_POST_SLOGAN_INVALID' => "Der Werbespruch ist zu kurz.",
'INSTALLER_POST_EMAIL_INVALID' => "Die eMail-Adresse ist ungültig.",
- // Post-Check - Database connection
+ // Post-check - database connection
'INSTALLER_POST_DATABASE_PASSWORD1_EMPTY' => "Das Passwort zur Datenbank ist leer, jedoch ist die Passwortwiederholung gesetzt.",
'INSTALLER_POST_DATABASE_PASSWORD2_EMPTY' => "Das Passwort zur Datenbank ist gesetzt, jedoch ist die Passwortwiederholung leer.",
'INSTALLER_POST_DATABASE_PASSWORDS_MISMATCH' => "Die von Ihnen eingegebenen Passwörter stimmen nicht überein.",
'INSTALLER_POST_DATABASE_ENGINE_UNSUPPORTED' => "Die von Ihnen ausgewählte Storage-Engine wird nicht unterstützt. Meistens gilt dies für InnoDB, dann müssen Sie einfach MyISAM nehmen.",
'INSTALLER_POST_DATABASE_IN_USE' => "Die von Ihnen ausgewählte Datenbank weist Tabellen auf, die von einer älteren Installation stammen. Damit keine Datenverluste entstehen, wurde die Installation abgebrochen. Bitte verwenden Sie eine neue Datenbank oder leeren Sie die alte. Alternativ können Sie auch einen anderen Tabellenpräfix eingeben.",
+ // Post-check - first admin
+ 'INSTALLER_POST_FIRST_ADMIN_LOGIN_EMPTY' => "Das Administratorlogin ist leer.",
+ 'INSTALLER_POST_FIRST_ADMIN_LOGIN_SHORT' => "Das Administratorlogin ist zu kurz. Es müssen mindestens 4 Zeichen eingegeben werden.",
+ 'INSTALLER_POST_FIRST_ADMIN_EMAIL_INVALID' => "Die EMail-Adresse des ersten Administratoraccounts ist ungültig.",
+ 'INSTALLER_POST_FIRST_ADMIN_PASSWORD1_EMPTY ' => "Das Passwort des ersten Administratoraccounts ist leer.",
+ 'INSTALLER_POST_FIRST_ADMIN_PASSWORD2_EMPTY ' => "Die Wiederholung des Passwortes des ersten Administratoraccounts ist leer.",
+ 'INSTALLER_POST_FIRST_ADMIN_PASSWORDS_MISMATCH' => "Das Passwort und die Wiederholung stimmen nicht überein.",
+ 'INSTALLER_POST_FIRST_ADMIN_PASSWORDS_WEAK' => "Die eingegebenen Passwörter sind zu schwach. Bitte mindestens Passwortstärke <strong>{%config,translatePasswordStrength=min_password_score%}</strong> erreichen.",
+
// Final check on 'overview' page
'INSTALLER_OVERVIEW_FINAL_CHECK_FAILED' => "Leider kann die Installation nicht abgeschlossen werden, da nicht alle Angaben vollständig und korrekt sind.",
'INSTALLER_OVERVIEW_FINAL_CHECK_DONE' => "Die Installation kann nun abgeschlossen werden.",
- 'INSTALLER_READY_TO_FINISH' => "Es wurden alle nötigen Daten zur Installation gesammelt. Sie können nun die Installation beginnen, indem Sie auf <strong>{--PAGE_FINISH_SUBMIT--}</strong> klicken. Es wird Ihnen dann der Verlauf der Installation angezeigt. Danach sollten Sie als erstes den ersten Administrator-Account anlegen, damit niemand Ihren {?mt_word?} übernehmen kann.",
+ 'INSTALLER_READY_TO_FINISH' => "Die Installation kann starten. Klicken Sie dazu auf <strong>{--PAGE_FINISH_SUBMIT--}</strong>. Dabei wird Ihnen der Verlauf der Installation angezeigt. Danach sollten Sie als erstes sich in den Administratorbereich einloggen, um weitere Feineinstellungen vorzunehmen.",
// "Failed overview"
'INSTALLER_OVERVIEW_FAILED_TITLE' => "Es sind nicht alle benötigten Daten zur Installation vorhanden",
'INSTALLER_FIELD_FAILED_WEBMASTER' => "Die EMail-Adresse der Webmaster-Adresse stimmt nicht.",
'INSTALLER_FIELD_FAILED_MYSQL_HOST' => "Der Hostname für die Datenbankanbindung stimmt nicht.",
'INSTALLER_FIELD_FAILED_MYSQL_DBASE' => "Der Datenbankname stimmt nicht.",
- 'INSTALLER_FIELD_FAILED_MYSQL_PREFIX' => "Der Präfix ist leer.",
+ 'INSTALLER_FIELD_FAILED_MYSQL_PREFIX' => "Der Tabellenpräfix ist leer.",
'INSTALLER_FIELD_FAILED_MYSQL_ENGINE' => "Die Ausgewählte Engine wurde nicht erkannt.",
'INSTALLER_FIELD_FAILED_MYSQL_LOGIN' => "Das Datenbanklogin stimmt nicht (leer).",
'INSTALLER_FIELD_FAILED_MYSQL_PASSWORD1' => "Das erste Datenbankpasswort stimmt nicht.",
'INSTALLER_FIELD_FAILED_WARN_NO_PASS' => "Es wurde weder <strong>Y</strong> noch <strong>N</strong> für 'WARN_NO_PASS' übergeben.",
'INSTALLER_FIELD_FAILED_WRITE_FOOTER' => "Es wurde weder <strong>Y</strong> noch <strong>N</strong> für 'WRITE_FOOTER' übergeben.",
'INSTALLER_FIELD_FAILED_ENABLE_BACKLINK' => "Es wurde weder <strong>Y</strong> noch <strong>N</strong> für 'ENABLE_BACKLINK' übergeben.",
+ 'INSTALLER_FIELD_FAILED_ADMIN_LOGIN' => "Es wurde kein gültiges Administratorlogin eingegeben. Dies muss mindestens 4 Zeichen lang sein.",
+ 'INSTALLER_FIELD_FAILED_ADMIN_EMAIL' => "Es wurde keine gültige EMail-Adresse für den ersten Administratoraccount eingegeben.",
+ 'INSTALLER_FIELD_FAILED_ADMIN_PASSWORD1' => "Das Passwort für den ersten Administratoraccount ist zu schwach. Mindestens: <strong>{%config,translatePasswordStrength=min_password_score%}</strong>",
+ 'INSTALLER_FIELD_FAILED_ADMIN_PASSWORD2' => "Die Wiederholung des Passwortes für den ersten Administratoraccount ist zu schwach. Mindestens: <strong>{%config,translatePasswordStrength=min_password_score%}</strong>",
// Other notices
'INSTALLER_EXTENSIONS_NOTICE' => "Sie wollten mindestens <strong>ext-sql_patches</strong> und zur besseren Übersicht im Adminbereich <strong>ext-task</strong> installieren. Sie können nach der Installation jederzeit weitere Erweiterungen hinzuinstallieren und brauchen dazu nicht das gesamte Script neu aufsetzen.",
'MEMBER_MAILID_CLICK_BUTTON' => "Einmal den Button anklicken",
// Points accounts - subject
- 'POINTS_SUBJECT_MAILID_OKAY' => "Vergütung einer Mailbestätigung",
- 'POINTS_SUBJECT_MAILID_OKAY_REF' => "Referralvergütung einer Mailbestätigung",
- 'POINTS_SUBJECT_MAILID_PAYBACK' => "Bestätungscode falsch",
+ 'POINTS_SUBJECT_MAILID_OKAY' => "Vergütung einer Mailbestätigung",
+ 'POINTS_SUBJECT_MAILID_OKAY_REF' => "Referralvergütung einer Mailbestätigung",
+ 'POINTS_SUBJECT_MAILID_PAYBACK' => "Bestätungscode falsch",
+ 'POINTS_SUBJECT_MAILID_PAYBACK_REF' => "Anteil an Bestätungscode falsch",
// Admin - subject lines
'ADMIN_DIRECT_MAILID_OKAY_SUBJECT' => "Direktgutschrift von korrekte Mailbestätigung aufgebucht",
'ADMIN_CONFIG_NICKNAME_CHARACTERS' => "Zeichenfolge für Sprachdatei",
// Admin - nickname history
- 'ADMIN_LIST_NICKNAME_HISTORY_404' => "Das ausgewählte Mitglied <span class=\"data\">{%get,generateUserProfileLink=userid%}</span> hat noch keinen Nicknamen angelegt. Daher konnten auch keine Historie-Einträge gefunden werden.",
+ 'ADMIN_LIST_NICKNAME_HISTORY_404' => "Das ausgewählte Mitglied <span class=\"data\">{%get,generateUserProfileLink=userid%}</span> hat noch keinen Nicknamen angelegt.",
'ADMIN_LIST_NICKNAME_HISTORY_TITLE' => "Alle verwendeten Nicknames des Mitgliedes <span class=\"data\">{%get,generateUserProfileLink=userid%}</span>",
// Member
// Language definitions
addMessages(array(
- 'ADMIN_OPTIMIZE_DBNAME' => "Tabelle",
- 'ADMIN_OPTIMIZE_REPAIRED' => "Repariert",
- 'ADMIN_OPTIMIZE_OPTIMIZED' => "Optimiert",
- 'ADMIN_OPTIMIZE_TOTAL_SIZE' => "Gesamtgrösse",
- 'ADMIN_OPTIMIZE_GAIN_SIZE' => "Eingespart",
+ 'ADMIN_OPTIMIZE_DATABASE_TITLE' => "Optimierung der {?mt_title?}-Datenbank {?__DB_NAME?}:",
+ 'ADMIN_OPTIMIZE_DBNAME' => "Tabelle:",
+ 'ADMIN_OPTIMIZE_REPAIRED' => "Repariert:",
+ 'ADMIN_OPTIMIZE_OPTIMIZED' => "Optimiert:",
+ 'ADMIN_OPTIMIZE_TOTAL_SIZE' => "Gesamtgrösse:",
+ 'ADMIN_OPTIMIZE_GAIN_SIZE' => "Eingespart:",
'ADMIN_OPTIMIZE_STATUS_OK' => "Nein",
'ADMIN_OPTIMIZE_STATUS_TABLE_DOES_NOT_SUPPORT_OPTIMIZE_DOING_RECREATE_ANALYZE_INSTEAD' => "Keine Unterstützung (1)",
'ADMIN_OPTIMIZE_STATUS_THE_STORAGE_ENGINE_FOR_THE_TABLE_DOESNT_SUPPORT_OPTIMIZE' => "Keine Unterstützung (2)",
// Language constans
addMessages(array(
// Admin - configuration
- 'ADMIN_CONFIG_OTHER_TITLE' => "Sonstige Einstellungen",
- 'ADMIN_CONFIG_URL_TIME_LOCK' => "Selbe beworbene URL nicht mehr bewerbar (0 = URL sofort erneut buchbar)",
- 'ADMIN_CONFIG_POOL_MAX_SEND' => "Anzahl zu sendender Mails aus dem Pool",
+ 'ADMIN_CONFIG_OTHER_TITLE' => "Sonstige Einstellungen:",
+ 'ADMIN_CONFIG_URL_TIME_LOCK' => "Selbe beworbene URL nicht mehr bewerbar (0 = URL sofort erneut buchbar):",
+ 'ADMIN_CONFIG_POOL_MAX_SEND' => "Anzahl zu sendender Mails aus dem Pool:",
'ADMIN_CONFIG_NOTIFY_ADMIN' => "Benachrichtigung bei Profiländerung?",
- 'ADMIN_CONFIG_MAX_ONLINETIME' => "Timeout für Who-is-Online",
- 'ADMIN_CONFIG_SENDING_TITLE' => "Versand-Optionen",
- 'ADMIN_CONFIG_NOTIFY_TITLE' => "Benachrichtigungsoptionen",
- 'ADMIN_CONFIG_TIMEOUT_TITLE' => "Time-out Optionen",
- 'ADMIN_CONFIG_CODE_LENGTH' => "Länge des grafischen Codes im Best.-Frame (0 = Nur Button anklicken)",
+ 'ADMIN_CONFIG_MAX_ONLINETIME' => "Timeout für Who-is-Online:",
+ 'ADMIN_CONFIG_SENDING_TITLE' => "Versand-Optionen:",
+ 'ADMIN_CONFIG_NOTIFY_TITLE' => "Benachrichtigungsoptionen:",
+ 'ADMIN_CONFIG_TIMEOUT_TITLE' => "Time-out Optionen:",
+ 'ADMIN_CONFIG_CODE_LENGTH' => "Länge des grafischen Codes im Best.-Frame (0 = Nur Button anklicken):",
'ADMIN_CODE_LENGTH_NOTICE' => "(Zeichenanzahl)",
- 'ADMIN_CONFIG_ACTIVATE_EXCHANGE' => "Automatisches Freischalten des {?mt_word2?}, wenn x Mitglieder empfangsbereit sind. 0 = Funktion abschalten",
- 'ADMIN_CONFIG_POINTS_WORD' => "Währung Ihres Tausches (Klammlose, Wernis, Primera, FuCo, etc.)",
- 'ADMIN_CONFIG_MAX_COMMA' => "Angezeigte Stellen hinter dem Komma",
+ 'ADMIN_CONFIG_ACTIVATE_EXCHANGE' => "Automatisches Freischalten des {?mt_word2?}, wenn x Mitglieder empfangsbereit sind. 0 = Funktion abschalten:",
+ 'ADMIN_CONFIG_POINTS_WORD' => "Währung Ihres {?mt_word2?} (Klammlose, Wernis, Primera, FuCo, etc.):",
+ 'ADMIN_CONFIG_MAX_COMMA' => "Angezeigte Stellen hinter dem Komma:",
'ADMIN_CONFIG_CSS_PHP' => "Sollen die CSS-Dateien direkt ausgegeben werden oder von css.php angezeigt werden?",
- 'ADMIN_CONFIG_SELECT_CSS_OUTPUT_MODE_DIRECT' => "Per <link>-Tag ausgeben (Debug!)",
- 'ADMIN_CONFIG_SELECT_CSS_OUTPUT_MODE_FILE' => "Per css.php ausgeben",
- 'ADMIN_CONFIG_SELECT_CSS_OUTPUT_MODE_INLINE' => "In <style>-Tag ausgeben",
+ 'ADMIN_CONFIG_SELECT_CSS_OUTPUT_MODE_DIRECT' => "Per <link>-Tag ausgeben.",
+ 'ADMIN_CONFIG_SELECT_CSS_OUTPUT_MODE_FILE' => "Per css.php ausgeben.",
+ 'ADMIN_CONFIG_SELECT_CSS_OUTPUT_MODE_INLINE' => "In <style>-Tag ausgeben.",
'ADMIN_CONFIG_GUEST_MENU' => "Gastmenü einblenden?",
'ADMIN_CONFIG_MEMBER_MENU' => "Mitgliedsmenü einblenden?",
'ADMIN_CONFIG_YOURE_HERE' => "Navigation "Sie sind hier" einblenden?",
- 'ADMIN_CONFIG_MT_WORD' => "Art Ihres Tausches (1. Fall, Singular)",
- 'ADMIN_CONFIG_MT_WORD2' => "Art Ihres Tausches (2. Fall, Singular)",
- 'ADMIN_CONFIG_MT_WORD3' => "Art Ihres Tausches (1. Fall, Plural)",
- 'ADMIN_CONFIG_REJECT_URL' => "Standard-URL bei Ablehnung der Mailbuchung",
- 'ADMIN_CONFIG_SHOW_TIMINGS' => "Skript-Statistiken im Seitenfuss einblenden (nützlich zum Debuggen)",
+ 'ADMIN_CONFIG_MT_WORD' => "Art Ihres Tausches (1. Fall, Singular):",
+ 'ADMIN_CONFIG_MT_WORD2' => "Art Ihres Tausches (2. Fall, Singular):",
+ 'ADMIN_CONFIG_MT_WORD3' => "Art Ihres Tausches (1. Fall, Plural):",
+ 'ADMIN_CONFIG_REJECT_URL' => "Standard-URL bei Ablehnung der Mailbuchung:",
+ 'ADMIN_CONFIG_SHOW_TIMINGS' => "Skript-Statistiken im Seitenfuss einblenden (nützlich zum Debuggen):",
'ADMIN_CONFIG_SHOW_POINTS_UNCONFIRMED' => "{?POINTS?} in unbestätige Mails im Mitgliedsbereich anzeigen?",
'ADMIN_CONFIG_MINIMUM_AGE' => "Ab welchem Mindestalter dürfen sich Ihre Mitglieder anmelden?",
- 'ADMIN_CONFIG_SQL_TITLE' => "SQL-Einstellungen",
+ 'ADMIN_CONFIG_SQL_TITLE' => "SQL-Einstellungen:",
'ADMIN_CONFIG_DISPLAY_DEBUG_SQLS' => "Sollen die SQL-Abfragen für Administratoren zu Debug-Zwecken angezeigt werden?. Das Einschalten dieser Einstellung kann enorme Performanceverluste bedeuten.",
- 'ADMIN_CONFIG_INTERNAL_STATS_TITLE' => "Interne Statistik-Einstellungen",
+ 'ADMIN_CONFIG_INTERNAL_STATS_TITLE' => "Interne Statistik-Einstellungen:",
'ADMIN_CONFIG_INTERNAL_STATS_ENABLED' => "Sollen die internen Statistiken eingeschaltet sein? Das Abschalten dieser Statistiken kann etwas Performance bringen, ist aber für Performancemessungen vorraussetzend.",
- 'ADMIN_CONFIG_WORD_WRAP' => "Allgemeiner Zeilenumbruch",
+ 'ADMIN_CONFIG_WORD_WRAP' => "Allgemeiner Zeilenumbruch:",
'ADMIN_CONFIG_OTHER_NOTICE' => "<strong>Hinweise:</strong> Der allgemeine Zeilenumbruch (in Zeichen angegeben) gilt als Fallback-Einstellung falls der für die Erweiterung spezielle Konfigurationseintrag fehlen sollte. Falls Sie Details wissen wollen, so schauen Sie bitte in der Funktion <strong>getWordWrap()</strong> im Script <strong>inc/wrapper-functions.php</strong> nach.",
'ADMIN_CONFIG_REJECT_DOUBLE_EMAIL' => "Doppelt angemeldete Email-Adressen ablehnen?",
));
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// Points accounts - subject
'POINTS_SUBJECT_RALLYE_WINNER' => "Gewinnausschüttung der Referral-Rallye",
+ 'POINTS_SUBJECT_RALLYE_WINNER_REF' => "Anteil an Gewinnausschüttung der Referral-Rallye",
));
// [EOF]
// Admin language strings
addMessages(array(
- 'ADMIN_CONFIG_REFBACK_TITLE' => "Refback-Einstellungen",
+ 'ADMIN_CONFIG_REFBACK_TITLE' => "Refback-Einstellungen:",
'ADMIN_CONFIG_REFBACK_ENABLED' => "Refback eingeschaltet? (Wenn nein, ist nur die Referral-Übersicht funktionell.)",
'ADMIN_CONFIG_REFBACK_MIN_PERCENTS' => "Minimum erlaubte Refback-Prozente:<br /><span class=\"notice\">(0% ist immer erlaubt!)</span>",
'ADMIN_CONFIG_REFBACK_MAX_PERCENTS' => "Maximum erlaubte Refback-Prozente:",
'SPONSOR_BOTH_NEW_PASSWORDS_DIDNOT_MATCH' => "Die von Ihnen eingegebenen neuen Passwörter stimmen nicht überein.",
'SPONSOR_PASSWORD_ONE_EMPTY' => "Erstes einzugebenes Passwort ist leer.",
'SPONSOR_PASSWORD_TWO_EMPTY' => "Zweites einzugebenes Passwort ist leer.",
- 'SPONSOR_PASSWORD_TOO_SHORT' => "Eingegebenes Passwort entspricht nicht der Mindestlänge von <span class=\"data\">{?pass_len?}</span> Zeichen.",
+ 'SPONSOR_PASSWORD_TOO_SHORT' => "Eingegebenes Passwort entspricht nicht der Mindestlänge von <span class=\"data\">{?min_password_length?}</span> Zeichen.",
'SPONSOR_ACCOUNT_DATA_NOT_SAVED' => "Ihre Daten wurden <u>nicht</u> gespeichert.",
// Module titles
'ADMIN_TASK_MAIL_BONUS_AP' => "Bereinigte Bonus-Mails",
'ADMIN_TASK_MAIL_BONUS_SEND' => "Versendete Bonus-Mails",
'ADMIN_TASK_UNKNOWN_MODE' => "Unbekannter Modus <span class=\"data\">%s</span> erkannt.",
- 'ADMIN_OVERVIEW_TASK_YOUR_TYPE' => "Ihre zugewiesen Aufgaben (ohne Updates)",
- 'ADMIN_OVERVIEW_TASK_UPDATES_TYPE' => "Automatisch durchgeführte Updates",
- 'ADMIN_OVERVIEW_TASK_SOLVED_TYPE' => "Ihre erledigten Aufgaben",
- 'ADMIN_OVERVIEW_TASK_UNASSIGNED_TYPE' => "Nicht zugewiesene und nicht gelöschte Aufgaben",
- 'ADMIN_OVERVIEW_TASK_DELETED_TYPE' => "Als zu löschende markierte Aufgaben",
- 'ADMIN_OVERVIEW_TASK_CLOSED_TYPE' => "Ihre geschlossenen Aufgaben",
+ 'ADMIN_OVERVIEW_TASK_YOUR_TYPE_TITLE' => "Ihre zugewiesen Aufgaben (ohne Updates):",
+ 'ADMIN_OVERVIEW_TASK_UPDATES_TYPE_TITLE' => "Automatisch durchgeführte Updates:",
+ 'ADMIN_OVERVIEW_TASK_SOLVED_TYPE_TITLE' => "Ihre erledigten Aufgaben:",
+ 'ADMIN_OVERVIEW_TASK_UNASSIGNED_TYPE_TITLE' => "Nicht zugewiesene und nicht gelöschte Aufgaben:",
+ 'ADMIN_OVERVIEW_TASK_DELETED_TYPE_TITLE' => "Als zu löschende markierte Aufgaben:",
+ 'ADMIN_OVERVIEW_TASK_CLOSED_TYPE_TITLE' => "Ihre geschlossenen Aufgaben:",
'ADMIN_TASK_DELETE_ENTRIES' => "Sofort löschen",
'ADMIN_TASK_DELETE_MODE_NOTICE' => "Diese Aufgaben sind zum automatischen Löschen freigegeben. Die automatische Löschung erfolgt durch die autopurge-Erweiterung. Sie können die Aufgaben aber auch jetzt endgültig löschen.",
'ADMIN_TASK_UNKNOWN_LIST_TITLE' => "Linktitel nicht gesetzt.",
'ADMIN_SET_AS_DEFAULT_THEME' => "Dieses Theme als Standard-Theme setzen",
'ADMIN_EDIT_THEME_TITLE' => "Designs ändern, Standarddesign setzen",
'ADMIN_EDIT_THEME_NOTICE' => "Durch Anklicken des Uni*-Names wird das jeweilige Theme als Standard-Theme gesetzt, welches Ihre Besucher sofort sehen werden.",
+ 'ADMIN_IMPORT_THEMES_TITLE' => "Hochgeladene Designs importieren",
// Admin - for ext-task
'ADMIN_TASK_LIST_THEME_ALL' => "Alle inst. Themes",
// Language definitions
addMessages(array(
// Admin messages
- 'ADMIN_CONFIG_TRANSFER_TITLE' => "Einstellungen zu {?POINTS?}-Überweisungen",
+ 'ADMIN_CONFIG_TRANSFER_TITLE' => "Einstellungen zu {?POINTS?}-Überweisungen:",
'ADMIN_CONFIG_TRANSFER_MAX' => "Maximal angezeigte Einträge",
'ADMIN_CONFIG_TRANSFER_AGE' => "Maximales Alter von Einträgen",
'ADMIN_CONFIG_TRANSFER_TIMEOUT' => "Sperrung der Einstellungen nach {?POINTS?}-Überweisung",
// Points accounts - subject
'POINTS_SUBJECT_TRANSFER' => "Überweisung durch Mitglied",
+ 'POINTS_SUBJECT_TRANSFER_REF' => "Anteil an Überweisung durch Mitglied",
));
// [EOF]
'MEMBER_USER_SUBID_NOT_ASSIGNED_404' => "Die angegebene Sub-Id-Kennung ist Ihrem Mitgliedsaccount nicht zugewiesen oder existiert nicht.",
'MEMBER_USER_SUBID_STATS_404' => "Für diese Sub-Id ist noch keine Statistik abfragbar, da sie noch nicht aufgerufen wurde.",
'MEMBER_ENTER_SUBID' => "Geben Sie eine Sub-Id ein:",
- 'MEMBER_ADD_SUBID_LEGEND' => "Daten zur Sub-Id",
+ 'MEMBER_ADD_SUBID_LEGEND' => "Daten zur Sub-Id:",
'MEMBER_SUBID_NO_SELECTIONS' => "Sie haben keine Auswahl getroffen! Bitte navigieren Sie zurück, wählen Sie mindestens eine Sub-Id aus und versuchen Sie es dann erneut.",
'MEMBER_USER_SUBID_STATS_LINK' => "Aufrufstatistiken",
'MEMBER_USER_SUBID_ADDED' => "Sub-Id hinzugefügt",
'MEMBER_CHANGE_USER_SUBID' => "Geben Sie eine neue ein:",
'MEMBER_INVALID_DO_USER_SUBID' => "Ungültiges Sub-Modul aufgerufen! Sollten Sie der Meinung sein, dies ist ein Fehler, so teilen Sie bitte dem Support mit, wie es zu dieser Meldung gekommen ist.",
'MEMBER_BACK_SUBIDS_OVERVIEW_LINK' => "Zurück zur Sub-Id-Übersicht ...",
- 'MEMBER_REFLINK_USER_SUBIDS_HEADER' => "Hier sehen Sie alle Ihre Sub-Ids, die Sie <a href=\"{%url=modules.php?module=login&what=subids\">eingegeben</a> haben. Sie können anstelle der User-Id auch Ihren Nicknamen verwenden.",
+ 'MEMBER_REFLINK_USER_SUBIDS_HEADER' => "Hier sehen Sie alle Ihre Sub-Ids, die Sie <a href=\"{%url=modules.php?module=login&what=subids%}\">eingegeben</a> haben. Sie können anstelle der User-Id auch Ihren Nicknamen verwenden.",
'MEMBER_REFLINK_USER_SUBIDS_NOTICE' => "<strong>Hinweis:</strong> Tipp! Legen Sie sich z.B. pro Besuchertausch und Mailtausch je eine Sub-Ids zum genaueren Tracking an. Somit können Sie genauer feststellen, worüber das geworbene Mitglied sich angemeldet hat.",
// Member - sub ids - submit buttons
'ADMIN_REMOVE_USER_SUBID_SUBMIT' => "Sub-Ids löschen",
// Member/admin - sub ids - notices
- 'MEMBER_ADD_USER_SUBIDS_NOTICE' => "<strong>Hinweise:</strong> Mit Sub-Ids haben Sie die Möglichkeit, die Aufrufe Ihres Referral-Linkes noch genauer zu verfolgen. Zum Beispiel können Sie jedem Besuchertausch oder fremden Paidmailer eine eigene Sub-Id vergeben, indem Sie diese hier zuerst eingeben und dann am Ende des Referral-Linkes mit <strong>&subid=<em>Ihre Sub-Id</em></strong> anhängen. Bewerben Sie nun diesen erweiterten Link. Sobald Aufrufe auf diesen erfolgen, können Sie bei der jeweiligen Sub-Id auf "Aufruf-Statistik" klicken, um eine detailierte Statistik zu erhalten. Leerzeichen oder Bindestrichen werden automatisch in Unterstriche umgewandelt, es wurden nur Zeichen von A-Z (klein- und grossgeschrieben) und alle Zahlenzeichen sowie Unterstriche angenommen.",
+ 'MEMBER_ADD_USER_SUBIDS_NOTICE' => "<strong>Hinweise:</strong> Mit Sub-Ids haben Sie die Möglichkeit, die Aufrufe Ihres Referral-Linkes noch genauer zu verfolgen. Zum Beispiel können Sie jedem Besuchertausch oder fremden Paidmailer eine eigene Sub-Id vergeben, indem Sie diese hier zuerst eingeben und dann am Ende des Referral-Linkes mit <strong>&subid=<em>Ihre Sub-Id</em></strong> anhängen. Bewerben Sie nun diesen erweiterten Link. Sobald Aufrufe auf diesen erfolgen, können Sie bei der jeweiligen Sub-Id auf "Aufrufstatistiken" klicken, um eine detailierte Statistik zu erhalten. Leerzeichen oder Bindestrichen werden automatisch in Unterstriche umgewandelt, es werden nur Zeichen von A-Z (klein- und grossgeschrieben) und alle Zahlenzeichen sowie Unterstriche angenommen.",
'MEMBER_EDIT_USER_SUBIDS_NOTICE' => "Wenn Sie doch nichts ändern wollen, klicken Sie einfach auf <strong>{--MEMBER_USER_SUBIDS_CHANGE_SUBMIT--}</strong> oder in der Navigation <strong>{--YOU_ARE_HERE--}</strong> auf Sub-Id Tracking.",
'MEMBER_DELETE_USER_SUBIDS_NOTICE' => "Wollen Sie die oben aufgeführte(n) Sub-Id(s) wirklich löschen? Dieses ist nicht umkehrbar! Die Statistik dazu bleibt noch eine Weile gespeichert, ist aber nicht mehr aus der Auswahl aufrufbar (Sie können sich ja den Link notieren?).",
'MEMBER_USER_SUBID_STATS_NOTICE' => "<strong>Wichtiger Hinweis:</strong> Tauschen Sie diesen Text im Template (nicht hier in der Sprachdatei) aus und fügen Sie Ihren eigenen bitte ein. Das Template finden Sie unter <strong>templates/de/html/member/member_list_subid_stats.tpl</strong>. Es wird hier auf nicht von Ihnen kontrollierbaren externen Webseiten verlinkt (der so genannte HTTP-Referrer wird hier verlinkt). Leider sieht das mit Velinken von externen Webseiten in Deutschland ziemlich trübe aus, alles verbürokratisiert ... :-(",
// Language definitions
addMessages(array(
- 'ADMIN_CONFIG_VALIDATOR_TITLE' => "Validierer-Einstellungen",
+ 'ADMIN_CONFIG_VALIDATOR_TITLE' => "Validierer-Einstellungen:",
'ADMIN_CONFIG_VALIDATOR_ENABLED' => "Sind unten im Footer die Validierer-Buttons zum direkten Validieren der Seiten eingeblendet?"
));
// No entries found
// @TODO Move this HTML to a template
$OUT = '<tr>
- <td colspan="3" align="center" height="30" class="bottom">
+ <td colspan="3" align="center" class="bottom">
<div class="bad">{%message,MEMBER_BONUS_NO_RANKS=' . $data . '%}</div>
</td>
</tr>';
sendAdminNotification('{--ADMIN_EARNING_INSERTED_SUBJECT--}', 'admin_earning_added', $content, getMemberId());
// Return status
- return ($content['insert_id'] > 0);
+ return isValidId($content['insert_id']);
}
// Update a given earning amount
'prev_status' => $prevStatus,
'new_status' => $newStatus,
'data' => $data,
- 'abort' => NULL
);
// Run pre filter chain
// Notify admin(s) with a selected message and content
function doForcedNotifyAdmin ($messageType, $content) {
// Prepare template name
- $templateName = sprintf("admin_forced_%s", $messageType);
+ $templateName = sprintf('admin_forced_%s', $messageType);
+
+ // Is the user id valid?
+ if (!isValidId($content['forced_campaign_userid'])) {
+ // No, then use admin-only template
+ $templateName = sprintf('admin_only_forced_%s', $messageType);
+ } // END - if
// Prepare subject
- $subject = sprintf("{--ADMIN_FORCED_NOTIFY_%s_SUBJECT--}",
- strtoupper($messageType)
- );
+ $subject = sprintf('{--ADMIN_FORCED_NOTIFY_%s_SUBJECT--}', strtoupper($messageType));
// Is the subject line there?
if ((substr($subject, 0, 1) == '!') && (substr($subject, -1, 1) == '!')) {
} // END - if
// Prepare template name
- $templateName = sprintf("member_forced_%s", $messageType);
+ $templateName = sprintf('member_forced_%s', $messageType);
// Prepare subject
- $subject = sprintf("{--MEMBER_FORCED_NOTIFY_%s_SUBJECT--}",
- strtoupper($messageType)
- );
+ $subject = sprintf('{--MEMBER_FORCED_NOTIFY_%s_SUBJECT--}', strtoupper($messageType));
// Is the subject line there?
if ((substr($subject, 0, 1) == '!') && (substr($subject, -1, 1) == '!')) {
$forcedAds = getArrayFromForcedAdsByType();
// Handle it over to generateSelectionBoxFromArray()
- $content = generateSelectionBoxFromArray($forcedAds, 'forced_ads_id', 'forced_ads_id', '', '', '', $default, 'forced_ads_type', FALSE, TRUE);
+ $content = generateSelectionBoxFromArray($forcedAds, 'forced_ads_id', 'forced_ads_id', '', '', '', $default, 'forced_ads_type');
// Return prepared content
return $content;
$forcedCosts = getArrayFromForcedCostsByVisibility();
// Handle it over to generateSelectionBoxFromArray()
- $content = generateSelectionBoxFromArray($forcedCosts, 'forced_costs_id', 'forced_costs_id', '', '', '', $default, '', TRUE, TRUE);
+ $content = generateSelectionBoxFromArray($forcedCosts, 'forced_costs_id', 'forced_costs_id', '', '', '', $default, '', TRUE);
// Return prepared content
return $content;
// Template helper function to create selection box for foreced campaign userid
function doTemplateForcedCampaignUseridSelectionBox ($templateName, $clear, $default = NULL) {
// Generate the selection box without all
- $content = addMemberSelectionBox($default, FALSE, TRUE, TRUE, 'forced_campaign_userid[]');
+ $content = addMemberSelectionBox($default, FALSE, TRUE, TRUE, 'forced_campaign_userid');
// Return prepared content
return $content;
$templ = 'mailid_enter_code';
} else {
// Disabled code
- $data['real_code'] = $realCode;
$templ = 'mailid_confirm_buttom';
}
$added = FALSE;
// Are there entries?
- if (is_array($keys_array) && ($value > 0)) {
+ if (isFilledArray($keys_array) && ($value > 0)) {
// Is an array so we can run it through
foreach ($keys_array as $key) {
// First check if it does exist
// Handle a (maybe) sent form here
function doNetworkHandleForm () {
// Is there a form sent?
- if (countRequestPost() > 0) {
+ if ((!isPostRequestElementSet('save_expert')) && (countRequestPost() > 0)) {
// Detect sent POST form
detectNetworkProcessForm();
} elseif (!isGetRequestElementSet('do')) {
// Processes an admin form
function doAdminNetworkProcessForm () {
// Create function name
- $functionName = sprintf("doAdminNetworkProcess%s", capitalizeUnderscoreString(getRequestElement('do')));
+ $functionName = sprintf('doAdminNetworkProcess%s', capitalizeUnderscoreString(getRequestElement('do')));
// Is the function valid?
if (!function_exists($functionName)) {
} // END - while
// Nothing found?
- if (count($rows) == 0) {
+ if (!isFilledArray($rows)) {
// Then return nothing ... ;-)
return '';
} // END - if
$networkData = getNetworkDataFromId($networkId);
// Is there found the network?
- if (count($networkData) > 0) {
+ if (isFilledArray($networkData)) {
// Add row template with given form name
$OUT .= loadTemplate('admin_' . getNetworkFormName() . '_networks_row', TRUE, $networkData);
} // END - if
$networkTypeData = getNetworkTypeDataByTypeId($networkId);
// Is there found the network?
- if (count($networkTypeData) > 0) {
+ if (isFilledArray($networkTypeData)) {
if (getNetworkFormName() == 'edit') {
// Add row template for deleting
$OUT .= loadTemplate('admin_edit_network_types_row', TRUE, $networkTypeData);
$networkRequestData = getNetworkRequestParamsDataFromId($networkId);
// Is there found the network?
- if (count($networkRequestData) > 0) {
+ if (isFilledArray($networkRequestData)) {
if (getNetworkFormName() == 'edit') {
// Add row template for deleting
$OUT .= loadTemplate('admin_edit_network_request_params_row', TRUE, $networkRequestData);
$networkTranslationsData = getNetworkArrayTranslationsDataFromId($networkId);
// Is there found the network?
- if (count($networkTranslationsData) > 0) {
+ if (isFilledArray($networkTranslationsData)) {
if (getNetworkFormName() == 'edit') {
// Add row template for deleting
$OUT .= loadTemplate('admin_edit_network_array_translation_row', TRUE, $networkTranslationsData);
$requestParams = getNetworkRequestParametersByTypeId(postRequestElement('network_type_id'));
// Is there at least one entry?
- if (count($requestParams) == 0) {
+ if (!isFilledArray($requestParams)) {
// No entry found, please setup some first
reportBug(__FUNCTION__, __LINE__, 'Network ' . $networkData['network_title'] . ' with id ' . $networkData['network_id'] . ' has no request parameters.');
} // END - if
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
$ral = array();
// Check templates directory
- $basePath = sprintf("templates/%s/html/rallye/", getLanguage());
+ $basePath = sprintf('templates/%s/html/rallye/', getLanguage());
// Read the directory
$templates = getArrayFromDirectory($basePath, 'rallye_', FALSE, TRUE, array(), '.tpl');
$ral[$read] = $read;
} else {
// Log invalid
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("WARNING: Template %s not used.", $read));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('WARNING: Template %s not used.', $read));
}
} // END - foreach
if (!ifSqlHasZeroNums($result)) {
// Fetch all entries
while ($row = sqlFetchArray($result)) {
- // Init click rate
- $row['click_rate'] = '0';
-
- // Does he have received some mails?
- if ($row['emails_received'] > 0) {
- // Calculate click rate
- $row['click_rate'] = ($row['mails_confirmed'] / $row['emails_received'] * 100);
- } // END - if
+ // Calculate click rate
+ $row['click_rate'] = calculatePercentageRate($row['mails_confirmed'], $row['emails_received']);
// Add row
$refs[$row['id']] = $row;
$content = getArrayFromUserRefbackData($id);
// Is this valid?
- if (count($content) == 0) {
+ if (!isFilledArray($content)) {
// id does not belong to user!
$status['message'] = 'MEMBER_REFBACK_ERROR_ID_MISMATCH';
return $status;
// Checks whether the registration data is complete
function isRegistrationDataComplete () {
// Init elements
- $GLOBALS['registration_ip_timeout'] = FALSE;
- $GLOBALS['registration_short_password'] = FALSE;
- $GLOBALS['registration_selected_cats'] = '0';
+ $GLOBALS['registration_ip_timeout'] = FALSE;
+ $GLOBALS['registration_weak_password'] = FALSE;
+ $GLOBALS['registration_selected_cats'] = '0';
// Default is okay
$isOkay = TRUE;
+ $isRandom = FALSE;
// First we only check the submitted data then we continue... :)
//
if ((isExtensionInstalledAndNewer('register', '0.5.5')) && (isRegisterGeneratePasswordEmptyEnabled())) {
// Generate a random password
$randomPassword = generatePassword();
+ $isRandom = TRUE;
// Set it in both entries
setPostRequestElement('password1', $randomPassword);
$isOkay = FALSE;
} // END - if
- // Is the password long enouth?
- if ((strlen(postRequestElement('password1')) < getPassLen()) && ($isOkay === TRUE)) {
- $GLOBALS['registration_short_password'] = TRUE;
+ // Is the password strong enough?
+ if (($isRandom === FALSE) && (!isStrongPassword(postRequestElement('password1')))) {
+ $GLOBALS['registration_weak_password'] = TRUE;
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'User did enter a short password.');
$isOkay = FALSE;
} // END - if
// Wrapper for fetchSponsorData() and getSponsorData() calls
function getFetchedSponsorData ($keyColumn, $sponsor_id, $valueColumn) {
// Zero ids are not valid
- if ($sponsor_id == 0) {
+ if (!isValidId($sponsor_id)) {
// Abort here
reportBug(__FUNCTION__, __LINE__, 'Zero sponsor_id provided');
} // END - if
// No array
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: IDs type ' . gettype($IDs) . '!=array');
return FALSE;
- } elseif (count($IDs) == 0) {
+ } elseif (!isFilledArray($IDs)) {
// Empty array
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: IDs is empty');
return FALSE;
// No array
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: IDs type ' . gettype($IDs) . '!=array');
return FALSE;
- } elseif (count($IDs) == 0) {
+ } elseif (!isFilledArray($IDs)) {
// Empty array
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: IDs is empty');
return FALSE;
$urlArray = getSurfbarUrlData('0', 'url_views_max', 'url_id', 'ASC', 'url_id', " AND `url_views_allowed` > 0 AND `url_status`='ACTIVE'");
// Are there some entries?
- if (count($urlArray) > 0) {
+ if (isFilledArray($urlArray)) {
// Then handle all!
foreach ($urlArray as $id => $urlData) {
// Backup data
$urlArray = getSurfbarUrlData($url, 'url', 'url_id', 'ASC', 'url_id', sprintf(" AND `url_userid`=%s", bigintval($userid)));
// Was it found?
- return (count($urlArray) > 0);
+ return isFilledArray($urlArray);
}
// Load URL data by given search term and column
$userids = determineSurfbarDepletedUserids();
// If we dont get any user ids back, there are no URLs
- if (count($userids['url_userid']) == 0) {
+ if (!isFilledArray($userids['url_userid'])) {
// No user ids found, no URLs!
return 0;
} // END - if
$newStatus = strtolower($newStatus);
// Get URL data for status comparison if missing
- if ((!is_array($data)) || (count($data) == 0)) {
+ if (!isFilledArray($data)) {
// Fetch missing URL data
$data = getSurfbarUrlData($urlId);
} // END - if
'prev_status' => $prevStatus,
'new_status' => $newStatus,
'data' => $data,
- 'abort' => NULL
);
// Run pre filter chain
$filterData = runFilterChain('pre_change_surfbar_url_status', $filterData);
// Abort here?
- if (!is_null($filterData['abort'])) {
+ if (isFilterChainAborted()) {
// Abort here
- return $filterData['abort'];
+ return FALSE;
} // END - if
// Update the status now
// Shall we add some URL ids to ignore?
$add = '';
- if (count($USE) > 0) {
+ if (isFilledArray($USE)) {
// Ignore some!
$add = " AND `sbu`.`url_id` NOT IN (";
foreach ($USE as $url_id => $lid) {
$content['update_tasks'] = '<a href="{%url=modules.php?module=admin&what=list_task&type=updates%}">' . $value . '</a>';
} // END - if
- //
- // First check for all account status seperately
- //
- // Confirmed accounts
- $value = getTotalConfirmedUser();
- if ($value > 0) {
- $content['confirmed_members'] = '<a href="{%url=modules.php?module=admin&what=list_user&status=confirmed%}">' . $value . '</a>';
- } // END - if
+ // Do this only if ext-user is installed
+ if (isExtensionInstalled('user')) {
+ //
+ // First check for all account status seperately
+ //
+ // Confirmed accounts
+ $value = getTotalConfirmedUser();
+ if ($value > 0) {
+ $content['confirmed_members'] = '<a href="{%url=modules.php?module=admin&what=list_user&status=confirmed%}">' . $value . '</a>';
+ } // END - if
- // Unconfirmed accounts
- $value = getTotalUnconfirmedUser();
- if ($value > 0) {
- $content['unconfirmed_members'] = '<a href="{%url=modules.php?module=admin&what=list_user&status=unconfirmed%}">' . $value . '</a>';
- } // END - if
+ // Unconfirmed accounts
+ $value = getTotalUnconfirmedUser();
+ if ($value > 0) {
+ $content['unconfirmed_members'] = '<a href="{%url=modules.php?module=admin&what=list_user&status=unconfirmed%}">' . $value . '</a>';
+ } // END - if
- // Locked accounts
- $value = getTotalLockedUser();
- if ($value > 0) {
- $content['locked_members'] = '<a href="{%url=modules.php?module=admin&what=list_user&status=locked%}">' . $value . '</a>';
+ // Locked accounts
+ $value = getTotalLockedUser();
+ if ($value > 0) {
+ $content['locked_members'] = '<a href="{%url=modules.php?module=admin&what=list_user&status=locked%}">' . $value . '</a>';
+ } // END - if
} // END - if
if (isExtensionInstalledAndNewer('user', '0.3.4')) {
// Checks whether a theme is found in db
function ifThemeExists ($name) {
// Get theme and is it not nul?
- return (((isExtensionActive('theme')) || (getModule() == 'admin')) && (getThemeId($name) > 0));
+ return (((isExtensionActive('theme')) || (getModule() == 'admin')) && (isValidId(getThemeId($name))));
}
// Checks if a theme is active
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/22/2013 *
+ * =================== Last change: 06/22/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : transaction_functions.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Functions for ext-transaction *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Funktionen fuer ext-transaction *
+ * -------------------------------------------------------------------- *
+ * $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
+
+// Logs a transaction and "signs" it
+function logTransaction ($sender, $receiver, $level, $valueAmount, $originalAmount, $transactionSubject) {
+ // Check all conditions
+ assert(((is_null($sender)) || (isValidId($sender))) && (isValidId($receiver)) && ((is_null($level)) || (isValidNumber($level))) && ($valueAmount > 0) && ($originalAmount > 0));
+
+ // Record the transaction for later fee collection
+ sqlQueryEscaped("INSERT INTO
+ `{?_MYSQL_PREFIX?}_transaction_log`
+(
+ `transaction_sender`,
+ `transaction_receiver`,
+ `transaction_level`,
+ `transaction_value`,
+ `transaction_original`,
+ `transaction_fee_sender`,
+ `transaction_fee_sender_percents`,
+ `transaction_fee_receiver`,
+ `transaction_fee_receiver_percents`,
+ `transaction_subject`
+) VALUES (
+ %s,
+ %s,
+ %s,
+ %01.5f,
+ %01.5f,
+ %01.5f,
+ %01.5f,
+ %01.5f,
+ %01.5f,
+ '%s'
+)",
+ array(
+ convertNull($sender),
+ bigintval($receiver),
+ convertNull($level),
+ $valueAmount,
+ $originalAmount,
+ calculateSenderTransactionFee($originalAmount),
+ getConfig('transaction_fee_sender'),
+ calculateReceiverTransactionFee($valueAmount),
+ getConfig('transaction_fee_receiver'),
+ $transactionSubject
+ ), __FUNCTION__, __LINE__
+ );
+
+ // Should work
+ assert(isValidId(getSqlInsertId()));
+}
+
+// Calculates transaction fee for sender amount
+function calculateSenderTransactionFee ($amount) {
+ // Calculate it
+ $fee = $amount * getConfig('transaction_fee_sender') / 100;
+
+ // Return fee
+ return $fee;
+}
+
+// Calculates transaction fee for receiver amount
+function calculateReceiverTransactionFee ($amount) {
+ // Calculate it
+ $fee = $amount * getConfig('transaction_fee_receiver') / 100;
+
+ // Return fee
+ return $fee;
+}
+
+// Hashes given transaction data
+function generateHashFromTransactionData (array &$data, $oldHash = '') {
+ // Add CAPTCHA code, if missing
+ if (!isset($data['transaction_captcha'])) {
+ // Add it
+ $data['transaction_captcha'] = generateId(
+ 5,
+ implode(
+ ':',
+ $data
+ )
+ );
+ } // END - if
+
+ // Convert some possible NULL values
+ $data['transaction_sender'] = convertNull($data['transaction_sender']);
+
+ // Generate string to hash
+ $string = implode(':', $data);
+
+ // Hash it then
+ $hash = hashString($string, $oldHash);
+
+ // Return it
+ return $hash;
+}
+
+// "Getter" for CAPTCHA code from given transaction id
+function getCaptchaCodeFromTransactionId ($transactionId) {
+ // Must be valid
+ assert(isValidId($transactionId));
+
+ // Default is NULL
+ $code = NULL;
+
+ // Search for it
+ $result = sqlQueryEscaped("SELECT
+ `transaction_captcha`
+FROM
+ `{?_MYSQL_PREFIX?}_transaction_log`
+WHERE
+ `transaction_id`=%s AND
+ `transaction_level` IS NULL AND
+ `transaction_captcha` IS NOT NULL
+LIMIT 1",
+ array(
+ bigintval($transactionId)
+ ), __FUNCTION__, __LINE__
+ );
+
+ // Is it there?
+ if (sqlNumRows($result) == 1) {
+ // Load it
+ list($code) = sqlFetchRoww($result);
+ } // END - if
+
+ // Free result
+ sqlFreeResult($result);
+
+ // Return it
+ return $code;
+}
+
+// Tries to confirm given transactions
+function doTryConfirmTransactions (array $post) {
+ // Make sure only members can do this
+ assert((isMember()) && (isset($post['ok'])) && (ifPostHasSelection('transaction_id', $post)));
+
+ // Remove submit button
+ unset($post['ok']);
+
+ // Default is not working ;-)
+ $confirmed = FALSE;
+
+ // Init arrays/variables
+ $confirmedIds = array();
+ $failedIds = array();
+ $points = 0;
+
+ // "Walk" through all transaction ids
+ foreach ($post['transaction_id'] as $transactionId => $code) {
+ // Process only valid ids/CAPTCHA codes
+ if ((isValidId($transactionId)) && (empty($code))) {
+ // Empty code found, no CAPTCHA entered
+ continue;
+ } elseif ((!isValidId($transactionId)) || (!isValidNumber($code))) {
+ // Better set it as "invalid" explicitly and abort here
+ $confirmed = FALSE;
+ break;
+ }
+
+ // Init data array
+ $data = array();
+
+ // Try to load more transaction data
+ $result = sqlQueryEscaped("SELECT
+ `transaction_id`,
+ `transaction_hash`,
+ `transaction_sender`,
+ `transaction_receiver`,
+ `transaction_fee_sender`,
+ `transaction_fee_receiver`,
+ `transaction_original`,
+ `transaction_subject`,
+ `transaction_timestamp`
+FROM
+ `{?_MYSQL_PREFIX?}_transaction_log`
+WHERE
+ `transaction_id`=%s AND
+ `transaction_hash` != 'INVALID' AND
+ `transaction_sender` != %s AND
+ `transaction_sender` IS NOT NULL AND
+ `transaction_receiver` != %s AND
+ `transaction_receiver` IS NOT NULL AND
+ `transaction_confirmed`='N' AND
+ `transaction_level` IS NULL AND
+ `transaction_captcha` IS NOT NULL
+LIMIT 1",
+ array(
+ bigintval($transactionId),
+ getCurrentUserId(),
+ getCurrentUserId()
+ ), __FUNCTION__, __LINE__
+ );
+
+ // Is there one entry?
+ if (sqlNumRows($result) == 1) {
+ // Then load it
+ $data = sqlFetchArray($result);
+
+ /*
+ * Save hash for later usage and remove it, so that the hasher
+ * function will calculate the same hash if same CAPTCHA code
+ * has been entered.
+ */
+ $oldHash = $data['transaction_hash'];
+ unset($data['transaction_hash']);
+
+ // Set captcha code from POST data
+ $data['transaction_captcha'] = bigintval($code);
+
+ // Generate hash again
+ $hash = generateHashFromTransactionData($data, $oldHash);
+
+ // Is it the same?
+ $confirmed = ($hash == $oldHash);
+ if ($confirmed === TRUE) {
+ // Then mark it as confirmed and count all points
+ array_push($confirmedIds, $transactionId);
+ $points += $data['transaction_fee_sender'] + $data['transaction_fee_receiver'];
+ } else {
+ // Failed confirmation
+ array_push($failedIds, $transactionId);
+ }
+ } // END - if
+
+ // Free result
+ sqlFreeResult($result);
+
+ // If it is not found, abort here
+ if (!isFilledArray($data)) {
+ // Is not valid, better explicitly set it here and abort
+ $confirmed = FALSE;
+ break;
+ } // END - if
+ } // END - foreach
+
+ // Were all transaction ids valid?
+ if ($confirmed === TRUE) {
+ // Update all confirmed transactions
+ sqlQueryEscaped("UPDATE
+ `{?_MYSQL_PREFIX?}_transaction_log`
+SET
+ `transaction_confirmed`='Y'
+WHERE
+ `transaction_id` IN (" . implode(',', $confirmedIds) . ") AND
+ `transaction_hash` != 'INVALID' AND
+ `transaction_sender` != %s AND
+ `transaction_sender` IS NOT NULL AND
+ `transaction_receiver` != %s AND
+ `transaction_receiver` IS NOT NULL AND
+ `transaction_confirmed`='N'
+LIMIT %s",
+ array(
+ getCurrentUserId(),
+ getCurrentUserId(),
+ count($confirmedIds)
+ ), __FUNCTION__, __LINE__
+ );
+
+ // Check if all has been updated
+ $confirmed = (sqlAffectedRows() == count($confirmedIds));
+
+ // Has all confirmed?
+ if ($confirmed === TRUE) {
+ // Allowed fields
+ $allowed = array(
+ 'transaction_fees',
+ 'transaction_confirmed',
+ 'transaction_confirmed_yearly',
+ 'transaction_count'
+ );
+
+ // Add them user's "pot"
+ $updated = doUpdateMemberProfileData(array(
+ 'transaction_fees' => getUserData('transaction_fees') + $points,
+ 'transaction_confirmed' => getUserData('transaction_confirmed') + count($confirmedIds),
+ 'transaction_confirmed_yearly' => getUserData('transaction_confirmed_yearly') + count($confirmedIds),
+ 'transaction_count' => getUserData('transaction_count') + (count($confirmedIds) * getConfig('transaction_count_captcha_confirm'))
+ ), $allowed, '', FALSE);
+
+ // Should always work
+ assert($updated === TRUE);
+ } // END - if
+ } // END - if
+
+ // Are there some failed transactions?
+ if (count($failedIds) > 0) {
+ // Then update all
+ sqlQueryEscaped("UPDATE
+ `{?_MYSQL_PREFIX?}_transaction_log`
+SET
+ `transaction_captcha_failed`='Y'
+WHERE
+ `transaction_id` IN (" . implode(',', $failedIds) . ") AND
+ `transaction_hash` != 'INVALID' AND
+ `transaction_sender` != %s AND
+ `transaction_sender` IS NOT NULL AND
+ `transaction_receiver` != %s AND
+ `transaction_receiver` IS NOT NULL AND
+ `transaction_confirmed`='N'
+LIMIT %s",
+ array(
+ getCurrentUserId(),
+ getCurrentUserId(),
+ count($failedIds)
+ ), __FUNCTION__, __LINE__
+ );
+
+ // Should always work
+ assert(sqlAffectedRows() == count($failedIds));
+ } // END - if
+
+ // Return status
+ return $confirmed;
+}
+
+// Checks whether the given user has a fee exempt
+function ifUserHasTransactionFeeExempt ($username) {
+ // Accept only valid ids
+ assert(isValidId($username));
+
+ // Is there "cache"?
+ if (!isset($GLOBALS[__FUNCTION__][$username])) {
+ // Default is the user has no excempt
+ $GLOBALS[__FUNCTION__][$username] = FALSE;
+
+ // "Determine" it
+ $GLOBALS[__FUNCTION__][$username] = (getTotalAmountByUserid($username) < getConfig('transaction_fee_exempt_amount'));
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__][$username];
+}
+
+// [EOF]
+?>
$errorCode = YOOMEDIA_GET_ERRORCODE_FROM_RESULT($response);
// Log the response if failed
- if ((count($response) == 0) && ($errorCode > 0)) {
+ if ((!isFilledArray($response)) && (isValidNumber($errorCode))) {
// Queries depleted (as we count here!)
logDebugMessage(__FUNCTION__, __LINE__, 'Requested depleted. Maxmimum was: ' . getConfig('yoomedia_requests_total') . ',errorCode=' . $errorCode);
$errorCode = -1;
- } elseif ((($errorCode <= 4) && ($errorCode > 0)) || ($errorCode >= 8)) {
+ } elseif ((($errorCode <= 4) && (isValidNumber($errorCode))) || ($errorCode >= 8)) {
// An error has returned from the account
logDebugMessage(__FUNCTION__, __LINE__, 'Unexpected error code ' . $errorCode . ' received.');
- } elseif ((count($response) > 0) && ($errorCode != 0)) {
+ } elseif ((isFilledArray($response)) && (isValidNumber($errorCode))) {
// Log serialized raw response
logDebugMessage(__FUNCTION__, __LINE__, 'errorCode=' . $errorCode . ',response=' . base64_encode(serialize($response)));
$errorCode = -1;
$result = array();
// Parse the response
- if (count($response) > 0) {
+ if (isFilledArray($response)) {
$result = YOOMEDIA_PARSE_RESPONSE($response, 'textmail');
} // END - if
$dummy = removeHttpHeaderFromResponse($response);
// If there is no result, abort here
- if (count($dummy) == 0) {
+ if (!isFilledArray($dummy)) {
// Empty response from API
reportBug(__FUNCTION__, __LINE__, 'Empty result from API received. response()=' . count($response) . ',type=' . $type);
return array();
$code = -999;
} // END - if
}
- } elseif (count($response) == 0) {
+ } elseif (!isFilledArray($response)) {
// All fine, but empty result
$code = '0';
} else {
}
// Check if the user setups his database login stuff...
-if ((empty($GLOBALS['mysql']['login'])) && (!isInstalling()) && (!isInstallationPhase()) && (!isGetRequestElementSet('installing')) && (isInstalled())) {
+if ((empty($GLOBALS['mysql']['login'])) && (!isInstalling()) && (!isInstaller()) && (!isGetRequestElementSet('installing')) && (isInstalled())) {
// No login entered and outside installation mode
- outputHtml('<strong>{--MAILER_WARNING--}:</strong>');
+ outputHtml('<strong>{--MAILER_WARNING--}</strong>');
if (isInstalled()) {
// You have changed my configuration file!
reportBug(__FILE__, __LINE__, '{--DIE_CONFIG_CHANGED_YOU--}');
// Please run the installation script (maybe again)
reportBug(__FILE__, __LINE__, '{--DIE_RUN_INSTALLER_MYSQL--}');
}
-} elseif ((!isInstalling()) && (!isInstallationPhase()) && (empty($GLOBALS['mysql']['password'])) && (getConfig('WARN_NO_PASS') == 'Y')) {
+} elseif ((!isInstalling()) && (!isInstaller()) && (empty($GLOBALS['mysql']['password'])) && (getConfig('WARN_NO_PASS') == 'Y')) {
// No database password entered
- displayMessage('<div class="warning">{--MAILER_WARNING--}:</div> {--WARN_NULL_PASSWORD--}');
+ displayMessage('<div class="warning">{--MAILER_WARNING--}</div> {--WARN_NULL_PASSWORD--}');
}
// [EOF]
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Use this code if you don't want to run this cache loader on installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
}
if (($GLOBALS['cache_instance']->loadCacheFile('foo')) && ($GLOBALS['cache_instance']->extensionVersionMatches('foo'))) {
// Load cache
$GLOBALS['cache_array']['foo'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file
$GLOBALS['cache_instance']->init();
// Query the database about this
$result = sqlQuery('SELECT * FROM `{?_MYSQL_PREFIX?}_foos` ORDER BY `some_bar` ASC', __FILE__, __LINE__);
- while ($dummy = sqlFetchArray($result)) {
+ while ($data = sqlFetchArray($result)) {
// Save row
- $GLOBALS['cache_instance']->addRow($dummy);
+ $GLOBALS['cache_instance']->addRow($data);
} // END - while
// Free memory
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
}
$GLOBALS['cache_instance']->removeCacheFile();
unset($GLOBALS['cache_array']['admin']);
}
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file
$GLOBALS['cache_instance']->init();
// This may drive a lot messages to the logfile
//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'No entry found in admin_acls to rewrite.');
}
- } elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+ } elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file here
$GLOBALS['cache_instance']->init();
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
}
// Remove dummy array
unset($config);
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file here
$GLOBALS['cache_instance']->init();
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
} elseif (!isExtensionInstalled('earning')) {
// Do not cache if not installed!
if (($GLOBALS['cache_instance']->loadCacheFile('earning')) && ($GLOBALS['cache_instance']->extensionVersionMatches('earning'))) {
// Load cache
$GLOBALS['cache_array']['earning'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif ((isHtmlOutputMode()) && (isExtensionInstalled('earning'))) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file
$GLOBALS['cache_instance']->init();
// Query the database about this
$result = sqlQuery('SELECT * FROM `{?_MYSQL_PREFIX?}_earning_data` ORDER BY `earning_id` ASC', __FILE__, __LINE__);
- while ($dummy = sqlFetchArray($result)) {
+ while ($data = sqlFetchArray($result)) {
// Save row
- $GLOBALS['cache_instance']->addRow($dummy);
+ $GLOBALS['cache_instance']->addRow($data);
} // END - while
// Free memory
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
}
// Loop through all
foreach ($EXT_DUMMY['ext_name'] as $k => $ext_name) {
- // Load CSS file
+ // Load CSS file?
if ($EXT_DUMMY['ext_css'][$k] == 'Y') {
addExtensionCssFile($ext_name . '.css');
} // END - if
// Remove array and mark cache as loaded
unset($EXT_POOL);
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file here
$GLOBALS['cache_instance']->init();
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
}
// Prepare the array here
prepareFilterArray();
-} elseif (((isHtmlOutputMode()) || (isRawOutputMode())) && (isExtensionInstalledAndNewer('sql_patches', '0.5.9'))) {
+} elseif (((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) && (isExtensionInstalledAndNewer('sql_patches', '0.5.9'))) {
// Create cache file here
$GLOBALS['cache_instance']->init();
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
} elseif (!isExtensionInstalled('imprint')) {
// Do not cache if not installed!
if (($GLOBALS['cache_instance']->loadCacheFile('imprint')) && ($GLOBALS['cache_instance']->extensionVersionMatches('imprint'))) {
// Load cache
$GLOBALS['cache_array']['imprint'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file
$GLOBALS['cache_instance']->init();
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
+ return FALSE;
+} elseif (!isExtensionInstalled('mods')) {
+ // Do not run if ext-mods is missing
return FALSE;
}
} // END - foreach
} // END - foreach
unset($modArray);
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file here
$GLOBALS['cache_instance']->init();
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
}
// Set the array back and remove temporary
$GLOBALS['cache_array']['payments'] = $paymentsData;
unset($paymentsData);
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file
$GLOBALS['cache_instance']->init();
// Query the database about this
$result = sqlQuery('SELECT * FROM `{?_MYSQL_PREFIX?}_payments` ORDER BY `id` ASC', __FILE__, __LINE__);
- while ($dummy = sqlFetchArray($result)) {
+ while ($data = sqlFetchArray($result)) {
// Save row
- $GLOBALS['cache_instance']->addRow($dummy);
+ $GLOBALS['cache_instance']->addRow($data);
} // END - while
// Free memory
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
} elseif (!isExtensionInstalledAndNewer('sql_patches', '0.8.0')) {
// Is not installed or recent enough
// Set the array back and remove temporary
$GLOBALS['cache_array']['points_data'] = $pointsData;
unset($pointsData);
-} elseif ((isHtmlOutputMode()) && (isExtensionInstalledAndNewer('sql_patches', '0.8.6'))) {
+} elseif (((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) && (isExtensionInstalledAndNewer('sql_patches', '0.8.6'))) {
// Create cache file
$GLOBALS['cache_instance']->init();
// Query the database about this
$result = sqlQuery('SELECT * FROM `{?_MYSQL_PREFIX?}_points_data` ORDER BY `id` ASC', __FILE__, __LINE__);
- while ($dummy = sqlFetchArray($result)) {
+ while ($data = sqlFetchArray($result)) {
// Save row
- $GLOBALS['cache_instance']->addRow($dummy);
+ $GLOBALS['cache_instance']->addRow($data);
} // END - while
// Free memory
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
}
if (($GLOBALS['cache_instance']->loadCacheFile('refdepths')) && ($GLOBALS['cache_instance']->extensionVersionMatches('sql_patches'))) {
// Load referral system from cache
$GLOBALS['cache_array']['refdepths'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file here
$GLOBALS['cache_instance']->init();
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
}
if (($GLOBALS['cache_instance']->loadCacheFile('refsystem')) && ($GLOBALS['cache_instance']->extensionVersionMatches('sql_patches'))) {
// Load referral system from cache
$GLOBALS['cache_array']['refsystem'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file here
$GLOBALS['cache_instance']->init();
if ($GLOBALS['cache_instance']->loadCacheFile('revision')) {
// Load revision from cache
$GLOBALS['cache_array']['revision'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif ((isHtmlOutputMode())) {
+} elseif (((isHtmlOutputMode())) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file here
$GLOBALS['cache_instance']->init();
$GLOBALS['cache_instance']->finalize();
// Generate FQFN for old revision file
- $FQFN = sprintf("%s/.revision", getCachePath());
+ $FQFN = sprintf('%s/.revision', getCachePath());
// Is it there?
if (isFileReadable($FQFN)) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif (isInstallationPhase()) {
+} elseif (isInstaller()) {
// Do not run in installation phase
+ //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Run from installation phase.');
return FALSE;
} elseif (!isExtensionActive('theme')) {
// Skip this loader
// Remove dummy array
unset($cache);
-} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
+} elseif ((isHtmlOutputMode()) || (isAjaxOutputMode()) || (isRawOutputMode())) {
// Create cache file here
$GLOBALS['cache_instance']->init();
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
if ($content['userid'] != getDoublerUserid()) {
// Add points
initReferralSystem();
- addPointsThroughReferralSystem(sprintf("doubler_%s", strtolower(getDoublerSendMode())), $content['userid'], $content['points']);
+ addPointsThroughReferralSystem(sprintf('doubler_%s', strtolower(getDoublerSendMode())), $content['userid'], $content['points']);
} // END - if
// Set entry as "payed"
} // END - if
// Exclude also webmaster's id in taking points from webmaster's account
- if (($userPoints > 0) && ($userPoints >= $content['points']) && ($okay === FALSE) && (getDoublerUserid() > 0) && ($content['userid'] != getDoublerUserid())) {
+ if (($userPoints > 0) && ($userPoints >= $content['points']) && ($okay === FALSE) && (isValidId(getDoublerUserid())) && ($content['userid'] != getDoublerUserid())) {
// Subtract points
$okay = subtractPoints('doubler_payout', getDoublerUserid(), $content['points']);
} // END - if
setModuleStatus($module_chk, 'major');
// Check if script is installed if not return a 'done' to prevent some errors
- if ((isInstallationPhase()) || (!isAdminRegistered())) {
+ if ((isInstaller()) || (!isAdminRegistered())) {
// Not installed or no admin registered or in installation phase
setModuleStatus($module_chk, 'done');
setModuleStatus($module_chk, 'admin_only');
} else {
// @TODO Nothing helped???
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("ret=%s,locked=%d,hidden=%d,mem=%d,admin=%d",
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('ret=%s,locked=%d,hidden=%d,mem=%d,admin=%d',
getModuleStatus($module_chk),
intval(isModuleLocked($module_chk)),
intval(isModuleHidden($module_chk)),
// Still no luck or not found?
if (($found === FALSE) && (!isExtensionActive('cache')) && (getModuleStatus($module_chk) != 'done')) {
// ----- Default module ----- ---- Module in base folder ---- --- Module with extension's name ---
- if ((isIncludeReadable(sprintf("inc/modules/%s.php", $module))) || (isIncludeReadable(sprintf("%s.php", $module))) || (isIncludeReadable(sprintf("%s/%s.php", $extension, $module)))) {
+ if ((isIncludeReadable(sprintf('inc/modules/%s.php', $module))) || (isIncludeReadable($module . '.php')) || (isIncludeReadable(sprintf('%s/%s.php', $extension, $module)))) {
// Data is missing so we add it
if (isExtensionInstalledAndNewer('sql_patches', '0.3.6')) {
/*
rebuildCache('modules', 'modules');
} elseif ($found === FALSE) {
// Problem with module detected
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Problem in module %s detected. getModuleStatus()=%s,locked=%d,hidden=%d,mem=%d,admin=%d,output_mode=%s",
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Problem in module %s detected. getModuleStatus()=%s,locked=%d,hidden=%d,mem=%d,admin=%d,output_mode=%s',
$module_chk,
getModuleStatus($module_chk),
intval(isModuleLocked($module_chk)),
}
// Debug log
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("module=%s, status=%s", $module_chk, getModuleStatus($module_chk)));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf('module=%s, status=%s', $module_chk, getModuleStatus($module_chk)));
// Return the value
return getModuleStatus($module_chk);
} elseif (!isExtensionInstalled('sql_patches')) {
// No ext-sql_patches installed, so maybe in admin/guest/member/sponsor area or no admin registered?
$ret = in_array($module, array('admin', 'index', 'login', 'sponsor')); // Then there is a menu!
- } elseif (!isInstallationPhase()) {
+ } elseif (!isInstaller()) {
// Unsupported state, but ignored in installation phase
logDebugMessage(__FUNCTION__, __LINE__, 'This should never be reached, module[' . gettype($module) . ']=' . $module . ',forceDb=' . intval($forceDb));
}
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_mod_reg` (`module`, `title`, `locked`, `hidden`, `admin_only`, `mem_only`) VALUES ('" . $module . "', '" . $title . "', '" . $locked . "', '" . $hidden . "', '" . $adminOnly . "', '" . $memOnly . "')");
} else {
// Already registered
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Already registered: module=%s,locked=%s,hidden=%s,admin=%s,mem=%s",
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Already registered: module=%s,locked=%s,hidden=%s,admin=%s,mem=%s',
$module,
$locked,
$hidden,
$isModuleValid = FALSE;
// Construct module name
- $GLOBALS['module_inc'] = sprintf("inc/modules/%s.php", getModule());
+ $GLOBALS['module_inc'] = sprintf('inc/modules/%s.php', getModule());
// Check module permission (again)
$moduleState = checkModulePermissions();
default:
// Unknown module status
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown status %s return from module check. Module=%s", $moduleState, getModule()));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Unknown status %s return from module check. Module=%s', $moduleState, getModule()));
addFatalMessage(__FUNCTION__, __LINE__, '{%message,UNKNOWN_MODULE_STATUS=' . $moduleState . '%}');
break;
} // END - switch
} elseif (getModule() == 'admin') {
// Is admin area
$GLOBALS[__FUNCTION__] = 'admin';
- } elseif (isInstallationPhase()) {
+ } elseif (isInstaller()) {
// Is installation phase
$GLOBALS[__FUNCTION__] = 'install';
} else {
// Check for password
if (!isPostRequestElementSet('admin_password')) {
// No password entered?
- $passwdMessage = '{--ADMIN_NO_PASS--}';
- } elseif (strlen(postRequestElement('admin_password')) < getConfig('minium_admin_pass_length')) {
- // Or password too short?
- $passwdMessage = '{--ADMIN_SHORT_PASS--}';
+ $passwdMessage = '{--ADMIN_NO_PASSWORD--}';
} elseif ((!empty($ret)) && (postRequestElement('login') == 'password')) {
// An error comes back from login?
$passwdMessage = $ret;
$remove = getRequestElement('remove');
// Special logout redirect for removal of given extension
- loadTemplate(sprintf("admin_logout_%s_remove", $remove));
+ loadTemplate(sprintf('admin_logout_%s_remove', $remove));
} else {
// Logged out normally
loadTemplate('admin_logout');
break;
default: // Others will be logged
- logDebugMessage(__FILE__, __LINE__, sprintf("Unknown return code %s from ifAdminCookiesAreValid()", $ret));
+ logDebugMessage(__FILE__, __LINE__, sprintf('Unknown return code %s from ifAdminCookiesAreValid()', $ret));
break;
} // END - switch
}
// Register an administrator account
function addAdminAccount ($adminLogin, $passHash, $adminEmail, $accessLevel = 'deny') {
+ // Only let valid data pass
+ assert(in_array($accessLevel, array('allow', 'deny')));
+
// Login does already exist
$ret = 'already';
while ($content = sqlFetchArray($result)) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . intval($userid) . '/' . $content['userid']);
$OUT .= '<option value="' . bigintval($content['userid']) . '"';
- if (bigintval($userid, FALSE, FALSE) === bigintval($content['userid'])) {
+ if ($userid === $content['userid']) {
$OUT .= ' selected="selected"';
} // END - if
- $OUT .= '>' . $content['surname'] . ' ' . $content['family'] . ' (' . bigintval($content['userid']) . ')</option>';
+ $OUT .= '>' . $content['surname'] . ' ' . $content['family'] . ' (' . $content['userid'] . ')</option>';
} // END - while
// Free memory
// No password 1 entered or to short?
if (!isPostRequestElementSet('admin_password1')) {
$password1Message = '{--ADMIN_NO_PASSWORD1--}';
- } elseif (strlen(postRequestElement('admin_password1')) < getConfig('minium_admin_pass_length')) {
- $password1Message = '{--ADMIN_SHORT_PASSWORD1--}';
+ } elseif (!isStrongPassword(postRequestElement('admin_password1'))) {
+ $password1Message = '{--ADMIN_WEAK_PASSWORD1--}';
}
// No password 2 entered or to short?
if (!isPostRequestElementSet('admin_password2')) {
$password2Message = '{--ADMIN_NO_PASSWORD2--}';
- } elseif (strlen(postRequestElement('admin_password2')) < getConfig('minium_admin_pass_length')) {
- $password2Message = '{--ADMIN_SHORT_PASSWORD2--}';
+ } elseif (!isStrongPassword(postRequestElement('admin_password2'))) {
+ $password2Message = '{--ADMIN_WEAK_PASSWORD2--}';
}
// Both didn't match?
$content = getUserDataArray();
// Generate HTML list entry
- $add = '<li>{--ADMIN_MEMBER_USERID--}: <strong>' . generateUserProfileLink($taskData['userid'], 'user_data') . ' (<a href="' . generateEmailLink($content['email'], 'user_data') . '">{%pipe,translateGender=' . $content['gender'] . '%} ' . $content['surname'] . ' ' . $content['family'] . '</a>)</strong></li>';
+ $add = '<li>{--ADMIN_ASSIGNED_USERID--}: <strong>' . generateUserProfileLink($taskData['userid'], 'user_data') . ' (<a href="' . generateEmailLink($content['email'], 'user_data') . '">{%pipe,translateGender=' . $content['gender'] . '%} ' . $content['surname'] . ' ' . $content['family'] . '</a>)</strong></li>';
} else {
// Invalid userid, so log and zero it
logDebugMessage(__FUNCTION__, __LINE__, 'fetchUserData() failed: userid=' . $taskData['userid'] . ' not found.');
} // END - if
// Display form
-loadTemplate('admin_add_tester_user', FALSE, $content);
+loadTemplate('admin_add_tester_user');
// [EOF]
?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 10/25/2009 *
+ * =================== Last change: 10/25/2009 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : what-config_ *
+ * -------------------------------------------------------------------- *
+ * Short description : Configuration for *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Konfiguration der *
+ * -------------------------------------------------------------------- *
+ * $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')) || (!isAdmin())) {
+ die();
+} // END - if
+
+// Add description as navigation point
+addYouAreHereLink('admin', __FILE__);
+
+if (isFormSent('save_config')) {
+ // Save data
+ adminSaveSettingsFromPostData();
+} else {
+ // Prepare some selections
+ $content['booking_purge'] = createConfigurationTimeSelections('booking_purge' , 'MWDh');
+
+ // Output template
+ loadTemplate('admin_config_booking', FALSE, $content);
+}
+
+// [EOF]
+?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// Save settings
adminSaveSettingsFromPostData();
} else {
+ // Explode all modules
+ $MODs = explode(':', getConfig('rewrite_skip'));
+
// Load existing modules and generate TR rows for the template
- $result = sqlQuery("SELECT `module`, `title` FROM `{?_MYSQL_PREFIX?}_mod_reg` ORDER BY module", __FILE__, __LINE__);
+ $result = sqlQuery("SELECT `module`, `title` FROM `{?_MYSQL_PREFIX?}_mod_reg` ORDER BY `module` ASC", __FILE__, __LINE__);
$OUT = '';
while ($content = sqlFetchArray($result)) {
// Already registered module?
- if (isInString($content['module'], getConfig('rewrite_skip'))) {
+ if (in_array($content['module'], $MODs)) {
// Found
$y = ' checked="checked"';
$n = '';
// Save settings
adminSaveSettingsFromPostData();
} else {
+ // Prepare content
+ $content = array();
+
+ // Loop all scores
+ for ($idx = 0; $idx <= 5; $idx++) {
+ // Init value
+ $content['min_password_score_' . $idx] = '';
+ } // END - for
+
+ // Set default
+ $content['min_password_score_' . strtolower(getMinPasswordScore())] = ' selected="selected"';
+
// Load template
- loadTemplate('admin_config_secure');
+ loadTemplate('admin_config_secure', FALSE, $content);
}
// [EOF]
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// Output message
displayMessage($message);
} // END - if
- } elseif (isFileReadable(sprintf("%stemplates/%s/html/admin/%s.tpl", getPath(), getLanguage(), $TPL))) {
+ } elseif (isFileReadable(sprintf('%s/admin/%s.tpl', getTemplateBasePath('html'), $TPL))) {
// Create mailto link
$content['contact'] = '<a href="' . generateSponsorEmailLink($content['email'], 'sponsor_data') . '">' . $content['surname'] . ' ' . $content['family'] . '</a>';
* =================== Last change: 10/04/2012 *
* *
* -------------------------------------------------------------------- *
- * File : what-list_!!!s.php *
+ * File : what-list_!!!.php *
* -------------------------------------------------------------------- *
* Short description : List all URLs in !!! *
* -------------------------------------------------------------------- *
// Edit or delete button hit?
if (isFormSent('edit')) {
// Show entries for editing
- doGenericXmlTemplateCallback('admin_edit_show_!!!s');
+ doGenericXmlTemplateCallback('admin_edit_show_!!!');
// Do not show the list of URLs after this template
$show = FALSE;
} elseif (isFormSent('do_edit')) {
// Change data of entries
- doGenericXmlTemplateCallback('admin_edit_do_!!!s');
+ doGenericXmlTemplateCallback('admin_edit_do_!!!');
} elseif (isFormSent('delete')) {
// Show entries for deletion
- doGenericXmlTemplateCallback('admin_delete_show_!!!s');
+ doGenericXmlTemplateCallback('admin_delete_show_!!!');
// Do not show the list of URLs after this template
$show = FALSE;
} elseif (isFormSent('do_delete')) {
// Remove entries from database
- doGenericXmlTemplateCallback('admin_delete_do_!!!s');
+ doGenericXmlTemplateCallback('admin_delete_do_!!!');
} elseif (isFormSent('lock')) {
// Un-/lock selected URLs. This does not work for pending URLs
- doGenericXmlTemplateCallback('admin_lock_show_!!!s');
+ doGenericXmlTemplateCallback('admin_lock_show_!!!');
// Do not show the list of URLs after this template
$show = FALSE;
} elseif (isFormSent('do_lock')) {
// Un-/lock selected URLs. This does not work for pending URLs
- doGenericXmlTemplateCallback('admin_lock_do_!!!s');
+ doGenericXmlTemplateCallback('admin_lock_do_!!!');
} elseif (isFormSent('undelete')) {
// Undelete selected URLs. This does only work for deleted URLs... ;-)
- doGenericXmlTemplateCallback('admin_undelete_show_!!!s');
+ doGenericXmlTemplateCallback('admin_undelete_show_!!!');
// Do not show the list of URLs after this template
$show = FALSE;
} elseif (isFormSent('do_undelete')) {
// Undelete selected URLs. This does only work for deleted URLs... ;-)
- doGenericXmlTemplateCallback('admin_undelete_do_!!!s');
+ doGenericXmlTemplateCallback('admin_undelete_do_!!!');
}
// Show entries?
} // END - if
// List all !!!
-doGenericXmlTemplateCallback('admin_list_!!!s');
+doGenericXmlTemplateCallback('admin_list_!!!');
// [EOF]
?>
// Exclude default referral id if set
$userExclusionSql = ' ';
$excludedUserids = runFilterChain('config_userid_exclusion_sql', array());
-if (count($excludedUserids) > 0) {
+if (isFilledArray($excludedUserids)) {
// Exclude all
$userExcludeSql = ' AND `d`.`userid` NOT IN (' . implode(', ', $excludedUserids) . ')';
} // END - if
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/23/2013 *
+ * =================== Last change: 06/23/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : what-list_blacklist.php *
+ * -------------------------------------------------------------------- *
+ * Short description : List all blacklist entries *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Alle Eintraege der Sperrliste auflisten *
+ * -------------------------------------------------------------------- *
+ * $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')) || (!isAdmin())) {
+ die();
+} // END - if
+
+// Add description as navigation point
+addYouAreHereLink('admin', __FILE__);
+
+// By default show the list...
+$show = TRUE;
+
+// Check for 'id' element
+if ((countRequestPost() > 0) && (!ifPostContainsSelections('id'))) {
+ // Not found so output message
+ displayMessage('{--ADMIN_BLACKLIST_NO_SELECTIONS--}');
+
+ // Abort here
+ return;
+} // END - if
+
+// Edit or delete button hit?
+if (isFormSent('edit')) {
+ // Show entries for editing
+ doGenericXmlTemplateCallback('admin_edit_show_blacklist');
+
+ // Do not show the list of URLs after this template
+ $show = FALSE;
+} elseif (isFormSent('do_edit')) {
+ // Change data of entries
+ doGenericXmlTemplateCallback('admin_edit_do_blacklist');
+} elseif (isFormSent('delete')) {
+ // Show entries for deletion
+ doGenericXmlTemplateCallback('admin_delete_show_blacklist');
+
+ // Do not show the list of URLs after this template
+ $show = FALSE;
+} elseif (isFormSent('do_delete')) {
+ // Remove entries from database
+ doGenericXmlTemplateCallback('admin_delete_do_blacklist');
+}
+
+// Show entries?
+if ($show === FALSE) {
+ // No, a form has already been show
+ return FALSE;
+} // END - if
+
+// List all blacklist entries
+doGenericXmlTemplateCallback('admin_list_blacklist');
+
+// [EOF]
+?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// Prepare content
$content = array(
- 'message' => '{--ADMIN_OVERVIEW_TASK_' . strtoupper(getRequestElement('type')) . '_TYPE--}',
+ 'message' => '{--ADMIN_OVERVIEW_TASK_' . strtoupper(getRequestElement('type')) . '_TYPE_TITLE--}',
'type' => getRequestElement('type'),
'rows' => $OUT
);
} // END - if
// Clickrate
- $content['click_rate'] = '0';
- if ($content['emails_received'] > 0) {
- $content['click_rate'] = ($content['mails_confirmed'] / $content['emails_received'] * 100);
- } // END - if
+ $content['click_rate'] = calculatePercentageRate($content['mails_confirmed'], $content['emails_received']);
// Is the extension 'country' installed?
if (isExtensionActive('country')) {
} // END - if
// Click rate
- $content['click_rate'] = '0';
- if ($content['emails_received'] > 0) {
- $content['click_rate'] = $content['mails_confirmed'] / $content['emails_received'] * 100;
- } // END - if
+ $content['click_rate'] = calculatePercentageRate($content['mails_confirmed'], $content['emails_received']);
// Transfer data to array
$content['email'] = '[<a href="' . generateEmailLink($content['email'], 'user_data') . '">' . $content['email'] . '</a>]';
// ... and display all
foreach ($amounts as $userid => $row) {
// Calculate and add percentage to data array
- $row['percents'] = $row['points'] / $totalPoints * 100;
+ $row['percents'] = calculatePercentageRate($row['points'], $totalPoints);
// Load row template
$out['rows'] .= loadTemplate('admin_list_user_amounts_row', TRUE, $row);
$result = YOOMEDIA_GET_PARSED_RESULT_TEXTMAILS();
// Sanity-check on result array
-if ((!is_array($result)) || (count($result) == 0) || (!isset($result[0]['id']))) {
+if ((!isFilledArray($result)) || (!isset($result[0]['id']))) {
// Invalid result
displayMessage('{--ADMIN_YOOMEDIA_INVALID_RESULT--}');
return FALSE;
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
$optimizeStatus = '{--ADMIN_OPTIMIZE_STATUS_OPTIMIZED--}';
$B1 = '<strong>'; $B2 = '<strong>';
$gain_tabs++;
- } elseif (count(explode(' ', $row_array[2])) == 0) {
+ } elseif (!isFilledArray(explode(' ', $row_array[2]))) {
$optimizeStatus = '{--ADMIN_OPTIMIZE_STATUS_' . strtoupper($row_array[2]) . '--}';
}
} // END - if
// Init SQL array
-nitSqls();
+initSqls();
if (isFormSent()) {
switch (getRequestElement('do')) {
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
$expirationTime = time() + createEpocheTimeFromSelections('coupon_default_time', postRequestArray());
// Insert coupon data
- sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_coupon_data` (`coupon_expired`, `total_created`, `points`, `coupon_description`) VALUES ('{%%pipe,SQL_EPOCHE_TO_TIMESTAMP=%s%%}', %s,%s,'%s')",
+ sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_coupon_data` (`coupon_expired`, `total_created`, `points`, `coupon_description`) VALUES ('{%%pipe,getSqlTimestampFromUnix=%s%%}', %s,%s,'%s')",
array(
$expirationTime,
sqlNumRows($result),
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
$content = getPoolDataFromId($id);
// Found some data?
- if (count($content) > 0) {
+ if (isFilledArray($content)) {
// Is the surfbar installed?
// @TODO Rewrite these if-blocks to a filter
if ((isExtensionActive('surfbar')) && (getConfig('surfbar_migrate_order') == 'Y')) {
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
displayMessage('{--ADMIN_MENU_EMPTY--}');
} elseif ($jobsDone === TRUE) {
// Generate overview of all main menus
- if ((is_array($GLOBALS['menu']['description'])) && (count($GLOBALS['menu']['description']) > 0)) {
+ if (isFilledArray($GLOBALS['menu']['description'])) {
$OUT = '';
foreach ($GLOBALS['menu']['description'] as $key => $value) {
// Prepare content
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
$content = getPoolDataFromId(getRequestElement('order'));
// Finally is the entry valid?
- if ((count($content) > 0) && ($content['data_type'] == 'TEMP')) {
+ if ((isFilledArray($content)) && ($content['data_type'] == 'TEMP')) {
// Load subject and URL (but forwhat do we need the subject line here???
list($url) = sqlFetchRow($result);
$content['user_links'] = abs($sent - $clicks);
// Click rate
-$content['click_rate'] = '0';
-if ($sent > 0) {
- $content['click_rate'] = $clicks / $sent * 100;
-} // END - if
+$content['click_rate'] = calculatePercentageRate($clicks, $sent);
// Load jackpot
-$jackpot = '0';
-if (isExtensionActive('jackpot')) $jackpot = getJackpotPoints();
-
-if (empty($jackpot)) $jackpot = '0';
-$content['jackpot'] = $jackpot;
+$content['jackpot'] = '0';
+if (isExtensionActive('jackpot')) $content['jackpot'] = getJackpotPoints();
+if (empty($content['jackpot'])) $content['jackpot'] = '0';
// Total referral link clicks, total logins
$result = sqlQuery('SELECT
// Clicks on beg links
$data = array(
'lang' => '{--MEDIA_BEG_CLICKS--}',
- 'value' => countSumTotalData('0', 'user_data', 'beg_clicks', 'userid', FALSE, ' AND `beg_clicks` > 0')
+ 'value' => countSumTotalData('0', 'user_data', 'beg_clicks', 'userid', FALSE, ' WHERE `beg_clicks` > 0')
);
$OUT_EXTRA .= loadTemplate('mediadata_extra_row', TRUE, $data);
} // END - if
registerOutputFailedMessage('ENTER_PASSWORD2');
}
- if ((isset($GLOBALS['registration_short_password'])) && ($GLOBALS['registration_short_password'] === TRUE)) {
- registerOutputFailedMessage('GUEST_SHORT_PASS', ': ' . getPassLen());
+ if ((isset($GLOBALS['registration_weak_password'])) && ($GLOBALS['registration_weak_password'] === TRUE)) {
+ registerOutputFailedMessage('GUEST_WEAK_PASSWORD');
} // END - if
if ((isset($GLOBALS['registration_ip_timeout'])) && ($GLOBALS['registration_ip_timeout'] === TRUE)) {
// ZIP codes are numerical values
$content['zip'] = '';
- if ((isPostRequestElementSet('zip')) && (postRequestElement('zip') > 0)) {
+ if ((isPostRequestElementSet('zip')) && (isValidNumber(postRequestElement('zip')))) {
$content['zip'] = bigintval(postRequestElement('zip'));
} // END - if
array_push($formErrors, '{--SPONSOR_PASSWORD2_EMPTY--}');
}
}
- } elseif (strlen(postRequestElement('password1')) < getPassLen()) {
+ } elseif (strlen(postRequestElement('password1')) < getMinPasswordLength()) {
// Password is to short!
array_push($formErrors, '{--SPONSOR_PASSWORD_TOO_SHORT--}');
}
} // END - if
// If there is something wrong/missing stop registration
- if (count($formErrors) > 0) unsetPostRequestElement('ok');
+ if (isFilledArray($formErrors)) unsetPostRequestElement('ok');
} // END - if
-if ((isFormSent()) && (count($formErrors) == 0)) {
+if ((isFormSent()) && (!isFilledArray($formErrors))) {
// Generate message array
$messageArray = array(
'failed' => '{--SPONSOR_REGISTRATION_FAILED--}',
} // END - foreach
// Check for invalid entries
- if (count($formErrors) > 0) {
+ if (isFilledArray($formErrors)) {
// Some found... :-(
foreach (array('company','position','tax_ident','surname','family','street_nr1','street_nr2','country','zip','city','phone','fax','cell','email','url') as $entry) {
$content[$entry] = postRequestElement($entry);
$OUT = '';
// Errors found?
- if (count($formErrors) > 0) {
+ if (isFilledArray($formErrors)) {
$OUT = displayMessage('{--SPONSOR_REGISTER_SOMETHING_MISSING--}', TRUE);
$OUT .= '<ol>';
foreach ($formErrors as $error) {
sqlFreeResult($result);
if ($data['data_type'] == 'TEMP') {
- /*
- * No entry found, so we need to check out the stats table as well...
- * :) We have to add that suff here, now we continue WITHOUT checking
- * and check the text and subject against some filters
- */
- $data['url'] = '';
- if (!isAllowUrlInTextEnabled()) {
- // Test submitted text against some filters (length, URLs in text etc.)
- if ((isInStringIgnoreCase('https://', postRequestElement('text'))) || (isInStringIgnoreCase('http://', postRequestElement('text'))) || (isInStringIgnoreCase('www', postRequestElement('text')))) {
- // URL found
- $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('URL_FOUND');
- } // END - if
-
- // Remove new-line and carriage-return characters
- $TEST = str_replace(array(PHP_EOL, chr(13)), array('', ''), postRequestElement('text'));
-
- // Text length within allowed length?
- if (strlen($TEST) > getMaxTextLength()) {
- // Text is too long!
- $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('OVERLENGTH');
- } // END - if
- } // END - if
-
- // Shall I test the subject line against URLs?
- if (!isAllowUrlInSubjectEnabled()) {
- // Check the subject line for issues
- setPostRequestElement('subject', str_replace(chr(92), '[nl]', substr(postRequestElement('subject'), 0, 200)));
- if ((isInStringIgnoreCase('https://', postRequestElement('subject'))) || (isInStringIgnoreCase('http://', postRequestElement('subject'))) || (isInStringIgnoreCase('www', postRequestElement('subject')))) {
- // URL in subject found
- $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('SUBJECT_URL');
- } // END - if
- } // END - if
-
- // And shall I check that his URL is not in the black list?
- if ((isExtensionActive('blacklist')) && (isUrlBlacklisted(postRequestElement('url')))) {
- // Create redirect-URL
- $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('BLIST_URL') . '&blist=' . $GLOBALS['blacklist_data'][postRequestElement('url')]['timestamp'];
- } // END - if
-
- // Enougth receivers entered?
- if ((postRequestElement('receiver') < getOrderMin()) && (!isAdmin())) {
- // Less than allowed receivers entered!
- $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS3');
- } // END - if
-
- // Validate URL
- if (!isUrlValid(postRequestElement('url'))) {
- // URL is invalid!
- $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('INVALID_URL');
- } // END - if
-
- // Probe for HTML extension
- if (isExtensionActive('html_mail')) {
- // HTML or regular text mail?
- if (postRequestElement('html') == 'Y') {
- // Chek for valid HTML tags
- $checked = checkHtmlTags(postRequestElement('text')));
-
- // Maybe invalid tags found?
- if (empty($checked)) {
- // Invalid HTML tags found
- $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('INVALID_TAGS') . '&id=' . $data['id'];
- } // END - if
- } else {
- // Remove any HTML code
- setPostRequestElement('text', str_replace(array('<', '>'), array('{OPEN_HTML}', '{CLOSE_HTML}'), postRequestElement('text')));
- }
- } // END - if
-
- // Is mail type set?
- if ((!isPostRequestElementSet('mail_type')) || (postRequestElement('mail_type') < 1)) {
- // Not correctly set
- $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('NO_MAIL_TYPE');
+ // Prepare data for filter chain
+ $filterData = array(
+ 'url' => postRequestElement('url'),
+ 'text' => postRequestElement('text'),
+ 'subject' => postRequestElement('subject'),
+ 'receiver' => bigintval(postRequestElement('receiver')),
+ 'mail_type' => bigintval(postRequestElement('mail_type')),
+ 'html' => postRequestElement('html'),
+ 'id' => bigintval($data['id']),
+ 'redirect' => '',
+ );
+
+ // Run the filter chain
+ $filterData = runFilterChain('pre_mail_order', $filterData);
+
+ // Copy field redirect->url
+ $data['url'] = $filterData['redirect'];
+
+ // Is there an error?
+ if (empty($data['url'])) {
+ // Copy all filter data -> POST
+ foreach ($filterData as $key => $value) {
+ // Set it
+ setPostRequestElement($key, $value);
+ } // END - foreach
} // END - if
} elseif (!isAdmin()) {
// He has already sent a mail within a specific time
sqlFreeResult($result);
// Implode array into string for the sending pool
- $receiver = implode($TEST, ';');
+ $receivers = implode($TEST, ';');
// Count array for maximum sent
$content['target_send'] = count($TEST);
// Update receiver list
sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `receive_mails`=`receive_mails`-1 WHERE `userid` IN (%s) LIMIT %s",
array(
- convertReceivers($receiver),
+ convertReceivers($receivers),
bigintval($content['target_send'])
), __FILE__, __LINE__);
'sender' => getMemberId(),
'subject' => postRequestElement('subject'),
'text' => postRequestElement('text'),
- 'receivers' => $receiver
+ 'receivers' => $receivers,
'payment_id' => bigintval(postRequestElement('mail_type')),
'data_type' => 'TEMP',
'timestamp' => 'UNIX_TIMESTAMP()',
$data = array(
'subject' => postRequestElement('subject'),
'text' => postRequestElement('text'),
- 'receivers' => $receiver
+ 'receivers' => $receivers,
'payment_id' => bigintval(postRequestElement('mail_type')),
'timestamp' => 'UNIX_TIMESTAMP()',
'url' => postRequestElement('url'),
}
} else {
// No points left
- displayMessage('<span class="bad">{--MEMBER_ORDER_NO_POINTS--}</span>');
+ displayMessage('<span class="notice">{--MEMBER_ORDER_NO_POINTS--}</span>');
}
} else {
// No cateogries are defined yet
} // END - if
// Add/"translate" more content
- $refRow['click_rate'] = translateComma($refRow['click_rate'], TRUE, 1);
- $refRow['joined'] = generateDateTime($refRow['joined'], '3');
+ $refRow['joined'] = generateDateTime($refRow['joined'], '3');
// Load row template
if ($deleted === TRUE) {
// Check for users ref in this level
foreach (getUserReferralPoints(getMemberId(), $content['level']) as $refRow) {
- // Add/"translate" more content
- $refRow['click_rate'] = translateComma($refRow['click_rate'], TRUE, 1);
-
// Load row template
$rows .= loadTemplate('member_list_referral_row', TRUE, $refRow);
$content['timestamp_sent'] = generateDateTime($content['timestamp_send'], '2');
// Click rate
- $content['click_rate'] = '0';
-
- // Better protection against 'divison-by-zero'
- if ($content['max_rec'] > 0) {
- $content['click_rate'] = ($content['clicks'] / $content['max_rec'] * 100);
- } // END - if
+ $content['click_rate'] = calculatePercentageRate($content['clicks'], $content['max_rec']);
// Load row template and switch colors
$OUT .= loadTemplate('member_stats_row', TRUE, $content);
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 02/12/2004 *
+ * =================== Last change: 01/07/2004 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : what- *
+ * -------------------------------------------------------------------- *
+ * Short description : *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : *
+ * -------------------------------------------------------------------- *
+ * $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')) {
+ exit();
+} elseif (!isMember()) {
+ redirectToIndexMemberOnlyModule();
+}
+
+// Add description as navigation point
+addYouAreHereLink('member', __FILE__);
+
+// Continue only if the proper extension is active (admins can always continue)
+if ((!isExtensionActive('transaction')) && (!isAdmin())) {
+ displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=transaction%}');
+ return;
+} // END - if
+
+// Init array
+$data = array(
+ 'current_day' => generateDateTime(time(), '3'),
+ 'next_year' => generateDateTime(mktime(0, 0, 0, 1, 1, (getCurrentYear() + 1)), '3'),
+ 'transaction_holding_fee' => '0.00000'
+);
+
+// Get user's open transaction fees
+$result = sqlQueryEscaped("SELECT
+ COUNT(`transaction_fee_receiver`) AS `transaction_receiver_count`,
+ SUM(`transaction_fee_receiver`) AS `transaction_receiver_fee`
+FROM
+ `" . $GLOBALS['db_table']['translog'] . "`
+WHERE
+ `transaction_receiver`=%s AND
+ `transaction_fee_collected`='N' AND
+ `transaction_confirmed`='N' AND
+ `transaction_captcha_failed`='N'
+LIMIT 1",
+ array(
+ getCurrentUserId()
+ ), __FILE__, __LINE__
+);
+
+// Load entry
+$data = array_merge($data, sqlFetchArray($result));
+
+// Free result
+sqlFreeResult($result);
+
+// Get user's open transaction fees
+$result = sqlQueryEscaped("SELECT
+ COUNT(`transaction_fee_sender`) AS `transaction_sender_count`,
+ SUM(`transaction_fee_sender`) AS `transaction_sender_fee`
+FROM
+ `" . $GLOBALS['db_table']['translog'] . "`
+WHERE
+ `transaction_sender`=%s AND
+ `transaction_fee_collected`='N' AND
+ `transaction_confirmed`='N' AND
+ `transaction_captcha_failed`='N'
+LIMIT 1",
+ array(
+ getCurrentUserId()
+ ), __FILE__, __LINE__
+);
+
+// Load entry
+$data = array_merge($data, sqlFetchArray($result));
+
+// Free result
+sqlFreeResult($result);
+
+// Get user's saved transaction fees
+$result = sqlQueryEscaped("SELECT
+ COUNT(`transaction_fee_receiver`) AS `transaction_receiver_saved_count`,
+ SUM(`transaction_fee_receiver`) AS `transaction_receiver_saved_fee`
+FROM
+ `" . $GLOBALS['db_table']['translog'] . "`
+WHERE
+ `transaction_receiver`=%s AND
+ `transaction_fee_collected`='N' AND
+ (
+ `transaction_confirmed`='Y' OR
+ `transaction_captcha_failed`='Y'
+ )
+LIMIT 1",
+ array(
+ getCurrentUserId()
+ ), __FILE__, __LINE__
+);
+
+// Load entry
+$data = array_merge($data, sqlFetchArray($result));
+
+// Free result
+sqlFreeResult($result);
+
+// Get user's saved transaction fees
+$result = sqlQueryEscaped("SELECT
+ COUNT(`transaction_fee_sender`) AS `transaction_sender_saved_count`,
+ SUM(`transaction_fee_sender`) AS `transaction_sender_saved_fee`
+FROM
+ `" . $GLOBALS['db_table']['translog'] . "`
+WHERE
+ `transaction_sender`=%s AND
+ `transaction_fee_collected`='N' AND
+ (
+ `transaction_confirmed`='Y' OR
+ `transaction_captcha_failed`='Y'
+ )
+LIMIT 1",
+ array(
+ getCurrentUserId()
+ ), __FILE__, __LINE__
+);
+
+// Load entry
+$data = array_merge($data, sqlFetchArray($result));
+
+// Free result
+sqlFreeResult($result);
+
+// Get total collected fees
+$result = sqlQuery("SELECT
+ SUM(`transaction_fee_receiver` + `transaction_fee_sender`) AS `total_fee`
+FROM
+ `" . $GLOBALS['db_table']['translog'] . "`
+WHERE
+ `transaction_confirmed`='N' AND
+ `transaction_captcha_failed`='N'
+LIMIT 1", __FILE__, __LINE__);
+
+// Load total sum
+list($data['total_fee']) = sqlFetchRow($result);
+
+// Free result
+sqlFreeResult($result);
+
+// Get total confirmed
+$result = sqlQuery("SELECT
+ SUM(`transaction_count`) AS `total_transaction_count`
+FROM
+ `" . $GLOBALS['db_table']['user'] . "`
+WHERE
+ `locked`='N'
+LIMIT 1", __FILE__, __LINE__);
+
+// Load total amount
+list($data['total_transaction_sum']) = sqlFetchRow($result);
+
+// Free result
+sqlFreeResult($result);
+
+// Add user's count
+$data['transaction_count_sum'] = getMemberData('transaction_count');
+
+// Is the user's own count > 0? (This fixes a division by zero)
+if ($data['total_transaction_sum'] > 0) {
+ // Calulcate how much the user would get if today is 01-01 (new year)
+ $data['transaction_holding_fee'] = $data['total_fee'] / $data['total_transaction_sum'] * $data['transaction_count_sum'];
+} // END - if
+
+// "Translate" all fields
+foreach ($data as $key => $value) {
+ // What suffix has $key?
+ if (substr($key, -6, 6) == '_count') {
+ // Count
+ $data[$key] = translateComma($value, TRUE);
+ } elseif ((substr($key, -4, 4) == '_fee') || (substr($key, -4, 4) == '_sum')) {
+ // Fees/sums
+ $data[$key] = translateComma($value);
+ }
+} // END - foreach
+
+// Get all related config entries
+// @TODO Make this working
+$result = sqlGetResultFromLikeColumnsType('config', 'transaction_count_%%', 'decimal(3,1)');
+
+// Load all fields
+$data['config_rows'] = ''; $SW = 1;
+while ($row = sqlFetchArray($result)) {
+ // Prepare content
+ $content = array(
+ 'field' => translateField('data', $row['Field']),
+ 'value' => translateComma(getConfig($row['Field'])),
+ 'sw' => $SW,
+ );
+
+ // Load row template + switch color
+ $data['config_rows'] .= loadTemplate('member_transaction_fees_config_row', TRUE, $content);
+ $SW = 3 - $SW;
+} // END - while
+
+// Free result
+sqlFreeResult($result);
+
+// Load template
+loadTemplate('member_transaction_fees', FALSE, $data);
+
+// [EOF]
+?>
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 06/22/2013 *
+ * =================== Last change: 06/22/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : what-transactions.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Confirm transactions of other members *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Transaktionen anderer Mitglieder bestaetigen *
+ * -------------------------------------------------------------------- *
+ * $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')) {
+ exit();
+} elseif (!isMember()) {
+ redirectToIndexMemberOnlyModule();
+}
+
+// Add description as navigation point
+addYouAreHereLink('member', __FILE__);
+
+// Continue only if the proper extension is active (admins can always continue)
+if ((!isExtensionActive('transaction')) && (!isAdmin())) {
+ displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=transaction%}');
+ return;
+} elseif ((isFormSent()) && (ifPostContainsSelections('transaction_id'))) {
+ // Try to confirm transactions
+ if (doTryConfirmTransactions($_POST)) {
+ // All fine
+ displayMessage('Bestätigung der CAPTCHA(s) abgeschlossen. Vielen Dank.');
+ } else {
+ // None confirmed
+ displayMessage('Es konnten keine CAPTCHA(s) bestätigt werden. Vermutlich weil Sie diese bereits bestätigt haben.');
+ }
+}
+
+// Load X most oldest transactions this user is not sender and not receiver
+$result = sqlQueryEscaped("SELECT
+ `transaction_id`
+FROM
+ `{?_MYSQL_PREFIX?}_transaction_log`
+WHERE
+ `transaction_sender` != %s AND
+ `transaction_sender` IS NOT NULL AND
+ `transaction_receiver` != %s AND
+ `transaction_receiver` IS NOT NULL AND
+ `transaction_hash` != 'INVALID' AND
+ `transaction_confirmed`='N' AND
+ `transaction_captcha_failed`='N' AND
+ `transaction_fee_collected`='N' AND
+ `transaction_level` IS NULL AND
+ `transaction_captcha` IS NOT NULL
+ORDER BY
+ `transaction_hash` ASC
+LIMIT {?transaction_max_captcha?}",
+ array(
+ getCurrentUserId(),
+ getCurrentUserId()
+ ), __FILE__, __LINE__
+);
+
+// Init variables
+$OUT = '';
+
+// Are there entries?
+if (sqlNumRows($result) > 0) {
+ // Then load all
+ $row = '';
+ while (list($id) = sqlFetchRow($result)) {
+ // Load "row" template
+ $row .= loadTemplate('member_transactions_row', TRUE, $id);
+ } // END - while
+
+ // Load form template
+ $OUT .= loadTemplate('member_transactions_form', TRUE, $row);
+} else {
+ // Display message
+ $OUT .= returnMessage('Es sind noch keine Transaktionen zum Bestätigen vorhanden. Neu zu bestätigende Transaktionen gibt es durch den "Stundenreset", der ungefähr zur vollen Stunde läuft.');
+}
+
+// Free result
+sqlFreeResult($result);
+
+// Get summarizations
+$result = sqlQuery("SELECT
+ SUM(`transaction_fee_sender`) AS `total_sender`,
+ SUM(`transaction_fee_receiver`) AS `total_receiver`
+FROM
+ `{?_MYSQL_PREFIX?}_transaction_log`
+WHERE
+ `transaction_fee_collected`='N' AND
+ `transaction_confirmed`='N' AND
+ `transaction_captcha_failed`='N'
+LIMIT 1", __FILE__, __LINE__);
+
+// Get values
+list($totalSenderN, $totalReceiverN) = sqlFetchRow($result);
+
+// Free result
+sqlFreeResult($result);
+
+// Get summarizations
+$result = sqlQuery("SELECT
+ SUM(`transaction_fee_sender`) AS `total_sender`,
+ SUM(`transaction_fee_receiver`) AS `total_receiver`
+FROM
+ `{?_MYSQL_PREFIX?}_transaction_log`
+WHERE
+ `transaction_fee_collected`='Y'
+LIMIT 1", __FILE__, __LINE__);
+
+// Get values
+list($totalSenderY, $totalReceiverY) = sqlFetchRow($result);
+
+// Free result
+sqlFreeResult($result);
+
+// Get summarizations
+$result = sqlQuery("SELECT
+ COUNT(`transaction_id`) AS `cnt`,
+ (SUM(`transaction_fee_sender`) + SUM(`transaction_fee_receiver`)) AS `total_confirmed`
+FROM
+ `{?_MYSQL_PREFIX?}_transaction_log`
+WHERE
+ `transaction_confirmed`='Y'
+LIMIT 1", __FILE__, __LINE__);
+
+// Get values
+list($confirmedCount, $totalConfirmed) = sqlFetchRow($result);
+
+// Free result
+sqlFreeResult($result);
+
+// Prepare content
+$content = array(
+ 'captcha_content' => $OUT,
+ 'transaction_confirmed' => translateComma(getUserData('transaction_confirmed'), TRUE),
+ 'total_sender_uncollected' => $totalSenderN,
+ 'total_receiver_uncollected' => $totalReceiverN,
+ 'total_sender_collected' => $totalSenderY,
+ 'total_receiver_collected' => $totalReceiverY,
+ 'total_confirmed_count' => translateComma($confirmedCount, TRUE),
+ 'total_confirmed' => $totalConfirmed,
+);
+
+// Load main template
+loadTemplate('member_transactions', FALSE, $content);
+
+// [EOF]
+?>
} elseif ((isPostRequestElementSet('password1')) && (!isPostRequestElementSet('password2'))) {
// No password two entered
$message = '{--SPONSOR_PASSWORD_TWO_EMPTY--}';
- } elseif ((isPostRequestElementSet('password1')) && (strlen(postRequestElement('password1')) < getPassLen())) {
+ } elseif ((isPostRequestElementSet('password1')) && (strlen(postRequestElement('password1')) < getMinPasswordLength())) {
// Too short password
$message = '{--SPONSOR_PASSWORD_TOO_SHORT--}';
} else {
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
enableTemplateHtml();
// Are we in installation phase?
-if ((!isInstalling()) && (!isInstallationPhase())) {
+if ((!isInstaller()) && (isInstalled())) {
// Load configuration file(s) here
loadIncludeOnce('inc/load_config.php');
// Include more
foreach (array('databases', 'session', 'versions', 'install-functions', 'load_config', 'load_cache') as $inc) {
- // Load the include
+ // Load include file
loadIncludeOnce('inc/' . $inc . '.php');
} // END - foreach
} // END - if
// No admin in installation phase!
- if ((isInstallationPhase()) || (!isAdminRegistered())) {
+ if ((isInstaller()) || (!isAdminRegistered())) {
$GLOBALS[__FUNCTION__] = FALSE;
return FALSE;
} // END - if
function reduceRecipientReceivedMails ($column, $id, $count) {
// Search for mail in database
$result = sqlQueryEscaped("SELECT * FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `%s`=%s ORDER BY `userid` ASC LIMIT %s",
- array($column, bigintval($id), $count), __FUNCTION__, __LINE__);
+ array(
+ $column,
+ bigintval($id),
+ $count
+ ), __FUNCTION__, __LINE__
+ );
// Are there entries?
if (!ifSqlHasZeroNums($result)) {
// We must now look if he has already confirmed this mail, so might sound double, but it may resolve problems
// @TODO Rewrite this to a filter
- if ((isset($data['stats_id'])) && ($data['stats_id'] > 0)) {
+ if ((isset($data['stats_id'])) && (isValidId($data['stats_id']))) {
// User email
$num = countSumTotalData($data['userid'], 'user_stats_data', 'id', 'userid', TRUE, sprintf(" AND `stats_type`='mailid' AND `stats_data`=%s", bigintval($data['stats_id'])));
- } elseif ((isset($data['bonus_id'])) && ($data['bonus_id'] > 0)) {
+ } elseif ((isset($data['bonus_id'])) && (isValidId($data['bonus_id']))) {
// Bonus mail
$num = countSumTotalData($data['userid'], 'user_stats_data', 'id', 'userid', TRUE, sprintf(" AND `stats_type`='bonusid' AND `stats_data`=%s", bigintval($data['bonus_id'])));
}
} // END - if
} // END - while
- if (count($userids) > 0) {
+ if (isFilledArray($userids)) {
// Now update all user accounts
sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `emails_received`=`emails_received`-1 WHERE `userid` IN (%s) LIMIT %s",
array(
if ((!is_array($tableName)) || (count($tableName) != 1)) {
// No tableName specified
reportBug(__FUNCTION__, __LINE__, 'tableName is not given. Please fix your XML,tableName[]=' . gettype($tableName) . '!=array,tableTemplate=' . $tableTemplate . ',rowTemplate=' . $rowTemplate);
- } elseif (count($columns) == 0) {
+ } elseif (!isFilledArray($columns)) {
// No columns specified
reportBug(__FUNCTION__, __LINE__, 'columns is not given. Please fix your XML,tableTemplate=' . $tableTemplate . ',rowTemplate=' . $rowTemplate . ',tableName[0]=' . $tableName[0]);
}
if ((!is_array($tableName)) || (count($tableName) != 1)) {
// No tableName specified
reportBug(__FUNCTION__, __LINE__, 'tableName is not given. Please fix your XML,tableName[]=' . gettype($tableName) . '!=array,tableTemplate=' . $tableTemplate . ',rowTemplate=' . $rowTemplate);
- } elseif (count($columns) == 0) {
+ } elseif (!isFilledArray($columns)) {
// No columns specified
reportBug(__FUNCTION__, __LINE__, 'columns is not given. Please fix your XML,tableTemplate=' . $tableTemplate . ',rowTemplate=' . $rowTemplate . ',tableName[0]=' . $tableName[0]);
}
} // END - while
// Is at least one entry set in content?
- if ((is_array($content)) && (count($content) > 0)) {
+ if (isFilledArray($content)) {
// Then add generic 'rows' element
$content['rows'] = $OUT;
} else {
if ((!is_array($tableName)) || (count($tableName) != 1)) {
// No tableName specified
reportBug(__FUNCTION__, __LINE__, 'tableName is not given. Please fix your XML,tableName[]=' . gettype($tableName) . '!=array: userIdColumn=' . $userIdColumn);
- } elseif (count($columns) == 0) {
+ } elseif (!isFilledArray($columns)) {
// No columns specified
reportBug(__FUNCTION__, __LINE__, 'columns is not given. Please fix your XML.');
}
$GLOBALS['__XML_PARSE_RESULT'] = TRUE;
// Is there "time columns"?
- if (count($timeColumns) > 0) {
+ if (isFilledArray($timeColumns)) {
// Then "walk" through all entries
foreach ($timeColumns as $column) {
// Convert all (possible) selections
// Debug message
//* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',columnName[' . gettype($columnName) . ']=' . $columnName . ',filterFunctions=' . $filterFunctions[$key] . ',extraValues=' . intval(isset($extraValues[$key])) . ',extraValuesName=' . intval(isset($extraValues[$columnName . '_list'])));
+ // Get value back (no array supported)
+ $value = postRequestElement($columnName);
+
+ // Is this an array and element 0 is set?
+ if ((is_array($value)) && (isset($value[0]))) {
+ // Then only take this
+ $value = $value[0];
+ } // END - if
+
// Copy entry securely to the final arrays
$sqlColumns[$key] = sqlEscapeString($columnName);
- $sqlValues[$key] = sqlEscapeString(postRequestElement($columnName));
+ $sqlValues[$key] = sqlEscapeString($value);
// Search for it
$search = key(search_array($columns, 'column', $columnName));
// Edit rows by given id numbers
function doGenericEditEntriesConfirm ($tableName, $columns = array(), $filterFunctions = array(), $extraValues = array(), $timeColumns = array(), $editNow = array(FALSE), $idColumn = array('id'), $userIdColumn = array('userid'), $rawUserId = array('userid'), $cacheFiles = array(), $subject = '') {
// Is there "time columns"?
- if (count($timeColumns) > 0) {
+ if (isFilledArray($timeColumns)) {
// Then "walk" through all entries
foreach ($timeColumns as $column) {
// Convert all (possible) selections
} // END - foreach
// Delete cache?
- if ((count($cacheFiles) > 0) && (!empty($cacheFiles[0]))) {
+ if ((isFilledArray($cacheFiles)) && (!empty($cacheFiles[0]))) {
// Delete cache file(s)
foreach ($cacheFiles as $cache) {
// Skip any empty entries
} // END - foreach
// Then list it
- $OUT .= loadTemplate(sprintf("%s_%s_%s_row",
+ $OUT .= loadTemplate(sprintf('%s_%s_%s_row',
$prefix,
$listType,
$tableName[0]
} // END - foreach
// Is there an entry in $content?
- if ((is_array($content)) && (count($content) > 0)) {
+ if (isFilledArray($content)) {
// Use generic 'rows'
$content['rows'] = $OUT;
} else {
// Load master template
loadTemplate(
- sprintf("%s_%s_%s",
+ sprintf('%s_%s_%s',
$prefix,
$listType,
$tableName[0]
);
} elseif ((is_double($value)) || (is_float($value)) || (is_int($value))) {
// Is a number, so addd it directly
- $sql .= sprintf(" `%s`=%s,",
+ $sql .= sprintf(' `%s`=%s,',
sqlEscapeString($key),
$value
);
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
} // END - while
// Is there points to "pay back"?
- if ((count($pointsBack) > 0) && (!empty($pointsBack[0]))) {
+ if ((isFilledArray($pointsBack)) && (!empty($pointsBack[0]))) {
// Walk through all points
foreach ($pointsBack as $userid => $PB) {
// Add points only when we have points left to add and a valid user id
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// Init userid exclusion
$excludeSql = '';
$excludedUserids = runFilterChain('config_userid_exclusion_sql', array());
- if (count($excludedUserids) > 0) {
+ if (isFilledArray($excludedUserids)) {
// Exclude all
$excludeSql = ' AND `userid` NOT IN (' . implode(', ', $excludedUserids) . ')';
} // END - if
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',userid=' . $userid . ',refid=' . $refid . ',paymentMethod=' . $paymentMethod . ',sendNotify=' . intval($sendNotify) . ',isLocked=' . intval($isLocked));
// Send "referral confirmed" mails out?
- if ((isValidUserid($refid)) && ($refid != $userid) && ($sendNotify === TRUE)) {
+ if ((isValidId($refid)) && ($refid != $userid) && ($sendNotify === TRUE)) {
// Calculate the referral's points and percents
$percentsReferral = getReferralLevelPercents($GLOBALS['ref_level'] + 1);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'points=' . $points . ',refid(var|data)=' . convertNullToZero($refid) . '|' . convertNullToZero(getUserData('refid')) . ',userid=' . $userid . ',paymentMethod=' . $paymentMethod . ',subject=' . $subject . ',ref_level=' . $GLOBALS['ref_level']);
if (($paymentMethod == 'REFERRAL') && (isValidId(getUserData('refid'))) && ($points > 0) && (getUserData('refid') != $userid)) {
// Is _ref there?
- if (substr($subject, -4, 4) == '_ref') {
+ if (ifSubjectHasReferralSuffix($subject)) {
// Then remove it, no double _ref suffix!
$subject = substr($subject, 0, -4);
} // END - if
// Then let's credit him here...
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',userid=' . $userid . ',refid=' . convertNullToZero(getUserData('refid')) . ',points=' . $points . ',ref_points=' . $ref_points . ',added[' . gettype($added) . ']=' . intval($added) . ',ref_level=' . $GLOBALS['ref_level'] . ' - ADVANCE!');
- $added = ($added && addPointsThroughReferralSystem(sprintf("%s_ref:%s", $subject, $GLOBALS['ref_level']), getUserData('refid'), $points, getFetchedUserData('userid', getUserData('refid'), 'refid')));
+ $added = ($added && addPointsThroughReferralSystem(sprintf('%s_ref:%s', $subject, $GLOBALS['ref_level']), getUserData('refid'), $points, getFetchedUserData('userid', getUserData('refid'), 'refid')));
} // END - if
} // END - if
} // END - if
// Fetch all entries
while ($row = sqlFetchArray($result)) {
// Init click rate with zero
- $row['click_rate'] = '0';
-
- // Is at least one mail received?
- if ($row['emails_received'] > 0) {
- // Calculate click rate
- $row['click_rate'] = ($row['mails_confirmed'] / $row['emails_received'] * 100);
- } // END - if
+ $row['click_rate'] = calculatePercentageRate($row['mails_confirmed'], $row['emails_received']);
// Activity is 'active' by default because if ext-autopurge is not installed
$row['activity'] = '{--MEMBER_ACTIVITY_ACTIVE--}';
} // END - if
// Now checkout the entry in database table
- $result = sqlQueryEscaped("SELECT `id`, `subject`, `column_name`, `locked_mode`, `payment_method`, `notify_recipient` FROM `{?_MYSQL_PREFIX?}_points_data` WHERE `subject`='%s' LIMIT 1",
- array($subject), __FUNCTION__, __LINE__);
+ $result = sqlQueryEscaped("SELECT
+ `id`,
+ `subject`,
+ `column_name`,
+ `locked_mode`,
+ `payment_method`,
+ `notify_recipient`
+FROM
+ `{?_MYSQL_PREFIX?}_points_data`
+WHERE
+ `subject`='%s'
+LIMIT 1",
+ array(
+ $subject
+ ), __FUNCTION__, __LINE__
+ );
// Is there an entry?
if (sqlNumRows($result) == 1) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',count()=' . count($GLOBALS['referral_refid'][$userid]));
// If no entries are there, skip this whole step
- if (count($GLOBALS['referral_refid'][$userid]) == 0) {
+ if (!isFilledArray($GLOBALS['referral_refid'][$userid])) {
// No entries found
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ABORTING...');
return;
// Checks if 'refid' is valid
function isReferralIdValid () {
- return ((isset($GLOBALS['__refid'])) && (getReferralId() !== NULL) && (getReferralId() > 0));
+ return ((isset($GLOBALS['__refid'])) && (isValidId(getReferralId())));
}
// Getter for referral id
// Then use this
$value = sqlEscapeString($value[$subElement]);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ',subElement=' . $subElement . ' - SUB!');
- } elseif (!is_array($value)) {
+ } elseif ((!is_array($value)) && (function_exists('sqlEscapeString'))) {
// Escape it here
$value = sqlEscapeString($value);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ' - REGULAR!');
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ret[' . $type . ']=' . $ret);
} else {
// FQFN of revision file
- $FQFN = sprintf("%s/.revision", getCachePath());
+ $FQFN = sprintf('%s/.revision', getCachePath());
// Check if 'check_revision_data' is setted (switch for manually rewrite the .revision-File)
if ((isGetRequestElementSet('check_revision_data')) && (getRequestElement('check_revision_data') == 'yes')) {
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// Add an SQL to the list
function addSql ($sql) {
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("sql=%s, count=%d", $sql, countSqls()));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf('sql=%s, count=%d', $sql, countSqls()));
array_push($GLOBALS['sqls']['generic'], $sql);
}
if (isSqlsInitialized()) {
// Then count it
$count = count($GLOBALS['sqls']);
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("count=%d", $count));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf('count=%d', $count));
} // END - if
// Return it
// "Unset" the link
unsetSqlLinkUp(__FUNCTION__, __LINE__);
- // Do this only if link is down
- assert(!isSqlLinkUp());
-
// Is the configuration data set?
if ((!empty($GLOBALS['mysql']['host'])) && (!empty($GLOBALS['mysql']['login'])) && (!empty($GLOBALS['mysql']['dbase']))) {
// Remove cache
// Is the file readable?
if (!isFileReadable($FQFN)) {
// Not found, which is bad
- reportBug(__FUNCTION__, __LINE__, sprintf("SQL dump %s/%s.sql is not readable.", $path, $dumpName));
+ reportBug(__FUNCTION__, __LINE__, sprintf('SQL dump %s/%s.sql is not readable.', $path, $dumpName));
} // END - if
// Then read it
// Is columns an array?
if (!is_array($columns)) {
// No array
- reportBug(__FUNCTION__, __LINE__, sprintf("columns is not an array. %s != array, file=%s, line=%s",
+ reportBug(__FUNCTION__, __LINE__, sprintf('columns is not an array. %s != array, file=%s, line=%s',
gettype($columns),
basename($file),
$line
} // END - foreach
} elseif ((getTableType() == 'InnoDB') && (isInString('FULLTEXT', $sql))) {
// Skip this query silently because InnoDB does not understand fulltext indexes
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Skipped FULLTEXT: sql=%s,tableName=%s,hasZeroNums=%d,file=%s,line=%s", $sql, $tableName, intval((is_bool($result)) ? 0 : ifSqlTableColumnExists($columnName)), $file, $line));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Skipped FULLTEXT: sql=%s,tableName=%s,hasZeroNums=%d,file=%s,line=%s', $sql, $tableName, intval((is_bool($result)) ? 0 : ifSqlTableColumnExists($columnName)), $file, $line));
} elseif ($isAlterIndex === TRUE) {
// And column name as well without backticks
$keyName = str_replace('`', '', $tableArray[5]);
}
// Setter for link
+// Do *not* add debug lines here. This will cause and endless loop
function setSqlLink ($file, $line, $link) {
- //* DEBUG: */ logDebugMessage($file . ':' . __FUNCTION__, $line . ':' . __LINE__, 'link[]=' . gettype($link) . ' - ENTERED!');
// Is this a resource or null?
- if ((ifFatalErrorsDetected()) && (isInstallationPhase())) {
+ if ((ifFatalErrorsDetected()) && (isInstaller())) {
// This may happen in installation phase
- //* DEBUG: */ logDebugMessage($file . ':' . __FUNCTION__, $line . ':' . __LINE__, 'Some fatal errors detected in installation phase.');
return;
} elseif ((!is_resource($link)) && (!is_null($link))) {
// This should never happen!
- reportBug($file . ':' . __FUNCTION__, $line . ':' . __LINE__, sprintf("Type of link is not resource or null, type=%s", gettype($link)));
+ reportBug($file . ':' . __FUNCTION__, $line . ':' . __LINE__, sprintf('Type of link is not resource or null, type=%s', gettype($link)));
} // END - if
// Set it
// Re-init cache
$GLOBALS['__is_sql_link_up'] = is_resource($link);
- //* DEBUG: */ logDebugMessage($file . ':' . __FUNCTION__, $line . ':' . __LINE__, '__is_sql_link_up=' . intval($GLOBALS['__is_sql_link_up']) . ' - EXIT!');
}
// Checks if the link is up
// Is there cached this?
if (!isset($GLOBALS['__is_sql_link_up'])) {
// Something bad went wrong
- reportBug(__FUNCTION__, __LINE__, 'Called before SQL_SET_LINK() was called!');
+ reportBug(__FUNCTION__, __LINE__, 'Called before setSqlLink() was called!');
} // END - if
// Return the result
// Is a link there?
if (!is_resource($result)) {
// Is installation phase?
- if (isInstallationPhase()) {
+ if (isInstaller()) {
// Then silently abort here
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'result[]=' . gettype($result) . ',isLinkUp=' . intval(isSqlLinkUp()) . ',tableName=' . $tableName . ' - Returning FALSE ...');
return FALSE;
if (!ifSqlTableExists($tableName)) {
// Then abort here
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Table ' . $tableName . ' does not exist, columnName=' . $columnName . ',forceFound=' . intval($forceFound));
- return (($forceFound === FALSE) && (isInstallationPhase()));
+ return (($forceFound === FALSE) && (isInstaller()));
} // END - if
// Get column information
// Is a link there?
if (!is_resource($result)) {
// Is installation phase?
- if (isInstallationPhase()) {
+ if (isInstaller()) {
// Then silently abort here
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'result[]=' . gettype($result) . ',isLinkUp=' . intval(isSqlLinkUp()) . ',tableName=' . $tableName . ',columnName=' . $columnName . ' - Returning FALSE ...');
return $forceFound;
if (!ifSqlTableExists($tableName)) {
// Then abort here
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Table ' . $tableName . ' does not exist, keyName=' . $keyName . ',forceFound=' . intval($forceFound));
- return (($forceFound === FALSE) && (isInstallationPhase()));
+ return (($forceFound === FALSE) && (isInstaller()));
} // END - if
// Show indexes
// Is a link there?
if (!is_resource($result)) {
// Is installation phase?
- if (isInstallationPhase()) {
+ if (isInstaller()) {
// Then silently abort here
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'result[]=' . gettype($result) . ',isLinkUp=' . intval(isSqlLinkUp()) . ',tableName=' . $tableName . ',keyName=' . $keyName . ' - Returning FALSE ...');
return $forceFound;
return $engines;
}
+// "Getter" for result from given table and field/type LIKEs
+function sqlGetResultFromLikeColumnsType ($tableName, $field, $type) {
+ // The table should be there
+ assert(ifSqlTableExists($tableName));
+
+ // Default no field set
+ $fieldSql = '';
+ if (!empty($field)) {
+ // Then use it
+ $fieldSql = "`Field` LIKE '" . $field . "' AND";
+ } // END - if
+
+ // Show them
+ return sqlQueryEscaped("SHOW COLUMNS FROM
+ `{?_MYSQL_PREFIX?}_%s`
+WHERE
+ " . $fieldSql . "
+ `Type` LIKE '%s%%'",
+ array(
+ $tableName,
+ $type
+ ), __FUNCTION__, __LINE__
+ );
+}
+
// [EOF]
?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
if (!isSqlLinkUp()) return FALSE;
// Empty the table first
- sqlQueryEscaped("TRUNCATE `{?_MYSQL_PREFIX?}_stats_%s`",
+ sqlQueryEscaped('TRUNCATE `{?_MYSQL_PREFIX?}_stats_%s`',
array(generateDateTime(time(), '6')), __FUNCTION__, __LINE__);
// Begin the SQL command
- $sql = sprintf("REPLACE INTO `{?_MYSQL_PREFIX?}_stats_%s` (`stats_entry`, `stats_value`) VALUES ",
+ $sql = sprintf('REPLACE INTO `{?_MYSQL_PREFIX?}_stats_%s` (`stats_entry`, `stats_value`) VALUES ',
generateDateTime(time(), '6'));
// Add all entries to the final query
// Filter for flushing statistics
function FILTER_FLUSH_STATS () {
// Now do we have stats?
- if ((isset($GLOBALS['stats'])) && (!isInstallationPhase()) && (ifInternalStatsEnabled())) {
+ if ((isset($GLOBALS['stats'])) && (!isInstaller()) && (ifInternalStatsEnabled())) {
// Write statistics to temporary table
writeStatsTable();
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
);
// Add stylesheet for installation
-if ((isInstallationPhase())) {
+if ((isInstaller())) {
array_push($stylesList, 'install.css');
} // END - if
$stylesList = merge_array($stylesList, getExtensionCssFiles());
// Generate base path
- $basePath = sprintf("%stheme/%s/css/", getPath(), $currentTheme);
+ $basePath = getBasePathFromTheme($currentTheme);
// Output inclusion lines
foreach ($stylesList as $value) {
// Only include found CSS files (to reduce 404 requests)
- $FQFN = $basePath . $value;
+ $FQFN = $basePath . '/' . $value;
// Do include only existing files and whose are not empty
if ((isFileReadable($FQFN)) && (filesize($FQFN) > 0)) {
break;
default: // Invalid mode!
- reportBug(__FILE__, __LINE__, sprintf("Invalid css_php value %s detected.", getCssPhp()));
+ reportBug(__FILE__, __LINE__, sprintf('Invalid css_php value %s detected.', getCssPhp()));
break;
} // END - switch
} // END - if
$stylesList = merge_array($stylesList, getExtensionCssFiles());
// Generate base path
- $basePath = sprintf("%stheme/%s/css/", getPath(), getCurrentTheme());
+ $basePath = getBasePathFromTheme(getCurrentTheme());
// Output inclusion lines
$OUT = '';
foreach ($stylesList as $value) {
// Only include found CSS files (to reduce 404 requests)
- $FQFN = $basePath . $value;
+ $FQFN = $basePath . '/' . $value;
// Do include only existing files and whose are not empty
if ((isFileReadable($FQFN)) && (filesize($FQFN) > 0)) {
} else {
// Now we load all CSS files from css.php!
$OUT = '<link rel="stylesheet" type="text/css" href="{%url=css.php';
- if ((isInstallationPhase())) {
+ if ((isInstaller())) {
// Default theme first
$OUT .= '?theme=' . getCurrentTheme() . '&installing=1';
} else {
reportBug(__FUNCTION__, __LINE__, '<strong>{--FATAL_ERROR--}:</strong> {--NO_RENDER_DIRECT--}');
break;
} // END - switch
- } elseif ((getPhpCaching() == 'on') && ((!isset($GLOBALS['http_header'])) || (count($GLOBALS['http_header']) == 0)) && (!isRawOutputMode())) {
+ } elseif ((getPhpCaching() == 'on') && (!isFilledArray($GLOBALS['http_header'])) && (!isRawOutputMode())) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getPhpCaching()=' . getPhpCaching() . ',isset(http_header)=' . intval(isset($GLOBALS['http_header'])) . ',getScriptOutputMode()=' . getScriptOutputMode() . '');
// Output cached HTML code
$GLOBALS['__output'] = ob_get_contents();
$template = strtolower($template);
// Base directory
- $basePath = sprintf("%stemplates/%s/html/", getPath(), getLanguage());
+ $basePath = getTemplateBasePath('html');
$extraPath = detectExtraTemplatePath('html', $template);
// Generate FQFN
- $FQFN = $basePath . $extraPath . $template . '.tpl';
+ $FQFN = $basePath . '/' . $extraPath . $template . '.tpl';
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Template ' . $template . ' is solved to FQFN=' . $FQFN);
// Does the special template exists?
if (!isFileReadable($FQFN)) {
// Reset to default template
- $FQFN = $basePath . $template . '.tpl';
+ $FQFN = $basePath . '/' . $template . '.tpl';
} // END - if
// Now does the final template exists?
unset($GLOBALS['template_eval']['email'][$template]);
} elseif (!isset($GLOBALS['template_eval']['email'][$template])) {
// Base directory
- $basePath = sprintf("%stemplates/%s/emails/", getPath(), getLanguage());
+ $basePath = getTemplateBasePath('emails');
// Detect extra path
$extraPath = detectExtraTemplatePath('email', $template);
// Generate full FQFN
- $FQFN = $basePath . $extraPath . $template . '.tpl';
+ $FQFN = $basePath . '/' . $extraPath . $template . '.tpl';
// Does the special template exists?
if (!isFileReadable($FQFN)) {
// Reset to default template
- $FQFN = $basePath . $template . '.tpl';
+ $FQFN = $basePath . '/' . $template . '.tpl';
} // END - if
// Now does the final template exists?
// Eval the code
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'template=' . $template . ' - BEFORE EVAL');
//* DEBUG: */ print('<pre>'.htmlentities($GLOBALS['template_eval']['email'][$template]).'</pre>');
+ //* DEBUG: */ die('<pre>'.print_r($content, TRUE).'</pre><pre>'.htmlentities($GLOBALS['template_eval']['email'][$template]).'</pre>');
eval($GLOBALS['template_eval']['email'][$template]);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'template=' . $template . ' - AFTER EVAL');
} // END - if
//* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Second regex gave ' . count($matches[0]) . ' matches.');
// Are some matches found?
- if ((count($matches) > 0) && (count($matches[0]) > 0)) {
+ if ((isFilledArray($matches)) && (isFilledArray($matches[0]))) {
// Replace all matches
$matchesFound = array();
foreach ($matches[0] as $key => $match) {
// Fuzzy look has failed by default
$fuzzyFound = FALSE;
+ // "Cache" match length
+ $matchLength = strlen($match);
+
// Fuzzy look on match if already found
foreach ($matchesFound as $found => $set) {
// Get test part
- $test = substr($found, 0, strlen($match));
+ $test = substr($found, 0, $matchLength);
// Does this entry exist?
//* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'found=' . $found . ',match=' . $match . ',set=' . $set);
preg_match_all('/\$([a-z_A-Z\[\]]){0,}/', $code, $matches);
// Are some matches found?
- if ((count($matches) > 0) && (count($matches[0]) > 0)) {
+ if ((isFilledArray($matches)) && (isFilledArray($matches[0]))) {
// Scan all matches for not $content
foreach ($matches[0] as $match) {
// Trim match
case 'ho': // Hours
for ($idx = 0; $idx <= 23; $idx++) {
- if (strlen($idx) == 1) $idx = 0 . $idx;
- $OUT .= '<option value="' . $idx . '"';
- if ($default == $idx) $OUT .= ' selected="selected"';
- $OUT .= '>' . $idx . '</option>';
+ $padded = padLeftZero($idx);
+ $OUT .= '<option value="' . $padded . '"';
+ if ($default == $padded) $OUT .= ' selected="selected"';
+ $OUT .= '>' . $padded . '</option>';
} // END - for
break;
case 'mi': // Minutes
case 'se': // Seconds
for ($idx = 0; $idx <= 59; $idx+=5) {
- if (strlen($idx) == 1) $idx = 0 . $idx;
- $OUT .= '<option value="' . $idx . '"';
- if ($default == $idx) $OUT .= ' selected="selected"';
- $OUT .= '>' . $idx . '</option>';
+ $padded = padLeftZero($idx);
+ $OUT .= '<option value="' . $padded . '"';
+ if ($default == $padded) $OUT .= ' selected="selected"';
+ $OUT .= '>' . $padded . '</option>';
} // END - for
break;
}
// Load image
- $img = sprintf("%s/theme/%s/images/code_bg.%s",
+ $img = sprintf('%s/theme/%s/images/code_bg.%s',
getPath(),
getCurrentTheme(),
getImgType()
} // END - switch
} else {
// Silently log the error
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("File for image-type %s in theme %s not found.", getImgType(), getCurrentTheme()));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('File for image-type %s in theme %s not found.', getImgType(), getCurrentTheme()));
return;
}
// Is this already called?
if (isset($GLOBALS[__FUNCTION__])) {
// Other backtrace
- print '[' . $file . ':' . $line . ':] ' . __FUNCTION__ . ' has already died! Message:' . $message . '<br />Backtrace:<pre>';
+ print '[' . $file . ':' . $line . ':] ' . __FUNCTION__ . '() has already died! Message:' . $message . '<br />Backtrace:<pre>';
debug_print_backtrace();
die('</pre>');
} // END - if
$debug .= '<div class="para">Thank you for finding bugs.</div>';
// Send an email? (e.g. not wanted for evaluation errors)
- if (($sendEmail === TRUE) && (!isInstallationPhase())) {
+ if (($sendEmail === TRUE) && (!isInstaller()) && (isAdminRegistered())) {
// Prepare content
$content = array(
'message' => trim($message),
sendAdminNotification('{--REPORT_BUG_SUBJECT--}', 'admin_report_bug', $content);
} // END - if
- // Is there HTML/CSS/AJAX mode?
- if (((isHtmlOutputMode()) || (isCssOutputMode()) || (isAjaxOutputMode())) && (isDebugModeEnabled())) {
+ // Is there HTML/CSS/AJAX mode while debug-mode is enabled?
+ if ((isDebugModeEnabled()) && ((isHtmlOutputMode()) || (isCssOutputMode()) || (isAjaxOutputMode()))) {
// And abort here
app_exit($file, $line, $debug);
+ } elseif (isAjaxOutputMode()) {
+ // Load include (again?)
+ loadIncludeOnce('inc/ajax-functions.php');
+
+ // Init AJAX
+ initAjax();
+
+ // Set HTTP status to 500 again
+ setHttpStatus('500 Internal Server Error');
+
+ // Is AJAX output mode, then output message as JSON
+ setAjaxReplyContent($debug);
+
+ // Send it out to browser
+ sendAjaxContent(TRUE);
+
+ // Include footer
+ loadIncludeOnce('inc/footer.php');
} else {
// Raw/image output mode and all other modes doesn't work well with text ...
die();
$OUT = '<span title="{--ADMIN_EXTENSION_IS_DEPRECATED_TITLE--}">---</span>';
} elseif (isExtensionProductive($ext_name)) {
// Productive code
- $OUT = '<a title="{--ADMIN_REGISTER_EXTENSION_TITLE--}" href="{%url=modules.php?module=admin&what=extensions&register_ext=' . $ext_name . '%}">{--ADMIN_REGISTER_EXTENSION--}</a>';
+ $OUT = '<a title="{--ADMIN_TASK_REGISTER_EXTENSION_TITLE--}" href="{%url=modules.php?module=admin&what=extensions&register_ext=' . $ext_name . '%}">{--ADMIN_TASK_REGISTER_EXTENSION--}</a>';
}
// Return code
return $out;
}
+// "Getter" for template base path
+function getTemplateBasePath ($part) {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__][$part])) {
+ // "Build" path
+ $GLOBALS[__FUNCTION__][$part] = sprintf('%stemplates/%s/%s', getPath(), getLanguage(), $part);
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__][$part];
+}
+
// [EOF]
?>
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
// Determine whether we are installing
if (!isset($GLOBALS['__mailer_installing'])) {
// Check URL (css.php/js.php need this)
- $GLOBALS['__mailer_installing'] = (isGetRequestElementSet('installing') || ((isGetRequestElementSet('level')) && (getRequestElement('level') == 'install')));
+ $GLOBALS['__mailer_installing'] = (isGetRequestElementSet('installing') || ((isAjaxOutputMode()) && (isGetRequestElementSet('level')) && (getRequestElement('level') == 'install')));
} // END - if
// Return result
return ((isset($GLOBALS['monthly_enabled'])) && ($GLOBALS['monthly_enabled'] === TRUE));
}
+// Checks whether the yearly reset mode is active
+function isYearlyResetEnabled () {
+ // Now simply check it
+ return ((isset($GLOBALS['yearly_enabled'])) && ($GLOBALS['yearly_enabled'] === TRUE));
+}
+
// Checks whether one of the reset modes is enabled
function isResetModeEnabled () {
// Now simply check it
- return ((isHourlyResetEnabled()) || (isDailyResetEnabled()) || (isWeeklyResetEnabled()) || (isMonthlyResetEnabled()));
+ return ((isHourlyResetEnabled()) || (isDailyResetEnabled()) || (isWeeklyResetEnabled()) || (isMonthlyResetEnabled()) || (isYearlyResetEnabled()));
}
// Checks whether the debug mode is enabled
return $GLOBALS[__FUNCTION__];
}
+// Checks whether the debug yearly is enabled
+function isDebugYearlyEnabled () {
+ // Is cache set?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Simply check it
+ $GLOBALS[__FUNCTION__] = ((isConfigEntrySet('DEBUG_YEARLY')) && (getConfig('DEBUG_YEARLY') == 'Y'));
+ } // END - if
+
+ // Return it
+ return $GLOBALS[__FUNCTION__];
+}
+
// Checks whether SQL debugging is enabled
function isSqlDebuggingEnabled () {
// Is cache set?
}
// Wrapper function for installation phase
-function isInstallationPhase () {
+function isInstaller () {
// Is there cache?
if (!isset($GLOBALS[__FUNCTION__])) {
// Determine it
// Is there cache?
if (!isset($GLOBALS[__FUNCTION__][$id])) {
// Check it out
- $GLOBALS[__FUNCTION__][$id] = ((!is_null($id)) && (!is_bool($id)) && (!empty($id)) && ($id != 'NULL') && ($id > 0));
+ $GLOBALS[__FUNCTION__][$id] = ((isValidNumber($id)) && (!is_bool($id)) && ($id != '00000') && ($id > 0));
} // END - if
// Return cache
return $GLOBALS[__FUNCTION__][$id];
}
+// Checks whether a valid number is given
+function isValidNumber ($num) {
+ // Determine it
+ return ((!is_null($num)) && (!empty($num)) && ('*' . bigintval($num, TRUE, FALSE) . '*' == '*' . $num . '*'));
+}
+
// Encodes entities
function encodeEntities ($str) {
// Secure it first
return $GLOBALS[__FUNCTION__];
}
+// Checks whether debugging of yearly resets is enabled
+function isYearlyResetDebugEnabled () {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Determine it
+ $GLOBALS[__FUNCTION__] = ((isConfigEntrySet('DEBUG_YEARLY')) && (getConfig('DEBUG_YEARLY') == 'Y'));
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__];
+}
+
// Checks whether displaying of debug SQLs are enabled
function isDisplayDebugSqlEnabled () {
// Is there cache?
return $GLOBALS[__FUNCTION__];
}
-// "Getter" for pass_len
-function getPassLen () {
+// "Getter" for min_password_length
+function getMinPasswordLength () {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Determine it
+ $GLOBALS[__FUNCTION__] = getConfig('min_password_length');
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for min_password_score
+function getMinPasswordScore () {
// Is there cache?
if (!isset($GLOBALS[__FUNCTION__])) {
// Determine it
- $GLOBALS[__FUNCTION__] = getConfig('pass_len');
+ $GLOBALS[__FUNCTION__] = getConfig('min_password_score');
} // END - if
// Return cache
return $GLOBALS[__FUNCTION__];
}
+// "Getter" for last_yearly
+function getLastYearly () {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Determine it
+ $GLOBALS[__FUNCTION__] = getConfig('last_yearly');
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__];
+}
+
// "Getter" for mails_page
function getMailsPage () {
// Is there cache?
// Is there cache?
if (!isset($GLOBALS[__FUNCTION__])) {
// Determine it
- $GLOBALS[__FUNCTION__] = ((isExtensionInstalledAndNewer('sql_patches', '0.4.3')) && (getConfig('proxy_host') != '') && (getConfig('proxy_port') > 0));
+ $GLOBALS[__FUNCTION__] = ((isExtensionInstalledAndNewer('sql_patches', '0.4.3')) && (getConfig('proxy_host') != '') && (isValidNumber(getConfig('proxy_port'))));
} // END - if
// Return cache
}
// Wrapper for changeDataInFile() but with full path added
-function changeDataInInclude ($FQFN, $comment, $prefix, $suffix, $inserted, $seek=0) {
+function changeDataInInclude ($inc, $comment, $prefix, $suffix, $inserted, $seek=0) {
// Add full path
- $FQFN = getPath() . $FQFN;
+ $FQFN = getPath() . $inc;
// Call inner function
return changeDataInFile($FQFN, $comment, $prefix, $suffix, $inserted, $seek);
}
}
+// Calculates percentage
+function calculatePercentageRate ($current, $total) {
+ // Default is zero
+ $rate = '0.0';
+
+ // Is sent larger zero? (Prevents division-by-zero)
+ if ($total > 0) {
+ // Calculate it (it should be "translated" alter on)
+ $rate = ($current / $total * 100);
+ } // END - if
+
+ // The should be a .0 at the end?
+ if (strpos($rate, '.') === FALSE) {
+ // No, then add it
+ $rate .= '.0';
+ } // END - if
+
+ // Return it
+ return $rate;
+}
+
+// Checks whether an array is filled with entries
+function isFilledArray ($array) {
+ // Determine it
+ return ((is_array($array)) && (count($array) > 0));
+}
+
+// Checks whether this script runs on a developer system (called with localhost/127.0.0.1 SERVER_NAME)
+function isDeveloperSystem () {
+ // Determine it
+ return in_array(detectServerName(), array('localhost', '127.0.0.1'));
+}
+
+// Checks whether given subject line has '_ref' suffix
+function ifSubjectHasReferralSuffix ($subject) {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__][$subject])) {
+ // Determine it
+ $GLOBALS[__FUNCTION__][$subject] = (substr($subject, -4, 4) == '_ref');
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__][$subject];
+}
+
// [EOF]
?>
initXml();
// Generate FQFN for with special path
- $FQFN = sprintf("%stemplates/xml/%s%s.xml",
+ $FQFN = sprintf('%stemplates/xml/%s%s.xml',
getPath(),
detectExtraTemplatePath('xml', $template),
$template
// Is the file readable?
if (!isFileReadable($FQFN)) {
// No, use without extra path
- $FQFN = sprintf("%stemplates/xml/%s.xml",
+ $FQFN = sprintf('%stemplates/xml/%s.xml',
getPath(),
$template
);
addXmlSpecialElements($template);
// Call the call-back function
- doCallXmlCallbackFunction($content);
+ doCallXmlCallbackFunction();
} else {
// Template not found
displayMessage('{%message,XML_TEMPLATE_404=' . $template . '%}');
// "Getter" for JOIN statement
function getSqlXmlJoinedTable ($tableJoinType, $tableJoinName, $joinOnLeftTable, $joinOnCondition, $joinOnRightTable) {
// Are all set?
- assert((count($tableJoinType) > 0) && (count($tableJoinName) > 0) && (count($joinOnLeftTable) > 0) && (count($joinOnCondition) > 0) && (count($joinOnRightTable) > 0));
+ assert((isFilledArray($tableJoinType)) && (isFilledArray($tableJoinName)) && (isFilledArray($joinOnLeftTable)) && (isFilledArray($joinOnCondition)) && (isFilledArray($joinOnRightTable)));
// Init SQL
$sql = '';
$sql = '';
// Are there some conditions?
- if (count($whereColumns) > 0) {
+ if (isFilledArray($whereColumns)) {
// Then add these as well
if (count($whereColumns) == 1) {
// One entry found
// Add the rest
$sql .= '`' . $whereColumns[0]['column'] . '`' . $whereColumns[0]['condition'] . chr(39) . $whereColumns[0]['look_for'] . chr(39);
- } elseif ((count($whereColumns > 1)) && (count($conditions) > 0)) {
+ } elseif ((count($whereColumns > 1)) && (isFilledArray($conditions))) {
// More than one "WHERE" + condition found
foreach ($whereColumns as $idx => $columnArray) {
// Default is WHERE
// Is the condition element there?
if (isset($conditions[$columnArray['column']])) {
// Assume the condition
- $condition .= ' ' . $conditions[$columnArray['column']] . ' ';
+ $condition = ' ' . $conditions[$columnArray['column']] . ' ';
} // END - if
// Add to SQL query
- die($sql.'/'.$condition);
$sql .= $condition;
// Table/alias included?
$sql = '';
// Are there entries from orderByColumns to add?
- if (count($orderByColumns) > 0) {
+ if (isFilledArray($orderByColumns)) {
// Add them as well
$sql .= ' ORDER BY ';
foreach ($orderByColumns as $orderByColumn => $array) {
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 09/08/2008 *
+ * =================== Last change: 06/20/2010 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : yearly_ *
+ * -------------------------------------------------------------------- *
+ * Short description : *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : *
+ * -------------------------------------------------------------------- *
+ * $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();
+} elseif ((!isHtmlOutputMode()) || (!isYearlyResetEnabled())) {
+ // Do not execute when script is in non-HTML mode or no daily reset
+ return;
+} elseif (!isExtensionActive('')) {
+ if (isDebugModeEnabled()) logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension ext- disabled.');
+ return;
+}
+
+// Debug line
+//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Yearly reset started.');
+
+// Start your yearly-reset things here
+
+// Debug line
+//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Yearly reset ended.');
+
+// [EOF]
+?>
// Init start time
$GLOBALS['__start_time'] = microtime(TRUE);
-// This is a fake-CSS file loader, more a JavaScript loader...
-// This is in one way good and in one not. The whole reset part will be
-// by-passed even in this "faked" CSS mode. The bad news is that this makes all
-// JS calls on this script to CSS calls. So no real "request" like in MVC
-// pattern is given...
-//
-// But Mailer-Project 0.3.0 will show that in better way! :D :D :D
+/*
+ * This is a fake-CSS file loader, more a JavaScript loader...
+ * This is in one way good and in one not. The whole reset part will be
+ * by-passed even in this "faked" CSS mode. The bad news is that this makes all
+ * JS calls on this script to CSS calls. So no real "request" like in MVC
+ * pattern is given...
+ *
+ * But Mailer-Project 0.3.0 will show that in better way! :D :D :D
+ */
$GLOBALS['__module'] = 'js';
$GLOBALS['__output_mode'] = 1;
loadIncludeOnce('inc/header.php');
// Prepare include file for looking
- $inc = sprintf("inc/js/js-%s.php",
- getRequestElement('js')
- );
+ $inc = sprintf('inc/js/js-%s.php', getRequestElement('js'));
// Is that file readable?
if (isIncludeReadable($inc)) {
// Checks whether a given element is visible by checking 'display: none'
function isElementVisible (prefix, element) {
+ //* DEBUG: */ alert('isElementVisible(' + prefix + ',' + element + ') Called!');
+
// Get element
var el = document.getElementById(prefix + '_' + element);
+ //* DEBUG: */ alert('isElementVisible(): el=' + el);
// Is element set?
if ((el === null) || (el == undefined)) {
- throw new '"' + prefix + '_' + element + '" does not exist.';
+ throw new ('prefix=' + prefix + ',element=' + element + ' does not exist.');
} else if ((el.style.display == undefined) || (el.style.display == '')) {
- throw new '"' + prefix + '_' + element + '" has no style.display element.';
+ throw new ('prefix=' + prefix + ',element=' + element + ' has no style.display element.');
}
// Default is visible
// Is it defined?
if (data['ajax_content'] == undefined) {
// Not set
- throw new 'ajax_content requested but not set.';
+ throw new('ajax_content requested but not set.');
} // END - if
// Return it
// Is ajax_content set?
if (ajax_content.reply_content == undefined) {
// This shall not happen
- throw new 'ajax_content.reply_content not returned from ajax.php, please fix your scripts. (1)';
+ throw new('ajax_content.reply_content not returned from ajax.php, please fix your scripts. (1)');
} else if (ajax_content.reply_content === null) {
// This shall not happen, too
- throw new 'ajax_content.reply_content=null from ajax.php, please fix your scripts. (2)';
+ throw new('ajax_content.reply_content=null from ajax.php, please fix your scripts. (2)');
}
// Set AJAX reply
// Mark it as success
setAjaxSuccess(true);
+
+ // Was there a redirect?
+ if ((ajax_content.redirect != undefined) && (ajax_content.redirect != null)) {
+ // Redirect URL detected
+ // @TODO Need this be secured?
+ document.location.href = ajax_content.redirect;
+ } // END - if
},
// Called in case of an error (e.g. HTTP response status not '200 OK')
// Is 'reply_content' set?
if (obj.reply_content == undefined) {
// This shall not happen
- throw new 'obj.reply_content not returned from ajax.php, please fix your scripts. (3)';
+ throw new('obj.reply_content not returned from ajax.php, please fix your scripts. (3)');
} // END - if
// Set it
return false;
} else {
// This shall not happen
- throw new 'ajax_content.reply_content not returned from ajax.php, please fix your scripts. (4)';
+ throw new('ajax_content.reply_content not returned from ajax.php, please fix your scripts. (4)');
}
} else if (ajax_content.reply_content === null) {
// This shall not happen, too
- throw new 'ajax_content.reply_content=null from ajax.php, please fix your scripts. (5)';
+ throw new('ajax_content.reply_content=null from ajax.php, please fix your scripts. (5)');
}
// Set AJAX reply
setAjaxReply(ajax_content.reply_content, isJson);
+
+ // Was there a redirect?
+ if ((ajax_content.redirect != undefined) && (ajax_content.redirect != null)) {
+ // Redirect URL detected
+ // @TODO Need this be secured?
+ document.location.href = ajax_content.redirect;
+ } // END - if
}
});
closeAllWindows(prefix);
// Abort here if warningDisplayed is still true
+ //* DEBUG: */ alert('displayChangedWarningWindow(): Calling isElementVisible(' + prefix + ', warning)');
if (isElementVisible(prefix, 'warning')) {
// Make sure this doesn't happen
+ //* DEBUG: */ alert('displayChangedWarningWindow(): isElementVisible(' + prefix + ', warning)=true');
return;
} // END - if
// Request it from the AJAX backend
+ //* DEBUG: */ alert('displayChangedWarningWindow(): Calling sendAjaxRequest(' + prefix + ', button=' + button + ',changedElements()=' + changedElements.join(':') + ')');
if (sendAjaxRequest(prefix, 'change_warning', '&button=' + button + '&elements=' + changedElements.join(':')) === true) {
// Transfer the returned content to the prefix_warning_content id
setWarningContent(prefix, getAjaxContent());
// Close all windows
function closeAllWindows (prefix) {
+ //* DEBUG: */ alert('closeAllWindows(): Calling closeWarningWindow(' + prefix + ', true, false)');
closeWarningWindow(prefix, true, false);
+ //* DEBUG: */ alert('closeAllWindows(): Calling closeErrorWindow(' + prefix + ', true, false)');
closeErrorWindow(prefix, true, false);
+ //* DEBUG: */ alert('closeAllWindows(): Calling closeProgressWindow(' + prefix + ', true, false)');
closeProgressWindow(prefix, true, false);
+ //* DEBUG: */ alert('closeAllWindows(): Calling closeSuccessWindow(' + prefix + ', true, false)');
closeSuccessWindow(prefix, true, false);
+ //* DEBUG: */ alert('closeAllWindows(): EXIT!');
}
// Waits until the window has been closed
// Closes an success window
function closeSuccessWindow (prefix, waitClose, resetCurrentTabId) {
// Is the success displayed?
+ //* DEBUG: */ alert('closeSuccessWindow(): prefix=' + prefix + ',waitClose=' + waitClose + ',resetCurrentTabId=' + resetCurrentTabId + ' - ENTERED!');
if (isElementVisible(prefix, 'success')) {
// Shall we wait ("sync") until the animation has completed?
if (waitClose === true) {
closeSuccessLocked(prefix);
} // END - if
} // END - if
+ //* DEBUG: */ alert('closeSuccessWindow(): prefix=' + prefix + ',waitClose=' + waitClose + ',resetCurrentTabId=' + resetCurrentTabId + ' - EXIT!');
}
// Waits until the window has been closed
saveChanges(prefix);
// Close the window
- //* DEBUG: */ alert('doSaveChangesPage(): prefix=' + prefix + ',htmlId=' + htmlId + ',tab=' + tab + ' - calling closeWarningWindow()');
+ //* DEBUG: */ alert('doSaveChangesContinue(): prefix=' + prefix + ',htmlId=' + htmlId + ',tab=' + tab + ' - calling closeWarningWindow()');
closeWarningWindow(prefix, true, false);
// Load requested content
installationSteps[0] = 'import_tables_sql';
installationSteps[1] = 'import_menu_sql';
installationSteps[2] = 'install_extensions';
+installationSteps[3] = 'register_first_admin';
// Always keep as last step
installationSteps[installationSteps.length] = 'write_local_config';
if (counterSuccess != installationSteps.length) {
// Display error message
displayErrorWindow('install', getAjaxContent() + ':' + counterSuccess + '/' + installationSteps.length + ':' + failedStep);
- } // END - if
+ } else {
+ // Redirect to admin.php
+ document.location.href = 'admin.php';
+ }
}
// Sends an "installation step" request out
indexTranslation[3] = 'smtp_config';
indexTranslation[4] = 'other_config';
indexTranslation[5] = 'extensions';
-indexTranslation[6] = 'overview';
+indexTranslation[6] = 'first_admin';
+indexTranslation[7] = 'overview';
// Always last ...
indexTranslation[indexTranslation.length] = 'finish';
nextPage['database_config'] = 'smtp_config';
nextPage['smtp_config'] = 'other_config';
nextPage['other_config'] = 'extensions';
-nextPage['extensions'] = 'overview';
+nextPage['extensions'] = 'first_admin';
+nextPage['first_admin'] = 'overview';
nextPage['overview'] = 'finish';
// 'previous page' linking, key is current page, value is the previous page
previousPage['smtp_config'] = 'database_config';
previousPage['other_config'] = 'smtp_config';
previousPage['extensions'] = 'other_config';
-previousPage['overview'] = 'extensions';
+previousPage['first_admin'] = 'extensions';
+previousPage['overview'] = 'first_admin';
previousPage['finish'] = 'overview';
+++ /dev/null
-// @DEPRECATED
+++ /dev/null
-// @DEPRECATED
setContentType('text/html');
setHttpStatus('404 Not Found');
-// Is the extension mailid active?
+// Is ext-mailid active?
redirectOnUninstalledExtension('mailid');
-// Is the extension other active?
+// Is ext-other active?
redirectOnUninstalledExtension('other');
// Init data
// @TODO Improve check on $data['type'], empty() is not very much ...
if ((isValidId($data['userid'])) && (isValidId($data['id'])) && (!empty($data['type'])) && (!ifFatalErrorsDetected())) {
- // No image?
- if ($data['do'] != 'img') {
- // ... then output header
- loadIncludeOnce('inc/header.php');
- } // END - fi
-
// Is 'do' still "frames"?
if ($data['do'] == 'frames') {
// This is a frameset module
$GLOBALS['frameset_mode'] = TRUE;
} // END - if
+ // No image?
+ if ($data['do'] != 'img') {
+ // ... then output header
+ loadIncludeOnce('inc/header.php');
+ } // END - fi
+
// Init result for below sqlNumRows() function
$result_main = FALSE;
// @TODO Rewrite this to a filter/function
switch ($data['link_type']) {
case 'NORMAL':
- $result_mailid = sqlQueryEscaped("SELECT `pool_id`, `userid` AS `sender` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `id`=%s LIMIT 1",
+ $result_mailid = sqlQueryEscaped("SELECT `pool_id`, `userid` AS `sender`, `url` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `id`=%s LIMIT 1",
array($data['id']), __FILE__, __LINE__);
break;
case 'BONUS':
- $result_mailid = sqlQueryEscaped("SELECT `id` AS `pool_id`, `is_notify` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1",
+ $result_mailid = sqlQueryEscaped("SELECT `id` AS `pool_id`, `is_notify`, `url` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1",
array($data['id']), __FILE__, __LINE__);
break;
+++ /dev/null
-<?php
-// @DEPRECATED
-?>
break;
default: // Invalid type
- logDebugMessage(__FILE__, __LINE__, sprintf("Invalid type %s detected.", getRequestElement('t')));
+ logDebugMessage(__FILE__, __LINE__, sprintf('Invalid type %s detected.', getRequestElement('t')));
break;
} // END - switch
+++ /dev/null
-@DEPRECATED
+++ /dev/null
-@DEPRECATED
+++ /dev/null
-@DEPRECATED
+++ /dev/null
-@DEPRECATED
+++ /dev/null
-@DEPRECATED
+++ /dev/null
-@DEPRECATED
+++ /dev/null
-@DEPRECATED
Hallo Administrator,
-es wurden folgende Mitglieder-Account durch die Urlaubsschaltung wieder freigegeben:
+es wurden folgende Mitgliedaccount durch die Urlaubsschaltung wieder freigegeben:
--------------------------------
$content
Mit freundlichen Grüßen,
Ihr {?MAIN_TITLE?} Script
-{?URL?}/admin.php
\ No newline at end of file
+{?URL?}/admin.php
--- /dev/null
+Hallo Administrator,
+
+ein Administrator hat soeben eine Forced-Kampagne freigeschaltet.
+
+Hier sind alle Daten dazu:
+------------------------------------------
+Kampagnen-Id: $content[forced_campaign_id]
+------------------------------------------
+Kampagne erstellt: $content[forced_campaign_created]
+------------------------------------------
+Klicks übrig: {%pipe,translateComma=$content[forced_campaign_ordered_clicks]%}
+------------------------------------------
+Reload-Sperre: {%pipe,createFancyTime=$content[forced_campaign_reload_lock]%}
+------------------------------------------
+Mindestauffenthalt: {%pipe,createFancyTime=$content[forced_campaign_minimum_stay]%}
+------------------------------------------
+Forced-Werbemittel: $content[forced_ads_id]
+------------------------------------------
+Kosten-Id: $content[forced_costs_id]
+------------------------------------------
+
+Mit freundlichen Grüßen,
+ Ihr {?MAIN_TITLE?} Script
+
+{?URL?}/admin.php
In Ihrem {?mt_word?} wurden $content[count] Aufgaben gelöscht.
--------------------------------------------------------------------------
- {--ID_SELECT--} | {--ADMIN_ASSIGNED_ADMIN_EMAIL--} | {--ADMIN_MEMBER_USERID_EMAIL--} | {--ADMIN_TASK_INFOS_EMAIL--} | {--ADMIN_TASK_TYPE_EMAIL--} | {--ADMIN_TASK_CREATED_EMAIL--}
+ {--ID_SELECT--} | {--ADMIN_TASK_ASSIGNED_ADMIN_EMAIL--} | {--ADMIN_ASSIGNED_USERID_EMAIL--} | {--ADMIN_TASK_INFOS--} | {--ADMIN_TASK_TYPE--} | {--ADMIN_TASK_CREATED_EMAIL--}
--------------------------------------------------------------------------
$content[rows]
--------------------------------------------------------------------------
------------------------------
-Ihre Urlaubsschaltung ist hiermit wieder aufgehoben. Sie können sich wieder in Ihren Mitglieder-Account einloggen. Verwenden Sie den unten stehenden Link dazu.
+Ihre Urlaubsschaltung ist hiermit wieder aufgehoben. Sie können sich wieder in Ihren Mitgliedaccount einloggen. Verwenden Sie den unten stehenden Link dazu.
Mit freundlichen Grüßen,
Ihr {?MAIN_TITLE?} Team
{%form,formMethodGet=modules.php%}
<div class="dashed">
<div class="table_header bottom">
- <strong>{%message,ADMIN_ADD_CONFIG_NETWORK_HANDLER_TYPE_TITLE=$content[network_type_handler]%}</strong>
+ {%message,ADMIN_ADD_CONFIG_NETWORK_HANDLER_TYPE_TITLE=$content[network_type_handler]%}
</div>
<div class="bottom">
<div class="table dashed">
<div class="table_header bottom">
<div>
- <strong>{%message,ADMIN_ADD_CONFIG_NETWORK_HANDLER_TYPE_TITLE=$content[network_type_handler]%}</strong>
+ {%message,ADMIN_ADD_CONFIG_NETWORK_HANDLER_TYPE_TITLE=$content[network_type_handler]%}
</div>
<div class="tiny">
({%network,generateMetworkReferralLinkById=%network_id%%})
+++ /dev/null
-<!-- @DEPRECATED //-->
</td>
</tr>
<tr>
- <td colspan="3" align="center" class="table_header bottom" height="40">
+ <td colspan="3" align="center" class="table_header bottom">
<strong>{--ADMIN_PAYOUT_OPTIONAL_SETTINGS--}:</strong>
</td>
</tr>
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
<div align="left">{%config,generateGenderSelectionBox=tester_user_gender%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_surname_prefix">{--ADMIN_ADD_TESTER_USER_SURNAME--}</label>
<div align="left"><em>{?tester_user_surname_prefix?}{%pipe,getNextFreeTesterUserNumber%}</em></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_family">{--ADMIN_ADD_TESTER_USER_FAMILY--}</label>
<div align="left"><input type="text" class="form_field" name="family" value="{?tester_user_family?}" size="10" maxlength="255" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_street_nr">{--ADMIN_ADD_TESTER_USER_STREET_NR--}</label>
<div align="left"><input type="text" class="form_field" name="street_nr" value="{?tester_user_street_nr?}" size="15" maxlength="255" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_default_refid">{--ADMIN_ADD_TESTER_USER_COUNTRY--}</label>
<div align="left">{%pipe,addCountryCodeSelectionBox%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_zip">{--ADMIN_ADD_TESTER_USER_ZIP--}</label>
<div align="left"><input type="text" class="form_field" name="zip" value="{?tester_user_zip?}" size="6" maxlength="6" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_city">{--ADMIN_ADD_TESTER_USER_CITY--}</label>
<div align="left"><input type="text" class="form_field" name="city" value="{?tester_user_city?}" size="10" maxlength="255" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_email">{--ADMIN_ADD_TESTER_USER_EMAIL--}</label>
<div align="left"><input type="text" class="form_field" name="email" value="{?tester_user_email?}" size="20" maxlength="255" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_email">{--ADMIN_ADD_TESTER_USER_BIRTHDAY--}</label>
<input type="hidden" name="day" value="01" />
<div align="left">01.01.1970</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_default_refid">{--ADMIN_ADD_TESTER_USER_DEFAULT_REFID--}</label>
<div align="left">{%pipe,addTesterUserDefaultRefidSelectionBox=refid%}</div>
<input type="password" class="form_field" name="password1" value="{?tester_user_password?}" size="10" maxlength="255" />
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_email">{--ADMIN_ADD_TESTER_USER_PASSWORD2--}</label>
<input type="password" class="form_field" name="password2" value="{?tester_user_password?}" size="10" maxlength="255" />
+++ /dev/null
-<!-- @DEPRECATED //-->
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=admins_mails%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header">
- <strong>{--ADMIN_EDIT_ADMINS_MAILS_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td class="header_column bottom right" align="center">
- <strong>{--ADMIN_ADMINS_TEMPLATE--}:</strong>
- </td>
- <td class="header_column bottom" align="center">
- <strong>{--ADMIN_ADMINS_CONTACT--}:</strong>
- </td>
- </tr>
- $content
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_EDIT_ADMINS_MAILS_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header">
+ {--ADMIN_EDIT_ADMINS_MAILS_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="header_column bottom right" align="center">
+ {--ADMIN_ADMINS_TEMPLATE--}
+ </td>
+ <td class="header_column bottom" align="center">
+ {--ADMIN_ADMINS_CONTACT--}
+ </td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_EDIT_ADMINS_MAILS_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=admins_mails%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="3" align="center" class="table_header bottom">
- <strong>{--ADMIN_LIST_ADMINS_MAILS_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td width="30" class="header_column bottom right" align="center">
- <strong>{--ID_SELECT--}</strong>
- </td>
- <td width="235" class="header_column bottom right" align="center">
- <strong>{--ADMIN_ADMINS_TEMPLATE--}:</strong>
- </td>
- <td width="235" class="header_column bottom" align="center">
- <strong>{--ADMIN_ADMINS_CONTACT--}:</strong>
- </td>
- </tr>
- $content
- <tr>
- <td colspan="3" class="table_footer">
- <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
- <input type="submit" class="form_submit" name="edit" value="{--ADMIN_ACTION_EDIT_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="3" align="center" class="table_header bottom">
+ {--ADMIN_LIST_ADMINS_MAILS_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td width="30" class="header_column bottom right" align="center">
+ {--ID_SELECT--}
+ </td>
+ <td width="235" class="header_column bottom right" align="center">
+ {--ADMIN_ADMINS_TEMPLATE--}
+ </td>
+ <td width="235" class="header_column bottom" align="center">
+ {--ADMIN_ADMINS_CONTACT--}
+ </td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="3" class="table_footer">
+ <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
+ <input type="submit" class="form_submit" name="edit" value="{--ADMIN_ACTION_EDIT_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
{%form,formMethodPost=modules.php?module=admin&what=config_foo%}
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_CONFIG_FOO_TITLE--}</strong>
+ {--ADMIN_CONFIG_FOO_TITLE--}
</div>
<fieldset id="config_foo_my_stuff">
<input type="text" class="form_field" name="foo_stuff_bar" value="{?foo_stuff_bar?}" />
</div>
</div>
+
+ <!-- Don't forget: <div class="clear"></div> //-->
</fieldset>
<div class="table_footer top">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td class="table_header bottom" colspan="2" align="center">
- <strong>{--ADMIN_CONFIG_ACTIVE_TITLE--}:</strong>
+ {--ADMIN_CONFIG_ACTIVE_TITLE--}
</td>
</tr>
<tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_ACTIVE_LIMIT--}:</td>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_ACTIVE_LIMIT--}</td>
<td class="bottom" align="center">
<input type="input" name="active_limit" class="form_field" value="{?active_limit?}" size="5" maxlength="20" />
</td>
{%form,formMethodPost=modules.php?module=admin&what=config_admin%}
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_CONFIG_ADMIN_MENU_TITLE--}</strong>
+ {--ADMIN_CONFIG_ADMIN_MENU_TITLE--}
</div>
<fieldset id="config_admin_menu_type_fields">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="admin_menu">{--ADMIN_CONFIG_ADMIN_MENU_OLD--}</label>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_autopurge%}
<div class="table dashed">
<div align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_AUTOPURGE_TITLE--}</strong>
+ {--ADMIN_CONFIG_AUTOPURGE_TITLE--}
</div>
<fieldset id="autopurge_inactive_fields">
<div align="center">{%template,ConfigurationYesNoSelectionBox=ap_inactive_selection%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_inactive_since">{--ADMIN_CONFIG_AUTOPURGE_INACTIVE_SINCE--}</label>
<div align="center">$content[ap_in_since]</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_inactive_time">{--ADMIN_CONFIG_AUTOPURGE_INACTIVE_TIME--}</label>
<div align="center">$content[ap_in_time]</div>
<div align="center">{%template,ConfigurationYesNoSelectionBox=ap_unconfirmed_selection%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_un_time">{--ADMIN_CONFIG_AUTOPURGE_UNCONFIRMED_TIME--}</label>
<div align="center">$content[ap_un_time]</div>
<div align="center">{%template,ConfigurationYesNoSelectionBox=ap_tasks_selection%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_task_time">{--ADMIN_CONFIG_AUTOPURGE_TASKS_TIME--}</label>
<div align="center">$content[ap_task_time]</div>
<div align="center">{%template,ConfigurationYesNoSelectionBox=auto_purge%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="auto_purge">{--ADMIN_CONFIG_MAIL_LIFETIME--}</label>
<div align="center">$content[auto_purge]</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_notify_del_mails">{--ADMIN_CONFIG_AUTOPURGE_NOTIFY_DELETE_MAILS--}</label>
<div align="center">{%template,ConfigurationYesNoSelectionBox=ap_notify_del_mails%}</div>
<div align="center">{%template,ConfigurationYesNoSelectionBox=ap_del_mails_selection%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_del_mails_time">{--ADMIN_CONFIG_AUTOPURGE_DELETE_MAILS_TIME--}</label>
<div align="center">$content[ap_del_mails_time]</div>
<div align="center">{%template,ConfigurationYesNoSelectionBox=ap_server_name%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_un_time">{--ADMIN_CONFIG_AUTOPURGE_SERVER_NAME_LOG_TIME--}</label>
<div align="center">$content[ap_server_name_since]</div>
<div align="center">{%template,ConfigurationYesNoSelectionBox=ap_notify_inactive%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_notify_unconfirmed">{--ADMIN_CONFIG_AUTOPURGE_NOTIFY_UNCONFIRMED--}</label>
<div align="center">{%template,ConfigurationYesNoSelectionBox=ap_notify_unconfirmed%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_notify_tasks">{--ADMIN_CONFIG_AUTOPURGE_NOTIFY_TASKS--}</label>
<div align="center">{%template,ConfigurationYesNoSelectionBox=ap_notify_tasks%}</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_beg%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_BEG_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td align="right" width="200" height="20">
- {--ADMIN_CONFIG_BEG_POINTS--}:
- </td>
- <td width="295" align="center">
- <input type="text" class="form_field" name="beg_points" size="7" maxlength="10" value="{%config,translateComma=beg_points%}" />
- </td>
- </tr>
- <tr>
- <td align="right" width="300" height="20">
- {--ADMIN_CONFIG_BEG_POINTS_MAX--}:
- </td>
- <td width="195" align="center">
- <input type="text" class="form_field" name="beg_points_max" size="7" maxlength="10" value="{%config,translateComma=beg_points_max%}" />
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_TIMEOUT--}:
- </td>
- <td align="center">
- $content[timeout]
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_USERID_TIMEOUT--}:
- </td>
- <td align="center">
- $content[userid_timeout]
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_REMOTE_IP_TIMEOUT--}:
- </td>
- <td align="center">
- $content[beg_ip_timeout]
- </td>
- </tr>
- <tr>
- <td class="bottom" align="right" height="20">{--ADMIN_CONFIG_BEG_USERID--}:</td>
- <td class="bottom" align="center">
- $content[beg_userid]
- </td>
- </tr>
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_BEG_RALLYE_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_RALLYE_ACTIVE--}
- </td>
- <td align="center">
- {%template,ConfigurationYesNoSelectionBox=beg_rallye%}
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_INCLUDE_OWN--}
- </td>
- <td align="center">
- {%template,ConfigurationYesNoSelectionBox=beg_include_own%}
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_RANKS--}
- </td>
- <td align="center">
- <input type="text" class="form_field" name="beg_ranks" size="3" maxlength="7" value="{?beg_ranks?}" />
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_RALLYE_ONLY_ACTIVE--}
- </td>
- <td align="center">
- {%template,ConfigurationYesNoSelectionBox=beg_active%}
- </td>
- </tr>
- <tr>
- <td class="bottom" align="right" height="20">
- {--ADMIN_CONFIG_BEG_PAY_MODE--}
- </td>
- <td class="bottom" align="center">
- <select class="form_select" name="beg_pay_mode" size="1">
- <option value="IMG"$content[pay_mode_img]>{--ADMIN_CONFIG_BEG_PAY_MODE_IMG--}</option>
- <option value="JS"$content[pay_mode_js]>{--ADMIN_CONFIG_BEG_PAY_MODE_JS--}</option>
- <option value="BOTH"$content[pay_mode_both]>{--ADMIN_CONFIG_BEG_PAY_MODE_BOTH--}</option>
- <option value="NONE"$content[pay_mode_none]>{--ADMIN_CONFIG_BEG_PAY_MODE_NONE--}</option>
- </select>
- </td>
- </tr>
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_BEG_RALLYE_NOTIFICATIONS_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_RALLYE_ENABLE_NOTIFY--}
- </td>
- <td align="center">
- {%template,ConfigurationYesNoSelectionBox=beg_rallye_enable_notify%}
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_RALLYE_DISABLE_NOTIFY--}
- </td>
- <td align="center">
- {%template,ConfigurationYesNoSelectionBox=beg_rallye_disable_notify%}
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_NEW_MEMBER_NOTIFY--}
- </td>
- <td align="center">
- {%template,ConfigurationYesNoSelectionBox=beg_new_member_notify%}
- </td>
- </tr>
- <tr>
- <td align="right" height="20">
- {--ADMIN_CONFIG_BEG_NOTIFY_BONUS--}
- </td>
- <td align="center">
- <input type="text" class="form_field" name="beg_notify_bonus" size="3" maxlength="7" value="{%config,translateComma=beg_notify_bonus%}" />
- </td>
- </tr>
- <tr>
- <td class="bottom" align="right" height="20">
- {--ADMIN_CONFIG_BEG_NOTIFY_WAIT--}
- </td>
- <td class="bottom" align="center">
- $content[wait_selection]
- </td>
- </tr>
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_BEG_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" width="200" height="20">
+ {--ADMIN_CONFIG_BEG_POINTS--}
+ </td>
+ <td width="295" align="center">
+ <input type="text" class="form_field" name="beg_points" size="7" maxlength="10" value="{%config,translateComma=beg_points%}" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right" width="300" height="20">
+ {--ADMIN_CONFIG_BEG_POINTS_MAX--}
+ </td>
+ <td width="195" align="center">
+ <input type="text" class="form_field" name="beg_points_max" size="7" maxlength="10" value="{%config,translateComma=beg_points_max%}" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_TIMEOUT--}
+ </td>
+ <td align="center">
+ $content[timeout]
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_USERID_TIMEOUT--}
+ </td>
+ <td align="center">
+ $content[userid_timeout]
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_REMOTE_IP_TIMEOUT--}
+ </td>
+ <td align="center">
+ $content[beg_ip_timeout]
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="right" height="20">{--ADMIN_CONFIG_BEG_USERID--}</td>
+ <td class="bottom" align="center">
+ $content[beg_userid]
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_BEG_RALLYE_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_RALLYE_ACTIVE--}
+ </td>
+ <td align="center">
+ {%template,ConfigurationYesNoSelectionBox=beg_rallye%}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_INCLUDE_OWN--}
+ </td>
+ <td align="center">
+ {%template,ConfigurationYesNoSelectionBox=beg_include_own%}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_RANKS--}
+ </td>
+ <td align="center">
+ <input type="text" class="form_field" name="beg_ranks" size="3" maxlength="7" value="{?beg_ranks?}" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_RALLYE_ONLY_ACTIVE--}
+ </td>
+ <td align="center">
+ {%template,ConfigurationYesNoSelectionBox=beg_active%}
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="right" height="20">
+ {--ADMIN_CONFIG_BEG_PAY_MODE--}
+ </td>
+ <td class="bottom" align="center">
+ <select class="form_select" name="beg_pay_mode" size="1">
+ <option value="IMG"$content[pay_mode_img]>{--ADMIN_CONFIG_BEG_PAY_MODE_IMG--}</option>
+ <option value="JS"$content[pay_mode_js]>{--ADMIN_CONFIG_BEG_PAY_MODE_JS--}</option>
+ <option value="BOTH"$content[pay_mode_both]>{--ADMIN_CONFIG_BEG_PAY_MODE_BOTH--}</option>
+ <option value="NONE"$content[pay_mode_none]>{--ADMIN_CONFIG_BEG_PAY_MODE_NONE--}</option>
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_BEG_RALLYE_NOTIFICATIONS_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_RALLYE_ENABLE_NOTIFY--}
+ </td>
+ <td align="center">
+ {%template,ConfigurationYesNoSelectionBox=beg_rallye_enable_notify%}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_RALLYE_DISABLE_NOTIFY--}
+ </td>
+ <td align="center">
+ {%template,ConfigurationYesNoSelectionBox=beg_rallye_disable_notify%}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_NEW_MEMBER_NOTIFY--}
+ </td>
+ <td align="center">
+ {%template,ConfigurationYesNoSelectionBox=beg_new_member_notify%}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" height="20">
+ {--ADMIN_CONFIG_BEG_NOTIFY_BONUS--}
+ </td>
+ <td align="center">
+ <input type="text" class="form_field" name="beg_notify_bonus" size="3" maxlength="7" value="{%config,translateComma=beg_notify_bonus%}" />
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="right" height="20">
+ {--ADMIN_CONFIG_BEG_NOTIFY_WAIT--}
+ </td>
+ <td class="bottom" align="center">
+ $content[wait_selection]
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_BIRTHDAY_TITLE--}</strong>
+ {--ADMIN_CONFIG_BIRTHDAY_TITLE--}
</td>
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_BIRTHDAY_POINTS--}:
+ {--ADMIN_CONFIG_BIRTHDAY_POINTS--}
<span class="notice">({--ADMIN_CONFIG_BIRTHDAY_POINTS_NOTICE--})</span>
</td>
<td>
{%form,formMethodPost=modules.php?module=admin&what=config_blacklist%}
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_CONFIG_BLACKLIST_TITLE--}</strong>
+ {--ADMIN_CONFIG_BLACKLIST_TITLE--}
</div>
<fieldset id="config_order_member_fields">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ip_blacklist">{--ADMIN_CONFIG_IP_BLACKLIST_ENABLED--}</label>
<div align="center">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="url_blacklist">{--ADMIN_CONFIG_URL_BLACKLIST_ENABLED--}</label>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_BONUS_RALLYE_TITLE--}</strong>
+ {--ADMIN_CONFIG_BONUS_RALLYE_TITLE--}
</td>
</tr>
<tr>
</tr>
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_BONUS_TITLE--}</strong>
+ {--ADMIN_CONFIG_BONUS_TITLE--}
</td>
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_BONUS_ORDER--}:
+ {--ADMIN_CONFIG_BONUS_ORDER--}
</td>
<td align="center">
<input type="text" class="form_field" name="bonus_order" size="8" maxlength="20" value="{%config,translateComma=bonus_order%}" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_BONUS_REFERRAL--}:
+ {--ADMIN_CONFIG_BONUS_REFERRAL--}
</td>
<td align="center">
<input type="text" class="form_field" name="bonus_ref" size="8" maxlength="20" value="{%config,translateComma=bonus_ref%}" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_BONUS_STATS--}:
+ {--ADMIN_CONFIG_BONUS_STATS--}
</td>
<td align="center">
<input type="text" class="form_field" name="bonus_stats" size="8" maxlength="20" value="{%config,translateComma=bonus_stats%}" />
</tr>
<tr>
<td class="bottom" align="right">
- {--ADMIN_CONFIG_BONUS_LOGIN--}:
+ {--ADMIN_CONFIG_BONUS_LOGIN--}
</td>
<td class="bottom" align="center">
<input type="text" class="form_field" name="login_bonus" size="8" maxlength="20" value="{%config,translateComma=login_bonus%}" />
</tr>
<tr>
<td colspan="2" class="table_header bottom" align="center">
- <strong>{--ADMIN_CONFIG_BONUS_TURBO_TITLE--}:</strong>
+ {--ADMIN_CONFIG_BONUS_TURBO_TITLE--}
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_BONUS_TURBO--}:</td>
+ <td align="right">{--ADMIN_CONFIG_BONUS_TURBO--}</td>
<td align="center">
<input type="text" class="form_field" name="turbo_bonus" size="10" maxlength="20" value="{%config,translateComma=turbo_bonus%}" />
<span class="notice">({?POINTS?})</span>
</tr>
<tr>
<td class="bottom" align="right" valign="top">
- {--ADMIN_CONFIG_TURBO_RATES--}:<br />
+ {--ADMIN_CONFIG_TURBO_RATES--}<br />
<br />
<div align="left">
<ol>
- <li><strong>{--ADMIN_CONFIG_TURBO_RATES_NOTICE1--}:</strong></li>
+ <li>{--ADMIN_CONFIG_TURBO_RATES_NOTICE1--}</li>
<li>{--ADMIN_CONFIG_TURBO_RATES_NOTICE2--}</li>
<li>{--ADMIN_CONFIG_TURBO_RATES_NOTICE3--}</li>
<li>{--ADMIN_CONFIG_TURBO_RATES_NOTICE4--}</li>
</tr>
<tr>
<td colspan="2" class="table_header bottom" align="center">
- <strong>{--ADMIN_CONFIG_BONUS_TURBO_TIMEOUT_TITLE--}:</strong>
+ {--ADMIN_CONFIG_BONUS_TURBO_TIMEOUT_TITLE--}
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_BONUS_LOGIN_TIMEOUT--}:</td>
+ <td align="right">{--ADMIN_CONFIG_BONUS_LOGIN_TIMEOUT--}</td>
<td align="center">$content[login_timeout_selection]</td>
</tr>
<tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_BONUS_TIMEOUT--}:</td>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_BONUS_TIMEOUT--}</td>
<td class="bottom" align="center">$content[bonus_timeout_selection]</td>
</tr>
<tr>
<td colspan="2" class="table_header bottom" align="center">
- <strong>{--ADMIN_CONFIG_BONUS_TURBO_MISC_TITLE--}:</strong>
+ {--ADMIN_CONFIG_BONUS_TURBO_MISC_TITLE--}
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_BONUS_TURBO_RANKS--}:</td>
+ <td align="right">{--ADMIN_CONFIG_BONUS_TURBO_RANKS--}</td>
<td align="center">
<input type="text" class="form_field" name="bonus_ranks" size="3" maxlength="5" value="{?bonus_ranks?}" />
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_BONUS_TURBO_LINES--}:</td>
+ <td align="right">{--ADMIN_CONFIG_BONUS_TURBO_LINES--}</td>
<td align="center">
<input type="text" class="form_field" name="bonus_lines" size="3" maxlength="5" value="{?bonus_lines?}" />
</td>
</tr>
<tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_BONUS_USERID--}:</td>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_BONUS_USERID--}</td>
<td class="bottom" align="center">
$content[bonus_userid]
</td>
</tr>
<tr>
<td colspan="2" class="table_header bottom" align="center">
- <strong>{--ADMIN_CONFIG_BONUS_RALLYE_NOTIFTICATIONS--}:</strong>
+ {--ADMIN_CONFIG_BONUS_RALLYE_NOTIFTICATIONS--}
</td>
</tr>
<tr>
+++ /dev/null
-<!-- @DEPRECATED //-->
--- /dev/null
+<div align="center">
+{%form,formMethodPost=modules.php?module=admin&what=config_booking%}
+<div class="table dashed">
+ <div class="table_header bottom">
+ {--ADMIN_CONFIG_BOOKING_TITLE--}
+ </div>
+
+ <fieldset id="config_booking_listing">
+ <legend>{--ADMIN_CONFIG_BOOKING_LISTING_LEGEND--}</legend>
+
+ <div class="admin_input">
+ <label for="booking_page_count">{--ADMIN_CONFIG_BOOKING_PAGE_COUNT--}</label>
+ <div align="center">
+ <input type="text" class="form_field" name="booking_page_count" size="10" maxlength="20" value="{?booking_page_count?}" />
+ </div>
+ </div>
+ </fieldset>
+
+ <fieldset id="config_booking_purging">
+ <legend>{--ADMIN_CONFIG_BOOKING_PURGING_LEGEND--}</legend>
+
+ <div class="admin_input">
+ <label for="booking_purge">{--ADMIN_CONFIG_BOOKING_PURGE--}</label>
+ <div align="center">
+ $content[booking_purge]
+ </div>
+ </div>
+ </fieldset>
+
+ <div class="table_footer top">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </div>
+</div>
+{%form_close%}
+</div>
+
+<div class="notice">
+ {--ADMIN_CONFIG_BOOKING_NOTICE--}
+</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td class="table_header bottom" colspan="2" align="center">
- <strong>{--ADMIN_CONFIG_COUPON_TITLE--}</strong>
+ {--ADMIN_CONFIG_COUPON_TITLE--}
</td>
</tr>
<tr>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_DOUBLER_TITLE--}</strong>
+ {--ADMIN_CONFIG_DOUBLER_TITLE--}
</td>
</tr>
<tr>
<td align="right" width="300" height="20">
- {--ADMIN_CONFIG_DOUBLER_CHARGE--}:
+ {--ADMIN_CONFIG_DOUBLER_CHARGE--}
</td>
<td width="195" style="padding-left: 5px">
<input type="text" class="form_field" name="doubler_charge" size="5" maxlength="10" value="{%config,translateComma=doubler_charge%}" /> (%)
</tr>
<tr>
<td align="right" width="300" height="20">
- {--ADMIN_CONFIG_DOUBLER_REFERRAL--}:
+ {--ADMIN_CONFIG_DOUBLER_REFERRAL--}
</td>
<td width="195" style="padding-left: 5px">
<input type="text" class="form_field" name="doubler_ref" size="5" maxlength="10" value="{%config,translateComma=doubler_ref%}" /> (%)
</tr>
<tr>
<td align="right" width="300" height="20">
- {--ADMIN_CONFIG_DOUBLER_MINIMUM--}:
+ {--ADMIN_CONFIG_DOUBLER_MINIMUM--}
</td>
<td width="195" style="padding-left: 5px">
<input type="text" class="form_field" name="doubler_min" size="9" maxlength="20" value="{%config,translateComma=doubler_min%}" /> ({?POINTS?})
</tr>
<tr>
<td align="right" width="300" height="20">
- {--ADMIN_CONFIG_DOUBLER_MAXIMUM--}:
+ {--ADMIN_CONFIG_DOUBLER_MAXIMUM--}
</td>
<td width="195" style="padding-left: 5px">
<input type="text" class="form_field" name="doubler_max" size="9" maxlength="20" value="{%config,translateComma=doubler_max%}" /> ({?POINTS?})
</tr>
<tr>
<td align="right" width="300" height="20">
- {--ADMIN_CONFIG_DOUBLER_LEFT--}:
+ {--ADMIN_CONFIG_DOUBLER_LEFT--}
</td>
<td width="195" style="padding-left: 5px">
<input type="text" class="form_field" name="doubler_left" size="9" maxlength="20" value="{%config,translateComma=doubler_left%}"> ({?POINTS?})
</tr>
<tr>
<td align="right" width="300" height="20">
- {--ADMIN_CONFIG_DOUBLER_GROUP_SENT--}:
+ {--ADMIN_CONFIG_DOUBLER_GROUP_SENT--}
</td>
<td width="195" style="padding-left: 5px">
<input type="text" class="form_field" name="doubler_group_sent" size="2" maxlength="4" value="{?doubler_group_sent?}" />
</tr>
<tr>
<td align="right" width="300" height="20">
- {--ADMIN_CONFIG_DOUBLER_MAX_SENT--}:
+ {--ADMIN_CONFIG_DOUBLER_MAX_SENT--}
</td>
<td width="195" style="padding-left: 5px">
<input type="text" class="form_field" name="doubler_max_sent" size="2" maxlength="4" value="{?doubler_max_sent?}" />
</td>
</tr>
<tr>
- <td align="right" height="20">{--ADMIN_CONFIG_DOUBLER_SENT_ALL--}:</td>
+ <td align="right" height="20">{--ADMIN_CONFIG_DOUBLER_SENT_ALL--}</td>
<td style="padding-left: 5px">
{%template,ConfigurationYesNoSelectionBox=doubler_sent_all%}
</td>
</tr>
<tr>
<td align="right" height="20">
- {--ADMIN_CONFIG_DOUBLER_JACKPOT--}:
+ {--ADMIN_CONFIG_DOUBLER_JACKPOT--}
</td>
<td style="padding-left: 5px">
{%template,ConfigurationYesNoSelectionBox=doubler_jackpot%}
</tr>
<tr>
<td align="right" height="20">
- {--ADMIN_CONFIG_DOUBLER_OWN--}:
+ {--ADMIN_CONFIG_DOUBLER_OWN--}
</td>
<td style="padding-left: 5px">
{%template,ConfigurationYesNoSelectionBox=doubler_own%}
</tr>
<tr>
<td align="right" height="20">
- {--ADMIN_CONFIG_DOUBLER_TIMEOUT--}:
+ {--ADMIN_CONFIG_DOUBLER_TIMEOUT--}
</td>
<td style="padding-left: 5px" align="left">
$content[timeout_selection]
</tr>
<tr>
<td class="bottom" align="right" height="20">
- {--ADMIN_CONFIG_DOUBLER_USERID--}:
+ {--ADMIN_CONFIG_DOUBLER_USERID--}
</td>
<td class="bottom" style="padding-left: 5px">
$content[doubler_userid]
</tr>
<tr>
<td align="center" colspan="2" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_DOUBLER_SEND_MODE--}:</strong>
+ {--ADMIN_CONFIG_DOUBLER_SEND_MODE--}
</td>
</tr>
<tr>
</tr>
<tr>
<td align="center" colspan="2" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_DOUBLER_DISPLAY_TITLE--}:</strong>
+ {--ADMIN_CONFIG_DOUBLER_DISPLAY_TITLE--}
</td>
</tr>
<tr>
- <td align="right" height="20">{--ADMIN_CONFIG_DOUBLER_DISPLAY_NEW--}:</td>
+ <td align="right" height="20">{--ADMIN_CONFIG_DOUBLER_DISPLAY_NEW--}</td>
<td style="padding-left: 5px">
<select name="doubler_display_new" size="1" class="form_select">
$content[display_new]
</td>
</tr>
<tr>
- <td align="right" height="20">{--ADMIN_CONFIG_DOUBLER_DISPLAY_PAY--}:</td>
+ <td align="right" height="20">{--ADMIN_CONFIG_DOUBLER_DISPLAY_PAY--}</td>
<td style="padding-left: 5px">
<select name="doubler_display_pay" size="1" class="form_select">
$content[display_pay]
</td>
</tr>
<tr>
- <td class="bottom" align="right" height="20">{--ADMIN_CONFIG_DOUBLER_DISPLAY_OLD--}:</td>
+ <td class="bottom" align="right" height="20">{--ADMIN_CONFIG_DOUBLER_DISPLAY_OLD--}</td>
<td class="bottom" style="padding-left: 5px">
<select name="doubler_display_old" size="1" class="form_select">
$content[display_old]
+++ /dev/null
-<!-- @DEPRECATED //-->
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_EXTENSIONS_TITLE--}</strong>
+ {--ADMIN_CONFIG_EXTENSIONS_TITLE--}
</td>
</tr>
<tr>
<td class="bottom" align="right" width="350">
- {--ADMIN_CONFIG_EXTENSIONS_VERBOSE_SQL--}:
+ {--ADMIN_CONFIG_EXTENSIONS_VERBOSE_SQL--}
</td>
<td class="bottom" width="150" align="right">
{%template,ConfigurationYesNoSelectionBox=verbose_sql%}
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_holiday%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_HOLIDAY_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td width="300" style="padding-left: 5px">{--ADMIN_CONFIG_HOLIDAY_MAX_TIME--}:</td>
- <td width="270">
- <input type="text" class="form_field" name="holiday_max" value="{?holiday_max?}" size="4" maxlength="6" />
- <div class="tiny">({--DAYS--})</div>
- </td>
- </tr>
- <tr>
- <td width="300" style="padding-left: 5px">{--ADMIN_CONFIG_HOLIDAY_LOCKED--}:</td>
- <td width="270">$content[holiday_lock]</td>
- </tr>
- <tr>
- <td class="bottom" width="300" style="padding-left: 5px">{--ADMIN_CONFIG_HOLIDAY_MODE--}:</td>
- <td class="bottom" width="270">
- <input type="radio" class="form_field" name="holiday_mode" value="RESET"$content[holiday_mode_reset] />
- {--ADMIN_CONFIG_HOLIDAY_MODE_RESET--}<br />
- <input type="radio" class="form_field" name="holiday_mode" value="DIRECT"$content[holiday_mode_direct] />
- {--ADMIN_CONFIG_HOLIDAY_MODE_DIRECT--}
- </td>
- </tr>
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_HOLIDAY_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td width="300" style="padding-left: 5px">{--ADMIN_CONFIG_HOLIDAY_MAX_TIME--}</td>
+ <td width="270">
+ <input type="text" class="form_field" name="holiday_max" value="{?holiday_max?}" size="4" maxlength="6" />
+ <div class="tiny">({--DAYS--})</div>
+ </td>
+</tr>
+
+<tr>
+ <td width="300" style="padding-left: 5px">{--ADMIN_CONFIG_HOLIDAY_LOCKED--}</td>
+ <td width="270">$content[holiday_lock]</td>
+</tr>
+
+<tr>
+ <td class="bottom" width="300" style="padding-left: 5px">{--ADMIN_CONFIG_HOLIDAY_MODE--}</td>
+ <td class="bottom" width="270">
+ <input type="radio" class="form_field" name="holiday_mode" value="RESET"$content[holiday_mode_reset] />
+ {--ADMIN_CONFIG_HOLIDAY_MODE_RESET--}<br />
+ <input type="radio" class="form_field" name="holiday_mode" value="DIRECT"$content[holiday_mode_direct] />
+ {--ADMIN_CONFIG_HOLIDAY_MODE_DIRECT--}
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed" width="510">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_HOME_SETTINGS_TITLE--}</strong>
+ {--ADMIN_CONFIG_HOME_SETTINGS_TITLE--}
</td>
</tr>
<tr>
<div align="center" class="table dashed">
<div class="table_header bottom top left right">
- <strong>{--ADMIN_CONFIG_HOME_MAIN_TITLE--}</strong>
+ {--ADMIN_CONFIG_HOME_MAIN_TITLE--}
</div>
+
<div class="guest_menu_row">
- <a class="menu_blur" href="{%url=modules.php?module=admin&what=config_home&sub=target%}">
- <strong><big>·</big></strong>
- {--ADMIN_CONFIG_HOME_TARGET--}
- </a>
+ <a class="menu_blur" href="{%url=modules.php?module=admin&what=config_home&sub=target%}"><big>·</big> {--ADMIN_CONFIG_HOME_TARGET--}</a>
</div>
+
<div class="guest_menu_bottom">
- <a class="menu_blur" href="{%url=modules.php?module=admin&what=config_home&sub=settings%}">
- <strong><big>·</big></strong>
- {--ADMIN_CONFIG_HOME_SETTINGS_LINK--}
- </a>
+ <a class="menu_blur" href="{%url=modules.php?module=admin&what=config_home&sub=settings%}"><big>·</big> {--ADMIN_CONFIG_HOME_SETTINGS_LINK--}</a>
</div>
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td class="table_header bottom" colspan="3" align="center">
- <strong>{--ADMIN_CONFIG_MEDIADATA_TITLE--}:</strong>
+ {--ADMIN_CONFIG_MEDIADATA_TITLE--}
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_MEDIADATA_MT_START--}:</td>
+ <td align="right">{--ADMIN_CONFIG_MEDIADATA_MT_START--}</td>
<td align="center">$content[mt_start]</td>
</tr>
<tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_MEDIADATA_MT_STAGE--}:</td>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_MEDIADATA_MT_STAGE--}</td>
<td class="bottom" align="center">
<input type="text" class="form_field" name="mt_stage" value="{?mt_stage?}" size="6" maxlength="20" />
</td>
</div>
<div class="notice">
- <strong><big>·</big></strong> {--ADMIN_CONFIG_MEDIADATA_MT_START_NOTICE--}<br />
- <strong><big>·</big></strong> {--ADMIN_CONFIG_MEDIADATA_MT_STAGE_NOTICE--}<br />
+ <ul>
+ <li>{--ADMIN_CONFIG_MEDIADATA_MT_START_NOTICE--}</li>
+ <li>{--ADMIN_CONFIG_MEDIADATA_MT_STAGE_NOTICE--}</li>
+ </ul>
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_MENU_TITLE--}</strong>
+ {--ADMIN_CONFIG_MENU_TITLE--}
</td>
</tr>
<tr>
{%form,formMethodPost=modules.php?module=admin&what=config_network%}
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_CONFIG_NETWORK_TITLE--}</strong>
+ {--ADMIN_CONFIG_NETWORK_TITLE--}
</div>
<fieldset id="config_network_cache">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="network_logging_purge">{--ADMIN_CONFIG_NETWORK_LOGGING_DEBUG--}</label>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td class="table_header bottom" colspan="2" align="center">
- <strong>{%message,ADMIN_CONFIG_NETWORK_API_TITLE=$content[network_id]%}</strong>
+ {%message,ADMIN_CONFIG_NETWORK_API_TITLE=$content[network_id]%}
</td>
</tr>
<tr>
<td align="center" class="bottom right" width="50%">
<label for="">{--ADMIN_CONFIG_NETWORK_API_REMAINING_REQUESTS--}</label>
- <strong>{%pipe,translateComma=$content[network_query_amount]%}</strong>
+ {%pipe,translateComma=$content[network_query_amount]%}
<input type="hidden" name="network_api_remaining_requests" value="$content[network_query_amount]" />
</td>
<tr>
<td colspan="2" align="center" class="table_header bottom">
<div>
- <strong>{--ADMIN_CONFIG_NETWORK_HANDLER_TYPES_TITLE--}</strong>
+ {--ADMIN_CONFIG_NETWORK_HANDLER_TYPES_TITLE--}
</div>
<div class="tiny">
({%network,generateMetworkReferralLinkById=%network_id%%})
</div>
</td>
</tr>
+
$content[rows]
+
<tr>
<td colspan="2" align="center" class="table_footer">
<div class="notice">
<tr>
<td class="{%template,ColorSwitch%} bottom right" align="center" width="7%">
{--ID_SELECT--}<br />
- <strong>$content[network_type_id]</strong>
+ $content[network_type_id]
</td>
<td class="{%template,ColorSwitch%} bottom" align="center" width="93%">
{--ADMIN_NETWORK_TYPE_HANDLER--}<br />
- <strong>{%pipe,translateNetworkTypeHandler=$content[network_type_handler]%}</strong>
+ {%pipe,translateNetworkTypeHandler=$content[network_type_handler]%}
</td>
</tr>
+
<tr>
<td colspan="2" class="{%template,ColorSwitch%} bottom" align="center">
$content[network_type_config_content]
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_newsletter%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td class="table_header bottom" colspan="2" align="center">
- <strong>{--ADMIN_CONFIG_NEWSLETTER_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td class="table_footer" colspan="2" align="center">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
- </td>
- </tr>
+<tr>
+ <td class="table_header bottom" colspan="2" align="center">
+ {--ADMIN_CONFIG_NEWSLETTER_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="table_footer" colspan="2" align="center">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_NICKNAME_TITLE--}</strong>
+ {--ADMIN_CONFIG_NICKNAME_TITLE--}
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_NICKNAME_MIN_LENGTH--}:</td>
+ <td align="right">{--ADMIN_CONFIG_NICKNAME_MIN_LENGTH--}</td>
<td>
<input type="text" class="form_field" name="nickname_len" value="{?nickname_len?}" size="2" maxlength="4" />
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_NICKNAME_PATTERN--}:</td>
+ <td align="right">{--ADMIN_CONFIG_NICKNAME_PATTERN--}</td>
<td>
<input type="text" class="form_field" name="nickname_pattern" value="{?nickname_pattern?}" size="10" maxlength="255" />
</td>
</tr>
<tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_NICKNAME_CHARACTERS--}:</td>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_NICKNAME_CHARACTERS--}</td>
<td class="bottom">
<input type="text" class="form_field" name="nickname_chars" value="{?nickname_chars?}" size="15" maxlength="255" />
</td>
{%form,formMethodPost=modules.php?module=admin&what=config_order%}
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_CONFIG_ORDER_TITLE--}</strong>
+ {--ADMIN_CONFIG_ORDER_TITLE--}
</div>
<fieldset id="config_order_select_max_fields">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="order_max_full">{--ADMIN_CONFIG_ORDER_OPTION_ORDER--}</label>
<div align="center">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="max_text_length">{--ADMIN_CONFIG_MAX_TEXT_LENGTH--}</label>
<div align="center">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="allow_url_in_text"> {--ADMIN_CONFIG_CHECK_EMAIL_TEXT--}</label>
<div align="center">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="allow_url_in_subject">{--ADMIN_CONFIG_CHECK_EMAIL_SUBJECT--}</label>
<div align="center">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="repay_deleted_mails">{--ADMIN_REPAY_ON_DELETE_MODE--}</label>
<div align="center">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="order_multi_page">{--ADMIN_CONFIG_ORDER_MULTI_PAGE--}</label>
<div align="center">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="order_mode">{--ADMIN_CONFIG_ORDER_SELECTION_MODE--}</label>
<div align="center">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="autosend_member_mails">{--ADMIN_CONFIG_AUTOSEND_MEMBER_MAILS--}</label>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_OTHER_TITLE--}</strong>
+ {--ADMIN_CONFIG_OTHER_TITLE--}
</td>
</tr>
<tr>
<td align="right" width="300">
- {--ADMIN_CONFIG_CODE_LENGTH--}:
+ {--ADMIN_CONFIG_CODE_LENGTH--}
</td>
<td>
<input type="text" class="form_field" name="code_length" size="3" maxlength="5" value="{?code_length?}" />
<tr>
<td align="right">
- {--ADMIN_CONFIG_ACTIVATE_EXCHANGE--}:
+ {--ADMIN_CONFIG_ACTIVATE_EXCHANGE--}
</td>
<td>
<input type="text" class="form_field" name="activate_xchange" size="10" maxlength="10" value="{?activate_xchange?}" />
<tr>
<td align="right">
- {--ADMIN_CONFIG_MINIMUM_AGE--}:
+ {--ADMIN_CONFIG_MINIMUM_AGE--}
</td>
<td>
<input type="text" class="form_field" name="min_age" size="3" maxlength="3" value="{?min_age?}" />
<tr>
<td align="right">
- {--ADMIN_CONFIG_POINTS_WORD--}:
+ {--ADMIN_CONFIG_POINTS_WORD--}
</td>
<td>
<input type="text" class="form_field" name="points_word" size="7" maxlength="255" value="{?POINTS?}" />
<tr>
<td align="right">
- {--ADMIN_CONFIG_MT_WORD--}:
+ {--ADMIN_CONFIG_MT_WORD--}
</td>
<td>
<input type="text" class="form_field" name="mt_word" size="15" maxlength="255" value="{?mt_word?}" />
<tr>
<td align="right">
- {--ADMIN_CONFIG_MT_WORD2--}:
+ {--ADMIN_CONFIG_MT_WORD2--}
</td>
<td>
<input type="text" class="form_field" name="mt_word2" size="15" maxlength="255" value="{?mt_word2?}" />
<tr>
<td align="right">
- {--ADMIN_CONFIG_MT_WORD3--}:
+ {--ADMIN_CONFIG_MT_WORD3--}
</td>
<td>
<input type="text" class="form_field" name="mt_word3" size="15" maxlength="255" value="{?mt_word3?}" />
<tr>
<td align="right">
- {--ADMIN_CONFIG_MAX_COMMA--}:
+ {--ADMIN_CONFIG_MAX_COMMA--}
</td>
<td>
<!-- @TODO Rewrite this selection to one of our functions //-->
<tr>
<td align="right">
- {--ADMIN_CONFIG_REJECT_URL--}:
+ {--ADMIN_CONFIG_REJECT_URL--}
</td>
<td>
<input type="text" class="form_field" name="reject_url" size="15" maxlength="255" value="{?reject_url?}" />
<tr>
<td class="bottom" align="right">
- {--ADMIN_CONFIG_WORD_WRAP--}:
+ {--ADMIN_CONFIG_WORD_WRAP--}
</td>
<td class="bottom">
<input type="text" class="form_field" name="word_wrap" size="3" maxlength="3" value="{?word_wrap?}" />
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_SENDING_TITLE--}</strong>
+ {--ADMIN_CONFIG_SENDING_TITLE--}
</td>
</tr>
<tr>
<td class="bottom" align="right">
- {--ADMIN_CONFIG_POOL_MAX_SEND--}:
+ {--ADMIN_CONFIG_POOL_MAX_SEND--}
</td>
<td class="bottom" align="center">
<input type="text" class="form_field" name="max_send" size="10" maxlength="100" value="{?max_send?}" />
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_NOTIFY_TITLE--}</strong>
+ {--ADMIN_CONFIG_NOTIFY_TITLE--}
</td>
</tr>
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_TIMEOUT_TITLE--}</strong>
+ {--ADMIN_CONFIG_TIMEOUT_TITLE--}
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_MAX_ONLINETIME--}:</td>
+ <td align="right">{--ADMIN_CONFIG_MAX_ONLINETIME--}</td>
<td>$content[online_timeout]</td>
</tr>
<tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_URL_TIME_LOCK--}:</td>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_URL_TIME_LOCK--}</td>
<td class="bottom">$content[url_tlock]</td>
</tr>
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_SQL_TITLE--}</strong>
+ {--ADMIN_CONFIG_SQL_TITLE--}
</td>
</tr>
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_INTERNAL_STATS_TITLE--}</strong>
+ {--ADMIN_CONFIG_INTERNAL_STATS_TITLE--}
</td>
</tr>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="5" align="center" class="table_header bottom">
- <strong>{--ADMIN_PAYOUT_EDIT_DELETE_TITLE--}</strong></td>
+ {--ADMIN_PAYOUT_EDIT_DELETE_TITLE--}
+ </td>
</tr>
<tr>
- <td width="30" class="header_column bottom right" align="center"><strong>{--ID_SELECT--}</strong></td>
- <td width="100" class="header_column bottom right" align="center"><strong>{--ADMIN_PAYOUT_FROM--}</strong></td>
- <td width="150" class="header_column bottom right" align="center"><strong>{--ADMIN_PAYOUT_TITLE--}</strong></td>
- <td width="150" class="header_column bottom right" align="center"><strong>{--ADMIN_PAYOUT_RATE2--}</strong></td>
- <td width="150" class="header_column bottom" align="center"><strong>{--ADMIN_PAYOUT_MIN_POINTS2--}</strong></td>
+ <td width="30" class="header_column bottom right" align="center">{--ID_SELECT--}</td>
+ <td width="100" class="header_column bottom right" align="center">{--ADMIN_PAYOUT_FROM--}</td>
+ <td width="150" class="header_column bottom right" align="center">{--ADMIN_PAYOUT_TITLE--}</td>
+ <td width="150" class="header_column bottom right" align="center">{--ADMIN_PAYOUT_RATE2--}</td>
+ <td width="150" class="header_column bottom" align="center">{--ADMIN_PAYOUT_MIN_POINTS2--}</td>
</tr>
$content
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_points&sub=settings%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_POINT_SETTINGS_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td class="bottom" align="right">
- {--ADMIN_CONFIG_DIRECT_PAY--}
- </td>
- <td class="bottom" align="right">
- {--ADMIN_CONFIG_POINTS_DIRECT--}
- <input type="radio" class="form_field" name="allow_direct_pay" value="Y"$content[allow_direct_pay_y] /><br />
- <hr noshade width="220">
- {--ADMIN_CONFIG_POINTS_MAILS--}
- <input type="radio" class="form_field" name="allow_direct_pay" value="N"$content[allow_direct_pay_n] />
- </td>
- </tr>
- <tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_REFERRAL_PAYOUT--}</td>
- <td class="bottom" align="center">
- <input type="text" class="form_field" name="ref_payout" size="3" maxlength="3" value="{?ref_payout?}" />
- </td>
- </tr>
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_POINT_SETTINGS_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="right">
+ {--ADMIN_CONFIG_DIRECT_PAY--}
+ </td>
+ <td class="bottom" align="right">
+ {--ADMIN_CONFIG_POINTS_DIRECT--}
+ <input type="radio" class="form_field" name="allow_direct_pay" value="Y"$content[allow_direct_pay_y] /><br />
+ <hr noshade width="220">
+ {--ADMIN_CONFIG_POINTS_MAILS--}
+ <input type="radio" class="form_field" name="allow_direct_pay" value="N"$content[allow_direct_pay_n] />
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_REFERRAL_PAYOUT--}</td>
+ <td class="bottom" align="center">
+ <input type="text" class="form_field" name="ref_payout" size="3" maxlength="3" value="{?ref_payout?}" />
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div class="table dashed">
<div class="header_column bottom">
- <strong>{--ADMIN_CONFIG_POINTS_TITLE--}</strong>
+ {--ADMIN_CONFIG_POINTS_TITLE--}
</div>
-<div align="left" style="padding-left:5px">
- <strong><big>·</big></strong> <a href="{%url=modules.php?module=admin&what=config_points&sub=points%}">{--ADMIN_EDIT_POINTS--}</a>
-</div>
-
-<div align="left" style="padding-left:5px">
- <strong><big>·</big></strong> <a href="{%url=modules.php?module=admin&what=config_points&sub=settings%}">{--ADMIN_EDIT_POINT_SETTINGS--}</a>
+<div>
+ <ul>
+ <li><a href="{%url=modules.php?module=admin&what=config_points&sub=points%}">{--ADMIN_EDIT_POINTS--}</a></li>
+ <li><a href="{%url=modules.php?module=admin&what=config_points&sub=settings%}">{--ADMIN_EDIT_POINT_SETTINGS--}</a></li>
+ </ul>
</div>
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_other%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_PROFILE_TITLE--}</strong>
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_PROFILE_TITLE--}
+ </td>
+</tr>
- <tr>
- <td class="bottom" align="right">
- {--ADMIN_CONFIG_SEND_PROFILE_UPDATE--}
- </td>
- <td class="bottom" align="center">
- {%template,ConfigurationYesNoSelectionBox=send_profile_update%}
- </td>
- </tr>
+<tr>
+ <td class="bottom" align="right">
+ {--ADMIN_CONFIG_SEND_PROFILE_UPDATE--}
+ </td>
+ <td class="bottom" align="center">
+ {%template,ConfigurationYesNoSelectionBox=send_profile_update%}
+ </td>
+</tr>
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_PROFILE_TIME_TITLE--}</strong>
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_PROFILE_TIME_TITLE--}
+ </td>
+</tr>
- <tr>
- <td align="right">{--ADMIN_CONFIG_LOCK_PROFILE_TIME--}:</td>
- <td>$content[profile_lock]</td>
- </tr>
+<tr>
+ <td align="right">{--ADMIN_CONFIG_LOCK_PROFILE_TIME--}</td>
+ <td>$content[profile_lock]</td>
+</tr>
- <tr>
- <td align="right">{--ADMIN_CONFIG_PROFILE_UPDATE--}:</td>
- <td>$content[profile_update]</td>
- </tr>
+<tr>
+ <td align="right">{--ADMIN_CONFIG_PROFILE_UPDATE--}</td>
+ <td>$content[profile_update]</td>
+</tr>
- <tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_PROFILE_REUPDATE--}:</td>
- <td class="bottom">$content[profile_reupdate]</td>
- </tr>
+<tr>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_PROFILE_REUPDATE--}</td>
+ <td class="bottom">$content[profile_reupdate]</td>
+</tr>
- <tr>
- <td colspan="2" align="center" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_EDIT_PROXY_SETTINGS--}</strong>
+ {--ADMIN_EDIT_PROXY_SETTINGS--}
</td>
</tr>
<tr>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_REFBACK_TITLE--}</strong>
+ {--ADMIN_CONFIG_REFBACK_TITLE--}
</td>
</tr>
<tr>
{%form,formMethodPost=modules.php?module=admin&what=config_refid%}
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_CONFIG_REFID_TITLE--}</strong>
+ {--ADMIN_CONFIG_REFID_TITLE--}
</div>
<fieldset id="config_refid_general_fields">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
- <label for="refid_target">{--ADMIN_CONFIG_SELECT_REFID_TARGRT--}:</label>
+ <label for="refid_target">{--ADMIN_CONFIG_SELECT_REFID_TARGRT--}</label>
<div align="center">
<select name="refid_target" size="1" class="form_select">
<option value="register"$content[refid_target_register]>{--ADMIN_CONFIG_REFERRAL_TARGET_REGISTER--}</option>
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="user_min_confirmed">{--ADMIN_CONFIG_RANDOM_MIN_CONFIRMED--}</label>
<div align="center">
+++ /dev/null
-<!-- @DEPRECATED //-->
<table border="0" cellpadding="0" cellspacing="0" class="table dashed">
<tr>
<td colspan="3" align="center" class="table_header">
- <strong>{--ADMIN_CONFIG_REGISTER_MUST_TITLE--}:</strong>
+ {--ADMIN_CONFIG_REGISTER_MUST_TITLE--}
</td>
</tr>
<tr>
<td width="20" class="header_column bottom right" align="center">{--ID_SELECT--}</td>
- <td width="325" class="header_column bottom right" align="center">{--ADMIN_CONFIG_REGISTER_FIELD_NAME--}:</td>
+ <td width="325" class="header_column bottom right" align="center">{--ADMIN_CONFIG_REGISTER_FIELD_NAME--}</td>
<td width="105" class="header_column bottom" align="center">{--ADMIN_CONFIG_REGISTER_FIELD_REQUIRED--}</td>
</tr>
$content
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td class="table_header bottom" colspan="2" align="center">
- <strong>{--ADMIN_CONFIG_REGISTER_TITLE--}</strong>
+ {--ADMIN_CONFIG_REGISTER_TITLE--}
</td>
</tr>
<tr>
- <td align="right" width="250">{--ADMIN_CONFIG_LEAST_CATEGORIES--}:</td>
+ <td align="right" width="250">{--ADMIN_CONFIG_LEAST_CATEGORIES--}</td>
<td align="center" width="150">
<input type="text" class="form_field" name="least_cats" size="6" maxlength="6" value="{?least_cats?}" />
</td>
</tr>
<tr>
- <td align="right" width="250">{--ADMIN_CONFIG_REGISTER_DEFAULT--}:</td>
+ <td align="right" width="250">{--ADMIN_CONFIG_REGISTER_DEFAULT--}</td>
<td align="center" width="150">{%template,ConfigurationYesNoSelectionBox=register_default%}</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_REGISTER_DISPLAY_REFID--}:</td>
+ <td align="right">{--ADMIN_CONFIG_REGISTER_DISPLAY_REFID--}</td>
<td align="center">{%template,ConfigurationYesNoSelectionBox=display_refid%}</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_REGISTER_IP_TIMEOUT--}:</td>
+ <td align="right">{--ADMIN_CONFIG_REGISTER_IP_TIMEOUT--}</td>
<td align="center">$content[ip_timeout]</td>
</tr>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_REMOVEIP_TITLE--}</strong>
+ {--ADMIN_CONFIG_REMOVEIP_TITLE--}
</td>
</tr>
<tr>
<!-- @TODO No title here? //-->
<tr>
<td class="table_header bottom right" align="center">
- <strong>{--ADMIN_MODULE_NAME--}</strong>
+ {--ADMIN_MODULE_NAME--}
</td>
<td class="table_header bottom right" align="center">
- <strong>{--ADMIN_MODULE_TITLE--}</strong>
+ {--ADMIN_MODULE_TITLE--}
</td>
<td class="table_header bottom" align="center">
- <strong>{--ADMIN_MODULE_SKIPPED--}</strong>
+ {--ADMIN_MODULE_SKIPPED--}
</td>
</tr>
$content
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_secure%}
-<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td class="table_header bottom" colspan="3" align="center">
- <strong>{--ADMIN_CONFIG_SECURITY_TITLE--}</strong>
- </td>
- </tr>
-
- <tr>
- <td align="right" width="380">
- {--ADMIN_CONFIG_MINIMUM_PASSWORD_LENGTH--}:
- </td>
- <td>
- <input type="text" class="form_field" name="pass_len" size="3" maxlength="3" value="{?pass_len?}" />
- </td>
- </tr>
-
- <tr>
- <td class="bottom" align="right" width="380">
- {--ADMIN_CONFIG_SALT_LENGTH--}:
- </td>
- <td class="bottom">
- <input type="text" class="form_field" name="salt_length" size="3" maxlength="3" value="{?salt_length?}" />
- </td>
- </tr>
-
- <tr>
- <td class="table_footer" colspan="3" align="center">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
- </td>
- </tr>
-</table>
+<div class="table dashed">
+ <div class="table_header bottom">
+ {--ADMIN_CONFIG_SECURE_TITLE--}
+ </div>
+
+ <fieldset id="config_min_password_length">
+ <legend>{--ADMIN_CONFIG_MINIMUM_PASSWORD_LENGTH_LEGEND--}</legend>
+
+ <div class="admin_input">
+ <label for="min_password_length">{--ADMIN_CONFIG_MINIMUM_PASSWORD_LENGTH--}</label>
+ <div align="center">
+ <input type="text" class="form_field" name="min_password_length" value="{?min_password_length?}" size="3" maxlengt="20" />
+ </div>
+ </div>
+
+ <div class="clear"></div>
+
+ <div class="admin_input">
+ <label for="min_password_score">{--ADMIN_CONFIG_MINIMUM_PASSWORD_SCORE--}</label>
+ <div align="center">
+ <select name="min_password_score" size="1" class="form_select">
+ <option value="0"$content[min_password_score_0]>{--PASSWORD_SCORE_0--}</option>
+ <option value="1"$content[min_password_score_1]>{--PASSWORD_SCORE_1--}</option>
+ <option value="2"$content[min_password_score_2]>{--PASSWORD_SCORE_2--}</option>
+ <option value="3"$content[min_password_score_3]>{--PASSWORD_SCORE_3--}</option>
+ <option value="4"$content[min_password_score_4]>{--PASSWORD_SCORE_4--}</option>
+ <option value="5"$content[min_password_score_5]>{--PASSWORD_SCORE_5--}</option>
+ </select>
+ </div>
+ </div>
+
+ <div class="clear"></div>
+
+ <div class="admin_input">
+ <label for="salt_length">{--ADMIN_CONFIG_SALT_LENGTH--}</label>
+ <div align="center">
+ <input type="text" class="form_field" name="salt_length" value="{?salt_length?}" size="3" maxlengt="20" />
+ </div>
+ </div>
+ </fieldset>
+
+ <div class="table_footer top">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </div>
+</div>
{%form_close%}
</div>
<div class="notice">
- {--ADMIN_CONFIG_SALT_LENGTH_NOTICE--}
+ {--ADMIN_CONFIG_SECURE_NOTICE--}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_session%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_SESSION_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td align="right" style="padding-right:10px">
- {--ADMIN_CONFIG_SESSION_SAVE_PATH--}:<br />
- </td>
- <td>
- <input type="text" class="form_field" name="session_save_path" value="{?session_save_path?}" size="30" maxlength="255" />
- </td>
- </tr>
- <tr>
- <td class="bottom" colspan="2" align="center">
- <span class="notice">
- {--ADMIN_BASE_PATH--}:<br />
- <em>{?PATH?}</em><br />
- {--ADMIN_SESSION_SAVE_PATH_NOTICE--}
- </span>
- </td>
- </tr>
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_SESSION_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" style="padding-right:10px">
+ {--ADMIN_CONFIG_SESSION_SAVE_PATH--}<br />
+ </td>
+ <td>
+ <input type="text" class="form_field" name="session_save_path" value="{?session_save_path?}" size="30" maxlength="255" />
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" colspan="2" align="center">
+ <span class="notice">
+ {--ADMIN_BASE_PATH--}<br />
+ <em>{?PATH?}</em><br />
+ {--ADMIN_SESSION_SAVE_PATH_NOTICE--}
+ </span>
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_SPONSOR_TITLE--}</strong>
+ {--ADMIN_CONFIG_SPONSOR_TITLE--}
</td>
</tr>
+
<tr>
<td align="right" width="350">
- {--ADMIN_CONFIG_SPONSOR_MIN_POINTS--}:
+ {--ADMIN_CONFIG_SPONSOR_MIN_POINTS--}
</td>
<td width="150" align="center">
<input type="text" class="form_field" name="sponsor_min_points" size="12" maxlength="20" value="{?sponsor_min_points?}" />
</td>
</tr>
+
<tr>
<td class="bottom" align="right" width="350">
- {--ADMIN_CONFIG_SPONSOR_REFERRAL_POINTS--}:
+ {--ADMIN_CONFIG_SPONSOR_REFERRAL_POINTS--}
</td>
<td class="bottom" width="150" align="center">
<input type="text" class="form_field" name="sponsor_ref_points" size="12" maxlength="20" value="{?sponsor_ref_points?}" />
</td>
</tr>
+
<tr>
<td colspan="2" class="table_footer">
<input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_GUEST_STATS_TITLE--}</strong>
+ {--ADMIN_CONFIG_GUEST_STATS_TITLE--}
</td>
</tr>
<tr>
- <td align="right"><strong>{--ADMIN_CONFIG_GUEST_STATS_MEMBERS--}:</strong><br />
+ <td align="right">{--ADMIN_CONFIG_GUEST_STATS_MEMBERS--}<br />
<div class="tiny">({--ADMIN_CONFIG_GUEST_STATS_MEMBERS_NOTICE--})</div>
</td>
<td>
</td>
</tr>
<tr>
- <td align="right"><strong>{--ADMIN_CONFIG_GUEST_STATS_MODULES--}:</strong><br />
+ <td align="right">{--ADMIN_CONFIG_GUEST_STATS_MODULES--}<br />
<div class="tiny">({--ADMIN_CONFIG_GUEST_STATS_MODULES_NOTICE--})</div>
</td>
<td>
</td>
</tr>
<tr>
- <td class="bottom" align="right"><strong>{--ADMIN_CONFIG_GUEST_STATS_INACTIVE--}:</strong><br />
+ <td class="bottom" align="right">{--ADMIN_CONFIG_GUEST_STATS_INACTIVE--}<br />
<div class="tiny">({--ADMIN_CONFIG_GUEST_STATS_INACTIVE_NOTICE--})</div>
</td>
<td class="bottom">
</tr>
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_MEMBER_STATS_TITLE--}</strong>
+ {--ADMIN_MEMBER_STATS_TITLE--}
</td>
</tr>
<tr>
- <td class="bottom" align="right">{--ADMIN_MEMBER_STATS_LIMIT--}:</td>
+ <td class="bottom" align="right">{--ADMIN_MEMBER_STATS_LIMIT--}</td>
<td class="bottom">
<input type="text" class="form_field" name="stats_limit" value="{?stats_limit?}" size="4" maxlength="20" />
</td>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td class="table_header bottom" colspan="2" align="center">
- <strong>{--ADMIN_CONFIG_POINTS_SETTINGS_TITLE--}</strong>
+ {--ADMIN_CONFIG_POINTS_SETTINGS_TITLE--}
</td>
</tr>
<tr>
- <td align="right" width="200">{--ADMIN_ENTER_POINTS_REGISTER--}:</td>
+ <td align="right" width="200">{--ADMIN_ENTER_POINTS_REGISTER--}</td>
<td>
<input type="text" class="form_field" name="points_register" size="6" maxlength="6" value="{?points_register?}" />
</td>
</tr>
<tr>
- <td class="bottom" align="right" width="200">{--ADMIN_ENTER_POINTS_REFERRAL--}:</td>
+ <td class="bottom" align="right" width="200">{--ADMIN_ENTER_POINTS_REFERRAL--}</td>
<td class="bottom">
<input type="text" class="form_field" name="points_ref" size="6" maxlength="6" value="{?points_ref?}" />
</td>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed" align="center">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_SURFBAR_TITLE--}</strong>
+ {--ADMIN_CONFIG_SURFBAR_TITLE--}
</td>
</tr>
<tr>
</tr>
<tr>
<td align="center" colspan="2" class="table_footer bottom">
- <strong>{--ADMIN_CONFIG_SURFBAR_PAYMENT_MODEL--}</strong>
+ {--ADMIN_CONFIG_SURFBAR_PAYMENT_MODEL--}
</td>
</tr>
<tr>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_timezone%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_TIMEZONE_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td class="bottom" align="right" style="padding-right:10px">
- {--ADMIN_CONFIG_ENTER_TIMEZONE--}
- </td>
- <td class="bottom">
- <input type="text" class="form_field" name="timezone" value="{?timezone?}" />
- </td>
- </tr>
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_TIMEZONE_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="right" style="padding-right:10px">
+ {--ADMIN_CONFIG_ENTER_TIMEZONE--}
+ </td>
+ <td class="bottom">
+ <input type="text" class="form_field" name="timezone" value="{?timezone?}" />
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
{%form,formMethodPost=modules.php?module=admin&what=config_title%}
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_CONFIG_TITLE_SETTINGS--}</strong>
+ {--ADMIN_CONFIG_TITLE_SETTINGS--}
</div>
<fieldset id="config_title_general_fields">
<legend>{--ADMIN_CONFIG_TITLE_LEGEND--}</legend>
<div class="admin_input">
- <label for="enable_title_deco">{--ADMIN_CONFIG_TITLE_ENABLE_DECORATIONS--}:</label>
+ <label for="enable_title_deco">{--ADMIN_CONFIG_TITLE_ENABLE_DECORATIONS--}</label>
<div align="center">{%template,ConfigurationYesNoSelectionBox=enable_title_deco%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
- <label for="enable_mod_title">{--ADMIN_CONFIG_TITLE_ENABLE_MODULE_TITLE--}:</label>
+ <label for="enable_mod_title">{--ADMIN_CONFIG_TITLE_ENABLE_MODULE_TITLE--}</label>
<div align="center">{%template,ConfigurationYesNoSelectionBox=enable_mod_title%}</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
- <label for="enable_what_title">{--ADMIN_CONFIG_TITLE_ENABLE_WHAT_TITLE--}:</label>
+ <label for="enable_what_title">{--ADMIN_CONFIG_TITLE_ENABLE_WHAT_TITLE--}</label>
<div align="center">{%template,ConfigurationYesNoSelectionBox=enable_what_title%}</div>
</div>
</fieldset>
<legend>{--ADMIN_CONFIG_TITLE_DECORATIONS--}</legend>
<div class="admin_input">
- <label for="title_left">{--ADMIN_CONFIG_TITLE_LEFT--}:</label>
+ <label for="title_left">{--ADMIN_CONFIG_TITLE_LEFT--}</label>
<div align="center"><input type="text" class="form_field" name="title_left" value="{?title_left?}" size="4" maxlength="10" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
- <label for="title_middle">{--ADMIN_CONFIG_TITLE_MIDDLE--}:</label>
+ <label for="title_middle">{--ADMIN_CONFIG_TITLE_MIDDLE--}</label>
<div align="center"><input type="text" class="form_field" name="title_middle" value="{?title_middle?}" size="4" maxlength="10" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
- <label for="title_right">{--ADMIN_CONFIG_TITLE_RIGHT--}:</label>
+ <label for="title_right">{--ADMIN_CONFIG_TITLE_RIGHT--}</label>
<div align="center"><input type="text" class="form_field" name="title_right" value="{?title_right?}" size="4" maxlength="10" /></div>
</div>
</fieldset>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=config_top10%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_TOP10_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_TOP10_MAX_TOP10--}:</td>
- <td class="bottom">
- <input type="text" class="form_field" name="top10_max" value="{?top10_max?}" size="4" maxlength="6" />
- </td>
- </tr>
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_CONFIG_TOP10_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_TOP10_MAX_TOP10--}</td>
+ <td class="bottom">
+ <input type="text" class="form_field" name="top10_max" value="{?top10_max?}" size="4" maxlength="6" />
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_TRANSFER_TITLE--}</strong>
+ {--ADMIN_CONFIG_TRANSFER_TITLE--}
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_TRANSFER_MAX--}:</td>
+ <td align="right">{--ADMIN_CONFIG_TRANSFER_MAX--}</td>
<td>
<input type="text" class="form_field" name="transfer_max" value="{?transfer_max?}" size="4" maxlength="6" />
</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_TRANSFER_AGE--}:</td>
+ <td align="right">{--ADMIN_CONFIG_TRANSFER_AGE--}</td>
<td>$content[age_selection]</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_TRANSFER_TIMEOUT--}:</td>
+ <td align="right">{--ADMIN_CONFIG_TRANSFER_TIMEOUT--}</td>
<td>$content[timeout_selection]</td>
</tr>
<tr>
- <td align="right">{--ADMIN_CONFIG_TRANSFER_BALANCE--}:</td>
+ <td align="right">{--ADMIN_CONFIG_TRANSFER_BALANCE--}</td>
<td>
<input type="text" class="form_field" name="transfer_balance" value="{?transfer_balance?}" size="4" maxlength="6" />
<span class="tiny">({?POINTS?})</span>
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_TRANSFER_CODE--}:<br />
+ {--ADMIN_CONFIG_TRANSFER_CODE--}<br />
<div class="notice">({--ADMIN_CONFIG_TRANSFER_CODE_NOTICE--})</div>
</td>
<td>
+++ /dev/null
-<!-- @DEPRECATED //-->
{%form,formMethodPost=modules.php?module=admin&what=config_user%}
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_CONFIG_USER_TITLE--}</strong>
+ {--ADMIN_CONFIG_USER_TITLE--}
</div>
<fieldset id="config_user_fields">
<div align="center"><input type="text" class="form_field" name="user_limit" value="{?user_limit?}" size="4" maxlength="6" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="user_alpha">{--ADMIN_CONFIG_USER_ALPHA--}</label>
<div align="center"><input type="text" class="form_field" name="user_alpha" value="{?user_alpha?}" size="4" maxlength="6" /></div>
<div align="left"><input type="text" class="form_field" name="tester_user_maximum" value="{?tester_user_maximum?}" size="5" maxlength="5" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_family">{--ADMIN_CONFIG_TESTER_USER_GENDER--}</label>
<div align="left">$content[tester_user_gender_selection]</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_surname_prefix">{--ADMIN_CONFIG_TESTER_USER_SURNAME_PREFIX--}</label>
<div align="left"><input type="text" class="form_field" name="tester_user_surname_prefix" value="{?tester_user_surname_prefix?}" size="10" maxlength="100" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_family">{--ADMIN_CONFIG_TESTER_USER_FAMILY--}</label>
<div align="left"><input type="text" class="form_field" name="tester_user_family" value="{?tester_user_family?}" size="10" maxlength="255" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_street_nr">{--ADMIN_CONFIG_TESTER_USER_STREET_NR--}</label>
<div align="left"><input type="text" class="form_field" name="tester_user_street_nr" value="{?tester_user_street_nr?}" size="15" maxlength="255" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_zip">{--ADMIN_CONFIG_TESTER_USER_ZIP--}</label>
<div align="left"><input type="text" class="form_field" name="tester_user_zip" value="{?tester_user_zip?}" size="6" maxlength="6" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_city">{--ADMIN_CONFIG_TESTER_USER_CITY--}</label>
<div align="left"><input type="text" class="form_field" name="tester_user_city" value="{?tester_user_city?}" size="10" maxlength="255" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_email">{--ADMIN_CONFIG_TESTER_USER_EMAIL--}</label>
<div align="left"><input type="text" class="form_field" name="tester_user_email" value="{?tester_user_email?}" size="20" maxlength="255" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_password">{--ADMIN_CONFIG_TESTER_USER_PASSWORD--}</label>
<div align="left"><input type="password" class="form_field" name="tester_user_password" value="{?tester_user_password?}" size="20" maxlength="255" /></div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_check_cat">{--ADMIN_CONFIG_TESTER_USER_CHECK_CAT--}</label>
<div align="left">{%template,ConfigurationYesNoSelectionBox=tester_user_check_cat%}</div>
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="tester_user_default_refid">{--ADMIN_CONFIG_TESTER_USER_DEFAULT_REFID--}</label>
<div align="left">{%pipe,addTesterUserDefaultRefidSelectionBox%}</div>
{%form,formMethodPost=modules.php?module=admin&what=config_user_subid%}
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_CONFIG_USER_SUBID_TITLE--}</strong>
+ {--ADMIN_CONFIG_USER_SUBID_TITLE--}
</div>
<fieldset id="config_ap_subids_since">
</div>
</div>
+ <div class="clear"></div>
+
<div class="admin_input">
<label for="ap_subids_since">{--ADMIN_CONFIG_USER_SUBID_STUFF_AUTOPURGE_SINCE--}</label>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_VALIDATOR_TITLE--}</strong>
+ {--ADMIN_CONFIG_VALIDATOR_TITLE--}
</td>
</tr>
<tr>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_WERNIS_TITLE--}</strong>
+ {--ADMIN_CONFIG_WERNIS_TITLE--}
</td>
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_API_ID--}:
+ {--ADMIN_CONFIG_WERNIS_API_ID--}
</td>
<td>
<input type="text" class="form_field" name="wernis_api_id" value="{?wernis_api_id?}" size="2" maxlength="20" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_API_MD5--}:
+ {--ADMIN_CONFIG_WERNIS_API_MD5--}
</td>
<td>
<input type="text" class="form_field" name="wernis_api_md5" value="{?wernis_api_md5?}" size="32" maxlength="32" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_API_URL--}:
+ {--ADMIN_CONFIG_WERNIS_API_URL--}
</td>
<td>
<input type="text" class="form_field" name="wernis_api_url" value="{?wernis_api_url?}" size="25" maxlength="255" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_REFID--}:
+ {--ADMIN_CONFIG_WERNIS_REFID--}
</td>
<td>
<input type="text" class="form_field" name="wernis_refid" value="{?wernis_refid?}" size="5" maxlength="20" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_WPASS--}:
+ {--ADMIN_CONFIG_WERNIS_WPASS--}
</td>
<td>
<input type="password" class="form_field" name="wernis_pass" size="5" maxlength="20" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_MIN_PAYOUT--}:
+ {--ADMIN_CONFIG_WERNIS_MIN_PAYOUT--}
</td>
<td>
<input type="text" class="form_field" name="wernis_min_payout" value="{?wernis_min_payout?}" size="5" maxlength="20" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_MIN_WITHDRAW--}:
+ {--ADMIN_CONFIG_WERNIS_MIN_WITHDRAW--}
</td>
<td>
<input type="text" class="form_field" name="wernis_min_withdraw" value="{?wernis_min_withdraw?}" size="5" maxlength="20" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_PAYOUT_FACTOR--}:
+ {--ADMIN_CONFIG_WERNIS_PAYOUT_FACTOR--}
</td>
<td>
<input type="text" class="form_field" name="wernis_payout_factor" value="{?wernis_payout_factor?}" size="5" maxlength="20" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_WITHDRAW_FACTOR--}:
+ {--ADMIN_CONFIG_WERNIS_WITHDRAW_FACTOR--}
</td>
<td>
<input type="text" class="form_field" name="wernis_withdraw_factor" value="{?wernis_withdraw_factor?}" size="5" maxlength="20" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_PAYOUT_FEE_PERCENT--}:
+ {--ADMIN_CONFIG_WERNIS_PAYOUT_FEE_PERCENT--}
</td>
<td>
<input type="text" class="form_field" name="wernis_payout_fee_percent" value="{?wernis_payout_fee_percent?}" size="5" maxlength="20" />%
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_WITHDRAW_FEE_PERCENT--}:
+ {--ADMIN_CONFIG_WERNIS_WITHDRAW_FEE_PERCENT--}
</td>
<td>
<input type="text" class="form_field" name="wernis_withdraw_fee_percent" value="{?wernis_withdraw_fee_percent?}" size="5" maxlength="20" />%
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_PAYOUT_FEE_FIX--}:
+ {--ADMIN_CONFIG_WERNIS_PAYOUT_FEE_FIX--}
</td>
<td>
<input type="text" class="form_field" name="wernis_payout_fee_fix" value="{?wernis_payout_fee_fix?}" size="5" maxlength="20" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_WITHDRAW_FEE_FIX--}:
+ {--ADMIN_CONFIG_WERNIS_WITHDRAW_FEE_FIX--}
</td>
<td>
<input type="text" class="form_field" name="wernis_withdraw_fee_fix" value="{?wernis_withdraw_fee_fix?}" size="5" maxlength="20" />
</tr>
<tr>
<td align="right">
- {--ADMIN_CONFIG_WERNIS_PAYOUT_ACTIVE--}:
+ {--ADMIN_CONFIG_WERNIS_PAYOUT_ACTIVE--}
</td>
<td>
{%template,ConfigurationYesNoSelectionBox=wernis_payout_active%}
</tr>
<tr>
<td class="bottom" align="right">
- {--ADMIN_CONFIG_WERNIS_WITHDRAW_ACTIVE--}:
+ {--ADMIN_CONFIG_WERNIS_WITHDRAW_ACTIVE--}
</td>
<td class="bottom">
{%template,ConfigurationYesNoSelectionBox=wernis_withdraw_active%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_YOOMEDIA_TITLE--}</strong>
+ {--ADMIN_CONFIG_YOOMEDIA_TITLE--}
</td>
</tr>
<tr>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_bank_package%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed" align="center">
- <tr>
- <td colspan="5" align="center" class="table_header">
- <strong>{--ADMIN_DELETE_BANK_PACKAGES--}:</strong>
- </td>
- </tr>
- <tr>
- <td width="30" colspan="2" align="center" class="header_column bottom right"><strong>{--ID_SELECT--}</strong></td>
- <td width="115" align="center" class="header_column bottom right"><strong>{--ADMIN_LIST_BANK_PACKAGES_TITLE--}:</strong></td>
- <td width="360" align="center" class="header_column bottom right"><strong>{--ADMIN_LIST_BANK_PACKAGES_DESCR--}:</strong></td>
- <td width="115" align="center" class="header_column bottom"><strong>{--ADMIN_LIST_BANK_PACKAGES_ACCOUNT_FEE--}</strong></td>
- </tr>
- $content
- <tr>
- <td colspan="5" class="table_footer">
- <input type="submit" name="do_delete" class="form_delete" value="{--DEL_ENTRIES--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="5" align="center" class="table_header">
+ {--ADMIN_DELETE_BANK_PACKAGES_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--BANK_PACKAGES_TITLE--}</td>
+ <td align="center" class="header_column bottom right">{--BANK_PACKAGES_DESCR--}</td>
+ <td align="center" class="header_column bottom">{--BANK_PACKAGES_ACCOUNT_FEE--}</td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="5" class="table_footer">
+ <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=adminedit&sub=$content[sub]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" colspan="2" class="table_header" height="40">
- <strong>{--DEL_ADMIN_MENU--}</strong>
- </td>
- </tr>
- <tr>
- <td align="center" colspan="2" class="table_header bottom">
- {--DEL_MENU_1--}$content[chk]{--DEL_MENU_2--}
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="2" class="table_footer">
- <input type="hidden" name="ok" value="delete" />
- <input type="hidden" name="chk" value="$content[chk]_$content[count]" />
- <input type="submit" class="form_delete submit" name="submit" value="{--DEL_ENTRIES--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" colspan="2" class="table_header">
+ {--DEL_ADMIN_MENU--}
+ </td>
+</tr>
+
+<tr>
+ <td align="center" colspan="2" class="table_header bottom">
+ {--DEL_MENU_1--}$content[chk]{--DEL_MENU_2--}
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="hidden" name="ok" value="delete" />
+ <input type="hidden" name="chk" value="$content[chk]_$content[count]" />
+ <input type="submit" class="form_delete submit" name="submit" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=admins_edit%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed" align="center">
- <tr>
- <td colspan="5" align="center" class="table_header bottom">
- <strong>{--ADMIN_ADMINS_DELETE_ACCOUNTS_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right" width="155"><strong>{--ADMIN_ADMINS_CONTACT--}:</strong></td>
- <td align="center" class="header_column bottom right" width="155"><strong>{--ADMIN_ADMINS_EMAIL--}:</strong></td>
- <td align="center" class="header_column bottom right" width="160"><strong>{--ADMIN_ADMINS_ACCESS_MODE--}:</strong></td>
- <td align="center" class="header_column bottom" width="160"><strong>{--ADMIN_LA_MODE--}:</strong></td>
- </tr>
- $content
- <tr>
- <td colspan="5" class="table_footer">
- <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="5" align="center" class="table_header bottom">
+ {--ADMIN_ADMINS_DELETE_ACCOUNTS_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="center" class="header_column bottom right" width="30">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right" width="155">{--ADMIN_ADMINS_CONTACT--}</td>
+ <td align="center" class="header_column bottom right" width="155">{--ADMIN_ADMINS_EMAIL--}</td>
+ <td align="center" class="header_column bottom right" width="160">{--ADMIN_ADMINS_ACCESS_MODE--}</td>
+ <td align="center" class="header_column bottom" width="160">{--ADMIN_LA_MODE--}:</td>
+</tr>
+$content
+
+<tr>
+ <td colspan="5" class="table_footer">
+ <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_admins_acls%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="5" align="center" class="table_header bottom">
- <strong>{--ADMIN_ADMINS_DELETE_ACLS--}:</strong>
- </td>
- </tr>
- <tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right" width="120"><strong>{--ADMIN_ADMINS_LOGIN_ID--}:</strong></td>
- <td align="center" class="header_column bottom right" width="204"><strong>{--ADMIN_MENU_ACTION--}:</strong></td>
- <td align="center" class="header_column bottom right" width="204"><strong>{--ADMIN_MENU_WHAT--}:</strong></td>
- <td align="center" class="header_column bottom" width="120"><strong>{--ADMIN_ADMINS_ACCESS_MODE--}:</strong></td>
- </tr>
- $content
- <tr>
- <td colspan="5" class="table_footer">
- <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_ADMINS_REMOVE_ACLS_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="5" align="center" class="table_header bottom">
+ {--ADMIN_ADMINS_DELETE_ACLS--}:
+ </td>
+</tr>
+
+<tr>
+ <td align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_ADMINS_LOGIN_ID--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MENU_ACTION--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MENU_WHAT--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_ADMINS_ACCESS_MODE--}</td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="5" class="table_footer">
+ <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_ADMINS_REMOVE_ACLS_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_forced_ads&do=delete_forced_ads%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--ADMIN_DELETE_FORCED_ADS_TITLE--}</strong>
- </td>
- </tr>
- $content
- <tr>
- <td colspan="4" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_delete" name="do_delete" value="{--ADMIN_FORCED_ADS_REMOVE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--ADMIN_DELETE_FORCED_ADS_TITLE--}
+ </td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="4" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_delete" name="do_delete" value="{--ADMIN_FORCED_ADS_REMOVE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_forced_costs&do=delete_forced_costs%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--ADMIN_DELETE_FORCED_COSTS_TITLE--}</strong>
- </td>
- </tr>
- $content
- <tr>
- <td colspan="4" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_delete" name="do_delete" value="{--ADMIN_FORCED_COSTS_REMOVE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--ADMIN_DELETE_FORCED_COSTS_TITLE--}
+ </td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="4" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_delete" name="do_delete" value="{--ADMIN_FORCED_COSTS_REMOVE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=guestedit&sub=$content[sub]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" colspan="2" class="table_header" height="40">
- <strong>{--DEL_GUEST_MENU--}</strong>
- </td>
- </tr>
- <tr>
- <td align="center" colspan="2" class="table_header bottom">
- {--DEL_MENU_1--}$content[chk]{--DEL_MENU_2--}
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="2" class="table_footer">
- <input type="hidden" name="ok" value="delete" />
- <input type="hidden" name="chk" value="$content[chk]_$content[count]" />
- <input type="submit" class="form_delete" name="submit" value="{--DEL_ENTRIES--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" colspan="2" class="table_header">
+ {--DEL_GUEST_MENU--}
+ </td>
+</tr>
+
+<tr>
+ <td align="center" colspan="2" class="table_header bottom">
+ {--DEL_MENU_1--}$content[chk]{--DEL_MENU_2--}
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="hidden" name="ok" value="delete" />
+ <input type="hidden" name="chk" value="$content[chk]_$content[count]" />
+ <input type="submit" class="form_delete" name="submit" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<td colspan="2" class="table_footer">
<input type="hidden" name="ok" value="delete" />
<input type="hidden" name="chk" value="$content[chk]_$content[count]" />
- <input type="submit" class="form_delete" name="submit" value="{--DEL_ENTRIES--}" />
+ <input type="submit" class="form_delete" name="submit" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
</td>
</tr>
</table>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_network_array_translation&do=remove_network_array_translation&network_id=$content[network_id]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="2">
- <div>
- <strong>{--ADMIN_DELETE_NETWORK_ARRAY_TRANSLATION_TITLE--}</strong>
- </div>
- <div class="tiny">
- ({%network,generateMetworkReferralLinkById=%network_id%%})
- </div>
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="2" class="table_footer">
- <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_REMOVE_NETWORK_ARRAY_TRANSLATION_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="2">
+ <div>
+ {--ADMIN_DELETE_NETWORK_ARRAY_TRANSLATION_TITLE--}
+ </div>
+ <div class="tiny">
+ ({%network,generateMetworkReferralLinkById=%network_id%%})
+ </div>
+ </td>
+</tr>
+
+$content[rows]
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_REMOVE_NETWORK_ARRAY_TRANSLATION_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_network_request_params&do=remove_network_request_params&network_id=$content[network_id]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="2">
- <div>
- <strong>{--ADMIN_DELETE_NETWORK_REQUEST_PARAMETER_TITLE--}</strong>
- </div>
- <div class="tiny">
- ({%network,generateMetworkReferralLinkById=%network_id%%})
- </div>
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="2" class="table_footer">
- <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_REMOVE_NETWORK_REQUEST_PARAMETER_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="2">
+ <div>
+ {--ADMIN_DELETE_NETWORK_REQUEST_PARAMETER_TITLE--}
+ </div>
+ <div class="tiny">
+ ({%network,generateMetworkReferralLinkById=%network_id%%})
+ </div>
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_REMOVE_NETWORK_REQUEST_PARAMETER_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
{%form,formMethodPost=modules.php?module=admin&what=list_network_types&do=remove_network_types&network_id=$content[network_id]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" class="table_header bottom" height="25" colspan="2">
+ <td align="center" class="table_header bottom" colspan="2">
<div>
- <strong>{--ADMIN_DELETE_NETWORK_TYPE_HANDLER_TITLE--}</strong>
+ {--ADMIN_DELETE_NETWORK_TYPE_HANDLER_TITLE--}
</div>
<div class="tiny">
({%network,generateMetworkReferralLinkById=%network_id%%})
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_network_data&do=remove_networks%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--ADMIN_DELETE_NETWORK_DATA_TITLE--}</strong>
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="4" class="table_footer">
- <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_REMOVE_NETWORK_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--ADMIN_DELETE_NETWORK_DATA_TITLE--}
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="4" class="table_footer">
+ <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_REMOVE_NETWORK_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<tr>
- <td align="center" class="{%template,ColorSwitch%} bottom right" height="25">
+ <td align="center" class="{%template,ColorSwitch%} bottom right">
$content[id]
<input type="hidden" name="sel[$content[id]]" value="1" />
</td>
{%form,formMethodPost=modules.php?module=admin&what=adminedit&sub=$content[sub]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" colspan="2" class="table_header" height="40">
+ <td align="center" colspan="2" class="table_header">
<strong>{--ADMIN_EDIT_ADMIN_MENU_TITLE--}</strong>
</td>
</tr>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=admins_edit%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed" align="center">
- <tr>
- <td colspan="6" align="center" class="table_header bottom">
- <strong>{--ADMIN_ADMINS_EDIT_ACCOUNTS_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right" width="155"><strong>{--ADMIN_ADMINS_CONTACT--}:</strong></td>
- <td align="center" class="header_column bottom right" width="155"><strong>{--ADMIN_ADMINS_EMAIL--}:</strong></td>
- <td align="center" class="header_column bottom right" width="240"><strong>{--ADMIN_ADMINS_PASSWORD--}:</strong></td>
- <td align="center" class="header_column bottom right" width="100"><strong>{--ADMIN_ADMINS_ACCESS_MODE--}:</strong></td>
- <td align="center" class="header_column bottom" width="100"><strong>{--ADMIN_LA_MODE--}:</strong></td>
- </tr>
- $content
- <tr>
- <td colspan="6" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_ACTION_EDIT_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="6" align="center" class="table_header bottom">
+ {--ADMIN_ADMINS_EDIT_ACCOUNTS_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="center" class="header_column bottom right" width="30">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right" width="155">{--ADMIN_ADMINS_CONTACT--}</td>
+ <td align="center" class="header_column bottom right" width="155">{--ADMIN_ADMINS_EMAIL--}</td>
+ <td align="center" class="header_column bottom right" width="240">{--ADMIN_ADMINS_PASSWORD--}</td>
+ <td align="center" class="header_column bottom right" width="100">{--ADMIN_ADMINS_ACCESS_MODE--}</td>
+ <td align="center" class="header_column bottom" width="100">{--ADMIN_LA_MODE--}:</td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="6" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_ACTION_EDIT_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="5" align="center" class="table_header bottom">
- <strong>{--ADMIN_ADMINS_EDIT_ACLS_TITLE--}:</strong>
+ {--ADMIN_ADMINS_EDIT_ACLS_TITLE--}:
</td>
</tr>
<tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right" width="120"><strong>{--ADMIN_ADMINS_LOGIN_ID--}:</strong></td>
- <td align="center" class="header_column bottom right" width="204"><strong>{--ADMIN_MENU_ACTION--}:</strong></td>
- <td align="center" class="header_column bottom right" width="204"><strong>{--ADMIN_MENU_WHAT--}:</strong></td>
- <td align="center" class="header_column bottom" width="120"><strong>{--ADMIN_ADMINS_ACCESS_MODE--}:</strong></td>
+ <td align="center" class="header_column bottom right" width="30">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right" width="120">{--ADMIN_ADMINS_LOGIN_ID--}</td>
+ <td align="center" class="header_column bottom right" width="204">{--ADMIN_MENU_ACTION--}</td>
+ <td align="center" class="header_column bottom right" width="204">{--ADMIN_MENU_WHAT--}</td>
+ <td align="center" class="header_column bottom" width="120">{--ADMIN_ADMINS_ACCESS_MODE--}</td>
</tr>
$content
<tr>
- <td colspan="2" align="left" class="table_header bottom" height="25">
+ <td colspan="2" align="left" class="table_header bottom">
<strong>{--ADMIN_CATEGORY_ID--} $content[id]:</strong>
</td>
</tr>
<div class="table dashed">
<div class="table_header bottom">
<div>
- <strong>{%message,ADMIN_EDIT_CONFIG_NETWORK_HANDLER_TYPE_TITLE=$content[network_type_handler]%}</strong>
+ {%message,ADMIN_EDIT_CONFIG_NETWORK_HANDLER_TYPE_TITLE=$content[network_type_handler]%}
</div>
<div class="tiny">
({%network,generateMetworkReferralLinkById=%network_id%%})
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_forced_ads&do=edit_forced_ads%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--ADMIN_EDIT_FORCED_ADS_TITLE--}</strong>
- </td>
- </tr>
- $content
- <tr>
- <td colspan="4" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_FORCED_ADS_CHANGE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--ADMIN_EDIT_FORCED_ADS_TITLE--}
+ </td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="4" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_FORCED_ADS_CHANGE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
{%form,formMethodPost=modules.php?module=admin&what=list_forced_campaigns&do=edit_forced_campaigns%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--ADMIN_EDIT_FORCED_CAMPAIGN_TITLE--}</strong>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--ADMIN_EDIT_FORCED_CAMPAIGN_TITLE--}
</td>
</tr>
$content
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_forced_costs&do=edit_forced_costs%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--ADMIN_EDIT_FORCED_COSTS_TITLE--}</strong>
- </td>
- </tr>
- $content
- <tr>
- <td colspan="4" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_FORCED_COSTS_CHANGE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--ADMIN_EDIT_FORCED_COSTS_TITLE--}
+ </td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="4" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_FORCED_COSTS_CHANGE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=guestedit&sub=$content[sub]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" colspan="2" class="table_header" height="40">
- <strong>{--ADMIN_EDIT_GUEST_MENU_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td align="center" colspan="2" class="table_header bottom">
- {%message,ADMIN_EDIT_MENU=$content[chk]%}
- </td>
- </tr>
- $content[rows]
- <tr>
- <td class="table_footer" colspan="2">
- <input type="hidden" name="ok" value="edit" />
- <input type="hidden" name="chk" value="$content[chk]_$content[count]" />
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="submit" value="{--SUBMIT_CHANGES--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" colspan="2" class="table_header">
+ {--ADMIN_EDIT_GUEST_MENU_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="center" colspan="2" class="table_header bottom">
+ {%message,ADMIN_EDIT_MENU=$content[chk]%}
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td class="table_footer" colspan="2">
+ <input type="hidden" name="ok" value="edit" />
+ <input type="hidden" name="chk" value="$content[chk]_$content[count]" />
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="submit" value="{--SUBMIT_CHANGES--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=memedit&sub=$content[sub]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" colspan="2" class="table_header" height="40">
- <strong>{--ADMIN_EDIT_MEMBER_MENU_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td align="center" colspan="2" class="table_header bottom">
- {%message,ADMIN_EDIT_MENU=$content[chk]%}
- </td>
- </tr>
- $content[rows]
- <tr>
- <td align="center" colspan="2" class="table_footer">
- <input type="hidden" name="ok" value="edit" />
- <input type="hidden" name="chk" value="$content[chk]_$content[count]" />
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="submit" value="{--SUBMIT_CHANGES--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" colspan="2" class="table_header">
+ {--ADMIN_EDIT_MEMBER_MENU_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="center" colspan="2" class="table_header bottom">
+ {%message,ADMIN_EDIT_MENU=$content[chk]%}
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td align="center" colspan="2" class="table_footer">
+ <input type="hidden" name="ok" value="edit" />
+ <input type="hidden" name="chk" value="$content[chk]_$content[count]" />
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="submit" value="{--SUBMIT_CHANGES--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
{%form,formMethodPost=modules.php?module=admin&what=list_mods%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" colspan="6" class="table_header bottom" height="40">
- <strong>{--ADMIN_MODS_EDIT_TITLE--}</strong>
+ <td align="center" colspan="6" class="table_header bottom">
+ {--ADMIN_MODS_EDIT_TITLE--}
</td>
</tr>
<tr>
- <td align="center" class="header_column bottom right" height="25"><strong>{--ADMIN_MODS_NAME--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_TITLE--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_IS_LOCKED--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_IS_HIDDEN--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_IS_ADMIN--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_IS_MEMBER--}</strong></td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_NAME--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_TITLE--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_IS_LOCKED--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_IS_HIDDEN--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_IS_ADMIN--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_MODS_IS_MEMBER--}</td>
</tr>
$content
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_network_array_translation&do=change_array_translation&network_id=$content[network_id]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="2">
- <div>
- <strong>{--ADMIN_EDIT_NETWORK_ARRAY_TRANSLATION_TITLE--}</strong>
- </div>
- <div class="tiny">
- ({%network,generateMetworkReferralLinkById=%network_id%%})
- </div>
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_CHANGE_NETWORK_ARRAY_TRANSLATION_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="2">
+ <div>
+ {--ADMIN_EDIT_NETWORK_ARRAY_TRANSLATION_TITLE--}
+ </div>
+ <div class="tiny">
+ ({%network,generateMetworkReferralLinkById=%network_id%%})
+ </div>
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_CHANGE_NETWORK_ARRAY_TRANSLATION_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_network_request_params&do=change_request_params&network_id=$content[network_id]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="2">
- <div>
- <strong>{--ADMIN_EDIT_NETWORK_REQUEST_PARAMETER_TITLE--}</strong>
- </div>
- <div class="tiny">
- ({%network,generateMetworkReferralLinkById=%network_id%%})
- </div>
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_CHANGE_NETWORK_REQUEST_PARAMETER_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="2">
+ <div>
+ {--ADMIN_EDIT_NETWORK_REQUEST_PARAMETER_TITLE--}
+ </div>
+ <div class="tiny">
+ ({%network,generateMetworkReferralLinkById=%network_id%%})
+ </div>
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_CHANGE_NETWORK_REQUEST_PARAMETER_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_network_types&do=change_handler_types&network_id=$content[network_id]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="2">
- <div>
- <strong>{--ADMIN_EDIT_NETWORK_HANDLER_TYPES_TITLE--}</strong>
- </div>
- <div class="tiny">
- ({%network,generateMetworkReferralLinkById=%network_id%%})
- </div>
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="2" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_CHANGE_NETWORK_HANDLER_TYPE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="2">
+ <div>
+ {--ADMIN_EDIT_NETWORK_HANDLER_TYPES_TITLE--}
+ </div>
+ <div class="tiny">
+ ({%network,generateMetworkReferralLinkById=%network_id%%})
+ </div>
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="2" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_CHANGE_NETWORK_HANDLER_TYPE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
{%form,formMethodPost=modules.php?module=admin&what=list_network_data&do=change_networks%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--ADMIN_EDIT_NETWORK_DATA_TITLE--}</strong>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--ADMIN_EDIT_NETWORK_DATA_TITLE--}
</td>
</tr>
$content[rows]
<tr>
- <td align="center" class="{%template,ColorSwitch%} bottom right" height="25">
+ <td align="center" class="{%template,ColorSwitch%} bottom right">
$content[id]
<input type="hidden" name="sel[$content[id]]" value="1" />
</td>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_point_accounts&do=edit_points_data%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--ADMIN_EDIT_POINTS_DATA_TITLE--}</strong>
- </td>
- </tr>
- $content
- <tr>
- <td colspan="4" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_POINTS_DATA_CHANGE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--ADMIN_EDIT_POINTS_DATA_TITLE--}
+ </td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="4" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="do_edit" value="{--ADMIN_POINTS_DATA_CHANGE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
<div align="center">
-<table border="0" cellspacing="0" cellpadding="0" class="table dashed" width="99%">
- <tr>
- <td colspan="3" align="center" height="25" class="table_header bottom">
- {--ADMIN_POOL_CONTENT--}
- </td>
- </tr>
- $content[top_email_nav]
- $content[rows]
- $content[bottom_email_nav]
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
+<tr>
+ <td colspan="3" align="center" class="table_header bottom">
+ {--ADMIN_POOL_CONTENT--}
+ </td>
+</tr>
+
+$content[top_email_nav]
+
+$content[rows]
+
+$content[bottom_email_nav]
</table>
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
<a name="ext_$content[ext_name]"></a>
{%form,formMethodPost=modules.php?module=admin&what=extensions&register_ext=$content[ext_name]%}
- <input type="submit" class="form_submit" name="ok" value="{--ADMIN_REGISTER_EXTENSION--}" />
+ <input type="submit" class="form_submit" name="ok" value="{--ADMIN_TASK_REGISTER_EXTENSION--}" />
{%form_close%}
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td class="header_column bottom right" align="center">{--THEME_UNIX--}</td>
- <td class="header_column bottom right" align="center">{--THEME_NAME--}</td>
- <td class="header_column bottom right" align="center">{--THEME_AUTHOR--}</td>
- <td class="header_column bottom right" align="center">{--THEME_URL--}</td>
- <td class="header_column bottom right" align="center">{--THEME_VERSION--}</td>
- <td class="header_column bottom" align="center">{--THEME_INSTALL--}</td>
- </tr>
- $content
- <tr>
- <td colspan="6" class="table_footer">
- <div class="notice">{--ADMIN_THEME_LIST_NOTICE--}</div>
- </td>
- </tr>
+<tr>
+ <td class="table_header bottom" colspan="6">
+ {--ADMIN_IMPORT_THEMES_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="header_column bottom right" align="center">{--THEME_UNIX--}</td>
+ <td class="header_column bottom right" align="center">{--THEME_NAME--}</td>
+ <td class="header_column bottom right" align="center">{--THEME_AUTHOR--}</td>
+ <td class="header_column bottom right" align="center">{--THEME_URL--}</td>
+ <td class="header_column bottom right" align="center">{--THEME_VERSION--}</td>
+ <td class="header_column bottom" align="center">{--THEME_INSTALL--}</td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="6" class="table_footer">
+ <div class="notice">{--ADMIN_THEME_LIST_NOTICE--}</div>
+ </td>
+</tr>
</table>
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=admins_edit%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="5" align="center" class="table_header bottom">
- <strong>{--ADMIN_ADMINS_EDIT_DELETE_ACCOUNTS_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right" width="155"><strong>{--ADMIN_ADMINS_CONTACT--}:</strong></td>
- <td align="center" class="header_column bottom right" width="300"><strong>{--ADMIN_ADMINS_EMAIL--}:</strong></td>
- <td align="center" class="header_column bottom right" width="155"><strong>{--ADMIN_ADMINS_ACCESS_MODE--}:</strong></td>
- <td align="center" class="header_column bottom" width="160"><strong>{--ADMIN_LA_MODE--}:</strong></td>
- </tr>
- $content
- <tr>
- <td colspan="5" class="table_footer">
- <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
- <input type="submit" class="form_submit" name="edit" value="{--ADMIN_ACTION_EDIT_SUBMIT--}" />
- <input type="submit" class="form_delete" name="delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
- </td>
- </tr>
-</table>
+<tr>
+ <td colspan="5" align="center" class="table_header bottom">
+ {--ADMIN_ADMINS_EDIT_DELETE_ACCOUNTS_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="center" class="header_column bottom right" width="30">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right" width="155">{--ADMIN_ADMINS_CONTACT--}</td>
+ <td align="center" class="header_column bottom right" width="300">{--ADMIN_ADMINS_EMAIL--}</td>
+ <td align="center" class="header_column bottom right" width="155">{--ADMIN_ADMINS_ACCESS_MODE--}</td>
+ <td align="center" class="header_column bottom" width="160">{--ADMIN_LA_MODE--}:</td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="5" class="table_footer">
+ <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
+ <input type="submit" class="form_submit" name="edit" value="{--ADMIN_ACTION_EDIT_SUBMIT--}" />
+ <input type="submit" class="form_delete" name="delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
+ </td>
+</tr>
+<table>
{%form_close%}
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="5" align="center" class="table_header bottom">
- <strong>{--ADMIN_ADMINS_LIST_ACLS--}:</strong>
+ {--ADMIN_ADMINS_LIST_ACLS--}:
</td>
</tr>
<tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right" width="120"><strong>{--ADMIN_ADMINS_LOGIN_ID--}:</strong></td>
- <td align="center" class="header_column bottom right" width="204"><strong>{--ADMIN_MENU_ACTION--}:</strong></td>
- <td align="center" class="header_column bottom right" width="204"><strong>{--ADMIN_MENU_WHAT--}:</strong></td>
- <td align="center" class="header_column bottom" width="120"><strong>{--ADMIN_ADMINS_ACCESS_MODE--}:</strong></td>
+ <td align="center" class="header_column bottom right" width="30">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right" width="120">{--ADMIN_ADMINS_LOGIN_ID--}</td>
+ <td align="center" class="header_column bottom right" width="204">{--ADMIN_MENU_ACTION--}</td>
+ <td align="center" class="header_column bottom right" width="204">{--ADMIN_MENU_WHAT--}</td>
+ <td align="center" class="header_column bottom" width="120">{--ADMIN_ADMINS_ACCESS_MODE--}</td>
</tr>
$content
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_bank_package%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed" align="center">
- <tr>
- <td colspan="8" align="center" class="table_header">
- <strong>{--ADMIN_LIST_BANK_PACKAGES--}:</strong>
- </td>
- </tr>
- <tr>
- <td width="30" colspan="2" align="center" class="header_column bottom right"><strong>{--ID_SELECT--}</strong></td>
- <td width="80" align="center" class="header_column bottom right"><strong>{--ADMIN_LIST_BANK_PACKAGES_TITLE--}:</strong></td>
- <td width="115" align="center" class="header_column bottom right"><strong>{--ADMIN_LIST_BANK_PACKAGES_DESCR--}:</strong></td>
- <td width="115" align="center" class="header_column bottom right"><strong>{--ADMIN_LIST_BANK_PACKAGES_ACCOUNT_FEE--}</strong></td>
- <td width="80" align="center" class="header_column bottom right"><strong>{--ADMIN_LIST_BANK_PACKAGES_ACCOUNT_INTEREST_PLUS--}</strong></td>
- <td width="80" align="center" class="header_column bottom right"><strong>{--ADMIN_LIST_BANK_PACKAGES_ACCOUNT_INTEREST_MINUS--}</strong></td>
- <td width="120" align="center" class="header_column bottom"><strong>{--ADMIN_LIST_BANK_PACKAGES_STATUS--}</strong></td>
- </tr>
- $content
- <tr>
- <td colspan="8" class="table_footer">
- <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
- <input type="submit" class="form_submit" name="change" value="{--ADMIN_DE_ACTIVATE--}" />
- <input type="submit" class="form_submit" name="edit" value="{--ADMIN_EDIT--}" />
- <input type="submit" class="form_delete" name="delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="8" align="center" class="table_header">
+ {--ADMIN_LIST_BANK_PACKAGES_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--BANK_PACKAGES_TITLE--}</td>
+ <td align="center" class="header_column bottom right">{--BANK_PACKAGES_DESCR--}</td>
+ <td align="center" class="header_column bottom right">{--BANK_PACKAGES_ACCOUNT_FEE--}</td>
+ <td align="center" class="header_column bottom right">{--BANK_PACKAGES_ACCOUNT_INTEREST_PLUS--}</td>
+ <td align="center" class="header_column bottom right">{--BANK_PACKAGES_ACCOUNT_INTEREST_MINUS--}</td>
+ <td align="center" class="header_column bottom">{--BANK_PACKAGES_STATUS--}</td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="8" class="table_footer">
+ <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
+ <input type="submit" class="form_submit" name="change" value="{--ADMIN_DE_ACTIVATE--}" />
+ <input type="submit" class="form_submit" name="edit" value="{--ADMIN_EDIT--}" />
+ <input type="submit" class="form_delete" name="delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
-<table border="0" cellspacing="0" cellpadding="0" class="table dashed" width="99%">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td colspan="3" align="center" height="25" class="table_header bottom">
+ <td colspan="3" align="center" class="table_header bottom">
<strong>{--ADMIN_LIST_BONUS_TITLE--}</strong>
</td>
</tr>
+
$content[nav]
+
$content[rows]
+
$content[nav]
+
</table>
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="7" class="table_header bottom" align="center">
- <strong>{--ADMIN_LIST_BOOKING_RECORDS_TITLE--}</strong>
+ {--ADMIN_LIST_BOOKING_RECORDS_TITLE--}
</td>
</tr>
+
<tr>
<td align="center" class="header_column bottom right" width="30">
- <strong>{--ID_SELECT--}</strong>
+ {--ID_SELECT--}
</td>
<td align="center" class="header_column bottom right">
- <strong>{--POINTS_SUBJECT--}</strong>
+ {--POINTS_SUBJECT--}
</td>
<td align="center" class="header_column bottom right">
- <strong>{--POINTS_MODE--}</strong>
+ {--POINTS_MODE--}
</td>
<td align="center" class="header_column bottom right">
- <strong>{--POINTS_ACCOUNT_TYPE--}</strong>
+ {--POINTS_ACCOUNT_TYPE--}
</td>
<td align="center" class="header_column bottom right">
- <strong>{?POINTS?}</strong>
+ {?POINTS?}
</td>
<td align="center" class="header_column bottom right">
- <strong>{--BOOKING_RECORDED--}</strong>
+ {--BOOKING_RECORDED--}
</td>
<td align="center" class="header_column bottom">
- <strong>{--BOOKING_COMMENTS--}</strong>
+ {--BOOKING_COMMENTS--}
</td>
</tr>
+
$content[rows]
+
<tr>
<td colspan="7" class="table_footer" align="center">
<input type="hidden" name="booking_id[0]" value="1" />
- <input type="hidden" name="userid" value="{%get,bigintval=userid%}" />
+ <input type="hidden" name="userid" value="$content[userid]" />
<input type="submit" class="form_delete" name="do_delete" value="{--ADMIN_ACTION_DELETE_BOOKING_SUBMIT--}" />
</td>
</tr>
</table>
+{%form_close%}
</div>
<div class="notice">
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td class="table_header" align="center" colspan="4">
- <div class="big">$content[list_already]</div>
- </td>
- </tr>
- <tr>
- <td class="header_column bottom right" align="center" height="25" width="25%">
- <div class="medium">{--_USERID--}:</div>
- </td>
- <td class="header_column bottom right" align="center" width="25%">
- <div class="medium">{?POINTS?}:</div>
- </td>
- <td class="header_column bottom right" align="center" width="25%">
- <div class="medium">{--ADMIN_DOUBLER_PAYMENT_TIMEMARK--}:</div>
- </td>
- <td class="header_column bottom" align="center" width="25%">
- <div class="medium">{--REMOTE_IP--}:</div>
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="4" class="table_footer">
- {--ADMIN_DOUBLER_NOTICE--}
- </td>
- </tr>
+<tr>
+ <td class="table_header" align="center" colspan="4">
+ <div class="big">$content[list_already]</div>
+ </td>
+</tr>
+
+<tr>
+ <td class="header_column bottom right" align="center">
+ <div class="medium">{--_USERID--}:</div>
+ </td>
+ <td class="header_column bottom right" align="center">
+ <div class="medium">{?POINTS?}:</div>
+ </td>
+ <td class="header_column bottom right" align="center">
+ <div class="medium">{--ADMIN_DOUBLER_PAYMENT_TIMEMARK--}:</div>
+ </td>
+ <td class="header_column bottom" align="center">
+ <div class="medium">{--REMOTE_IP--}:</div>
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="4" class="table_footer">
+ {--ADMIN_DOUBLER_NOTICE--}
+ </td>
+</tr>
</table>
</div>
</td>
</tr>
<tr>
- <td class="header_column bottom right" align="center" height="25" width="260">
+ <td class="header_column bottom right" align="center">
<div class="medium">{--ADMIN_DOUBLER_LIST_ALREADY--}</div>
</td>
- <td class="header_column bottom" align="center" height="25" width="260">
+ <td class="header_column bottom" align="center">
<div class="medium">{--ADMIN_DOUBLER_LIST_WAITING--}</div>
</td>
</tr>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td class="table_header" align="center" colspan="4">
- <strong class="big">$content[list_waiting]</strong>
- </td>
- </tr>
- <tr>
- <td class="header_column bottom right" align="center" height="25" width="25%"><strong>{--_USERID--}:</strong></td>
- <td class="header_column bottom right" align="center" width="25%"><strong>{?POINTS?}:</strong></td>
- <td class="header_column bottom right" align="center" width="25%"><strong>{--ADMIN_DOUBLER_PAYMENT_TIMEMARK--}:</strong></td>
- <td class="header_column bottom" align="center" width="25%"><strong class="medium">{--REMOTE_IP--}:</strong></td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="4" class="table_footer">
- {--ADMIN_DOUBLER_NOTICE--}
- </td>
- </tr>
+<tr>
+ <td class="table_header" align="center" colspan="4">
+ $content[list_waiting]
+ </td>
+</tr>
+
+<tr>
+ <td class="header_column bottom right" align="center">{--_USERID--}:</td>
+ <td class="header_column bottom right" align="center">{?POINTS?}:</td>
+ <td class="header_column bottom right" align="center">{--ADMIN_DOUBLER_PAYMENT_TIMEMARK--}:</td>
+ <td class="header_column bottom" align="center">{--REMOTE_IP--}:</td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="4" class="table_footer">
+ {--ADMIN_DOUBLER_NOTICE--}
+ </td>
+</tr>
</table>
</div>
<div align="center">
-<table border="0" cellspacing="0" cellpadding="0" class="table dashed" width="99%">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td colspan="3" align="center" height="25" class="table_header bottom">
- <div class="table">{--ADMIN_POOL_CONTENT--} ($content[who])</div>
+ <td colspan="3" align="center" class="table_header bottom">
+ <div>{--ADMIN_POOL_CONTENT--} ($content[who])</div>
</td>
</tr>
+
$content[nav]
+
$content[rows]
+
$content[nav]
+
</table>
</div>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="4" align="center" class="table_header bottom" height="40">
- {%user,gender,translateGender=$content[userid]%}
- {%user,surname=$content[userid]%}
- {%user,family=$content[userid]%}
- {%pipe,generateUserProfileLink=$content[userid]%}:
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="4" height="40" class="table_footer" align="center">
- {%message,ADMIN_TOTAL_LINKS_LEFT=$content[nums]%}<br />
- <a href="{%url=modules.php?module=admin&what=list_links&userid=$content[userid]&del=all%}" onclick="return confirm('{--ADMIN_REALLY_DELETE_ALL_MAILS--}')">{--ADMIN_DELETE_UNCONFIRMED_LINKS--}</a>
- </td>
- </tr>
+<tr>
+ <td colspan="4" align="center" class="table_header bottom">
+ {%user,gender,translateGender=$content[userid]%}
+ {%user,surname=$content[userid]%}
+ {%user,family=$content[userid]%}
+ {%pipe,generateUserProfileLink=$content[userid]%}:
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="4" class="table_footer" align="center">
+ {%message,ADMIN_TOTAL_LINKS_LEFT=$content[nums]%}<br />
+ <a href="{%url=modules.php?module=admin&what=list_links&userid=$content[userid]&del=all%}" onclick="return confirm('{--ADMIN_REALLY_DELETE_ALL_MAILS--}')">{--ADMIN_DELETE_UNCONFIRMED_LINKS--}</a>
+ </td>
+</tr>
</table>
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="7" class="table_header bottom" align="center">
- <strong>{--ADMIN_LIST_MODS_TITLE--}</strong>
+ {--ADMIN_LIST_MODS_TITLE--}
</td>
</tr>
<tr>
- <td align="center" class="header_column bottom right" height="25" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_NAME--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_TITLE--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_IS_LOCKED--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_IS_HIDDEN--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MODS_IS_ADMIN--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--ADMIN_MODS_IS_MEMBER--}</strong></td>
+ <td align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_NAME--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_TITLE--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_IS_LOCKED--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_IS_HIDDEN--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_MODS_IS_ADMIN--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_MODS_IS_MEMBER--}</td>
</tr>
$content
<tr>
<td colspan="5" align="center" class="table_header bottom">
<div>
- <strong>{--ADMIN_LIST_NETWORK_ARRAY_TRANSLATION_TITLE--}</strong>
+ {--ADMIN_LIST_NETWORK_ARRAY_TRANSLATION_TITLE--}
</div>
<div class="tiny">
({%network,generateMetworkReferralLinkById=%network_id%%})
</tr>
<tr>
- <td align="center" class="header_column bottom right" height="25" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_TYPE_HANDLER--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_ARRAY_INDEX_TRANSLATION--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--ADMIN_NETWORK_ARRAY_INDEX_SORTING--}</strong></td>
+ <td align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_TYPE_HANDLER--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_ARRAY_INDEX_TRANSLATION--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_NETWORK_ARRAY_INDEX_SORTING--}</td>
</tr>
$content[rows]
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="8" class="table_header">
- <strong>{--ADMIN_LIST_NEWORK_DATA_TITLE--}</strong>
+ {--ADMIN_LIST_NEWORK_DATA_TITLE--}
</td>
</tr>
<tr>
- <td height="25" colspan="3" class="header_column bottom right separator"> </td>
+ <td colspan="3" class="header_column bottom right separator"> </td>
<td colspan="2" class="header_column bottom right" align="center">
- <strong>{--ADMIN_NETWORK_SEPARATOR--}</strong>
+ {--ADMIN_NETWORK_SEPARATOR--}
</td>
<td colspan="3" class="header_column bottom separator"> </td>
</tr>
<tr>
- <td align="center" class="header_column bottom right" height="25" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_SHORT_NAME--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_REFERRAL_LINK--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_DATA_SEPARATOR2--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_ROW_SEPARATOR2--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_REQUEST_TYPE--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_CHARSET--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--ADMIN_NETWORK_REQUIRE_ID_CARD_SHORT--}</strong></td>
+ <td align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_SHORT_NAME--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_REFERRAL_LINK--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_DATA_SEPARATOR2--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_ROW_SEPARATOR2--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_REQUEST_TYPE--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_CHARSET--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_NETWORK_REQUIRE_ID_CARD_SHORT--}</td>
</tr>
$content
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="3" class="table_header">
- <strong>{%message,ADMIN_QUERY_NETWORK_APIS_TITLE=$content[network_id]%}</strong>
+ {%message,ADMIN_QUERY_NETWORK_APIS_TITLE=$content[network_id]%}
</td>
</tr>
<tr>
- <td align="center" class="header_column bottom right" height="25" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_TYPE_HANDLER--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--ADMIN_QUERY_NETWORK_TYPE--}</strong></td>
+ <td align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_TYPE_HANDLER--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_QUERY_NETWORK_TYPE--}</td>
</tr>
$content[rows]
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_network_request_params&do=handle_request_params&network_id=$content[network_id]%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="5" align="center" class="table_header bottom">
- <div>
- <strong>{--ADMIN_LIST_NETWORK_REQUEST_PARAMETER_TITLE--}</strong>
- </div>
- <div class="tiny">
- ({%network,generateMetworkReferralLinkById=%network_id%%})
- </div>
- </td>
- </tr>
+<tr>
+ <td colspan="5" align="center" class="table_header bottom">
+ <div>
+ {--ADMIN_LIST_NETWORK_REQUEST_PARAMETER_TITLE--}
+ </div>
+ <div class="tiny">
+ ({%network,generateMetworkReferralLinkById=%network_id%%})
+ </div>
+ </td>
+</tr>
- <tr>
- <td align="center" class="header_column bottom right" height="25" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_TYPE_HANDLER--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_REQUEST_PARAMETER_KEY_SHORT--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_REQUEST_PARAMETER_VALUE--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--ADMIN_NETWORK_REQUEST_PARAMETER_DEFAULT--}</strong></td>
- </tr>
+<tr>
+ <td align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_TYPE_HANDLER--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_REQUEST_PARAMETER_KEY_SHORT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_REQUEST_PARAMETER_VALUE--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_NETWORK_REQUEST_PARAMETER_DEFAULT--}</td>
+</tr>
- $content[rows]
+$content[rows]
- <tr>
- <td colspan="5" class="table_footer">
- <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
- <input type="submit" class="form_submit" name="edit" value="{--ADMIN_ACTION_EDIT_SUBMIT--}" />
- <input type="submit" class="form_delete" name="delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="5" class="table_footer">
+ <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
+ <input type="submit" class="form_submit" name="edit" value="{--ADMIN_ACTION_EDIT_SUBMIT--}" />
+ <input type="submit" class="form_delete" name="delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
<tr>
<td colspan="7" align="center" class="table_header bottom">
<div>
- <strong>{--ADMIN_LIST_NETWORK_TYPE_HANDLER_TITLE--}</strong>
+ {--ADMIN_LIST_NETWORK_TYPE_HANDLER_TITLE--}
</div>
<div class="tiny">
({%network,generateMetworkReferralLinkById=%network_id%%})
</tr>
<tr>
- <td align="center" class="header_column bottom right" height="25" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_TYPE_HANDLER--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_TYPE_HANDLER_API_URL--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_TYPE_HANDLER_CLICK_URL--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_NETWORK_TYPE_HANDLER_BANNER_URL--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--TIME_UNIT--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--ADMIN_NETWORK_TYPE_HANDLER_TEXT_ENCODING--}</strong></td>
+ <td align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_TYPE_HANDLER--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_TYPE_HANDLER_API_URL--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_TYPE_HANDLER_CLICK_URL--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_NETWORK_TYPE_HANDLER_BANNER_URL--}</td>
+ <td align="center" class="header_column bottom right">{--TIME_UNIT--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_NETWORK_TYPE_HANDLER_TEXT_ENCODING--}</td>
</tr>
$content[rows]
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
<div align="center">
-<table border="0" cellspacing="0" cellpadding="0" class="table dashed" width="99%">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td colspan="3" align="center" height="25" class="table_header">
+ <td colspan="3" align="center" class="table_header">
<strong>{--ADMIN_NOTIFCATION_TITLE--}</strong>
</td>
</tr>
+
$content[nav]
+
$content[rows]
+
$content[nav]
+
</table>
</div>
<table border="0" cellspacing="0" cellpadding="0" align="center" class="table dashed">
<tr>
<td colspan="8" class="table_header bottom">
- <strong>{--ADMIN_ONLINE_DETAILS--}</strong>
+ {--ADMIN_ONLINE_DETAILS--}
</td>
</tr>
<tr>
- <td align="center" width="5%" class="header_column bottom right"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" width="10%" class="header_column bottom right"><strong>{--_USERID--}:</strong></td>
- <td align="center" width="10%" class="header_column bottom right"><strong>{--REMOTE_IP--}:</strong></td>
- <td align="center" width="5%" class="header_column bottom right"><strong>{--_REFID--}:</strong></td>
- <td align="center" width="10%" class="header_column bottom right"><strong>{--_MODULE--}:</strong></td>
- <td align="center" width="10%" class="header_column bottom right"><strong>{--ADMIN_MENU_ACTION--}:</strong></td>
- <td align="center" width="5%" class="header_column bottom right"><strong>{--ADMIN_MENU_WHAT--}:</strong></td>
- <td align="center" width="10%" class="header_column bottom"><strong>{--LAST_SEEN--}:</strong></td>
+ <td align="center" width="5%" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" width="10%" class="header_column bottom right">{--_USERID--}:</td>
+ <td align="center" width="10%" class="header_column bottom right">{--REMOTE_IP--}:</td>
+ <td align="center" width="5%" class="header_column bottom right">{--_REFID--}:</td>
+ <td align="center" width="10%" class="header_column bottom right">{--_MODULE--}:</td>
+ <td align="center" width="10%" class="header_column bottom right">{--ADMIN_MENU_ACTION--}</td>
+ <td align="center" width="5%" class="header_column bottom right">{--ADMIN_MENU_WHAT--}</td>
+ <td align="center" width="10%" class="header_column bottom">{--LAST_SEEN--}:</td>
</tr>
$content[rows]
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
<td colspan="4" align="center" class="table_header bottom">
- <strong>{%message,ADMIN_LIST_RALLYE_USERS_TITLE2=$content[rallye_id]%}:</strong>
+ {%message,ADMIN_LIST_RALLYE_USERS_TITLE2=$content[rallye_id]%}:
</td>
</tr>
<tr>
- <td align="center" class="header_column bottom right"><strong>{--_USERID--}:</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--RALLYE_OLD_REFS--}:</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--RALLYE_NEW_REFS--}:</strong></td>
- <td align="center" class="header_column bottom"><strong>{--RALLYE_REFERRAL_POINTS--}:</strong></td>
+ <td align="center" class="header_column bottom right">{--_USERID--}:</td>
+ <td align="center" class="header_column bottom right">{--RALLYE_OLD_REFS--}:</td>
+ <td align="center" class="header_column bottom right">{--RALLYE_NEW_REFS--}:</td>
+ <td align="center" class="header_column bottom">{--RALLYE_REFERRAL_POINTS--}:</td>
</tr>
$content[rows]
<tr>
$content[end_date]
</td>
</tr>
+
<tr>
<td align="center" class="{%template,ColorSwitch%} bottom right">
<strong>{--ADMIN_RALLYE_TEMPLATE--}:</strong><br />
{%pipe,translateYesNo=$content[notified]%}
</td>
</tr>
+
<tr>
<td align="center" class="{%template,ColorSwitch%} bottom right" colspan="3">
<strong>{--RALLYE_ASSIGNED_PRICES--}:</strong><br />
$content[users_content]
</td>
</tr>
+
<tr>
<td align="center" class="table_header bottom" colspan="5" height="35">
<strong>{--RALLYE_LIMITATIONS--}:</strong>
</td>
</tr>
+
<tr>
<td align="center" class="{%template,ColorSwitch%} bottom right" colspan="3">
<strong>{--ADMIN_RALLYE_MIN_USERS_MINI--}:</strong><br />
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
<div class="big">{--ADMIN_SPONSOR_DETAILS--}:</div>
</td>
</tr>
+
<tr>
- <td align="right" class="bottom right" height="25">{--SPONSOR_ID--}: </td>
+ <td align="right" class="bottom right">{--SPONSOR_ID--}: </td>
<td class="bottom">$content[id] [<strong><a href="{%url=modules.php?module=admin&what=lock_sponsor&id=$content[id]%}">{%pipe,translateSponsorStatus=$content[status]%}</a></strong>]</td>
</tr>
+
<tr>
<td colspan="2" align="center" class="table_header bottom">
<strong>{--ADMIN_SPONSOR_COMPANY_DATA--}:</strong>
</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_COMPANY_TITLE--}:</td>
<td class="bottom">$content[company]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_COMPANY_POSITION--}:</td>
<td class="bottom">$content[position]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_TAX_IDENT--}:</td>
<td class="bottom">$content[tax_ident]</td>
</tr>
+
<tr>
<td colspan="2" align="center" class="table_header bottom">
<strong>{--ADMIN_SPONSOR_PERSONA_DATA--}:</strong>
</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SURNAME_FAMILY--}:</td>
<td class="bottom">{%pipe,translateGender=$content[gender]%} $content[surname] $content[family]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_STREET_NR1--}:</td>
<td class="bottom">$content[street_nr1]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_STREET_NR2--}:</td>
<td class="bottom">$content[street_nr2]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_CNTRY_ZIP_CITY--}:</td>
<td class="bottom">$content[country]-$content[zip]$content[city]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_PHONE--}:</td>
<td class="bottom">$content[phone]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_FAX--}:</td>
<td class="bottom">$content[fax]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_CELL--}:</td>
<td class="bottom">$content[cell]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_EMAIL--}:</td>
<td class="bottom"><a href="$content[email_link]">$content[email]</a></td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_ENTER_URL--}:</td>
<td class="bottom">[{%template,DereferrerUrl=$content[url]%}]</td>
</tr>
+
<tr>
<td colspan="2" align="center" class="table_header bottom">
<strong>{--ADMIN_SPONSOR_WARNINGS_POINTS--}:</strong>
</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_RECEIVE_WARNINGS_SHORT--}:</td>
<td align="center" class="bottom">{%pipe,translateYesNo=$content[receive_warnings]%}</td>
<tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_WARNING_INTERVAL_SHORT--}:</td>
<td align="center" class="bottom">{%pipe,createFancyTime=$content[warning_interval]%}</td>
<tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_POINTS_AMOUNT--}:</td>
<td align="center" class="bottom">[<a href="{%url=modules.php?module=admin&what=edit_sponsor&id=$content[id]&do=add_points%}" title="{--ADMIN_SPONSOR_ADD_POINTS_LINK_TITLE--}"><strong>{%pipe,translateComma=$content[points_amount]%}</strong></a>]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_POINTS_USED--}:</td>
<td align="center" class="bottom">[<a href="{%url=modules.php?module=admin&what=edit_sponsor&id=$content[id]&do=sub_points%}" title="{--ADMIN_SPONSOR_SUB_POINTS_LINK_TITLE--}"><strong>{%pipe,translateComma=$content[points_used]%}</strong></a>]</td>
</tr>
+
<tr>
<td colspan="2" align="center" class="table_header bottom">
<strong>{--ADMIN_SPONSOR_OTHER_DETAILS--}:</strong>
</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_CREATED--}:</td>
<td align="center" class="bottom">$content[sponsor_created]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--LAST_ONLINE_SHORT--}:</td>
<td align="center" class="bottom">$content[last_online]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--ADMIN_LAST_CHANGE--}:</td>
<td align="center" class="bottom">$content[last_change]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--REMOTE_IP--}:</td>
<td align="center" class="bottom">$content[remote_addr]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_REFID--}:</td>
<td align="center" class="bottom">$content[refid]</td>
</tr>
+
<tr>
<td align="right" class="bottom right">{--SPONSOR_REFERRALS--}:</td>
<td align="center" class="bottom">[<a href="{%url=modules.php?module=admin&what=list_sponsor&rid=$content[id]%}"><strong>$content[ref_count]</strong></a>]</td>
</tr>
+
<tr>
<td colspan="2" class="table_footer">
<div align="center"><strong>{--ADMIN_SPONSOR_ACTIONS--}:</strong></div>
<div align="center">
{%form,formMethodPost=modules.php?module=admin&what=list_sponsor_pay%}
-<table border="0" cellspacing="0" cellpadding="0" class="table dashed" width="640">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" colspan="5" class="table_header bottom" height="40">
- <strong>{--SPONSOR_DELETE_PAY_ENTRIES--}</strong>
+ <td align="center" colspan="5" class="table_header bottom">
+ {--SPONSOR_DELETE_PAY_ENTRIES--}
</td>
</tr>
<tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right" width="160"><strong>{--SPONSOR_PAYTYPE_NAME--}:</strong></td>
- <td align="center" class="header_column bottom right" width="145"><strong>{--SPONSOR_PAYTYPE_RATE--}:</strong></td>
- <td align="center" class="header_column bottom right" width="145"><strong>{--SPONSOR_PAYTYPE_MIN_COUNT2--}:</strong></td>
- <td align="center" class="header_column bottom" width="160"><strong>{--SPONSOR_PAYTYPE_CURRENCY--}:</strong></td>
+ <td align="center" class="header_column bottom right">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--SPONSOR_PAYTYPE_NAME--}:</td>
+ <td align="center" class="header_column bottom right">{--SPONSOR_PAYTYPE_RATE--}:</td>
+ <td align="center" class="header_column bottom right">{--SPONSOR_PAYTYPE_MIN_COUNT2--}:</td>
+ <td align="center" class="header_column bottom">{--SPONSOR_PAYTYPE_CURRENCY--}:</td>
</tr>
$content
<tr>
<td align="center" colspan="5" class="table_footer">
<input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_delete" name="do_delete" value="{--DEL_ENTRIES--}" />
+ <input type="submit" class="form_delete" name="do_delete" value="{--ADMIN_ACTION_DELETE_SUBMIT--}" />
</td>
</tr>
</table>
{%form,formMethodPost=modules.php?module=admin&what=list_sponsor_pay%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed" width="640">
<tr>
- <td align="center" colspan="5" class="table_header bottom" height="40">
- <strong>{--SPONSOR_EDIT_PAY_ENTRIES--}</strong>
+ <td align="center" colspan="5" class="table_header bottom">
+ {--SPONSOR_EDIT_PAY_ENTRIES--}
</td>
</tr>
<tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right" width="160"><strong>{--SPONSOR_PAYTYPE_NAME--}:</strong></td>
- <td align="center" class="header_column bottom right" width="145"><strong>{--SPONSOR_PAYTYPE_RATE--}:</strong></td>
- <td align="center" class="header_column bottom right" width="145"><strong>{--SPONSOR_PAYTYPE_MIN_COUNT2--}:</strong></td>
- <td align="center" class="header_column bottom" width="160"><strong>{--SPONSOR_PAYTYPE_CURRENCY--}:</strong></td>
+ <td align="center" class="header_column bottom right" width="30">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right" width="160">{--SPONSOR_PAYTYPE_NAME--}:</td>
+ <td align="center" class="header_column bottom right" width="145">{--SPONSOR_PAYTYPE_RATE--}:</td>
+ <td align="center" class="header_column bottom right" width="145">{--SPONSOR_PAYTYPE_MIN_COUNT2--}:</td>
+ <td align="center" class="header_column bottom" width="160">{--SPONSOR_PAYTYPE_CURRENCY--}:</td>
</tr>
$content
{%form,formMethodPost=modules.php?module=admin&what=list_task&type=$content[type]%}
<table border="0" cellspacing="0" cellpadding="0" class="admin_tasktable dashed">
<tr>
- <td colspan="7" align="center" class="admin_task_header bottom">
- <strong>$content[message]</strong>
+ <td colspan="7" align="center" class="table_header bottom">
+ $content[message]
</td>
</tr>
+
<tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_ASSIGNED_ADMIN--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_REGISTER_EXTENSION--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_TASK_INFOS--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MEMBER_USERID--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_TASK_TYPE--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--ADMIN_TASK_CREATED--}</strong></td>
+ <td align="center" class="header_column bottom right" width="30">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_TASK_ASSIGNED_ADMIN--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_TASK_REGISTER_EXTENSION--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_TASK_INFOS--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_ASSIGNED_USERID--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_TASK_TYPE--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_TASK_CREATED--}</td>
</tr>
+
$content[rows]
+
<tr>
<td colspan="7" align="center" class="table_footer">
<input type="reset" value="{--ADMIN_UNSELECT_ALL--}" class="form_reset" />
{%form,formMethodPost=modules.php?module=admin&what=list_task&type=$content[type]%}
<table border="0" cellspacing="0" cellpadding="0" class="admin_tasktable dashed">
<tr>
- <td colspan="7" align="center" class="admin_task_header bottom">
- <strong>$content[message]</strong>
+ <td colspan="7" align="center" class="table_header bottom">
+ $content[message]
</td>
</tr>
+
<tr>
- <td align="center" class="header_column bottom right" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_ASSIGNED_ADMIN--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_REGISTER_EXTENSION--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_TASK_INFOS--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MEMBER_USERID--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_TASK_TYPE--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--ADMIN_TASK_CREATED--}</strong></td>
+ <td align="center" class="header_column bottom right" width="30">{--ID_SELECT--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_TASK_ASSIGNED_ADMIN--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_TASK_REGISTER_EXTENSION--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_TASK_INFOS--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_ASSIGNED_USERID--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_TASK_TYPE--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_TASK_CREATED--}</td>
</tr>
+
$content[rows]
+
<tr>
<td colspan="7" align="center" class="table_footer">
<input type="reset" value="{--ADMIN_UNSELECT_ALL--}" class="form_reset" />
</div>
<div class="notice">
- <strong>{--ADMIN_TASK_DELETE_MODE_NOTICE--}</strong>
+ {--ADMIN_TASK_DELETE_MODE_NOTICE--}
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
</tr>
<tr>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_MEMBER_USERID--}</strong></td>
- <td align="center" class="header_column bottom right"><strong>{--ADMIN_TOTAL_POINTS--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--ADMIN_USER_AMOUNT_PERCENTS--}</strong></td>
+ <td align="center" class="header_column bottom right">{--ADMIN_ASSIGNED_USERID--}</td>
+ <td align="center" class="header_column bottom right">{--ADMIN_TOTAL_POINTS--}</td>
+ <td align="center" class="header_column bottom">{--ADMIN_USER_AMOUNT_PERCENTS--}</td>
</tr>
+
$content[rows]
+
<tr>
<td align="right" class="footer_column bottom right">
- <strong>{--ADMIN_TOTAL_POINTS_AMOUNT--}</strong>
+ {--ADMIN_TOTAL_POINTS_AMOUNT--}
</td>
<td align="left" class="footer_column bottom right">
- <strong>{%pipe,translateComma=$content[total]%} {?POINTS?}</strong>
+ {%pipe,translateComma=$content[total]%} {?POINTS?}
</td>
<td align="center" class="footer_column bottom">
- <strong>---</strong>
+ ---
</td>
</tr>
+
<tr>
<td colspan="3" align="center" class="table_footer">
<div class="notice">
<td width="20%" align="center" class="right top {%template,ColorSwitch%}"><strong>{--FAMILY--}:</strong></td>
<td width="20%" align="center" class="{%template,ColorSwitch%} top"><strong>{--USER_NICKNAME--}:</strong></td>
</tr>
+
<tr>
<td align="center" class="bottom right {%template,ColorSwitch%}">{%pipe,generateUserProfileLink=$content[userid]%}</td>
<td align="center" class="bottom right {%template,ColorSwitch%}">{%user,gender,translateGender=$content[userid]%}</td>
<td align="center" class="bottom right {%template,ColorSwitch%}">{%user,family=$content[userid]%}</td>
<td align="center" class="bottom {%template,ColorSwitch%}">{%user,nickname,fixEmptyContentToDashes=$content[userid]%}</td>
</tr>
+
<tr>
<td align="center" class="right {%template,ColorSwitch%}"><strong>{--EMAIL--}:</strong></td>
<td align="center" class="right {%template,ColorSwitch%}"><strong>{--REMOTE_IP--}:</strong></td>
<td align="center" class="right {%template,ColorSwitch%}"><strong>{--ACCOUNT_STATUS--}:</strong></td>
<td align="center" class="{%template,ColorSwitch%}"><strong>{--UNCONFIRMED_LINKS--}:</strong></td>
</tr>
+
<tr>
<td align="center" class="right {%template,ColorSwitch%} bottom">$content[email]</td>
<td align="center" class="right {%template,ColorSwitch%} bottom">{%user,REMOTE_ADDR=$content[userid]%}</td>
<td align="center" class="right {%template,ColorSwitch%} bottom">{%user,status,translateUserStatus=$content[userid]%}</td>
<td align="center" class="{%template,ColorSwitch%} bottom">$content[links]</td>
</tr>
+
<tr>
<td align="center" class="right {%template,ColorSwitch%}"><strong>{--TOTAL_POINTS--}:</strong></td>
<td align="center" class="right {%template,ColorSwitch%}"><strong>{--MAILS_SENT--}:</strong></td>
<td align="center" class="right {%template,ColorSwitch%}"><strong>{--LOCKED_POINTS--}:</strong></td>
<td align="center" class="{%template,ColorSwitch%}"><strong>{--TOTAL_REFERRALS--}:</strong></td>
</tr>
+
<tr>
<td align="center" class="right {%template,ColorSwitch%} bottom">{%pipe,getTotalPoints,translateComma=$content[userid]%}</td>
<td align="center" class="right {%template,ColorSwitch%} bottom">$content[emails_sent]</td>
<td align="center" class="right {%template,ColorSwitch%} bottom">{%pipe,translateComma=$content[locked_points]%}</td>
<td align="center" class="{%template,ColorSwitch%} bottom">$content[refs]</td>
</tr>
+
<tr>
<td align="center" class="right {%template,ColorSwitch%}"><strong>{--LOCK_REASON--}:</strong></td>
<td align="center" class="right {%template,ColorSwitch%}"><strong>{--LOCK_TIMESTAMP--}:</strong></td>
<td align="center" class="right {%template,ColorSwitch%}"><strong>{--RAND_CONFIRMED--}:</strong></td>
<td align="center" class="{%template,ColorSwitch%}"><strong>{--_UNUSED--}:</strong></td>
</tr>
+
<tr>
<td align="center" class="right {%template,ColorSwitch%} bottom">{%user,lock_reason,fixEmptyContentToDashes=$content[userid]%}</td>
<td align="center" class="right {%template,ColorSwitch%} bottom">$content[lock_timestamp]</td>
<td align="center" class="right {%template,ColorSwitch%} bottom">{%user,rand_confirmed,translateComma=$content[userid]%}/{%config,translateComma=user_min_confirmed%}</td>
<td align="center" class="{%template,ColorSwitch%} bottom">---</td>
</tr>
+
<tr>
<td height="22" colspan="5" class="table_header {%template,ColorSwitch%}">
{%pipe,generateMemberAdminActionLinks=$content[userid]%}
+++ /dev/null
-<!-- @DEPRECATED //-->
</tr>
$content[rows]
<tr>
- <td colspan="4" align="center" height="40" class="table_footer">
+ <td colspan="4" align="center" class="table_footer">
<input type="hidden" name="ok" value="status" />
<input type="hidden" name="chk" value="$content[chk]_$content[count]" />
<input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <!-- @TODO Shouldn't we add a title here? //-->
- <tr>
- <td width="120" class="header_column bottom right" align="center"><strong>{--ADMIN_OPTIMIZE_DBNAME--}:</strong></td>
- <td width="110" class="header_column bottom right" align="center"><strong>{--ADMIN_OPTIMIZE_REPAIRED--}:</strong></td>
- <td width="110" class="header_column bottom right" align="center"><strong>{--ADMIN_OPTIMIZE_OPTIMIZED--}:</strong></td>
- <td width="120" class="header_column bottom right" align="center"><strong>{--ADMIN_OPTIMIZE_TOTAL_SIZE--}:</strong></td>
- <td width="120" class="header_column bottom" align="center"><strong>{--ADMIN_OPTIMIZE_GAIN_SIZE--}:</strong></td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="5" class="table_footer" style="padding-top: 15px; padding-bottom: 15px;">
- {--ADMIN_OPTIMIZE_DB_TOTAL_TABLES--}: <strong>$content[total_tabs]</strong><br />
- {--ADMIN_OPTIMIZE_DB_TOTAL_SIZE--}: <strong>{%pipe,translateComma=$content[total_size]%} {--KBYTES--}</strong><br />
- {--ADMIN_OPTIMIZE_DB_TOTAL_OPTIMIZE--}: <strong>$content[total_rows]</strong><br />
- {--ADMIN_OPTIMIZE_DB_TOTAL_OPTI--}: <strong>{%pipe,translateComma=$content[total_optimized]%} {--KBYTES--}</strong><br />
- {--ADMIN_OPTIMIZE_DB_TOTAL_GAIN_TABLES--}: <strong>$content[now_optimized]</strong><br />
- {--ADMIN_OPTIMIZE_DB_TOTAL_GAIN_SIZE--}: <strong>{%pipe,translateComma=$content[total_gain]%} {--KBYTES--}</strong>
- </td>
- </tr>
+<tr>
+ <td class="table_header bottom" colspan="5">
+ {--ADMIN_OPTIMIZE_DATABASE_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="header_column bottom right" align="center">{--ADMIN_OPTIMIZE_DBNAME--}</td>
+ <td class="header_column bottom right" align="center">{--ADMIN_OPTIMIZE_REPAIRED--}</td>
+ <td class="header_column bottom right" align="center">{--ADMIN_OPTIMIZE_OPTIMIZED--}</td>
+ <td class="header_column bottom right" align="center">{--ADMIN_OPTIMIZE_TOTAL_SIZE--}</td>
+ <td class="header_column bottom" align="center">{--ADMIN_OPTIMIZE_GAIN_SIZE--}</td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="5" class="table_footer" style="padding-top: 15px; padding-bottom: 15px;">
+ {--ADMIN_OPTIMIZE_DB_TOTAL_TABLES--}: $content[total_tabs]<br />
+ {--ADMIN_OPTIMIZE_DB_TOTAL_SIZE--}: {%pipe,translateComma=$content[total_size]%} {--KBYTES--}<br />
+ {--ADMIN_OPTIMIZE_DB_TOTAL_OPTIMIZE--}: $content[total_rows]<br />
+ {--ADMIN_OPTIMIZE_DB_TOTAL_OPTI--}: {%pipe,translateComma=$content[total_optimized]%} {--KBYTES--}<br />
+ {--ADMIN_OPTIMIZE_DB_TOTAL_GAIN_TABLES--}: $content[now_optimized]<br />
+ {--ADMIN_OPTIMIZE_DB_TOTAL_GAIN_SIZE--}: {%pipe,translateComma=$content[total_gain]%} {--KBYTES--}
+ </td>
+</tr>
</table>
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
+<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td colspan="2" align="center" class="admin_task_header bottom">
- <strong>{--ADMIN_SELECTED_TASKS_ASSIGN--}:</strong>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--ADMIN_SELECTED_TASKS_ASSIGN--}
</td>
</tr>
+
$content
+
<tr>
<td colspan="2" align="center" class="table_footer">
</td>
</tr>
</table>
+</div>
{%form,formMethodPost=modules.php?module=admin%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td colspan="7" align="center" class="admin_task_header bottom">
- <strong>{--ADMIN_TASK_SYSTEM_WELCOME--}</strong>
+ <td colspan="7" align="center" class="table_header bottom">
+ {--ADMIN_TASK_SYSTEM_WELCOME--}
</td>
</tr>
<tr>
- <td align="center" class="bottom right left header_column" width="30"><strong>{--ID_SELECT--}</strong></td>
- <td align="center" class="bottom right header_column"><strong>{--ADMIN_ASSIGNED_ADMIN--}</strong></td>
- <td align="center" class="bottom right header_column"><strong>{--ADMIN_REGISTER_EXTENSION--}</strong></td>
- <td align="center" class="bottom right header_column"><strong>{--ADMIN_TASK_INFOS--}</strong></td>
- <td align="center" class="bottom right header_column"><strong>{--ADMIN_MEMBER_USERID--}</strong></td>
- <td align="center" class="bottom right header_column"><strong>{--ADMIN_TASK_TYPE--}</strong></td>
- <td align="center" class="bottom right header_column"><strong>{--ADMIN_TASK_CREATED--}</strong></td>
+ <td align="center" class="bottom right left header_column" width="30">{--ID_SELECT--}</td>
+ <td align="center" class="bottom right header_column">{--ADMIN_TASK_ASSIGNED_ADMIN--}</td>
+ <td align="center" class="bottom right header_column">{--ADMIN_TASK_REGISTER_EXTENSION--}</td>
+ <td align="center" class="bottom right header_column">{--ADMIN_TASK_INFOS--}</td>
+ <td align="center" class="bottom right header_column">{--ADMIN_ASSIGNED_USERID--}</td>
+ <td align="center" class="bottom right header_column">{--ADMIN_TASK_TYPE--}</td>
+ <td align="center" class="bottom right header_column">{--ADMIN_TASK_CREATED--}</td>
</tr>
$content
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="40">
- <strong>{--ADMIN_PAYOUT_TRANSFER_FAILED--}:</strong>
- </td>
- </tr>
- <tr>
- <td align="center" height="40"><strong>$content</strong></td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom">
+ {--ADMIN_PAYOUT_TRANSFER_FAILED--}:
+ </td>
+</tr>
+
+<tr>
+ <td align="center">
+ $content
+ </td>
+</tr>
</table>
+</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
{%form,formMethodGet=modules.php%}
<div class="dashed">
<div class="table_header bottom">
- <strong>{%message,ADMIN_SHOW_CONFIG_NETWORK_HANDLER_TYPE_TITLE=$content[network_type_handler]%}</strong>
+ {%message,ADMIN_SHOW_CONFIG_NETWORK_HANDLER_TYPE_TITLE=$content[network_type_handler]%}
</div>
<div>
{%message,ADMIN_CONFIG_NETWORK_HANDLER_TYPE_MAX_RELOAD_TIME=$content[network_type_reload_time_unit]%}<br />
- <strong>{%pipe,createFancyTime=$content[network_max_reload_time]%}</strong>
+ {%pipe,createFancyTime=$content[network_max_reload_time]%}
</div>
<div>
{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_MIN_WAITING_TIME--}<br />
- <strong>{%pipe,fixEmptyContentToDashes=$content[network_min_waiting_time]%}</strong>
+ {%pipe,fixEmptyContentToDashes=$content[network_min_waiting_time]%}
</div>
<div>
{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_MAX_WAITING_TIME--}<br />
- <strong>{%pipe,fixEmptyContentToDashes=$content[network_max_waiting_time]%}</strong>
+ {%pipe,fixEmptyContentToDashes=$content[network_max_waiting_time]%}
</div>
<div>
{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_MIN_REMAIN_BUDGET--}<br />
- <strong>{%pipe,translateFullComma=$content[network_min_remain_budget]%}</strong>
+ {%pipe,translateFullComma=$content[network_min_remain_budget]%}
</div>
<div>
{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_MIN_REMAIN_CLICKS--}<br />
- <strong>{%pipe,translateComma=$content[network_min_remain_clicks]%}</strong>
+ {%pipe,translateComma=$content[network_min_remain_clicks]%}
</div>
<div>
{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_MIN_PAYMENT--}<br />
- <strong>{%pipe,translateFullComma=$content[network_min_payment]%}</strong>
+ {%pipe,translateFullComma=$content[network_min_payment]%}
</div>
<div>
{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_ALLOW_EROTIC--}<br />
- <strong>{%pipe,fixEmptyContentToDashes=$content[network_allow_erotic]%}</strong>
+ {%pipe,fixEmptyContentToDashes=$content[network_allow_erotic]%}
</div>
<div>
{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_MEDIA_SIZE--}<br />
- <strong>{%pipe,fixEmptyContentToDashes=$content[network_media_size]%}</strong>
+ {%pipe,fixEmptyContentToDashes=$content[network_media_size]%}
</div>
<div class="bottom">
{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_MEDIA_OUTPUT--}<br />
- <strong>{%pipe,translateNetworkMediaOutputType=$content[network_media_output]%}</strong>
+ {%pipe,translateNetworkMediaOutputType=$content[network_media_output]%}
</div>
<div class="table_footer">
+++ /dev/null
-<!-- @DEPRECATED //-->
</td>
</tr>
<tr>
- <td align="right" height="25">
+ <td align="right">
{--DOUBLER_ENTER_LOGIN_DATA--}:
</td>
<td>
</td>
</tr>
<tr>
- <td align="right" height="25">
+ <td align="right">
{--GUEST_ENTER_PASSWORD--}:
</td>
<td>
</td>
</tr>
<tr>
- <td class="bottom" align="right" height="25">
+ <td class="bottom" align="right">
{--DOUBLER_ENTER_POINTS--}:
</td>
<td class="bottom">
<br />
$content[payout_time]<br />
<br />
- {--DOUBLER_POINTS_1--} <strong>{%config,translateComma=doubler_charge%}%</strong>
- {--DOUBLER_POINTS_2--}<br />
+ {--DOUBLER_POINTS--}<br />
<br />
- {--DOUBLER_EXAMPLE_1--} <strong>500 {?POINTS?}</strong> »»
- {--DOUBLER_EXAMPLE_2--} <strong>1000 {?POINTS?}</strong>{--DOUBLER_EXAMPLE_3--}<br />
+ {--DOUBLER_EXAMPLE--}<br />
<br />
<div class="big">{--DOUBLER_FULL_PAYOUT--}</div><br />
<br />
- {--DOUBLER_REFERRAL_1--}
- {--DOUBLER_REFERRAL_2--}
+ {--DOUBLER_REFERRAL--}
{--DOUBLER_REFERRAL_LINK--}<br />
$content[message]<br />
{--DOUBLER_NOT_YET_REGISTERED--} <a
<div class="para">
-Stufen Sie Ihre Mitglieder z.B. in Bronze, Silber, Gold und Platin für das
-Erreichen von einstellbaren Punkteständen und/oder bestätigter Mails
-ein und vergeben Sie Ermäßigungen oder Sonderboni für das
-Erreichen der Stufen. Wenn die Ermäßigung eingelöst bzw. der
-Sonderbonus ausgewählt wurde, verfällt die erreichte Stufe und das
-Mitglied kann diese erneut erreichen. Anderfalls kann das Mitglied sich zur
-nächsten Stufe hocharbeiten.
+ Stufen Sie Ihre Mitglieder z.B. in Bronze, Silber, Gold und Platin für
+ das Erreichen von einstellbaren {?POINTS?}-Ständen und/oder
+ bestätigter Mails ein und vergeben Sie Ermäßigungen oder
+ Sonderboni für das Erreichen der Stufen. Wenn die Ermäßigung
+ eingelöst bzw. der Sonderbonus ausgewählt wurde, verfällt die
+ erreichte Stufe und das Mitglied kann diese erneut erreichen. Anderfalls
+ kann das Mitglied sich zur nächsten Stufe hocharbeiten.
</div>
<div class="para">
-Sie sollten beispielweise Bronze als niedrigste und Platin als höchste
-Stufe nehmen. Dann können Ihre Mitglieder es sich aussuchen, ob sie weiter
-verdienen wollen um an eine höhere Stufe zu gelangen, oder ob sie sich mit
-der niedrigeren Stufe zufrieden geben.
+ Sie sollten beispielweise Bronze als niedrigste und Platin als höchste
+ Stufe nehmen. Dann können Ihre Mitglieder es sich aussuchen, ob sie
+ weiter verdienen wollen um an eine höhere Stufe zu gelangen, oder ob
+ sie sich mit der niedrigeren Stufe zufrieden geben.
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
--- /dev/null
+<div class="para">
+ Diese Erweiterung ersetzt <strong>ext-top10</strong> (welche nur die ersten
+ 10 Einträge zeigt) gegen eine vollständige Ranking-Tabelle mit
+ allen Seiten. Da diese Erweiterung den Datenbankserver sehr stark belasten
+ kann, können die Daten pro Mitglied und pro "Rankingseite"
+ in einen speziell einstellbaren MemCache gespeichert.
+</div>
mehr URLs gebucht, erhält es für den Besuch anderer gebuchter
Webseiten ebenfalls mehr {OPEN_CONFIG}POINTS{CLOSE_CONFIG} gutgeschrieben.
Dabei richtig sich der Basispreis nach der gebuchten Vergütung pro
- Klick aus der Mailbestellung. Die dynamischen Gutschriften werden
+ Klick aus der Mailbuchung. Die dynamischen Gutschriften werden
prozentual errechnet und gemeinsam mit der Basisvergütung
gutgeschrieben. Die prozentuale Ref-Vergütung wird jedoch nur von der
Basisvergütung berechnet.
--- /dev/null
+<div class="para">
+ @TODO Transaktionen ...
+</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
<tr>
<td colspan="3" align="center" class="bottom">
- <table border="0" cellspacing="0" cellpadding="0" width="400" class="table dashed">
+ <table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" height="40"><strong>{--GUEST_ACTIVE_NO_MEMER_ONLINE_TODAY--}</strong>
+ <td align="center">
+ {--GUEST_ACTIVE_NO_MEMER_ONLINE_TODAY--}
</td>
</tr>
</table>
+++ /dev/null
-<!-- @DEPRECATED //-->
<li>{--DOUBLER_USAGE_COUNTER--}</li>
<li>$content[payout_time]</li>
<li><strong>{--DOUBLER_FULL_PAYOUT--}</strong></li>
- <li>{--DOUBLER_POINTS_1--} <strong>{%config,translateComma=doubler_charge%}%</strong> {--DOUBLER_POINTS_2--}</li>
- <li>{--DOUBLER_EXAMPLE_1--} <strong>500 {?POINTS?}</strong> »» {--DOUBLER_EXAMPLE_2--} <strong>1000 {?POINTS?}</strong>{--DOUBLER_EXAMPLE_3--}</li>
- <li>{--DOUBLER_REFERRAL_1--}
- <li>{--DOUBLER_REFERRAL_2--}</li>
+ <li>{--DOUBLER_POINTS--}</li>
+ <li>{--DOUBLER_EXAMPLE--}</li>
+ <li>{--DOUBLER_REFERRAL--}
<li>{--DOUBLER_REFERRAL_LINK--}</li>
<li>{--DOUBLER_TIMEOUT--}</li>
<li>{--DOUBLER_HAVE_FUN--}</li>
<tr>
<td colspan="3" align="center" class="bottom">
- <table border="0" cellspacing="0" cellpadding="0" width="400" class="table dashed">
+ <table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" height="40"><strong>{--GUEST_ACTIVE_NO_MEMER_ONLINE_TODAY--}</strong>
+ <td align="center">
+ {--GUEST_ACTIVE_NO_MEMER_ONLINE_TODAY--}
</td>
</tr>
</table>
<div align="center">
-<table border="0" cellspacing="0" cellpadding="0" width="430" class="table dashed">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" class="header_column bottom" width="80" height="25"><strong>{--_RALLYE_PRICE--}</strong></td>
- <td align="center" class="header_column bottom" width="50"><strong>{--_USERID--}</strong></td>
- <td align="center" class="header_column bottom" width="300"><strong>{--RALLYE_REFS--}</strong></td>
+ <td align="center" class="header_column bottom">{--_RALLYE_PRICE--}</td>
+ <td align="center" class="header_column bottom">{--_USERID--}</td>
+ <td align="center" class="header_column bottom">{--RALLYE_REFS--}</td>
</tr>
+
$content[rows]
+
<tr>
<td colspan="3" class="table_footer" align="left">
<div align="left"><ul>
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
<div align="center">
-<table border="0" cellspacing="0" cellpadding="0" width="440" class="table dashed">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td width="60%" align="right" height="40" class="register_left">
+ <td width="60%" align="right" class="register_left">
{--MAX_MAILS_PER_DAY--}:
</td>
<td width="40%" class="register_right">
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" width="90%" class="table dashed">
- <tr>
- <td class="table_header bottom" height="25">
- <strong>{--GUEST_RALLYE_HAS_STARTED_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td class="bottom" align="left" style="margin-left: 5px; margin-right: 5px; margin-top: 10px; margin-bottom: 10px">
- <ul>
- <li>Titel: <strong>$content[title]</strong></li>
- <li>Start: <strong>$content[start_time]</strong></li>
- <li>Ende : <strong>$content[end_time]</strong></li>
- </ul>
- </td>
- </tr>
- <tr>
- <td class="table_header bottom" height="25">
- <strong>...:: $content[title] ::...</strong>
- </td>
- </tr>
- <tr>
- <td class="bottom">
- <div style="margin-left: 5px; margin-right: 5px; margin-top: 3px; margin-bottom: 3px">
- $content[descr]
- </div>
- </td>
- </tr>
- <tr>
- <td class="table_header bottom" height="25">
- <strong>$content[can_win_this]:</strong>
- </td>
- </tr>
- <tr>
- <td class="bottom">
- <div style="margin-left: 5px; margin-right: 5px; margin-top: 10px; margin-bottom: 10px">
- $content[prices]
- </div>
- </td>
- </tr>
- <tr>
- <td class="table_header bottom" height="25">
- <strong>Aktueller Stand der Rallye:</strong>
- </td>
- </tr>
- <tr>
- <td class="bottom" align="center">
- <div style="margin-left: 5px; margin-right: 5px; margin-top: 10px; margin-bottom: 10px" align="center">
- $content[top_users]
- </div>
- </td>
- </tr>
- <tr>
- <td class="table_footer" height="25">
- <div align="center" style="margin-left: 5px; margin-right: 5px; margin-top: 3px; margin-bottom: 3px">
- <strong>...:: $content[extras] ::...</strong>
- </div>
- </td>
- </tr>
+<tr>
+ <td class="table_header bottom">
+ {--GUEST_RALLYE_HAS_STARTED_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="left" style="margin-left: 5px; margin-right: 5px; margin-top: 10px; margin-bottom: 10px">
+ <ul>
+ <li>Titel: <strong>$content[title]</strong></li>
+ <li>Start: <strong>$content[start_time]</strong></li>
+ <li>Ende : <strong>$content[end_time]</strong></li>
+ </ul>
+ </td>
+</tr>
+
+<tr>
+ <td class="table_header bottom">
+ <strong>...:: $content[title] ::...</strong>
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom">
+ <div style="margin-left: 5px; margin-right: 5px; margin-top: 3px; margin-bottom: 3px">
+ $content[descr]
+ </div>
+ </td>
+</tr>
+
+<tr>
+ <td class="table_header bottom">
+ <strong>$content[can_win_this]:</strong>
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom">
+ <div style="margin-left: 5px; margin-right: 5px; margin-top: 10px; margin-bottom: 10px">
+ $content[prices]
+ </div>
+ </td>
+</tr>
+
+<tr>
+ <td class="table_header bottom">
+ <strong>Aktueller Stand der Rallye:</strong>
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="center">
+ <div style="margin-left: 5px; margin-right: 5px; margin-top: 10px; margin-bottom: 10px" align="center">
+ $content[top_users]
+ </div>
+ </td>
+</tr>
+
+<tr>
+ <td class="table_footer">
+ <div align="center" style="margin-left: 5px; margin-right: 5px; margin-top: 3px; margin-bottom: 3px">
+ <strong>...:: $content[extras] ::...</strong>
+ </div>
+ </td>
+</tr>
</table>
</div>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td colspan="3" class="impressum_header"><strong><u>Impressum</u></strong></td>
- </tr>
- <tr>
- <td class="impressum_body">
- <div class="para">
- Ihr Name hier!<br />
- Ihre Strasse<br />
- XX-12345 Demo-Dorf
- </div>
+<tr>
+ <td colspan="3" class="table_header">
+ <u>Impressum</u>
+ </td>
+</tr>
- <div class="para">
- Tel.: +49(0)-123-456789
- </div>
+<tr>
+ <td class="impressum_body">
+ <div class="para">
+ Ihr Name hier!<br />
+ Ihre Strasse<br />
+ XX-12345 Demo-Dorf
+ </div>
- <div class="para">
- Email: <a href="mailto:{?WEBMASTER?}">{?WEBMASTER?}</a>
- </div>
- </td>
- </tr>
+ <div class="para">
+ Tel.: +49(0)-123-456789
+ </div>
+
+ <div class="para">
+ Email: <a href="mailto:{?WEBMASTER?}">{?WEBMASTER?}</a>
+ </div>
+ </td>
+</tr>
</table>
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
<div id="install_progress" class="ajax_progress" style="display: none;">
<div class="ajax_progress_title">
- <strong>{--INSTALLER_AJAX_FINISH_TITLE--}</strong>
+ <strong>{--INSTALLER_AJAX_PROGRESS_TITLE--}</strong>
</div>
<div class="ajax_progress_close">
<strong id="install_progress_close" style="padding-left:1.5px;cursor:wait">X</strong>
</div>
</div>
+<div id="install_success" class="ajax_success" style="display: none;">
+ <div class="ajax_success_title">
+ <strong>{--INSTALLER_AJAX_SUCCESS_TITLE--}</strong>
+ </div>
+ <div class="ajax_success_close">
+ <strong id="install_success_close" style="padding-left:1.5px;cursor:wait">X</strong>
+ </div>
+ <div style="clear:both"></div>
+ <div class="ajax_success_content" id="install_success_content">
+ <!-- Content will be inserted here by AJAX //-->
+ </div>
+</div>
+
<div style="clear:both"></div>
<div class="install_content_container">
<li id="install_smtp_config" class="tab_enabled"><a href="#" title="{--INSTALLER_TAB_NAVIGATION_SMTP_CONFIG_TITLE--}">{--INSTALLER_TAB_NAVIGATION_SMTP_CONFIG_LINK--}</a></li>
<li id="install_other_config" class="tab_enabled"><a href="#" title="{--INSTALLER_TAB_NAVIGATION_OTHER_CONFIG_TITLE--}">{--INSTALLER_TAB_NAVIGATION_OTHER_CONFIG_LINK--}</a></li>
<li id="install_extensions" class="tab_enabled"><a id="install_extensions_link" class="tabnav_enabled" href="#" title="{--INSTALLER_TAB_NAVIGATION_EXTENSIONS_TITLE--}">{--INSTALLER_TAB_NAVIGATION_EXTENSIONS_LINK--}</a></li>
+ <li id="install_first_admin" class="tab_enabled"><a id="install_first_admin_link" class="tabnav_enabled" href="#" title="{--INSTALLER_TAB_NAVIGATION_FIRST_ADMIN_TITLE--}">{--INSTALLER_TAB_NAVIGATION_FIRST_ADMIN_LINK--}</a></li>
<li id="install_overview" class="tab_enabled"><a id="install_overview_link" class="tabnav_enabled" href="#" title="{--INSTALLER_TAB_NAVIGATION_OVERVIEW_TITLE--}">{--INSTALLER_TAB_NAVIGATION_OVERVIEW_LINK--}</a></li>
</ul>
</div>
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="base_url">{--INSTALLER_LABEL_BASE_URL--}</label>
<input type="text" class="form_field" id="base_url" name="base_url" size="50" value="{%session=base_url%}" onchange="return allowSaveChanges('base_url')" />
<input type="text" class="form_field" id="main_title" name="main_title" size="50" maxlength="255" value="{%session=main_title%}" onchange="return allowSaveChanges('main_title')" />
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="slogan">{--INSTALLER_LABEL_SLOGAN--}</label>
<input type="text" class="form_field" id="slogan" name="slogan" size="50" maxlength="255" value="{%session=slogan%}" onchange="return allowSaveChanges('slogan')" />
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="webmaster">{--INSTALLER_LABEL_WEBMASTER--}</label>
<input type="text" class="form_field" id="webmaster" name="webmaster" size="30" maxlength="255" value="{%session=webmaster%}" onchange="return allowSaveChanges('webmaster')" />
<input type="text" class="form_field" id="mysql_host" name="mysql_host" size="25" value="{%session=mysql_host%}" onchange="return allowSaveChanges('mysql_host')" />
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="mysql_dbase">{--INSTALLER_MYSQL_DBASE--}</label>
<input type="text" class="form_field" id="mysql_dbase" name="mysql_dbase" size="25" value="{%session=mysql_dbase%}" onchange="return allowSaveChanges('mysql_dbase')" />
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="mysql_prefix">{--INSTALLER_MYSQL_PREFIX--}</label>
<input type="text" class="form_field" id="mysql_prefix" name="mysql_prefix" size="25" value="{%session=mysql_prefix%}" onchange="return allowSaveChanges('mysql_prefix')" />
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="mysql_engine">{--INSTALLER_MYSQL_ENGINE--}</label>
<select id="mysql_engine" name="mysql_engine" size="1" class="form_select" onchange="return allowSaveChanges('mysql_engine')">
<input type="text" class="form_field" id="mysql_login" name="mysql_login" size="25" value="{%session=mysql_login%}" onchange="return allowSaveChanges('mysql_login')" />
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="mysql_password1">{--INSTALLER_MYSQL_PASSWORD1--}</label>
<input type="password" class="form_field" id="mysql_password1" name="mysql_password1" size="25" value="{%session=mysql_password1%}" onchange="return allowSaveChanges('mysql_password1')" />
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="mysql_password2">{--INSTALLER_MYSQL_PASSWORD2--}</label>
<input type="password" class="form_field" id="mysql_password2" name="mysql_password2" size="25" value="{%session=mysql_password2%}" onchange="return allowSaveChanges('mysql_password2')" />
{--INSTALLER_PAGE_EXTENSIONS_TITLE--}
</div>
+<div class="para">
+ {--INSTALLER_EXTENSION_DESCRIPTION--}
+</div>
+
<div class="para dashed" style="overflow: scroll; height: 400px;">
<form>
{%pipe,generateInstallerExtensionTable%}
--- /dev/null
+<div align="center">
+<div class="install_title">
+ {--INSTALLER_PAGE_FIRST_ADMIN_TITLE--}
+</div>
+
+<div class="para">
+ {--INSTALLER_FIRST_ADMIN_DESCRIPTION--}
+</div>
+
+<form>
+<fieldset id="host_dbase_prefix_type">
+ <legend>{--INSTALLER_FIRST_ADMIN_LEGEND--}</legend>
+ <div class="table_row">
+ <label class="install_label" for="admin_login">{--INSTALLER_FIRST_ADMIN_LOGIN--}</label>
+ <input type="text" class="form_field" id="admin_login" name="admin_login" size="25" value="{%session=admin_login%}" onchange="return allowSaveChanges('admin_login')" />
+ </div>
+
+ <div class="clear"></div>
+
+ <div class="table_row">
+ <label class="install_label" for="admin_email">{--INSTALLER_FIRST_ADMIN_EMAIL--}</label>
+ <input type="text" class="form_field" id="admin_email" name="admin_email" size="25" value="{%session=admin_email%}" onchange="return allowSaveChanges('admin_email')" />
+ </div>
+
+ <div class="clear"></div>
+
+ <div class="table_row">
+ <label class="install_label" for="admin_password1">{--INSTALLER_FIRST_ADMIN_PASSWORD1--}</label>
+ <input type="password" class="form_field" id="admin_password1" name="admin_password1" size="25" value="{%session=admin_password1%}" onchange="return allowSaveChanges('admin_password1')" />
+
+ <div class="field_note">
+ {--INSTALLER_ADMIN_PASSWORD_NOTICE--}
+ </div>
+ </div>
+
+ <div class="clear"></div>
+
+ <div class="table_row">
+ <label class="install_label" for="admin_password2">{--INSTALLER_FIRST_ADMIN_PASSWORD2--}</label>
+ <input type="password" class="form_field" id="admin_password2" name="admin_password2" size="25" value="{%session=admin_password2%}" onchange="return allowSaveChanges('admin_password2')" />
+ </div>
+</fieldset>
+</form>
+
+</div>
</select>
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="warn_no_pass">{--INSTALLER_WARN_NO_PASSWORD--}</label>
<select id="warn_no_pass" name="warn_no_pass" size="1" class="form_select" onchange="return allowSaveChanges('warn_no_pass')">
</select>
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="write_footer">{--INSTALLER_CONFIG_WRITE_FOOTER--}</label>
<select id="write_footer" name="write_footer" size="1" class="form_select" onchange="return allowSaveChanges('write_footer')">
</select>
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="enable_backlink">{--INSTALLER_ENABLE_BACKLINK--}</label>
<select id="enable_backlink" name="enable_backlink" size="1" class="form_select" onchange="return allowSaveChanges('enable_backlink')">
{%session-pipe,generateYesNoOptions=enable_backlink%}
</select>
+ </div>
+
+ <div class="clear"></div>
+ <div class="table_row">
<div class="field_note">
{--INSTALLER_ENABLE_BACKLINK_NOTICE--}
</div>
</div>
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="smtp_user">{--INSTALLER_SMTP_USER--}</label>
<input type="text" class="form_field" id="smtp_user" name="smtp_user" size="20" value="{%session=smtp_user%}" onchange="return allowSaveChanges('smtp_user')" />
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="smtp_password1">{--INSTALLER_SMTP_PASSWORD1--}</label>
<input type="password" class="form_field" id="smtp_password1" name="smtp_password1" size="15" value="{%session=smtp_password1%}" onchange="return allowSaveChanges('smtp_password1')" />
</div>
+ <div class="clear"></div>
+
<div class="table_row">
<label class="install_label" for="smtp_password2">{--INSTALLER_SMTP_PASSWORD2--}</label>
<input type="password" class="form_field" id="smtp_password2" name="smtp_password2" size="15" value="{%session=smtp_password2%}" onchange="return allowSaveChanges('smtp_password2')" />
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" width="430" class="mediadata dashed">
<tr>
- <td class="media_header bottom" colspan="2" align="center">
+ <td class="table_header bottom" colspan="2" align="center">
{--MEDIA_DATA_GENERAL--}
</td>
</tr>
</td>
</tr>
<tr>
- <td class="media_header bottom" colspan="2" align="center">{--MEDIA_DATA_MEMBERS--}</td>
+ <td class="table_header bottom" colspan="2" align="center">{--MEDIA_DATA_MEMBERS--}</td>
</tr>
<tr>
<td class="bottom media_left" align="right">{--USERS_TOTAL--}:</td>
</tr>
$content[out_user]
<tr>
- <td class="media_header bottom" colspan="2" align="center">
+ <td class="table_header bottom" colspan="2" align="center">
{--MEDIA_DATA_MAIL--}
</td>
</tr>
<td class="bottom media_right">{%pipe,translateComma=$content[click_rate]%}%</td>
</tr>
<tr>
- <td class="media_header bottom" colspan="2" align="center">{--MEDIA_DATA_POINTS--}</td>
+ <td class="table_header bottom" colspan="2" align="center">{--MEDIA_DATA_POINTS--}</td>
</tr>
<tr>
<td class="bottom media_left" align="right">{--JACKPOT_POINTS--}:</td>
</tr>
$content[out_points]
<tr>
- <td class="media_header bottom" colspan="2" align="center">{--MEDIA_DATA_REFBANNER--}</td>
+ <td class="table_header bottom" colspan="2" align="center">{--MEDIA_DATA_REFBANNER--}</td>
</tr>
<tr>
<td class="bottom media_left" align="right">{--TOTAL_REFERRAL_BANNER--}:</td>
<td class="bottom media_right">{%pipe,translateComma=$content[ref_clicks]%}</td>
</tr>
<tr>
- <td class="media_header bottom" colspan="2" align="center">{--MEDIA_DATA_MISC--}</td>
+ <td class="table_header bottom" colspan="2" align="center">{--MEDIA_DATA_MISC--}</td>
</tr>
<tr>
<td class="bottom media_left" align="right">{--TOTAL_REFCLICKS--}:</td>
$content[out_extra]
$content[out_special]
<tr>
- <td class="media_header bottom" colspan="2" align="center">{--MEDIA_DATA_SCRIPT--}</td>
+ <td class="table_header bottom" colspan="2" align="center">{--MEDIA_DATA_SCRIPT--}</td>
</tr>
<tr>
<td class="bottom medium" align="center" colspan="2">
<td class="bottom media_right">{%pipe,getDateTimeFromRepository%}</td>
</tr>
<tr>
- <td class="media_header" colspan="2">
+ <td class="table_header" colspan="2">
<div class="tiny">
[<strong><a href="{%url=modules.php?module=index&what=stats%}">{--CONTINUE_MEMBER_STATS--}</a></strong>]
</div>
<tr>
- <td class="media_header bottom" colspan="3" align="center">$content</td>
+ <td class="table_header bottom" colspan="3" align="center">
+ $content
+ </td>
</tr>
<div class="table_row">
<label class="member_label" for="subid">{--MEMBER_ENTER_SUBID--}</label>
- <input type="text" class="form_field" name="subid" size="30" />
+ <input type="text" class="form_field" name="subid" size="30" maxlength="255" />
</div>
</fieldset>
- <div class="table_footer top" style="margin-top:5px" colspan="2" align="center">
+ <div class="table_footer top" colspan="2" align="center">
<input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
<input type="submit" class="form_submit" name="add_subid" value="{--MEMBER_USER_SUBIDS_ADD_SUBMIT--}" />
</div>
<div class="table_header bottom">
<strong>{--MEMBER_BEG_LINK_TITLE--}</strong>
</div>
+
<div class="table_row para">
{--MEMBER_BEG_YOUR_LINK--}<br />
<strong><a href="{?URL?}/beg.php?userid=$content[userid]">{?URL?}/beg.php?userid=$content[userid]</a></strong>
</div>
+
<div class="table_row para">
{--MEMBER_BEG_CLICKS_TOTAL--}
<strong>{%user,beg_clicks,translateComma%}</strong>
</div>
+
<div class="table_row para">
{--MEMBER_BEG_POINTS--}
</div>
+
<div class="table_row para bottom">
{%message,MEMBER_BEG_TIMEOUT%}
</div>
+
<div class="table_footer">
<strong>{--MEMBER_BEG_HAVE_FUN--}</strong>
</div>
<tr>
- <td colspan="4" align="center" class="member_data bottom" height="40">
- {--BEG_RALLYE_NO_ONE_JOINED--}</td>
+ <td colspan="4" align="center" class="member_data bottom">
+ {--BEG_RALLYE_NO_ONE_JOINED--}
+ </td>
</tr>
<div align="center">
<div class="table dashed">
<div class="table_header">
- <strong>{--MEMBER_BONUS_HERE_IS_THE_LIST--}</strong>
+ {--MEMBER_BONUS_HERE_IS_THE_LIST--}
</div>
</div>
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td width="80" align="center" class="header_column bottom"><strong>{--BONUS_RANK--}:</strong></td>
- <td width="120" align="center" class="header_column bottom"><strong>{--_USERID--}:</strong></td>
+<tr>
+ <td align="center" class="header_column bottom">{--BONUS_RANK--}:</td>
+ <td align="center" class="header_column bottom">{--_USERID--}:</td>
+ <td align="center" class="header_column bottom">{?POINTS?}:</td>
+ <td align="center" class="header_column bottom">{--LAST_ONLINE_SHORT--}:</td>
+</tr>
- <td width="100" align="center" class="header_column bottom"><strong>{?POINTS?}:</strong></td>
- <td width="220" align="center" class="header_column bottom"><strong>{--LAST_ONLINE_SHORT--}:</strong></td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="4" class="table_footer" align="center">
- <div class="tiny notice">{--MEMBER_BONUS_RALLYE_NOTICE--}</div>
- </td>
- </tr>
+$content[rows]
+
+<tr>
+ <td colspan="4" class="table_footer" align="center">
+ <div class="tiny notice">{--MEMBER_BONUS_RALLYE_NOTICE--}</div>
+ </td>
+</tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="90%" class="table dashed">
<tr>
<td class="header_column bottom" align="center">
- <strong>{--MEMBER_BONUS_RALLYE_CONDITIONS--}:</strong>
+ {--MEMBER_BONUS_RALLYE_CONDITIONS--}:
</td>
</tr>
<tr>
<td class="notice bottom">
<ol align="left">
- <li class="tiny">Es werden nur aktive und freigeschaltete Mitglieder berücksichtig.</li>
+ <li class="tiny">Es werden nur aktive und freigeschaltete Mitglieder berücksichtigt.</li>
<li class="tiny">Der Login-Bonus wird bei der Auswertung nicht beachtet, aber dem Mitglied gutgeschrieben.</li>
<li class="tiny">Es kann jeder dran teilnehmen, der Mitglied bei diesem {?mt_word?} (<strong>{?MAIN_TITLE?}</strong>) und freigegeben ist.</li>
<li class="tiny">Zur Erstellung des Rallye-Ergebnisses wird nur die Aktiv-Vergütung berücksichtig, welche Sie beim Bestätigen von Mails erhalten können.</li>
<tr>
- <td colspan="4" align="center" class="member_data bottom" height="40">
+ <td colspan="4" align="center" class="member_data bottom">
{--MEMBER_BONUS_RALLYE_NO_ONE_JOINED--}
</td>
</tr>
<div align="center">
{%form,formMethodPost=modules.php?module=login&what=subids&do=delete_subids%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--MEMBER_DELETE_USER_SUBIDS_TITLE--}</strong>
- </td>
- </tr>
- $content
- <tr>
- <td colspan="4" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_delete" name="do_delete" value="{--MEMBER_USER_SUBIDS_REMOVE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--MEMBER_DELETE_USER_SUBIDS_TITLE--}
+ </td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="4" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_delete" name="do_delete" value="{--MEMBER_USER_SUBIDS_REMOVE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<strong>Tipp:</strong> Nutzen Sie diesen zum Werben unseres {?mt_word2?}, um die <strong>{%config,translateComma=doubler_ref%}%</strong> Referral-Vergütung zu erhalten!
</div>
- <div class="big">{--MEMBER_DOUBLER_ALREADY_PAYOUT--}:</div>
+ <div>{--MEMBER_DOUBLER_ALREADY_PAYOUT--}:</div>
$content[payout_history]
- <div class="big">{--MEMBER_DOUBLER_NEXT_PAYOUT--}:</div>
+ <div>{--MEMBER_DOUBLER_NEXT_PAYOUT--}:</div>
{%pipe,getMemberId,generateDoublerTable%}
- <div class="big">{--MEMBER_DOUBLER_REFERRAL_PAYOUT--}:</div>
+ <div>{--MEMBER_DOUBLER_REFERRAL_PAYOUT--}:</div>
$content[payout_ref]
</div>
<div align="center" class="table dashed">
<div align="center" class="table_header bottom">
- <strong class="big">{--DOUBLER_GENERAL_INFOS--}:</strong>
+ {--DOUBLER_GENERAL_INFOS--}:
</div>
- <div class="bottom" style="padding-left: 0px; padding-right: 10px; padding-top: 10px; padding-bottom: 10px">
+ <div class="bottom">
+ <div class="para" align="left">
<ul>
<li>{--DOUBLER_MINIMUM_IS--} <strong>{%config,translateComma=doubler_min%} {?POINTS?}</strong> {--DOUBLER_MAXIMUM_IS--} <strong>{%config,translateComma=doubler_max%} {?POINTS?}</strong></li>
<li>Es wurden bereits <strong>{%config,translateComma=doubler_points%} {?POINTS?}</strong> ausgezahlt.</li>
<li>{--DOUBLER_USAGE_COUNTER--}</li>
<li>$content[payout_time]</li>
<li><strong>{--DOUBLER_FULL_PAYOUT--}</strong></li>
- <li>{--DOUBLER_POINTS_1--} <strong>{%config,translateComma=doubler_charge%}%</strong> {--DOUBLER_POINTS_2--}</li>
- <li>{--DOUBLER_EXAMPLE_1--} <strong>500 {?POINTS?}</strong> »» {--DOUBLER_EXAMPLE_2--} <strong>1000 {?POINTS?}</strong>{--DOUBLER_EXAMPLE_3--}</li>
- <li>{--DOUBLER_REFERRAL_1--}</li>
- <li>{--DOUBLER_REFERRAL_2--}</li>
+ <li>{--DOUBLER_POINTS--}</li>
+ <li>{--DOUBLER_EXAMPLE--}</li>
+ <li>{--DOUBLER_REFERRAL--}</li>
<li>{--DOUBLER_REFERRAL_LINK--}</li>
<li>{--DOUBLER_TIMEOUT--}</li>
<li>{--DOUBLER_HAVE_FUN--}</li>
</ul>
+ </div>
</div>
<div align="center" class="table_header bottom">
- <strong class="big">{--DOUBLER_REGISTER_ADVERT--}:</strong>
+ {--DOUBLER_REGISTER_ADVERT--}:
</div>
<div style="padding-left: 10px; padding-right: 10px; padding-top: 10px; padding-bottom: 10px">
{--DOUBLER_YOUR_ADVERTISING_HERE--}
<div align="center">
{%form,formMethodPost=modules.php?module=login&what=subids&do=edit_subids%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" class="table_header bottom" height="25" colspan="4">
- <strong>{--MEMBER_EDIT_USER_SUBIDS_TITLE--}</strong>
- </td>
- </tr>
- $content
- <tr>
- <td colspan="4" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="do_edit" value="{--MEMBER_USER_SUBIDS_CHANGE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td align="center" class="table_header bottom" colspan="4">
+ {--MEMBER_EDIT_USER_SUBIDS_TITLE--}
+ </td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="4" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="do_edit" value="{--MEMBER_USER_SUBIDS_CHANGE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="4" class="table_header">
- <strong>{--MEMBER_LIST_BEG_RALLYE_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td width="80" align="center" class="header_column bottom right"><strong>{--BEG_RANK--}:</strong></td>
- <td width="120" align="center" class="header_column bottom right"><strong>{--_USERID--}:</strong></td>
- <td width="100" align="center" class="header_column bottom right"><strong>{--BEG_POINTS--}:</strong></td>
- <td width="220" align="center" class="header_column bottom"><strong>{--LAST_ONLINE_SHORT--}:</strong></td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="4" class="table_footer">
- {--BEG_RALLYE_NOTICE--}
- </td>
- </tr>
+<tr>
+ <td colspan="4" class="table_header">
+ {--MEMBER_LIST_BEG_RALLYE_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="center" class="header_column bottom right">{--BEG_RANK--}:</td>
+ <td align="center" class="header_column bottom right">{--_USERID--}:</td>
+ <td align="center" class="header_column bottom right">{--BEG_POINTS--}:</td>
+ <td align="center" class="header_column bottom">{--LAST_ONLINE_SHORT--}:</td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="4" class="table_footer">
+ {--BEG_RALLYE_NOTICE--}
+ </td>
+</tr>
</table>
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--BEG_RALLYE_CONDITIONS--}:</strong>
+ {--BEG_RALLYE_CONDITIONS--}:
</div>
<div class="bottom">
<ol class="listing">
<div align="center">
-<table border="0" cellspacing="0" cellpadding="0" width="430" class="table dashed">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" class="header_column bottom" width="80" height="25"><strong>{--_RALLYE_PRICE--}</strong></td>
- <td align="center" class="header_column bottom" width="50"><strong>{--_USERID--}</strong></td>
- <td align="center" class="header_column bottom" width="300"><strong>{--RALLYE_REFS--}</strong></td>
+ <td align="center" class="header_column bottom">{--_RALLYE_PRICE--}</td>
+ <td align="center" class="header_column bottom">{--_USERID--}</td>
+ <td align="center" class="header_column bottom">{--RALLYE_REFS--}</td>
</tr>
+
$content[rows]
+
<tr>
<td colspan="3" class="table_footer">
<div align="left"><ul>
{%pipe,translateComma=$content[refback_points]%} {?POINTS?}
</td>
<td align="center" class="{%template,ColorSwitch%} bottom right">
- $content[click_rate]%
+ {%pipe,translateComma=$content[click_rate]%}%
</td>
<td align="center" class="{%template,ColorSwitch%} bottom right">
$content[joined]
{%pipe,translateComma=$content[refback_points]%} {?POINTS?}
</td>
<td align="center" class="{%template,ColorSwitch%} bottom right">
- $content[click_rate]%
+ {%pipe,translateComma=$content[click_rate]%}%
</td>
<td align="center" class="{%template,ColorSwitch%} bottom right">
$content[joined]
{%pipe,getTotalUnconfirmedMails,translateComma=$content[refid]%}
</td>
<td align="center" class="{%template,ColorSwitch%} bottom right">
- $content[click_rate]%
+ {%pipe,translateComma=$content[click_rate]%}%
</td>
<td align="center" class="{%template,ColorSwitch%} bottom right">
$content[activity]
<div align="center">
-<table border="0" cellspacing="0" cellpadding="0" class="table dashed" width="650">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td width="100" class="header_column bottom right" align="center"><strong>{--CONFIRM_LINK2--}:</strong></td>
- <td width="110" class="header_column bottom right" align="center"><strong>{--EMAIL_SENDER--}:</strong></td>
- <td width="170" class="header_column bottom right" align="center"><strong>{--EMAIL_DETAILS--}:</strong></td>
- <td width="150" class="header_column bottom right" align="center"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
- <td width="120" class="header_column bottom" align="center"><strong>{--EMAIL_POINTS--}:</strong></td>
+ <td class="table_header bottom" colspan="5">
+ {--MEMBER_LIST_UNCONFIRMED_MAILS_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="header_column bottom right" align="center">{--CONFIRM_LINK2--}:</td>
+ <td class="header_column bottom right" align="center">{--EMAIL_SENDER--}:</td>
+ <td class="header_column bottom right" align="center">{--EMAIL_DETAILS--}:</td>
+ <td class="header_column bottom right" align="center">{--EMAIL_TIMESTAMP--}:</td>
+ <td class="header_column bottom" align="center">{--EMAIL_POINTS--}:</td>
</tr>
+
$content[rows]
+
<tr>
<td align="right" class="table_footer right" colspan="4" style="padding-right:5px">
- <strong>{--MEMBER_TOTAL_POINTS--}:</strong>
+ {--MEMBER_TOTAL_POINTS--}:
</td>
<td align="right" class="table_footer" style="padding-right:5px">
- <strong>{%pipe,translateComma=$content[total_points]%} {?POINTS?}</strong>
+ {%pipe,translateComma=$content[total_points]%} {?POINTS?}
</td>
</tr>
</table>
<div align="center">
-<table border="0" cellspacing="0" cellpadding="0" class="table dashed" width="550">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td width="100" class="header_column bottom right" align="center"><strong>{--CONFIRM_LINK2--}:</strong></td>
- <td width="120" class="header_column bottom right" align="center"><strong>{--EMAIL_SENDER--}:</strong></td>
- <td width="180" class="header_column bottom right" align="center"><strong>{--EMAIL_DETAILS--}:</strong></td>
- <td width="160" class="header_column bottom right" align="center"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+ <td class="table_header bottom" colspan="4">
+ {--MEMBER_LIST_UNCONFIRMED_MAILS_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td class="header_column bottom right" align="center">{--CONFIRM_LINK2--}:</td>
+ <td class="header_column bottom right" align="center">{--EMAIL_SENDER--}:</td>
+ <td class="header_column bottom right" align="center">{--EMAIL_DETAILS--}:</td>
+ <td class="header_column bottom right" align="center">{--EMAIL_TIMESTAMP--}:</td>
</tr>
+
$content[rows]
+
<tr>
<td class="table_footer" colspan="4">
<!-- @TODO Nothing to say here? //-->
<div align="center">
{%form,formMethodPost=modules.php?module=login&what=nickname%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="5" align="center" class="table_header bottom" height="30">
- <strong>{--MEMBER_NICKNAME_CHANGE_NICKNAME_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- {--MEMBER_NICKNAME_CHANGE_NICKNAME_INTRO--}
- </td>
- </tr>
- <tr>
- <td align="right">
- {--MEMBER_NICKNAME_ENTER_NICKNAME--}:
- </td>
- <td>
- <input type="text" class="form_field" name="nickname" size="30" maxlength="30" value="{%pipe,getMemberId,getNickname%}" />
- </td>
- </tr>
- <tr>
- <td class="bottom" colspan="2" align="center">
- {--MEMBER_NICKNAME_ALLOWED_CHARS--}
- ({?nickname_chars?})
- </td>
- </tr>
- <tr>
- <td colspan="2" class="table_footer" align="center">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="ok" value="{--MEMBER_NICKNAME_CHANGE_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="5" align="center" class="table_header bottom">
+ {--MEMBER_NICKNAME_CHANGE_NICKNAME_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2">
+ {--MEMBER_NICKNAME_CHANGE_NICKNAME_INTRO--}
+ </td>
+</tr>
+
+<tr>
+ <td align="right">
+ {--MEMBER_NICKNAME_ENTER_NICKNAME--}:
+ </td>
+ <td>
+ <input type="text" class="form_field" name="nickname" size="30" maxlength="30" value="{%pipe,getMemberId,getNickname%}" />
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" colspan="2" align="center">
+ {--MEMBER_NICKNAME_ALLOWED_CHARS--}
+ ({?nickname_chars?})
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" class="table_footer" align="center">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="ok" value="{--MEMBER_NICKNAME_CHANGE_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" width="680" class="table dashed" align="center">
- <tr>
- <td colspan="5" align="center" class="table_header bottom">
- <strong>{--MEMBER_PAYOUT_LIST_TITLE--}:</strong>
- </td>
- </tr>
- <tr>
- <td width="180" align="center" class="header_column bottom right"><strong>{--PAYOUT_TOTAL_PAYOUT--}</strong></td>
- <td width="130" align="center" class="header_column bottom right"><strong>{--MEMBER_PAYOUT_TARGET_ACCOUNT2--}</strong></td>
- <td width="100" align="center" class="header_column bottom right"><strong>{--MEMBER_PAYOUT_TARGET_BANK2--}</strong></td>
- <td width="150" align="center" class="header_column bottom right"><strong>{--PAYOUT_TIMESTAMP--}</strong></td>
- <td width="120" align="center" class="header_column bottom"><strong>{--MEMBER_PAYOUT_STATUS--}</strong></td>
- </tr>
- $content
- <tr>
- <td colspan="5" align="center" class="table_footer">
- {--MEMBER_PAYOUT_LIST_FOOTER--}
- </td>
- </tr>
+<tr>
+ <td colspan="5" align="center" class="table_header bottom">
+ {--MEMBER_PAYOUT_LIST_TITLE--}:
+ </td>
+</tr>
+
+<tr>
+ <td align="center" class="header_column bottom right">{--PAYOUT_TOTAL_PAYOUT--}</td>
+ <td align="center" class="header_column bottom right">{--MEMBER_PAYOUT_TARGET_ACCOUNT2--}</td>
+ <td align="center" class="header_column bottom right">{--MEMBER_PAYOUT_TARGET_BANK2--}</td>
+ <td align="center" class="header_column bottom right">{--PAYOUT_TIMESTAMP--}</td>
+ <td align="center" class="header_column bottom">{--MEMBER_PAYOUT_STATUS--}</td>
+</tr>
+
+$content
+
+<tr>
+ <td colspan="5" align="center" class="table_footer">
+ {--MEMBER_PAYOUT_LIST_FOOTER--}
+ </td>
+</tr>
</table>
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=login&what=payout&payout=$content[payout]%}
<table border="0" cellspacing="0" cellpadding="0" width="440" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--MEMBER_PAYOUT_NOW_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td width="215" height="20" align="right">{--MEMBER_PAYOUT_SELECTED_TYPE--}:</td>
- <td width="215"><strong>$content[type]</strong></td>
- </tr>
- <tr>
- <td height="25" align="right">{--MEMBER_PAYOUT_MAXIMUM_POSSIBLE--}:</td>
- <td><strong>$content[max]</strong></td>
- </tr>
- <tr>
- <td height="25" align="right">{--MEMBER_PAYOUT_REQUESTED_AMOUNT--}:</td>
- <td>
- <input type="text" class="form_field" name="payout" size="10" maxlength="255" value="$content[max]" />
- </td>
- </tr>
- <tr>
- <td height="25" align="right">{--MEMBER_PAYOUT_TARGET_ACCOUNT--}:</td>
- <td>
- <input type="text" class="form_field" name="account" size="20" maxlength="255" />
- </td>
- </tr>
- <tr>
- <td height="25" align="right">{--MEMBER_PAYOUT_TARGET_BANK--}:</td>
- <td>
- <input type="text" class="form_field" name="bank" ize="20" maxlength="255" />
- </td>
- </tr>
- <tr>
- <td height="25" align="right">{--MEMBER_PAYOUT_OPTIONAL_PASSWORD--}:</td>
- <td>
- <input type="password" class="form_field" name="password" ize="10" maxlength="255" />
- </td>
- </tr>
- <tr>
- <td colspan="2" align="center" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="ok" value="{--MEMBER_PAYOUT_SEND_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--MEMBER_PAYOUT_NOW_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td width="215" height="20" align="right">{--MEMBER_PAYOUT_SELECTED_TYPE--}:</td>
+ <td width="215"><strong>$content[type]</strong></td>
+</tr>
+
+<tr>
+ <td align="right">{--MEMBER_PAYOUT_MAXIMUM_POSSIBLE--}:</td>
+ <td><strong>$content[max]</strong></td>
+</tr>
+
+<tr>
+ <td align="right">{--MEMBER_PAYOUT_REQUESTED_AMOUNT--}:</td>
+ <td>
+ <input type="text" class="form_field" name="payout" size="10" maxlength="255" value="$content[max]" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right">{--MEMBER_PAYOUT_TARGET_ACCOUNT--}:</td>
+ <td>
+ <input type="text" class="form_field" name="account" size="20" maxlength="255" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right">{--MEMBER_PAYOUT_TARGET_BANK--}:</td>
+ <td>
+ <input type="text" class="form_field" name="bank" ize="20" maxlength="255" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right">{--MEMBER_PAYOUT_OPTIONAL_PASSWORD--}:</td>
+ <td>
+ <input type="password" class="form_field" name="password" ize="10" maxlength="255" />
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" align="center" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="ok" value="{--MEMBER_PAYOUT_SEND_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=login&what=payout&payout=$content[payout]%}
<table border="0" cellspacing="0" cellpadding="0" width="440" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--MEMBER_PAYOUT_NOW_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td width="215" height="20" align="right">{--MEMBER_PAYOUT_SELECTED_TYPE--}:</td>
- <td width="215"><strong>$content[type]</strong></td>
- </tr>
- <tr>
- <td height="25" align="right">{--PAYOUT_MAXIMUM_PAYOUT--}:</td>
- <td><strong>$content[max]</strong></td>
- </tr>
- <tr>
- <td height="25" align="right">{--MEMBER_PAYOUT_REQUESTED_AMOUNT--}:</td>
- <td>
- <input type="text" class="form_field" name="payout" size="10" maxlength="255" value="$content[max]" />
- </td>
- </tr>
- <tr>
- <td height="25" align="right">{--PAYOUT_TARGET_URL--}:</td>
- <td>
- <input type="text" class="form_field" name="turl" size="20" maxlength="500" value="http://" />
- </td>
- </tr>
- <tr>
- <td height="25" align="right">{--PAYOUT_LINK_TEXT--}:</td>
- <td>
- <input type="text" class="form_field" name="link_text" size="10" maxlength="30" />
- </td>
- </tr>
- <tr>
- <td class="bottom" height="25" align="right">{--PAYOUT_OPTIONAL_BANNER--}:</td>
- <td class="bottom">
- <input type="text" class="form_field" name="banner" size="20" maxlength="500" />(*)
- </td>
- </tr>
- <tr>
- <td colspan="2" align="center" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="ok" value="{--MEMBER_PAYOUT_SEND_SUBMIT--}" />
- </td>
- </tr>
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ <strong>{--MEMBER_PAYOUT_NOW_TITLE--}</strong>
+ </td>
+</tr>
+
+<tr>
+ <td align="right">{--MEMBER_PAYOUT_SELECTED_TYPE--}:</td>
+ <td><strong>$content[type]</strong></td>
+</tr>
+
+<tr>
+ <td align="right">{--PAYOUT_MAXIMUM_PAYOUT--}:</td>
+ <td><strong>$content[max]</strong></td>
+</tr>
+
+<tr>
+ <td align="right">{--MEMBER_PAYOUT_REQUESTED_AMOUNT--}:</td>
+ <td>
+ <input type="text" class="form_field" name="payout" size="10" maxlength="255" value="$content[max]" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right">{--PAYOUT_TARGET_URL--}:</td>
+ <td>
+ <input type="text" class="form_field" name="turl" size="20" maxlength="500" value="http://" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right">{--PAYOUT_LINK_TEXT--}:</td>
+ <td>
+ <input type="text" class="form_field" name="link_text" size="10" maxlength="30" />
+ </td>
+</tr>
+
+<tr>
+ <td class="bottom" align="right">{--PAYOUT_OPTIONAL_BANNER--}:</td>
+ <td class="bottom">
+ <input type="text" class="form_field" name="banner" size="20" maxlength="500" />(*)
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" align="center" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="ok" value="{--MEMBER_PAYOUT_SEND_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td align="center" class="header_column bottom"><strong>{--MEMBER_REFERRAL_LEVEL_PERCENTS--}:</strong></td>
- <td align="center" class="header_column bottom"><strong>{?POINTS?}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--POINTS_ORDER--}</strong></td>
- <td align="center" class="header_column bottom"><strong>{--REFERRALS--}</strong></td>
+ <td align="center" class="header_column bottom">{--MEMBER_REFERRAL_LEVEL_PERCENTS--}</td>
+ <td align="center" class="header_column bottom">{--POINTS_OWN--}</td>
+ <td align="center" class="header_column bottom">{--POINTS_ORDER--}</td>
+ <td align="center" class="header_column bottom">{--REFERRAL_COUNT--}</td>
</tr>
$content[rows]
<tr>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td colspan="3" align="center" height="25" class="header_column">
+ <td colspan="3" align="center" class="header_column">
<div class="table">{--MEMBER_POOL_CONTENT--}</div>
</td>
</tr>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" width="400" class="table dashed">
<tr>
- <td align="right" height="40" class="register_left" style="margin-right:3px">
+ <td align="right" class="register_left" style="margin-right:3px">
{--MAX_MAILS_PER_DAY--}:
</td>
<td class="register_right">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
<tr>
- <td colspan="3" align="center" height="25" class="header_column">
+ <td colspan="3" align="center" class="header_column">
<div class="table">{--MEMBER_STATS_CONTENT--}</div>
</td>
</tr>
+
$content
+
</table>
<tr>
- <td class="{%template,ColorSwitch%} bottom right" align="center" height="30">
+ <td class="{%template,ColorSwitch%} bottom right" align="center">
<input type="radio" class="form_field" name="member_theme" value="$content[unix]"$content[default] />
</td>
- <td class="{%template,ColorSwitch%} bottom right" align="center">$content[theme_name]</td>
<td class="{%template,ColorSwitch%} bottom right" align="center">
- <a href="mailto:$content[theme_email]?Subject=[Theme:] $content[theme_name] ($content[unix])">$content[theme_author]</a>
+ $content[theme_name]
+ </td>
+ <td class="{%template,ColorSwitch%} bottom right" align="center">
+ <a href="mailto:$content[theme_email]?Subject=[Theme:] $content[theme_name] ($content[unix])">$content[theme_author]</a>
</td>
<td class="{%template,ColorSwitch%} bottom right" align="center">
<a href="{%pipe,generateDereferrerUrl=$content[theme_url]%}" target="_blank">$content[theme_url]</a>
</td>
- <td class="{%template,ColorSwitch%} bottom" align="center">v$content[theme_version]</td>
+ <td class="{%template,ColorSwitch%} bottom" align="center">
+ v$content[theme_version]
+ </td>
</tr>
--- /dev/null
+<div class="para" align="center">
+<div class="table wide_border">
+ <div class="table_title bottom">
+ Gebührenübersicht und Jahresausschüttung:
+ </div>
+
+ <div class="table_header bottom">
+ Als Empfänger von {?einheit?}-Transaktionen:
+ </div>
+
+ <fieldset class="table_fieldset bottom" id="receiver_fees">
+ <legend>Diesen Monat zu zahlen:</legend>
+ <div class="table_header table_left50 slim_border">
+ Anzahl Transaktionen:
+ </div>
+
+ <div class="table_header table_right50 slim_border">
+ Gebühren:
+ </div>
+
+ <div class="table_left50 bottom left right" style="margin-top: -1px">
+ <div class="table_data">$content[transaction_receiver_count]</div>
+ </div>
+
+ <div class="table_right50 bottom left right" style="margin-top: -1px">
+ <div class="table_data">$content[transaction_receiver_fee] {?einheit?}</div>
+ </div>
+ </fieldset>
+
+ <fieldset class="table_fieldset bottom" id="receiver_saved_fees">
+ <legend>Von anderen Mitgliedern <a href="{?URL?}/modules.php?module=transactions">eingelöst</a>:</legend>
+ <div class="table_header table_left50 slim_border">
+ Anzahl Transaktionen:
+ </div>
+
+ <div class="table_header table_right50 slim_border">
+ Gebühren:
+ </div>
+
+ <div class="table_left50 bottom left right" style="margin-top: -1px">
+ <div class="table_data">$content[transaction_receiver_saved_count]</div>
+ </div>
+
+ <div class="table_right50 bottom left right" style="margin-top: -1px">
+ <div class="table_data">$content[transaction_receiver_saved_fee] {?einheit?}</div>
+ </div>
+ </fieldset>
+
+ <div class="table_header top bottom">
+ Als Versender von {?einheit?}-Transaktionen:
+ </div>
+
+ <fieldset class="table_fieldset bottom" id="sender_fees">
+ <legend>Diesen Monat zu zahlen:</legend>
+ <div class="table_header table_left50 slim_border">
+ Anzahl Transaktionen:
+ </div>
+
+ <div class="table_header table_right50 slim_border">
+ Gebühren:
+ </div>
+
+ <div class="table_left50 bottom left right" style="margin-top: -1px">
+ <div class="table_data">$content[transaction_sender_count]</div>
+ </div>
+
+ <div class="table_right50 bottom left right" style="margin-top: -1px">
+ <div class="table_data">$content[transaction_sender_fee] {?einheit?}</div>
+ </div>
+ </fieldset>
+
+ <fieldset class="table_fieldset bottom" id="sender_saved_fees">
+ <legend>Von anderen Mitgliedern <a href="{?URL?}/modules.php?module=transactions">eingelöst</a>:</legend>
+ <div class="table_header table_left50 slim_border">
+ Anzahl Transaktionen:
+ </div>
+
+ <div class="table_header table_right50 slim_border">
+ Gebühren:
+ </div>
+
+ <div class="table_left50 bottom left right" style="margin-top: -1px">
+ <div class="table_data">$content[transaction_sender_saved_count]</div>
+ </div>
+
+ <div class="table_right50 bottom left right" style="margin-top: -1px">
+ <div class="table_data">$content[transaction_sender_saved_fee] {?einheit?}</div>
+ </div>
+ </fieldset>
+
+ <div class="table_header top bottom">
+ Zähler für Anteil an Jahresausschüttung:
+ </div>
+
+ <fieldset class="table_fieldset" id="config_fees">
+ <legend>Zähler, die Sie pro Aktion/Gutschrift erhalten:</legend>
+
+ $content[config_rows]
+ </fieldset>
+</div>
+</div>
+
+<div class="para" align="center">
+ <div class="table wide_border">
+ <div class="table_title bottom">
+ Berechnung Ihres Anteils an der jährlichen Ausschüttung:
+ </div>
+
+ <div class="para bottom" align="left">
+ Ihr Anteil an der Jahresausschüttung der Transaktionsgebühren errechnet sich wie folgt:
+ <ul>
+ <li>Heute ist der <strong>$content[current_day]</strong>, wäre heute der <strong>$content[next_year]</strong>, würde die Ausschüttung stattfinden.</li>
+ <li>Der Stand des Gebührentopfes beträgt <strong>$content[total_fee] {?einheit?}</strong>.</li>
+ <li>Sie haben <strong>$content[transaction_count_sum] Zähler</strong> gesammelt.</li>
+ <li>Alle Mitglieder haben <strong>$content[total_transaction_sum] Zähler</strong> gesammelt.</li>
+ <li>Die Formel zur Berechnung Ihres Anteils: <strong>$content[total_fee]</strong> / <strong>$content[total_transaction_sum]</strong> * <strong>$content[transaction_count_sum]</strong> = <em>Ihr Anteil</em></li>
+ <li>Dies ergibt einen Anteil von <strong>$content[transaction_holding_fee] {?einheit?}</strong>.</li>
+ </ul>
+ </div>
+
+ <div class="table_footer">
+ Am <strong>$content[next_year]</strong> ab 00:00 Uhr werden alle Zählerstände auf Null gesetzt.
+ </div>
+ </div>
+</div>
--- /dev/null
+<div class="table_row">
+ <div class="table_left75 switch_sw$content[sw] slim_border">
+ <div class="table_data">$content[field]</div>
+ </div>
+
+ <div class="table_right25 switch_sw$content[sw] slim_border">
+ <div class="table_data">$content[value] Zähler</div>
+ </div>
+
+ <div class="clear"></div>
+</div>
--- /dev/null
+<div class="para" align="center">
+ $content[captcha_content]
+</div>
+
+<div class="para" align="center">
+ <div class="table wide_border">
+ <div class="table_title bottom">
+ Aktuelle Stände:
+ </div>
+
+ <div align="left">
+ <ul>
+ <li>Im jährlich ausgeschütteten Topf befinden sich derzeit <strong>{%config,translateComma=transaction_pot%} {?POINTS?}</strong>.</li>
+ <li>Durch die "Gebührenbefreiung" sind <strong>{%config,translateComma=transaction_pot_loss%} {?POINTS?}</strong> an Gebühren verloren gegangen.</li>
+ <li>Sie haben derzeit <strong>{%user,transaction_fees,translateComma%} {?POINTS?}</strong> in diesem Monat durch Bestätigen von <strong>$content[transaction_confirmed]</strong> Transaktionen angesammelt.</li>
+ <li>Im letzten Monat waren dies <strong>{%user,last_transaction_fees,translateComma%} {?POINTS?}</strong>.</li>
+ <li>Gesamt haben Sie <strong>{%user,points_confirmed_transactions,translateComma%} {?POINTS?}</strong> durch Bestätigen von Transaktionen erhalten.</li>
+ <li>Ihr gesamt erhaltenen {?POINTS?} von den jährlichen Ausschüttungen beträgt <strong>{%user,points_transactions_yearly,translateComma%} {?POINTS?}</strong>.</li>
+ <li>Beide Gesamtstände finden Sie auch <a href="{%url=modules.php?module=login&what=points%}">in der Guthaben-Übersicht</a>.</li>
+ <li>Aktuell nicht eingezogen: <strong>{%pipe,translateComma=$content[total_sender_uncollected]%} {?POINTS?}</strong> von Versendern und <strong>{%pipe,translateComma=$content[total_receiver_uncollected]%} {?POINTS?}</strong> von Empfängern.</li>
+ <li>Aktuell bereits eingezogen: <strong>$content[total_sender_collected] {?POINTS?}</strong> von Versendern und <strong>{%pipe,translateComma=$content[total_receiver_collected]%} {?POINTS?}</strong> von Empfängern.</li>
+ <li>Aktuell bestätigte Transaktionen: <strong>$content[total_confirmed_count]</strong>, Gebühren umverteilt: <strong>{%pipe,translateComma=$content[total_confirmed]%} {?POINTS?}</strong></li>
+ <li>Seit dem 04.04.2013 bereits eingezogen: <strong>{%config,translateComma=transaction_fee_sender_total%} {?POINTS?}</strong> von Versendern und <strong>{%config,translateComma=transaction_fee_receiver_total%} {?POINTS?}</strong> von Empfängern.</li>
+ </ul>
+ </div>
+ </div>
+</div>
+
+<div class="para" align="center">
+ <div class="table wide_border">
+ <div class="table_title bottom">
+ Etwas Hintergrundwissen:
+ </div>
+
+ <div align="left">
+ <ul>
+ <li>Es werden Ihnen maximal <strong>{?transaction_max_captcha?}</strong> so genannte <span class="info" title="Completely Automated Public Turing test to tell Computers and Humans Apart">CAPTCHA</span>s angezeigt.</li>
+ <li><span class="info" title="Completely Automated Public Turing test to tell Computers and Humans Apart">CAPTCHA</span> ist Englisch und steht für <em><strong>C</strong>ompletely <strong>A</strong>utomated <strong>P</strong>ublic <strong>T</strong>uring test to tell <strong>C</strong>omputers and <strong>H</strong>umans <strong>A</strong>part</em>.</li>
+ <li>Dies bedeutet soviel, dass per "Automatik" (heutzutage per Software) herausbekommen werden soll, ob der Bediener der Software ein Mensch oder eine Maschiene (Software) ist.</li>
+ <li><span class="info" title="Completely Automated Public Turing test to tell Computers and Humans Apart">CAPTCHA</span>s sind generierte Grafiken, die hier eine Zahl enthalten, die Sie im darunterbefindlichen Textfeld jeweils abtippen müssen.</li>
+ <li>Die bunten Linien, andere Position der Zahl, sowie andere Schriftenart und -größe dient dazu, um Sie als Mensch zu erkennen, da Programme diese Zahl nicht auslesen können (so die Idee).</li>
+ <li>"Erfunden" wurde dieses Verfahren von Herrn Turing, es waren auch Buchstaben vorgesehen, die hier zur Einfachheit nicht mit abgefragt werden.</li>
+ </ul>
+ </div>
+ </div>
+</div>
+
+<div class="para" align="center">
+ <div class="table wide_border">
+ <div class="table_title bottom">
+ Was hier geschieht:
+ </div>
+
+ <div align="left">
+ <ul>
+ <li>Seit dem 04.04.2013 werden Transaktionen mit einer kleinen prozentualen Gebühr belastet, kurz: Transaktionsgebühr. Dies geschieht sowohl für das versendene Mitglied, als auch für das empfangene Mitglied.</li>
+ <li>Mitgliedaccounts mit einem Gesamtguthaben unterhalb <strong>{%config,translateComma=transaction_fee_exempt_amount%} {?POINTS?}</strong> werden dabei von der Gebühr komplett freigestellt (so etwas wie eine <em>Gebührenbefreiung</em>).</li>
+ <li>Während der Transaktion müssen beide Mitglieder dafür nichts zahlen, erst am Anfang des Folgemonats (<strong>Monatsreset</strong>) wird die gesamte Gebühr des abgelaufenen Monats fällig.</li>
+ <li>Der Prozentsatz für den Versender liegt aktuell bei <strong>{%config,translateComma=transaction_fee_sender%}%</strong>, für den Empfänger bei <strong>{%config,translateComma=transaction_fee_receiver%}%</strong>.</li>
+ <li>Sie können hier durch Ausfüllen der <span class="info" title="Completely Automated Public Turing test to tell Computers and Humans Apart">CAPTCHA</span>s Transaktionen zwischen zwei anderen Mitgliedern bestätigen. Stimmen die eingegebenen Zahlen mit den gespeicherten überein, wird Ihnen die Gebühr beider Mitglieder der Transaktion auf ein separates Konto gutgeschrieben.</li>
+ <li>Sie können niemals Ihre eigenen Transaktionen bestätigen.</li>
+ <li>Bleiben am Jahresende (beziehungsweise am 01.01. des Folgejahres) noch unbestätigte Transaktionen übrig, werden diese an alle freigegebenen Mitglieder gleichmäßig aufgeteilt.</li>
+ <li>Werden mal weniger als {?transaction_max_captcha?} oder gar keine <span class="info" title="Completely Automated Public Turing test to tell Computers and Humans Apart">CAPTCHA</span>s angezeigt, ist dies kein Grund zur Sorge, es sind dann alle bestätigt worden.</li>
+ </ul>
+ </div>
+ </div>
+</div>
--- /dev/null
+<div align="center">
+{%form,formMethodPost=modules.php?module=login&what=transactions%}
+<div class="table wide_border">
+ <div class="table_title bottom">
+ Transaktionen mit <span class="info" title="Completely Automated Public Turing test to tell Computers and Humans Apart">CAPTCHA</span>s bestätigen:
+ </div>
+
+ <div>
+ <fieldset class="member_fieldset" id="captchas">
+ <legend>Bitte wiederholen Sie diese Zahlen:</legend>
+ $content
+ <div class="tiny"><a href="{%url=modules.php?module=login&what=transactions%}" title="Durch Klick auf diesen Link wird die Seite neu geladen.">Nicht alle Zahlen sind sichtbar?</a></div>
+ </fieldset>
+ </div>
+
+ <div class="clear"></div>
+
+ <div class="bottom tiny">
+ Bitte wiederholen Sie <strong>nicht</strong> die Zahl aus dem grauen Text <em>www.wds66.com</em>.
+ </div>
+
+ <div class="table_footer">
+ <input class="reset" type="reset" value="{--CLEAR_FORM--}" />
+ <input class="submit" type="submit" name="ok" value="Transaktionen bestätigen" />
+ </div>
+</div>
+{%form_close%
+</div>
--- /dev/null
+<div class="member_block" align="center">
+ <div class="bottom">
+ <img src="{%url=img.php?img=transaction_captcha&id=$content%}" border="0"
+ width="150" height="75" title="CAPTCHA für Transaktion $content" /><br />
+ </div>
+ <input class="captcha" type="text" name="transaction_id[$content]" size="5" maxlength="5">
+</div>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td colspan="5" align="center" class="table_header bottom">
- <strong>$content[title]</strong>
- </td>
- </tr>
- <tr>
- <td width="80" align="center" class="header_column bottom right">
- <strong>{--TRANSFER_ID--}</strong>
- </td>
- <td width="120" align="center" class="header_column bottom right">
- <strong>{--TRANSFER_STAMP--}</strong>
- </td>
- <td width="120" align="center" class="header_column bottom right">
- <strong>{--TRANSFER_PARTY--}</strong>
- </td>
- <td width="230" align="center" class="header_column bottom right">
- <strong>{--TRANSFER_POINTS_REASON--}</strong>
- </td>
- <td width="80" align="center" class="header_column bottom">
- <strong>{?POINTS?}</strong>
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="4" align="right" class="table_footer right">
- $content[balance] ({?POINTS?}):
- </td>
- <td width="80" align="center" class="table_footer">
- <strong>{%pipe,translateComma=$content[total_points]%}</strong>
- </td>
- </tr>
+<tr>
+ <td colspan="5" align="center" class="table_header bottom">
+ $content[title]
+ </td>
+</tr>
+
+<tr>
+ <td align="center" class="header_column bottom right">
+ {--TRANSFER_ID--}
+ </td>
+ <td align="center" class="header_column bottom right">
+ {--TRANSFER_STAMP--}
+ </td>
+ <td align="center" class="header_column bottom right">
+ {--TRANSFER_PARTY--}
+ </td>
+ <td align="center" class="header_column bottom right">
+ {--TRANSFER_POINTS_REASON--}
+ </td>
+ <td align="center" class="header_column bottom">
+ {?POINTS?}
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="4" align="right" class="table_footer right">
+ $content[balance] ({?POINTS?}):
+ </td>
+ <td width="80" align="center" class="table_footer">
+ {%pipe,translateComma=$content[total_points]%}
+ </td>
+</tr>
</table>
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=login&what=transfer&do=new%}
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="right" class="bottom" height="40"><strong>
- {--MEMBER_SELECT_TRANSFER_TARGET_USERID--}:</strong>
- </td>
- <td align="center" class="bottom">
- $content[userid_selection]
- </td>
- </tr>
- <tr>
- <td align="right" class="bottom" height="40">
- <strong>{--MEMBER_TRANSFER_POINTS_MAXIMUM--}:</strong>
- </td>
- <td class="bottom">
- {%pipe,translateComma=$content[max_transferable]%} {?POINTS?}
- </td>
- </tr>
- <tr>
- <td align="right" class="bottom" height="40">
- <strong>{--MEMBER_TRANSFER_POINTS_AMOUNT--}:</strong>
- </td>
- <td class="bottom">
- <input type="text" class="form_field" name="points" size="5" maxlength="10" value="{%pipe,bigintval=$content[points]%}"$content[to_disabled] /> {?POINTS?}
- </td>
- </tr>
- <tr>
- <td align="right" class="bottom" height="40">
- <strong>{--MEMBER_ENTER_TRANSFER_POINTS_REASON--}:</strong>
- </td>
- <td class="bottom">
- <input type="text" class="form_field" name="reason" size="30" maxlength="255" value="{%pipe,secureString=$content[reason]%}"$content[to_disabled] />
- </td>
- </tr>
- <tr>
- <td align="right" class="bottom" height="40">
- <strong>{--MEMBER_TRANSFER_POINTS_SECURITY_CODE--}:</strong>
- </td>
- <td class="bottom">
- $content[captcha_code]
- </td>
- </tr>
- <tr>
- <td align="right" class="bottom" height="40">
- <strong>{--MEMBER_ENTER_TRANSFER_PASSWORD--}:</strong>
- </td>
- <td class="bottom">
- <input type="password" class="form_field" name="password" size="10" maxlength="255"$content[to_disabled] />
- </td>
- </tr>
- <tr>
- <td colspan="2" align="center" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}"$content[to_disabled] />
- <input type="submit" class="form_submit" name="ok" value="{--MEMBER_TRANSFER_ADD_NEW_SUBMIT--}"$content[to_disabled] />
- </td>
- </tr>
+<tr>
+ <td align="right" class="bottom"><strong>
+ {--MEMBER_SELECT_TRANSFER_TARGET_USERID--}:</strong>
+ </td>
+ <td align="center" class="bottom">
+ $content[userid_selection]
+ </td>
+</tr>
+
+<tr>
+ <td align="right" class="bottom">
+ <strong>{--MEMBER_TRANSFER_POINTS_MAXIMUM--}:</strong>
+ </td>
+ <td class="bottom">
+ {%pipe,translateComma=$content[max_transferable]%} {?POINTS?}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" class="bottom">
+ <strong>{--MEMBER_TRANSFER_POINTS_AMOUNT--}:</strong>
+ </td>
+ <td class="bottom">
+ <input type="text" class="form_field" name="points" size="5" maxlength="10" value="{%pipe,bigintval=$content[points]%}"$content[to_disabled] /> {?POINTS?}
+ </td>
+</tr>
+
+<tr>
+ <td align="right" class="bottom">
+ <strong>{--MEMBER_ENTER_TRANSFER_POINTS_REASON--}:</strong>
+ </td>
+ <td class="bottom">
+ <input type="text" class="form_field" name="reason" size="30" maxlength="255" value="{%pipe,secureString=$content[reason]%}"$content[to_disabled] />
+ </td>
+</tr>
+
+<tr>
+ <td align="right" class="bottom">
+ <strong>{--MEMBER_TRANSFER_POINTS_SECURITY_CODE--}:</strong>
+ </td>
+ <td class="bottom">
+ $content[captcha_code]
+ </td>
+</tr>
+
+<tr>
+ <td align="right" class="bottom">
+ <strong>{--MEMBER_ENTER_TRANSFER_PASSWORD--}:</strong>
+ </td>
+ <td class="bottom">
+ <input type="password" class="form_field" name="password" size="10" maxlength="255"$content[to_disabled] />
+ </td>
+</tr>
+
+<tr>
+ <td colspan="2" align="center" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}"$content[to_disabled] />
+ <input type="submit" class="form_submit" name="ok" value="{--MEMBER_TRANSFER_ADD_NEW_SUBMIT--}"$content[to_disabled] />
+ </td>
+</tr>
</table>
{%form_close%}
</div>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
- <tr>
- <td align="center" width="260" class="bottom right" height="40">
- {--MEMBER_LIST_INCOMING_TRANSFER_TITLE--}:<br />
- <strong>$content[in_link]</strong>
- </td>
- <td align="center" width="260" class="bottom">
- {--MEMBER_LIST_OUTGOING_TRANSFER_TITLE--}:<br />
- <strong>$content[out_link]</strong>
- </td>
- </tr>
- <tr>
- <td align="center" colspan="2" height="40" class="bottom">
- {--TRANSFER_LIST_ALL--}:<br />
- <strong>$content[all_link]</strong>
- </td>
- </tr>
- <tr>
- <td align="center" colspan="2" height="40" class="bottom">
- <strong>{--MEMBER_START_NEW_TRANSFER--}:</strong><br />
- $content[new_link]
- </td>
- </tr>
- <tr>
- <td align="center" colspan="2">
- $content[settings]
- </td>
- </tr>
+<tr>
+ <td align="center" width="260" class="bottom right">
+ {--MEMBER_LIST_INCOMING_TRANSFER_TITLE--}:<br />
+ <strong>$content[in_link]</strong>
+ </td>
+ <td align="center" width="260" class="bottom">
+ {--MEMBER_LIST_OUTGOING_TRANSFER_TITLE--}:<br />
+ <strong>$content[out_link]</strong>
+ </td>
+</tr>
+
+<tr>
+ <td align="center" colspan="2" class="bottom">
+ {--TRANSFER_LIST_ALL--}:<br />
+ <strong>$content[all_link]</strong>
+ </td>
+</tr>
+
+<tr>
+ <td align="center" colspan="2" class="bottom">
+ <strong>{--MEMBER_START_NEW_TRANSFER--}:</strong><br />
+ $content[new_link]
+ </td>
+</tr>
+
+<tr>
+ <td align="center" colspan="2">
+ $content[settings]
+ </td>
+</tr>
</table>
</div>
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
</td>
</tr>
<tr>
- <td align="center" class="right" height="40">
+ <td align="center" class="right">
$content[withdraw_link]
</td>
<td align="center">
<div align="center">
<table border="0" cellspacing="0" cellpadding="0" width="680" class="table dashed" align="center">
- <tr>
- <td colspan="4" align="center" class="table_header bottom">
- <strong>{--MEMBER_WERNIS_LIST_WERNIS--}</strong>
- </td>
- </tr>
- <tr>
- <td width="180" align="center" class="header_column bottom right"><strong>{--WERNIS_TOTAL_WERNIS--}</strong></td>
- <td width="130" align="center" class="header_column bottom right"><strong>{--WERNIS_ACCOUNT--}</strong></td>
- <td width="150" align="center" class="header_column bottom right"><strong>{--WERNIS_TIMESTAMP--}</strong></td>
- <td width="120" align="center" class="header_column bottom"><strong>{--MEMBER_WERNIS_STATUS--}</strong></td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="4" class="table_footer" align="center">
- <a href="{%url=modules.php?module=login&what=wernis&do=choose%}">{--MEMBER_WERNIS_MODE_CHOOSE2--}</a>
- </td>
- </tr>
+<tr>
+ <td colspan="4" align="center" class="table_header bottom">
+ {--MEMBER_WERNIS_LIST_WERNIS--}
+ </td>
+</tr>
+
+<tr>
+ <td align="center" class="header_column bottom right">{--WERNIS_TOTAL_WERNIS--}</td>
+ <td align="center" class="header_column bottom right">{--WERNIS_ACCOUNT--}</td>
+ <td align="center" class="header_column bottom right">{--WERNIS_TIMESTAMP--}</td>
+ <td align="center" class="header_column bottom">{--MEMBER_WERNIS_STATUS--}</td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="4" class="table_footer" align="center">
+ <a href="{%url=modules.php?module=login&what=wernis&do=choose%}">{--MEMBER_WERNIS_MODE_CHOOSE2--}</a>
+ </td>
+</tr>
</table>
</div>
<div align="center">
{%form,formMethodPost=modules.php?module=login&what=wernis&do=payout%}
-<table border="0" cellspacing="0" cellpadding="0" width="440" class="table dashed">
- <tr>
- <td colspan="2" align="center" class="table_header bottom" height="30">
- <strong>{--MEMBER_WERNIS_PAYOUT_TITLE--}</strong>
- </td>
- </tr>
- <tr>
- <td height="25" align="right">{--MEMBER_WERNIS_PAYOUT_POINTS--}</td>
- <td><strong>{%pipe,translateComma=$content[points]%}</strong> Wernis</td>
- </tr>
- <tr>
- <td height="25" align="right">{--MEMBER_WERNIS_PAYOUT_MIN_POINTS--}</td>
- <td><strong>{%config,translateComma=wernis_min_payout%}</strong> Wernis</td>
- </tr>
- <tr>
- <td height="35" align="right">{--MEMBER_WERNIS_WDS66_ID--}</td>
- <td><input type="text" class="form_field" name="wernis_userid" size="6" maxlength="5" value="{%user,wernis_userid%}" /></td>
- </tr>
- <tr>
- <td height="35" align="right">{--MEMBER_WERNIS_WDS66_PASSWORD--}</td>
- <td><input type="password" class="form_field" name="wds66_password" size="10" maxlength="255" /></td>
- </tr>
- <tr>
- <td class="bottom" height="35" align="right">{--MEMBER_WERNIS_WDS66_AMOUNT--}</td>
- <td class="bottom"><input type="text" class="form_field" name="amount" size="10" maxlength="255" /></td>
- </tr>
- <tr>
- <td colspan="2" align="center" class="table_footer">
- <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" class="form_submit" name="ok" value="{--MEMBER_WERNIS_PAYOUT_SUBMIT--}" />
- </td>
- </tr>
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
+<tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ {--MEMBER_WERNIS_PAYOUT_TITLE--}
+ </td>
+</tr>
+
+<tr>
+ <td align="right">{--MEMBER_WERNIS_PAYOUT_POINTS--}</td>
+ <td>{%pipe,translateComma=$content[points]%} Wernis</td>
+</tr>
+
+<tr>
+ <td align="right">{--MEMBER_WERNIS_PAYOUT_MIN_POINTS--}</td>
+ <td>{%config,translateComma=wernis_min_payout%} Wernis</td>
+</tr>
+
+<tr>
+ <td height="35" align="right">{--MEMBER_WERNIS_WDS66_ID--}</td>
+ <td><input type="text" class="form_field" name="wernis_userid" size="6" maxlength="5" value="{%user,wernis_userid%}" /></td>
+</tr>
+
+<tr>
+ <td height="35" align="right">{--MEMBER_WERNIS_WDS66_PASSWORD--}</td>
+ <td><input type="password" class="form_field" name="wds66_password" size="10" maxlength="255" /></td>
+</tr>
+
+<tr>
+ <td class="bottom" height="35" align="right">{--MEMBER_WERNIS_WDS66_AMOUNT--}</td>
+ <td class="bottom"><input type="text" class="form_field" name="amount" size="10" maxlength="255" /></td>
+</tr>
+
+<tr>
+ <td colspan="2" align="center" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="ok" value="{--MEMBER_WERNIS_PAYOUT_SUBMIT--}" />
+ </td>
+</tr>
</table>
{%form_close%}
-<div class="para">
- <strong class="notice">{--MEMBER_WERNIS_PAYOUT_NOTICE--}</strong>
+<div class="para notice">
+ {--MEMBER_WERNIS_PAYOUT_NOTICE--}
</div>
<div class="notice">
</td>
</tr>
<tr>
- <td class="bottom" height="25" align="right">{--MEMBER_WERNIS_WITHDRAW_POINTS_ACCOUNT--}</td>
+ <td class="bottom" align="right">{--MEMBER_WERNIS_WITHDRAW_POINTS_ACCOUNT--}</td>
<td class="bottom"><strong>{%pipe,translateComma=$content[points]%}</strong> Wernis</td>
</tr>
<tr>
- <td class="bottom" height="25" align="right">{--MEMBER_WERNIS_WITHDRAW_MIN_POINTS--}</td>
+ <td class="bottom" align="right">{--MEMBER_WERNIS_WITHDRAW_MIN_POINTS--}</td>
<td class="bottom"><strong>{%config,translateComma=wernis_min_withdraw%}</strong> Wernis</td>
</tr>
<tr>
<tr>
- <td colspan="3" align="center" valign="middle" class="guest" height="30">
- <div align="center" style="margin-top:10px;margin-bottom:10px">
- <div class="table dashed">
- <div class="table_header bottom">
- {--MESSAGE_HEADER--}
- </div>
- <div class="message">
- $content
- </div>
+ <td colspan="3" align="center">
+ <div class="table dashed">
+ <div class="table_header bottom">
+ {--MESSAGE_HEADER--}
+ </div>
+ <div class="message">
+ $content
</div>
</div>
</td>
+++ /dev/null
-<!-- @DEPRECATED //-->
--- /dev/null
+<div>
+ $content[selection_box]
+</div>
--- /dev/null
+<option value="$content[forced_ads_id]"$content[default]>
+ $content[forced_ads_click_url] ($content[forced_ads_width]x$content[forced_ads_height]; {%pipe,translateForcedAdsType=$content[forced_ads_type]%})
+</option>
<input type="hidden" name="what" value="{%pipe,getWhat%}" />
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_SELECT_CONFIGURED_NETWORK_TITLE--}</strong>
+ {--ADMIN_SELECT_CONFIGURED_NETWORK_TITLE--}
</div>
<div class="bottom">
<input type="hidden" name="what" value="{%pipe,getWhat%}" />
<div class="table dashed">
<div class="table_header bottom">
- <strong>{--ADMIN_SELECT_UNCONFIGURED_NETWORK_TITLE--}</strong>
+ {--ADMIN_SELECT_UNCONFIGURED_NETWORK_TITLE--}
</div>
<div class="bottom">
{%message,MEMBER_BONUS_SHOW_TITLE=$content[mailid]%}:
</div>
-<table border="0" cellspacing="0" cellpadding="0" width="300" class="table dashed">
- <tr>
- <td width="80" align="center" class="header_column bottom">
- <strong>{--BONUS_RANK--}:</strong>
- </td>
- <td width="120" align="center" class="header_column bottom">
- <strong>{--_USERID--}:</strong>
- </td>
- <td width="100" align="center" class="header_column bottom">
- <strong>{?POINTS?}:</strong>
- </td>
- </tr>
- $content[rows]
- <tr>
- <td colspan="3" class="table_footer" align="center">
- $content[own]
- </td>
- </tr>
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
+<tr>
+ <td align="center" class="header_column bottom">
+ {--BONUS_RANK--}:
+ </td>
+ <td align="center" class="header_column bottom">
+ {--_USERID--}:
+ </td>
+ <td align="center" class="header_column bottom">
+ {?POINTS?}:
+ </td>
+</tr>
+
+$content[rows]
+
+<tr>
+ <td colspan="3" class="table_footer" align="center">
+ $content[own]
+ </td>
+</tr>
</table>
<div>
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
+++ /dev/null
-<!-- @DEPRECATED //-->
through (can be left empty, no call-back function will be called)
//-->
<callback-function-list>
- <callback-function-list-entry name="" type="string" value="" />
- <callback-function-list-entry name="" type="string" value="" />
- <callback-function-list-entry name="" type="string" value="" />
- <callback-function-list-entry name="" type="string" value="" />
- <callback-function-list-entry name="" type="string" value="bigintval" />
- <callback-function-list-entry name="" type="string" value="bigintval" />
- <callback-function-list-entry name="" type="string" value="" />
</callback-function-list>
<!--
Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for listing member's blacklist
+
+@author Roland Haeder <webmaster@mxchange.org>
+@version 0.2.1-FINAL
+@copyright (c) 2003 - 2009 by Roland Haeder
+@copyright (c) 2009 - 2013 by Mailer Developer Team
+@license GNU GPL 2.0 or any newer version
+@link 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
+//-->
+<member-list-data>
+ <!--
+ Call-back function, the extracted data from this XML will then be re-read
+ from that function. The most common function this XML uses is
+ doGenericListEntries() so mostly you can leave this alone unless you have JOINs.
+ //-->
+ <callback-function type="string" value="doGenericListEntries" />
+ <!--
+ Now we need information which template should be loaded and which functions
+ shall be called back. So lets start with the main list template. This mostly
+ requires no call-back function.
+ //-->
+ <list-template type="string" value="admin_list_blacklist" />
+ <!--
+ The template for all rows, mostly this name has a '_row' suffix and again,
+ no call-back function is usually required.
+ //-->
+ <list-row-template type="string" value="admin_list_blacklist_row" />
+ <!--
+ Message id to display if no entry could be found
+ //-->
+ <no-entry-found-message type="string" value="ADMIN_BLACKLIST_404" />
+ <!--
+ The table(s) we shall grab the data from, all as list.
+ //-->
+ <data-tables>
+ <!--
+ A single table entry, with alias and without the configurable
+ _MYSQL_PREFIX. You can specify the table's name or alias later on.
+ //-->
+ <data-table type="string" alias="" value="blacklist" />
+ <!--
+ Columns to perform the SELECT statement on, with alias and name plus which table.
+ //-->
+ <select-data-from-list>
+ <!--
+ A single entry with table name (can be left empty), value (must
+ always be set), alias (again can be left empty) and SQL function
+ (can also be left empty) which shall be applied on the column.
+ //-->
+ <select-data-from-list-entry type="string" table="" value="id" alias="" function="" />
+ <select-data-from-list-entry type="string" table="" value="data" alias="" function="" />
+ <select-data-from-list-entry type="string" table="" value="pool_id" alias="" function="" />
+ <select-data-from-list-entry type="string" table="" value="provider" alias="" function="" />
+ <select-data-from-list-entry type="string" table="" value="type" alias="" function="" />
+ <select-data-from-list-entry type="string" table="" value="added" alias="added" function="UNIX_TIMESTAMP" />
+ </select-data-from-list>
+ <!--
+ And the column list to perform the WHERE statement on.
+ //-->
+ <where-select-from-list>
+ </where-select-from-list>
+ <!--
+ Columns to perform the ORDER BY statement (GROUP BY is not yet supported)
+ //-->
+ <order-by-list>
+ <!--
+ A single entry to perform the ORDER BY statement on, see above WHERE entry for details.
+ //-->
+ <order-by-list-entry type="string" table="" order="added" value="DESC" />
+ </order-by-list>
+ </data-tables>
+ <!--
+ List all column names from the 'select-data-from-list' node here, but now
+ with call-back informations. The list must only contain those entries where
+ a call-back function shall be called for.
+ //-->
+ <column-callback-list>
+ <!--
+ Another column, now we need a second parameter here because
+ generateDateTime() expects two parameters (first is always the data
+ from column).
+ //-->
+ <column-callback-list-entry>
+ <!--
+ The actual data, again.
+ //-->
+ <column-callback-data type="string" value="added" callback="generateDateTime" />
+ <!--
+ More parameters, remember that the first parameter is always given
+ and that it is the data from column.
+ //-->
+ <callback-extra-parameter-list>
+ <!--
+ A single parameter, 'type' can be one of 'float', 'int',
+ 'bool', 'string'. 'array' is not yet supported.
+ //-->
+ <callback-extra-parameter-list-entry type="int" column="added" value="2" />
+ </callback-extra-parameter-list>
+ </column-callback-list-entry>
+ </column-callback-list>
+ <!--
+ How the named column shall be logical linked to the above.
+ //-->
+ <where-condition type="string" name="" condition="" />
+</member-list-data>
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="" condition="" />
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="" condition="" />
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="" condition="" />
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="" condition="" />
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="history_userid" condition="AND" />
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="" condition="" />
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="" condition="" />
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="" condition="" />
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="refid" condition="AND" />
</column-callback-list-entry>
</column-callback-list>
<!--
- Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
- is provided, we have more than two parameters to handle over to the
- call-back function. See function handleExtraValues() for details.
- //-->
- <extra-parameter-list>
- </extra-parameter-list>
- <!--
How the named column shall be logical linked to the above.
//-->
<where-condition type="string" name="status" condition="AND" />
A single table entry, with alias and without the configurable
_MYSQL_PREFIX. You can specify the table's name or alias later on.
//-->
- <data-table type="string" alias="" name="user_booking" />
+ <data-table type="string" alias="" value="user_booking" />
<!--
Columns to perform the SELECT statement on, with alias and name plus which table.
//-->
A single table entry, with alias and without the configurable
_MYSQL_PREFIX. You can specify the table's name or alias later on.
//-->
- <data-table type="string" alias="" name="user_subids" />
+ <data-table type="string" alias="" value="user_subids" />
<!--
Columns to perform the SELECT statement on, with alias and name plus which table.
//-->
</callback-extra-parameter-list>
</column-callback-list-entry>
</column-callback-list>
+ <!--
+ How the named column shall be logical linked to the above.
+ //-->
+ <where-condition type="string" name="" condition="" />
</member-list-data>
A single table entry, with alias and without the configurable
_MYSQL_PREFIX. You can specify the table's name or alias later on.
//-->
- <data-table type="string" alias="" name="subid_log" />
+ <data-table type="string" alias="" value="subid_log" />
<!--
Columns to perform the SELECT statement on, with alias and name plus which table.
//-->
.form_submit {
color: #000000;
border-color: #000000;
+ background-color: #ffffff;
cursor: pointer;
}
font-size: 12px;
}
-.form_submit {
- background-color: #ffffff;
-}
-
.banner {
background-color: #ffffff;
width: 488px;
background-color: #ffffff;
}
-.media_header, .impressum_header {
- background-color: #eeeeff;
- text-align: center;
- color: #000000;
- height: 26px;
- font-weight: bold;
- font-size: 20px;
-}
-
.media_left {
font-size: 14px;
width: 200px;
padding: 5px;
}
-.admin_task_header {
- background-color: #eeeeff;
- color: #000000;
- vertical-align: middle;
- font-size: 18px;
- height: 35px;
-}
-
.separator {
font-size: 1px
}
.table_row {
text-align: left;
- clear: both;
margin: 0px;
padding: 0px;
padding-top: 5px;
padding-bottom: 5px;
height: 28px;
-}
-
-.table_row {
- width: 45%;
float: left;
display: block;
- clear: both;
}
label {
- width: 50%;
+ width: 50%
float: left;
display: block;
}
margin: -1px;
height:100%;
}
+
+.clear {
+ clear: both;
+}
}
.table_row label.install_label {
- float: left;
width: 30%;
}
}
.register_right {
+ text-align: left;
}
float: right;
width: 10px;
z-index: 200;
- min-height: 10x;
+ min-height: 10px;
margin-left: 5px;
padding: 3px;
text-align: center;
background-color: #eeffee;
}
-.media_header, .impressum_header {
- background-color: #b8fccb;
- text-align: center;
- color: #009900;
- height: 26px;
- font-weight: bold;
- font-size: 20px;
-}
-
.media_left {
font-size: 14px;
width: 200px;
padding: 5px;
}
-.admin_task_header {
- background-color: #ddeedd;
- color: #009900;
- vertical-align: middle;
- font-size: 18px;
- height: 35px;
-}
-
.separator {
font-size: 1px
}
}
.table_row {
+ width: 100%;
text-align: left;
- clear: both;
margin: 0px;
padding: 0px;
padding-top: 5px;
padding-bottom: 5px;
height: 28px;
-}
-
-.table_row {
- width: 45%;
float: left;
+ display: block;
}
label {
+ text-align: left;
width: 50%;
float: left;
display: block;
- clear: both;
}
.form_field {
margin: -1px;
height:100%;
}
+
+.clear {
+ clear: both;
+}
}
.register_right {
+ text-align: left;
}
background-color: #ffffcc;
}
-.media_header {
- background-color: #cccc99;
- text-align: center;
- color: #880000;
- height: 26px;
- font-weight: bold;
- font-size: 20px;
-}
-
.media_left {
font-size: 14px;
width: 200px;
padding: 5px;
}
-.admin_task_header {
- background-color: #cccc99;
- color: #880000;
- vertical-align: middle;
- font-size: 18px;
- height: 35px;
-}
-
.separator {
font-size: 1px
}
.table_row {
text-align: left;
- clear: both;
margin: 0px;
padding: 0px;
padding-top: 5px;
padding-bottom: 5px;
height: 28px;
-}
-
-.table_row {
- width: 45%;
float: left;
+ display: block;
}
label {
+ text-align: left;
width: 50%;
float: left;
display: block;
- clear: both;
}
.form_field {
margin: -1px;
height:100%;
}
+
+.clear {
+ clear: both;
+}
}
.register_right {
+ text-align: left;
padding-right: 5px;
}
.runtime {
color : #118811;
background-color : #DDEEDD;
- font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
}
.runtime.fatal {
.admin {
color : #118811;
background-color : #DDEEDD;
- font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
}
.notice {
background-color : #ddeedd;
}
-.media_header, .impressum_header {
- background-color : #b8fccb;
- text-align : center;
- color : #000000;
- height : 26px;
- font-weight : bold;
- font-size : 20px;
-}
-
.media_left {
font-size : 12px;
width : 200px;
background-color: #DDEEDD;
}
-.admin_task_header {
- background-color : #DDEEDD;
- color : #000000;
- vertical-align : middle;
- font-size : 18px;
- height : 35px;
-}
-
.separator {
font-size : 1px
}
.table_row {
text-align: left;
- clear: both;
margin: 0px;
padding: 0px;
padding-top: 5px;
padding-bottom: 5px;
height: 28px;
-}
-
-.table_row {
- width: 45%;
float: left;
display: block;
- clear: both;
}
label {
+ text-align: left;
width: 50%;
float: left;
display: block;
margin: -1px;
height:100%;
}
+
+.clear {
+ clear: both;
+}
}
.register_right {
+ text-align: left;
}
A {
font-style : normal;
- font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
text-decoration : none;
}
}
label {
+ text-align: left;
width: 50%;
float: left;
display: block;
- clear: both;
}
.form_reset {
.runtime {
color : #ffffff;
background-color : #0571cc;
- font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
}
.runtime.fatal {
.admin {
color : #ffffff;
background-color : #0571cc;
- font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
}
.notice {
background-color : #0571cc;
}
-.media_header, .impressum_header {
- background-color : #69b2ff;
- align : center;
- text-align : center;
- color : #ffffff;
- height : 26px;
- font-weight : bold;
- font-size : 20px;
-}
-
.media_left {
font-size : 14px;
width : 200px;
background-color : #69b2ff;
}
-.admin_task_header {
- background-color : #69b2ff;
- color : #ffffff;
- vertical-align : middle;
- font-size : 18px;
- height : 35px;
-}
-
.separator {
font-size : 1px
}
margin: -1px;
height:100%;
}
+
+.clear {
+ clear: both;
+}
}
.register_right {
+ text-align: left;
}
.register_header {
body {
background-color : #FFFFFF;
- color : #000000;
- font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
+ color : #000000;
+ font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
font-size : 12px;
letter-spacing : 1px;
- margin : 0px;
- margin-left : 0px;
+ margin : 0px;
+ margin-left : 0px;
margin-right : 0px;
- margin-top : 0px;
+ margin-top : 0px;
margin-bottom : 0px;
}
overflow : auto;
}
-A {
- font-style : normal;
- font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
- text-decoration : none;
+a {
+ font-style : normal;
+ text-decoration : none;
}
-A:link {
- color : #000000;
+a:link {
+ color : #000000;
}
-A:visited {
- color : #000000;
+a:visited {
+ color : #000000;
}
-A:active {
- color : #000088;
+a:active {
+ color : #000088;
background-color : transparent;
}
-A:hover {
+a:hover {
background-color : transparent;
}
}
label {
+ text-align: left;
width: 50%;
float: left;
display: block;
- clear: both;
}
.form_reset {
}
.form_submit {
- color : #000000;
+ color : #000000;
border-color : #000000;
+ background-color : #ffffff;
}
.form_delete {
border-style : groove;
- color : #000000;
+ color : #000000;
border-color : #000000;
}
.runtime {
- color : #000000;
+ color : #000000;
background-color : #FFFFFF;
- font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
}
.runtime.fatal {
}
.runtime.fatalcontent {
- font-size : 20px;
+ font-size : 20px;
}
.admin {
color : #000000;
background-color : #FFFFFF;
- font-family : Verdana, Arial, Geneva, Helvetica, sans-serif;
}
.notice {
font-size : 12px;
}
-.form_submit {
- background-color : #FFFFFF;
-}
-
.banner {
background-color : #FFFFFF;
width : 488px;
background-color : #FFFFFF;
}
-.media_header, .impressum_header {
- background-color : #EEEEFF;
- align : center;
- text-align : center;
- color : #000000;
- height : 26px;
- font-weight : bold;
- font-size : 20px;
-}
-
.media_left {
font-size : 14px;
width : 200px;
background-color: #EEEEFF;
}
-.admin_task_header {
- background-color : #EEEEFF;
- color : #000000;
- vertical-align : middle;
- font-size : 18px;
- height : 35px;
-}
-
.separator {
font-size : 1px
}
margin: -1px;
height:100%;
}
+
+.clear {
+ clear: both;
+}
--- /dev/null
+.install_content {
+ background-color: #ffffff;
+ text-decoration: none;
+ border: 1px solid #000000;
+ padding: 5px;
+ width: 670px;
+ z-index: 20;
+}
+
+.install_main_ajax {
+ padding-bottom: 6px;
+}
+
+.install_header {
+ color: #000000;
+ background-color: #eeeeff;
+ font-size: 20px;
+ text-decoration: underline;
+ height: 30px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin-bottom: 5px;
+}
+
+.install_fatalcontent {
+ text-align: left;
+ background-color: #ffffff;
+}
+
+.install_title {
+ padding-top: 5px;
+ padding-bottom: 10px;
+ font-size: 16px;
+ font-weight: bold;
+ color: #000000;
+}
+
+.install_error, .install_finished {
+ font-size: 20px;
+ color: #000000;
+}
+
+.install_welcome {
+ color: #000000;
+ padding-top: 5px;
+ padding-bottom: 10px;
+}
+
+.install_footer {
+ padding-bottom: 10px;
+}
+
+.install_right {
+ text-align: right;
+ padding-right: 5px;
+}
+
+.install_menu_ajax {
+ width: 720px;
+}
+
+.install_content_container {
+ height: 460px;
+ width: 720px;
+ z-index: 10;
+ overflow: hidden;
+ padding-bottom: 10px;
+}
+
+.install_tab {
+}
+
+.table_row label.install_label {
+ width: 30%;
+}
}
.register_right {
+ text-align: left;
}
.register_header {