Old config.php is now automatically updated to new config-local.php format, several...
authorRoland Häder <roland@mxchange.org>
Sun, 12 Apr 2009 14:55:20 +0000 (14:55 +0000)
committerRoland Häder <roland@mxchange.org>
Sun, 12 Apr 2009 14:55:20 +0000 (14:55 +0000)
309 files changed:
.gitattributes
beg.php
birthday_confirm.php
debug.php
doubler.php
img.php
inc/autopurge/purge-general.php
inc/autopurge/purge-inact.php
inc/autopurge/purge-mails.php
inc/autopurge/purge-tsks.php
inc/autopurge/purge-unconfirmed.php
inc/code-functions.php
inc/config-functions.php
inc/config-local.php.dist
inc/db/lib-mysql3.php
inc/doubler_send.php
inc/extensions.php
inc/extensions/ext-
inc/extensions/ext-active.php
inc/extensions/ext-admins.php
inc/extensions/ext-admintheme1.php
inc/extensions/ext-admintheme_default.php
inc/extensions/ext-autopurge.php
inc/extensions/ext-bank.php
inc/extensions/ext-beg.php
inc/extensions/ext-birthday.php
inc/extensions/ext-bonus.php
inc/extensions/ext-booking.php
inc/extensions/ext-cache.php
inc/extensions/ext-country.php
inc/extensions/ext-debug.php
inc/extensions/ext-demo.php
inc/extensions/ext-doubler.php
inc/extensions/ext-events.php
inc/extensions/ext-holiday.php
inc/extensions/ext-html_mail.php
inc/extensions/ext-iso3166.php
inc/extensions/ext-lead.php
inc/extensions/ext-logs.php
inc/extensions/ext-mailid.php
inc/extensions/ext-maintenance.php
inc/extensions/ext-mediadata.php
inc/extensions/ext-menu.php
inc/extensions/ext-mods.php
inc/extensions/ext-mydata.php
inc/extensions/ext-network.php
inc/extensions/ext-newsletter.php
inc/extensions/ext-nickname.php
inc/extensions/ext-online.php
inc/extensions/ext-optimize.php
inc/extensions/ext-order.php
inc/extensions/ext-other.php
inc/extensions/ext-payout.php
inc/extensions/ext-primera.php
inc/extensions/ext-profile.php
inc/extensions/ext-rallye.php
inc/extensions/ext-refback.php
inc/extensions/ext-register.php
inc/extensions/ext-removeip.php
inc/extensions/ext-repair.php
inc/extensions/ext-rewrite.php
inc/extensions/ext-safe.php
inc/extensions/ext-sponsor.php
inc/extensions/ext-sql_patches.php
inc/extensions/ext-support.php
inc/extensions/ext-surfbar.php
inc/extensions/ext-task.php
inc/extensions/ext-theme.php
inc/extensions/ext-top10.php
inc/extensions/ext-transfer.php
inc/extensions/ext-usage.php
inc/extensions/ext-user.php
inc/extensions/ext-wernis.php
inc/extensions/ext-yoomedia.php
inc/filters.php
inc/footer.php
inc/functions.php
inc/gen_sql_patches.php
inc/handler.php
inc/header.php
inc/inc-functions.php
inc/install-inc.php
inc/language-functions.php [new file with mode: 0644]
inc/language.php
inc/libs/active_functions.php
inc/libs/admins_functions.php
inc/libs/autopurge_functions.php
inc/libs/beg_functions.php
inc/libs/bonus_functions.php
inc/libs/booking_functions.php
inc/libs/cache_functions.php
inc/libs/country_functions.php
inc/libs/holiday_functions.php
inc/libs/mediadata_functions.php
inc/libs/nickname_functions.php
inc/libs/online_functions.php
inc/libs/primera_functions.php
inc/libs/rallye_functions.php
inc/libs/refback_functions.php
inc/libs/register_functions.php
inc/libs/security_functions.php
inc/libs/sponsor_functions.php
inc/libs/surfbar_functions.php
inc/libs/theme_functions.php
inc/libs/user_functions.php
inc/libs/wernis_functions.php
inc/libs/yoomedia_functions.php
inc/load_config.php
inc/load_extensions.php
inc/mails/_mails.php
inc/mails/beg_mails.php
inc/mails/birthday_mails.php
inc/mails/bonus_mails.php
inc/modules/admin.php
inc/modules/admin/action-login.php
inc/modules/admin/admin-inc.php
inc/modules/admin/overview-inc.php
inc/modules/admin/what-add_points.php
inc/modules/admin/what-add_rallye.php
inc/modules/admin/what-add_sponsor.php
inc/modules/admin/what-admin_add.php
inc/modules/admin/what-adminedit.php
inc/modules/admin/what-admins_mails.php
inc/modules/admin/what-config_admin.php
inc/modules/admin/what-config_admins.php
inc/modules/admin/what-config_beg.php
inc/modules/admin/what-config_birthday.php
inc/modules/admin/what-config_bonus.php
inc/modules/admin/what-config_cats.php
inc/modules/admin/what-config_doubler.php
inc/modules/admin/what-config_email.php
inc/modules/admin/what-config_holiday.php
inc/modules/admin/what-config_home.php
inc/modules/admin/what-config_mediadata.php
inc/modules/admin/what-config_mods.php
inc/modules/admin/what-config_order.php
inc/modules/admin/what-config_payouts.php
inc/modules/admin/what-config_points.php
inc/modules/admin/what-config_rallye_prices.php
inc/modules/admin/what-config_register.php
inc/modules/admin/what-config_stats.php
inc/modules/admin/what-config_title.php
inc/modules/admin/what-config_top10.php
inc/modules/admin/what-del_email.php
inc/modules/admin/what-del_sponsor.php
inc/modules/admin/what-del_transfer.php
inc/modules/admin/what-del_user.php
inc/modules/admin/what-edit_emails.php
inc/modules/admin/what-edit_sponsor.php
inc/modules/admin/what-edit_user.php
inc/modules/admin/what-email_archiv.php
inc/modules/admin/what-email_details.php
inc/modules/admin/what-extensions.php
inc/modules/admin/what-guest_add.php
inc/modules/admin/what-guestedit.php
inc/modules/admin/what-list_autopurge.php
inc/modules/admin/what-list_bank_package.php
inc/modules/admin/what-list_beg.php
inc/modules/admin/what-list_bonus.php
inc/modules/admin/what-list_cats.php
inc/modules/admin/what-list_country.php
inc/modules/admin/what-list_doubler.php
inc/modules/admin/what-list_links.php
inc/modules/admin/what-list_newsletter.php
inc/modules/admin/what-list_payouts.php
inc/modules/admin/what-list_primera.php
inc/modules/admin/what-list_rallyes.php
inc/modules/admin/what-list_refs.php
inc/modules/admin/what-list_sponsor.php
inc/modules/admin/what-list_sponsor_pay.php
inc/modules/admin/what-list_sponsor_pays.php
inc/modules/admin/what-list_surfbar_urls.php
inc/modules/admin/what-list_task.php
inc/modules/admin/what-list_transfer.php
inc/modules/admin/what-list_unconfirmed.php
inc/modules/admin/what-list_user.php
inc/modules/admin/what-list_wernis.php
inc/modules/admin/what-lock_sponsor.php
inc/modules/admin/what-lock_user.php
inc/modules/admin/what-maintenance.php
inc/modules/admin/what-mem_add.php
inc/modules/admin/what-memedit.php
inc/modules/admin/what-payments.php
inc/modules/admin/what-refbanner.php
inc/modules/admin/what-repair_amnu.php
inc/modules/admin/what-repair_cats.php
inc/modules/admin/what-repair_gmnu.php
inc/modules/admin/what-repair_mmnu.php
inc/modules/admin/what-stats_mods.php
inc/modules/admin/what-sub_points.php
inc/modules/admin/what-surfbar_stats.php
inc/modules/admin/what-theme_edit.php
inc/modules/admin/what-theme_import.php
inc/modules/admin/what-unlock_emails.php
inc/modules/admin/what-unlock_sponsor.php
inc/modules/admin/what-usage.php
inc/modules/admin/what-user_contct.php
inc/modules/admin/what-usr_online.php
inc/modules/chk_login.php
inc/modules/frametester.php
inc/modules/guest/action-
inc/modules/guest/what-active.php
inc/modules/guest/what-confirm.php
inc/modules/guest/what-doubler.php
inc/modules/guest/what-login.php
inc/modules/guest/what-mediadata.php
inc/modules/guest/what-register.php
inc/modules/guest/what-sponsor_login.php
inc/modules/guest/what-sponsor_reg.php
inc/modules/guest/what-stats.php
inc/modules/guest/what-top10.php
inc/modules/guest/what-wernis_portal.php
inc/modules/member/action-
inc/modules/member/what-beg.php
inc/modules/member/what-beg2.php
inc/modules/member/what-bonus.php
inc/modules/member/what-categories.php
inc/modules/member/what-doubler.php
inc/modules/member/what-holiday.php
inc/modules/member/what-html_mail.php
inc/modules/member/what-mydata.php
inc/modules/member/what-newsletter.php
inc/modules/member/what-nickname.php
inc/modules/member/what-order.php
inc/modules/member/what-payout.php
inc/modules/member/what-points.php
inc/modules/member/what-primera.php
inc/modules/member/what-refback.php
inc/modules/member/what-reflinks.php
inc/modules/member/what-reflist.php
inc/modules/member/what-stats.php
inc/modules/member/what-support.php
inc/modules/member/what-themes.php
inc/modules/member/what-transfer.php
inc/modules/member/what-unconfirmed.php
inc/modules/member/what-welcome.php
inc/modules/member/what-wernis.php
inc/modules/order.php
inc/modules/sponsor.php
inc/modules/sponsor/.php
inc/modules/sponsor/account.php
inc/modules/sponsor/settings.php
inc/modules/sponsor/welcome.php
inc/monthly/monthly_
inc/monthly/monthly_beg.php
inc/monthly/monthly_bonus.php
inc/monthly/monthly_newsletter.php
inc/mysql-connect.php
inc/mysql-manager.php
inc/pool/pool-bonus.php
inc/pool/pool-user.php
inc/profile-updte.php
inc/rdf.class.php
inc/reset/reset_
inc/reset/reset_beg.php
inc/reset/reset_bonus.php
inc/reset/reset_daily.php
inc/reset/reset_holiday.php
inc/stats_bonus.php
inc/weekly/weekly_
inc/wrapper-functions.php
js.php
lead-confirm.php
mailid.php
mailid_top.php
modules.php
ref.php
show_bonus.php
sponsor_ref.php
surfbar.php
theme/business/css/active.css
theme/business/css/beg.css
theme/business/css/bonus.css
theme/business/css/doubler.css
theme/business/css/general.css
theme/business/css/install.css
theme/business/css/register.css
theme/business/css/sponsor.css
theme/business/css/surfbar.css
theme/business/css/top10.css
theme/business/css/transfer.css
theme/business/theme.php
theme/default/css/active.css
theme/default/css/beg.css
theme/default/css/bonus.css
theme/default/css/doubler.css
theme/default/css/general.css
theme/default/css/install.css
theme/default/css/register.css
theme/default/css/sponsor.css
theme/default/css/surfbar.css
theme/default/css/top10.css
theme/default/css/transfer.css
theme/default/theme.php
theme/desert/css/active.css
theme/desert/css/beg.css
theme/desert/css/bonus.css
theme/desert/css/doubler.css
theme/desert/css/general.css
theme/desert/css/help.css
theme/desert/css/install.css
theme/desert/css/paidlinks.css
theme/desert/css/register.css
theme/desert/css/sponsor.css
theme/desert/css/surfbar.css
theme/desert/css/top10.css
theme/desert/css/transfer.css
theme/desert/theme.php
view.php

index e640363..f13f3a5 100644 (file)
@@ -176,6 +176,7 @@ inc/hooks.php -text
 inc/img/.htaccess -text
 inc/install-inc.php -text
 inc/js/.htaccess -text
+inc/language-functions.php -text
 inc/language.php -text
 inc/language/.htaccess -text
 inc/language/_de.php -text
diff --git a/beg.php b/beg.php
index 669afcf..d69cd6b 100644 (file)
--- a/beg.php
+++ b/beg.php
@@ -73,7 +73,7 @@ if (isInstalled()) {
                        if (EXT_IS_ACTIVE('nickname')) {
                                // Maybe we have found a nickname?
                                $result = SQL_QUERY_ESC("SELECT userid, beg_clicks, ref_payout, status, last_online FROM `{!_MYSQL_PREFIX!}_user_data` WHERE nickname='%s' LIMIT 1",
-                                       array(REQUEST_GET('uid')), __FILE__, __LINE__);
+                               array(REQUEST_GET('uid')), __FILE__, __LINE__);
                        } else {
                                // Nickname entered but nickname is not active
                                $msg = getCode('EXTENSION_PROBLEM');
@@ -82,7 +82,7 @@ if (isInstalled()) {
                } else {
                        // Direct userid
                        $result = SQL_QUERY_ESC("SELECT userid, beg_clicks, ref_payout, status, last_online FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
-                               array(bigintval(REQUEST_GET('uid'))), __FILE__, __LINE__);
+                       array(bigintval(REQUEST_GET('uid'))), __FILE__, __LINE__);
                }
 
                // Check if locked in so don't pay points
@@ -121,11 +121,11 @@ if (isInstalled()) {
                if (($uid > 0) && (getConfig('beg_uid') != $uid)) {
                        // Update counter
                        SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET beg_clicks=beg_clicks+1 WHERE userid=%s AND `status`='CONFIRMED' LIMIT 1",
-                               array($uid), __FILE__, __LINE__);
+                       array($uid), __FILE__, __LINE__);
 
                        // Check for last entry for userid w/o IP number
                        $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_beg_ips` WHERE (timeout > (UNIX_TIMESTAMP() - ".getConfig('beg_timeout').") OR (timeout > (UNIX_TIMESTAMP() - ".getConfig('beg_uid_timeout').") AND `userid`=%s)) AND (remote_ip='%s' OR sid='%s') LIMIT 1",
-                               array($uid, detectRemoteAddr(), session_id()), __FILE__, __LINE__);
+                       array($uid, detectRemoteAddr(), session_id()), __FILE__, __LINE__);
 
                        // Entry not found, points set and not logged in?
                        if (((SQL_NUMROWS($result) == 0) || (IS_ADMIN())) && ($points > 0) && (!IS_MEMBER()) && (getConfig('beg_pay_mode') == 'NONE')) {
@@ -136,7 +136,7 @@ if (isInstalled()) {
                                        // but only when there is no admin begging.
                                        // Admins shall be able to test it!
                                        SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_beg_ips` (userid, remote_ip,sid, timeout) VALUES ('%s','%s','%s', UNIX_TIMESTAMP())",
-                                               array($uid, detectRemoteAddr(), session_id()), __FILE__, __LINE__);
+                                       array($uid, detectRemoteAddr(), session_id()), __FILE__, __LINE__);
 
                                        // Was is successfull?
                                        $pay (SQL_AFFECTEDROWS() == 1);
@@ -150,18 +150,18 @@ if (isInstalled()) {
                                        // Add points to user or begging rallye account
                                        if (BEG_ADD_POINTS($uid, $points)) {
                                                // Set 'done' message
-                                               $content['msg'] = LOAD_TEMPLATE('beg_done', true));
+                                               $content['msg'] = LOAD_TEMPLATE('beg_done', true);
                                        } else {
                                                // Error!
-                                               $content['msg'] = LOAD_TEMPLATE('beg_failed', true));
+                                               $content['msg'] = LOAD_TEMPLATE('beg_failed', true);
                                        }
                                } else {
                                        // Error!
-                                       $content['msg'] = LOAD_TEMPLATE('beg_failed', true));
+                                       $content['msg'] = LOAD_TEMPLATE('beg_failed', true);
                                }
                        } elseif (IS_MEMBER()) {
                                // Logged in user found!
-                               $content['msg'] = LOAD_TEMPLATE('beg_login', true));
+                               $content['msg'] = LOAD_TEMPLATE('beg_login', true);
                        } elseif (getConfig('beg_pay_mode') != 'NONE') { // Other pay-mode active!
                                // Prepare content for template
                                $content = array(
@@ -171,11 +171,11 @@ if (isInstalled()) {
                                );
 
                                // Load message template depending on pay-mode
-                               $content['msg'] = LOAD_TEMPLATE('beg_pay_mode_'.strtolower(getConfig('beg_pay_mode')), true, $content));
+                               $content['msg'] = LOAD_TEMPLATE('beg_pay_mode_'.strtolower(getConfig('beg_pay_mode')), true, $content);
                                $pay = true;
                        } else {
                                // Clicked received while reload lock is active
-                               $content['msg'] = LOAD_TEMPLATE('beg_failed', true));
+                               $content['msg'] = LOAD_TEMPLATE('beg_failed', true);
                        }
 
                        // Free memory
@@ -198,7 +198,7 @@ if (isInstalled()) {
                                LOAD_TEMPLATE('beg_pay_code_'.strtolower(getConfig('beg_pay_mode')), false, $content);
                        } elseif ((!$pay) && (!isset($content['msg']))) {
                                // Cannot pay! :-(
-                               $content['msg'] = LOAD_TEMPLATE('beg_failed', true));
+                               $content['msg'] = LOAD_TEMPLATE('beg_failed', true);
                        }
 
                        // Include footer
@@ -209,7 +209,7 @@ if (isInstalled()) {
                } elseif (($uid == '0') || ($status == 'failed')) {
                        // Inalid or locked account, so let's find out
                        $result = SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE nickname='%s' LIMIT 1",
-                               array(REQUEST_GET('uid')), __FILE__, __LINE__);
+                       array(REQUEST_GET('uid')), __FILE__, __LINE__);
                        if (SQL_NUMROWS($result) == 1) {
                                // Locked account
                                $msg = getCode('ACCOUNT_LOCKED');
index efbb4a5..7d40684 100644 (file)
@@ -67,7 +67,7 @@ FROM `{!_MYSQL_PREFIX!}_user_birthday` AS b
 INNER JOIN `{!_MYSQL_PREFIX!}_user_data` AS d
 ON b.userid=d.userid
 WHERE b.userid=%s AND b.chk_value='%s' LIMIT 1",
- array($uid, $chk), __FILE__, __LINE__);
      array($uid, $chk), __FILE__, __LINE__);
        //* DEBUG: */ echo "uid=".$uid.",chk=".$chk." (".strlen($chk).'/'.strlen(REQUEST_GET('check')).'/'.SQL_NUMROWS($result).")<br />\n";
 
        // Prepare content
@@ -96,7 +96,7 @@ WHERE b.userid=%s AND b.chk_value='%s' LIMIT 1",
 
                        // Remove entry from table
                        SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_birthday` WHERE userid=%s AND chk_value='%s' LIMIT 1",
-                               array($uid, $chk), __FILE__, __LINE__);
+                       array($uid, $chk), __FILE__, __LINE__);
 
                        // "Translate" some data
                        $data['gender'] = translateGender($data['gender']);
index aa7c764..ef780e4 100644 (file)
--- a/debug.php
+++ b/debug.php
@@ -64,8 +64,8 @@ if ((isInstalled()) && (getTotalFatalErrors() == 0)) {
                if (DEBUG_HANDLE_REQUEST(REQUEST_POST('request'))) {
                        // Construct FQFN for the module
                        $INC = sprintf("inc/debug/%s/request_%s",
-                               getConfig('debug_mode'),
-                               SQL_ESCAPE(REQUEST_POST('request'))
+                       getConfig('debug_mode'),
+                       SQL_ESCAPE(REQUEST_POST('request'))
                        );
 
                        // Is the module there? Else we log it!
index 6920cd1..2492b99 100644 (file)
@@ -66,14 +66,14 @@ if (isInstalled()) {
                $probe_nickname = ((EXT_IS_ACTIVE('nickname')) && ((''.round($GLOBALS['refid']).'') != $GLOBALS['refid']));
 
                // Do we have nickname or userid set?
-               if ($probe_nickname) {
+               if ($probe_nickname === true) {
                        // Nickname in URL, so load the ID
                        $result = SQL_QUERY_ESC("SELECT userid, status FROM `{!_MYSQL_PREFIX!}_user_data` WHERE nickname='%s' LIMIT 1",
-                               array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__);
+                       array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__);
                } else {
                        // Direct userid entered
                        $result = SQL_QUERY_ESC("SELECT userid, status FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
-                               array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__);
+                       array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__);
                }
 
                // Load data
@@ -105,11 +105,11 @@ if (isInstalled()) {
                        if ($probe_nickname) {
                                // Nickname in URL, so load the ID
                                $result = SQL_QUERY_ESC("SELECT userid, status, password FROM `{!_MYSQL_PREFIX!}_user_data` WHERE nickname='%s' LIMIT 1",
-                                       array(REQUEST_POST('userid')), __FILE__, __LINE__);
+                               array(REQUEST_POST('userid')), __FILE__, __LINE__);
                        } else {
                                // Direct userid entered
                                $result = SQL_QUERY_ESC("SELECT userid, status, password FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
-                                       array(bigintval(REQUEST_POST('userid'))), __FILE__, __LINE__);
+                               array(bigintval(REQUEST_POST('userid'))), __FILE__, __LINE__);
                        }
 
                        // Load data
@@ -134,119 +134,118 @@ if (isInstalled()) {
                                $points = GET_TOTAL_DATA($uid, 'user_points', 'points') - GET_TOTAL_DATA($uid, 'user_data', 'used_points');
 
                                // So let's continue with probing his points amount
-                               if (($points - getConfig('doubler_left') - REQUEST_POST('points') * getConfig('doubler_charge')) >= 0) 
-                                       // Enough points are left so let's continue with the doubling process
-                                       // Create doubling "account" width *DOUBLED* points
-                                       SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_doubler` (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s','%s','%s','".detectRemoteAddr()."', UNIX_TIMESTAMP(), 'N','N')",
-                                               array($uid, bigintval($GLOBALS['refid']), bigintval(REQUEST_POST('points') * 2)), __FILE__, __LINE__);
-
-                                       // Subtract entered points
-                                       SUB_POINTS('doubler', $uid, REQUEST_POST('points'));
-
-                                       // Add points to "total payed" including charge
-                                       $points = REQUEST_POST('points') - REQUEST_POST('points') * getConfig('doubler_charge');
-                                       updateConfiguration('doubler_points', $points, '+');
-                                       incrementConfigEntry('doubler_points', $points);
-
-                                       // Add second line for the referal but only when uid != refid
-                                       if (($GLOBALS['refid'] > 0) && ($GLOBALS['refid'] != $uid)) {
-                                               // Okay add a refid line and apply refid percents
-                                               SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_doubler` (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s',0,'%s','".detectRemoteAddr()."',UNIX_TIMESTAMP(),'N','Y')",
-                                                       array(
-                                                               bigintval($GLOBALS['refid']),
-                                                               bigintval(REQUEST_POST('points') * 2 * getConfig('doubler_ref'))
-                                                       ), __FILE__, __LINE__);
-
-                                               // And that's why we don't want to you more than one referal level of doubler-points. ^^^
-                                       } // END - if
-
-                                       // Update usage counter
-                                       updateConfiguration('doubler_counter', 1, '+');
-
-                                       // Set constant
-                                       define('__DOUBLER_MSG', LOAD_TEMPLATE('doubler_reflink', true, REQUEST_POST('userid')));
-                               } else {
-                                       // Not enougth points left
-                                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_NO_POINTS_LEFT'));
-                               }
-                       } elseif ($status == 'CONFIRMED') {
-                               // Account is unconfirmed!
-                               define('__ERROR_MSG', getMessage('DOUBLER_FORM_WRONG_PASS'));
-                       } elseif ($status == 'UNCONFIRMED') {
-                               // Account is unconfirmed!
-                               define('__ERROR_MSG', getMessage('DOUBLER_FORM_STATUS_UNCONFIRMED'));
-                       } elseif ($status == 'LOCKED') {
-                               // Account is locked by admin / holiday!
-                               define('__ERROR_MSG', getMessage('DOUBLER_FORM_STATUS_LOCKED'));
-                       } elseif (REQUEST_POST('points') < getConfig('doubler_min')) {
-                               // Not enougth points entered
-                               define('__ERROR_MSG', getMessage('DOUBLER_FORM_POINTS_MIN'));
-                       } elseif (REQUEST_POST('points') > getConfig('doubler_max')) {
-                               // Too much points entered
-                               define('__ERROR_MSG', getMessage('DOUBLER_FORM_POINTS_MAX'));
-                       } elseif ($probe_nickname) {
-                               // Cannot resolv nickname -> userid
-                               define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_NICKNAME'));
+                               if (($points - getConfig('doubler_left') - REQUEST_POST('points') * getConfig('doubler_charge')) >= 0)
+                               // Enough points are left so let's continue with the doubling process
+                               // Create doubling "account" width *DOUBLED* points
+                               SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_doubler` (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s','%s','%s','".detectRemoteAddr()."', UNIX_TIMESTAMP(), 'N','N')",
+                               array($uid, bigintval($GLOBALS['refid']), bigintval(REQUEST_POST('points') * 2)), __FILE__, __LINE__);
+
+                               // Subtract entered points
+                               SUB_POINTS('doubler', $uid, REQUEST_POST('points'));
+
+                               // Add points to "total payed" including charge
+                               $points = REQUEST_POST('points') - REQUEST_POST('points') * getConfig('doubler_charge');
+                               updateConfiguration('doubler_points', $points, '+');
+                               incrementConfigEntry('doubler_points', $points);
+
+                               // Add second line for the referal but only when uid != refid
+                               if (($GLOBALS['refid'] > 0) && ($GLOBALS['refid'] != $uid)) {
+                                       // Okay add a refid line and apply refid percents
+                                       SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_doubler` (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s',0,'%s','".detectRemoteAddr()."',UNIX_TIMESTAMP(),'N','Y')",
+                                       array(
+                                       bigintval($GLOBALS['refid']),
+                                       bigintval(REQUEST_POST('points') * 2 * getConfig('doubler_ref'))
+                                       ), __FILE__, __LINE__);
+
+                                       // And that's why we don't want to you more than one referal level of doubler-points. ^^^
+                               } // END - if
+
+                               // Update usage counter
+                               updateConfiguration('doubler_counter', 1, '+');
+
+                               // Set constant
+                               define('__DOUBLER_MSG', LOAD_TEMPLATE('doubler_reflink', true, REQUEST_POST('userid')));
                        } else {
-                               // Wrong password or account not found
-                               define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_MEMBER'));
+                               // Not enougth points left
+                               define('__ERROR_MSG', getMessage('DOUBLER_FORM_NO_POINTS_LEFT'));
                        }
-               } elseif (!REQUEST_ISSET_POST(('userid'))) {
-                       // Login not entered
-                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_LOGIN'));
-               } elseif (!REQUEST_ISSET_POST(('pass'))) {
-                       // Password not entered
-                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_PASSWORD'));
-               } elseif (!REQUEST_ISSET_POST(('points'))) {
-                       // points not entered
-                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_POINTS'));
+               } elseif ($status == 'CONFIRMED') {
+                       // Account is unconfirmed!
+                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_WRONG_PASS'));
+               } elseif ($status == 'UNCONFIRMED') {
+                       // Account is unconfirmed!
+                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_STATUS_UNCONFIRMED'));
+               } elseif ($status == 'LOCKED') {
+                       // Account is locked by admin / holiday!
+                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_STATUS_LOCKED'));
+               } elseif (REQUEST_POST('points') < getConfig('doubler_min')) {
+                       // Not enougth points entered
+                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_POINTS_MIN'));
+               } elseif (REQUEST_POST('points') > getConfig('doubler_max')) {
+                       // Too much points entered
+                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_POINTS_MAX'));
+               } elseif ($probe_nickname) {
+                       // Cannot resolv nickname -> userid
+                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_NICKNAME'));
+               } else {
+                       // Wrong password or account not found
+                       define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_MEMBER'));
                }
+       } elseif (!REQUEST_ISSET_POST(('userid'))) {
+               // Login not entered
+               define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_LOGIN'));
+       } elseif (!REQUEST_ISSET_POST(('pass'))) {
+               // Password not entered
+               define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_PASSWORD'));
+       } elseif (!REQUEST_ISSET_POST(('points'))) {
+               // points not entered
+               define('__ERROR_MSG', getMessage('DOUBLER_FORM_404_POINTS'));
        }
+}
 
-       // Set messages to nothing
-       if (!defined('__DOUBLER_MSG')) define('__DOUBLER_MSG', '');
-       if (!defined('__ERROR_MSG'))   define('__ERROR_MSG'  , '');
+// Set messages to nothing
+if (!defined('__DOUBLER_MSG')) define('__DOUBLER_MSG', '');
+if (!defined('__ERROR_MSG'))   define('__ERROR_MSG'  , '');
 
-       // Shall I check for points immediately?
-       if (getConfig('doubler_send_mode') == 'DIRECT') loadInclude('inc/doubler_send.php');
+// Shall I check for points immediately?
+if (getConfig('doubler_send_mode') == 'DIRECT') loadInclude('inc/doubler_send.php');
 
-       // Output header
-       loadIncludeOnce('inc/header.php');
+// Output header
+loadIncludeOnce('inc/header.php');
 
-       // Banner in text
-       define('__DOUBLER_BANNER', LOAD_TEMPLATE('doubler_banner', true));
+// Banner in text
+define('__DOUBLER_BANNER', LOAD_TEMPLATE('doubler_banner', true));
 
-       // Load header/footer templates
-       define('__DOUBLER_HEADER', LOAD_TEMPLATE('doubler_header', true));
-       define('__DOUBLER_FOOTER', LOAD_TEMPLATE('doubler_footer', true));
+// Load header/footer templates
+define('__DOUBLER_HEADER', LOAD_TEMPLATE('doubler_header', true));
+define('__DOUBLER_FOOTER', LOAD_TEMPLATE('doubler_footer', true));
 
-       if (!empty($uid)) {
-               // Transfer userid/nickname to constant
-               define('__REFID', $uid);
-       } else {
-               // Transfer userid/nickname to constant
-               define('__REFID', $GLOBALS['refid']);
-       }
+if (!empty($uid)) {
+       // Transfer userid/nickname to constant
+       define('__REFID', $uid);
+} else {
+       // Transfer userid/nickname to constant
+       define('__REFID', $GLOBALS['refid']);
+}
 
-       // Percent values etc.
-       define('__CHARGE_VALUE', translateComma(getConfig('doubler_charge') * 100));
-       define('__REF_VALUE'   , translateComma(getConfig('doubler_ref') * 100));
-       define('__TOTAL_VALUE' , translateComma(getConfig('doubler_points')));
-       define('__MIN_VALUE'   , translateComma(getConfig('doubler_min')));
-       define('__MAX_VALUE'   , translateComma(getConfig('doubler_max')));
-
-       // Text "Enter login"
-       if (EXT_IS_ACTIVE('nickname')) {
-               // Choose login/nickname
-               define('DOUBLER_ENTER_LOGIN', getMessage('GUEST_ENTER_LOGIN_NICKNAME'));
-       } else {
-               // Simple login ID
-               define('DOUBLER_ENTER_LOGIN', getMessage('GUEST_ENTER_LOGIN'));
-       }
+// Percent values etc.
+define('__CHARGE_VALUE', translateComma(getConfig('doubler_charge') * 100));
+define('__REF_VALUE'   , translateComma(getConfig('doubler_ref') * 100));
+define('__TOTAL_VALUE' , translateComma(getConfig('doubler_points')));
+define('__MIN_VALUE'   , translateComma(getConfig('doubler_min')));
+define('__MAX_VALUE'   , translateComma(getConfig('doubler_max')));
+
+// Text "Enter login"
+if (EXT_IS_ACTIVE('nickname')) {
+       // Choose login/nickname
+       define('DOUBLER_ENTER_LOGIN', getMessage('GUEST_ENTER_LOGIN_NICKNAME'));
+} else {
+       // Simple login ID
+       define('DOUBLER_ENTER_LOGIN', getMessage('GUEST_ENTER_LOGIN'));
+}
 
-       // Which mail-send-mode did the admin setup?
-       switch (getConfig('doubler_send_mode'))
-       {
+// Which mail-send-mode did the admin setup?
+switch (getConfig('doubler_send_mode')) {
        case 'DIRECT':
                define('DOUBLER_PAYOUT_TIME', getMessage('DOUBLER_PAYOUT_TIME_DIRECT'));
                break;
@@ -254,25 +253,25 @@ if (isInstalled()) {
        case 'RESET':
                define('DOUBLER_PAYOUT_TIME', getMessage('DOUBLER_PAYOUT_TIME_RESET'));
                break;
-       }
+}
 
-       // Generate table with already payed out doubles
-       define('__DOUBLER_PAYOUT_HISTORY', DOUBLER_GENERATE_TABLE('0', 'Y', 'N', 'DESC'));
+// Generate table with already payed out doubles
+define('__DOUBLER_PAYOUT_HISTORY', DOUBLER_GENERATE_TABLE('0', 'Y', 'N', 'DESC'));
 
-       // Generate timemark
-       define('__TIMEOUT_MARK', createFancyTime(getConfig('doubler_timeout')));
+// Generate timemark
+define('__TIMEOUT_MARK', createFancyTime(getConfig('doubler_timeout')));
 
-       // Usage counter
-       define('__DOUBLER_COUNTER', getConfig('doubler_counter'));
+// Usage counter
+define('__DOUBLER_COUNTER', getConfig('doubler_counter'));
 
-       // Points left to doubler
-       define('__LEFT_VALUE', translateComma(DOUBLER_GET_TOTAL_POINTS_LEFT()));
+// Points left to doubler
+define('__LEFT_VALUE', translateComma(DOUBLER_GET_TOTAL_POINTS_LEFT()));
 
-       // Output neccessary form for this
-       LOAD_TEMPLATE('doubler_index');
+// Output neccessary form for this
+LOAD_TEMPLATE('doubler_index');
 
-       // Output footer
-       loadIncludeOnce('inc/footer.php');
+// Output footer
+loadIncludeOnce('inc/footer.php');
 } else {
        // You have to install first!
        redirectToUrl('install.php');
diff --git a/img.php b/img.php
index f109970..db6512a 100644 (file)
--- a/img.php
+++ b/img.php
@@ -62,7 +62,7 @@ if (isInstalled()) {
        } elseif (REQUEST_ISSET_GET('tag')) {
                // Tag set so create the IFN (Include-FileName)
                $INC = sprintf("inc/img/tag-%s.php",
-                       REQUEST_GET('tag')
+               REQUEST_GET('tag')
                );
 
                // Include is readable?
index 0e4d9ee..b880ee8 100644 (file)
@@ -65,14 +65,14 @@ FROM `{!_MYSQL_PREFIX!}_user_stats` AS s
 LEFT JOIN `{!_MYSQL_PREFIX!}_payments` AS t
 ON s.payment_id=t.id
 WHERE s.timestamp_ordered <= (UNIX_TIMESTAMP() - %s) ORDER BY s.userid",
-               array(bigintval($PURGE)), __FILE__, __LINE__);
+       array(bigintval($PURGE)), __FILE__, __LINE__);
        if (SQL_NUMROWS($result) > 0) {
                // Start deleting procedure
                $uid = 0; $points = 0;
                while ($content = SQL_FETCHARRAY($result)) {
                        // Check if confirmation links are purged or not
                        $result_links = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_user_links` WHERE stats_id=%s LIMIT 1",
-                               array(bigintval($content['id'])), __FILE__, __LINE__);
+                       array(bigintval($content['id'])), __FILE__, __LINE__);
                        if (SQL_NUMROWS($result_links) == 1) {
                                // Free memory
                                SQL_FREERESULT($result_links);
@@ -89,11 +89,11 @@ WHERE s.timestamp_ordered <= (UNIX_TIMESTAMP() - %s) ORDER BY s.userid",
 
                                // Remove confirmation links from queue
                                ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_links` WHERE stats_id=%s",
-                                       array(bigintval($content['id'])), __FILE__, __LINE__, false));
+                               array(bigintval($content['id'])), __FILE__, __LINE__, false));
 
                                // Update status of order
                                ADD_SQL(SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET data_type='DELETED' WHERE `id`=%s LIMIT 1",
-                                       array(bigintval($content['pool_id'])), __FILE__, __LINE__, false));
+                               array(bigintval($content['pool_id'])), __FILE__, __LINE__, false));
                        } // END - if
                } // END - while
 
@@ -108,14 +108,14 @@ WHERE s.timestamp_ordered <= (UNIX_TIMESTAMP() - %s) ORDER BY s.userid",
        if (EXT_IS_ACTIVE('bonus', true)) {
                // Check for bonus campaigns
                $result = SQL_QUERY_ESC("SELECT id, points FROM `{!_MYSQL_PREFIX!}_bonus` WHERE data_type='SEND' AND timestamp <= %s ORDER BY `id`",
-                       array(bigintval($PURGE)), __FILE__, __LINE__);
+               array(bigintval($PURGE)), __FILE__, __LINE__);
                if (SQL_NUMROWS($result) > 0) {
                        // Start deleting procedure
                        $points = 0;
                        while ($content = SQL_FETCHARRAY($result)) {
                                // Check if confirmation links are purged or not
                                $result_links = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_user_links` WHERE bonus_id=%s",
-                                       array(bigintval($content['id'])), __FILE__, __LINE__);
+                               array(bigintval($content['id'])), __FILE__, __LINE__);
                                if (SQL_NUMROWS($result_links) > 0) {
                                        // At least one link was found, enougth to pay back the points
                                        $points += $content['points'] * SQL_NUMROWS($result_links);
@@ -125,11 +125,11 @@ WHERE s.timestamp_ordered <= (UNIX_TIMESTAMP() - %s) ORDER BY s.userid",
 
                                        // Remove confirmation links from queue
                                        ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_links` WHERE bonus_id=%s",
-                                               array(bigintval($content['id'])), __FILE__, __LINE__, false));
+                                       array(bigintval($content['id'])), __FILE__, __LINE__, false));
 
                                        // Update status of order
                                        ADD_SQL(SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_bonus` SET data_type='DELETED' WHERE `id`=%s LIMIT 1",
-                                               array(bigintval($content['id'])), __FILE__, __LINE__, false));
+                                       array(bigintval($content['id'])), __FILE__, __LINE__, false));
                                } // END - if
                        } // END - while
 
index 285a3ab..fc75e5f 100644 (file)
@@ -100,7 +100,7 @@ ORDER BY d.userid", array($since, $since, $since), __FILE__, __LINE__);
 
                        // Update this account
                        ADD_SQL(SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET ap_notified=UNIX_TIMESTAMP() WHERE userid=%s LIMIT 1",
-                               array(bigintval($content['userid'])), __FILE__, __LINE__, false));
+                       array(bigintval($content['userid'])), __FILE__, __LINE__, false));
                } // END - while
 
                // Remove last comma
@@ -121,7 +121,7 @@ FROM `{!_MYSQL_PREFIX!}_user_data` AS d
 WHERE `status`='CONFIRMED' AND joined < (UNIX_TIMESTAMP() - %s) AND `last_online` < (UNIX_TIMESTAMP() - %s) AND ap_notified < (UNIX_TIMESTAMP() - %s)
 ".$EXCLUDE_LIST."
 ORDER BY `userid` ASC",
-               array($since, $since, $time), __FILE__, __LINE__);
+       array($since, $since, $time), __FILE__, __LINE__);
        if (SQL_NUMROWS($result_inactive) > 0) {
                // Prepare variable...
                $UIDs = '';
index 8599f88..49d13c9 100644 (file)
@@ -56,7 +56,7 @@ if (getConfig('ap_del_mails') == 'Y') {
 FROM `{!_MYSQL_PREFIX!}_pool`
 WHERE data_type='DELETED' AND timestamp <= (UNIX_TIMESTAMP() - %s)
 ORDER BY sender ASC",
-        array($since), __FILE__, __LINE__);
+       array($since), __FILE__, __LINE__);
 
        // Reset counter...
        $DELETED = 0;
@@ -67,11 +67,11 @@ ORDER BY sender ASC",
                while ($content = SQL_FETCHARRAY($result_mails)) {
                        // Check now...
                        $fount = SQL_NUMROWS(SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
-                               array(bigintval($content['sender'])), __FILE__, __LINE__));
+                       array(bigintval($content['sender'])), __FILE__, __LINE__));
                        if ($found == 0) {
                                // Okay we found some mails!
                                SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_pool` WHERE sender=%s",
-                                       array(bigintval($content['sender'])), __FILE__, __LINE__);
+                               array(bigintval($content['sender'])), __FILE__, __LINE__);
                                $DELETED += SQL_AFFECTEDROWS();
 
                                // Reset query (to prevent possible errors) ...
@@ -80,7 +80,7 @@ ORDER BY sender ASC",
 FROM `{!_MYSQL_PREFIX!}_pool`
 WHERE data_type='DELETED' AND timestamp <= (UNIX_TIMESTAMP() - %s)
 ORDER BY sender ASC",
-                                       array($since), __FILE__, __LINE__);
+                               array($since), __FILE__, __LINE__);
                        }
                }
        }
@@ -94,7 +94,7 @@ ORDER BY sender ASC",
 FROM `{!_MYSQL_PREFIX!}_user_stats`
 WHERE data_type='DELETED' AND timestamp_send <= (UNIX_TIMESTAMP() - %s)
 ORDER BY sender ASC",
-               array($since), __FILE__, __LINE__);
+       array($since), __FILE__, __LINE__);
 
        // Do we have "purged" mails?
        if (SQL_NUMROWS($result_mails) > 0) {
@@ -113,7 +113,7 @@ ORDER BY sender ASC",
 FROM `{!_MYSQL_PREFIX!}_user_stats`
 WHERE data_type='DELETED' AND timestamp_send <= (UNIX_TIMESTAMP() - %s)
 ORDER BY sender ASC",
-                                       array($since), __FILE__, __LINE__);
+                               array($since), __FILE__, __LINE__);
                        }
                }
        }
index 68ba60f..f596a86 100644 (file)
@@ -57,7 +57,7 @@ if ((GET_EXT_VERSION('task') > '0.0') && (getConfig('ap_tasks') == 'Y')) {
        SQL_QUERY_ESC("DELETE LOW_PRIORITY
 FROM `{!_MYSQL_PREFIX!}_task_system`
 WHERE `status`='DELETED' AND task_created <= (UNIX_TIMESTAMP() - %s)",
-               array($since), __FILE__, __LINE__);
+       array($since), __FILE__, __LINE__);
 
        // Get deleted rows
        $DELETED = SQL_AFFECTEDROWS();
index 0ad79fd..a31d7b6 100644 (file)
@@ -56,7 +56,7 @@ if (getConfig('autopurge_unconfirmed') == 'Y') {
 FROM `{!_MYSQL_PREFIX!}_user_data`
 WHERE `status`='UNCONFIRMED' AND joined < (UNIX_TIMESTAMP() - %s)
 ORDER BY userid ASC",
-               array($time), __FILE__, __LINE__);
+       array($time), __FILE__, __LINE__);
        if (SQL_NUMROWS($result_uncon) > 0) {
                // Prepare variable...
                $UIDs = '';
index 95f1ea7..fd952f3 100644 (file)
@@ -53,9 +53,9 @@ function getCode ($key) {
        if (!isCodeSet($key)) {
                // Abort here
                trigger_error(sprintf("%s[%s:] Code %s is not set.",
-                       __FUNCTION__,
-                       __LINE__,
-                       $key
+               __FUNCTION__,
+               __LINE__,
+               $key
                ));
        } // END - if
 
index 506db1b..c15828a 100644 (file)
@@ -45,7 +45,7 @@ if (!defined('__SECURITY')) {
 // Merges $_CONFIG with data in given array
 function mergeConfig ($newConfig) {
        global $_CONFIG;
-       $_CONFIG = merge_array($_CONFIG, $newConfig);
+       $_CONFIG = merge_array(getConfigArray(), $newConfig);
 }
 
 // Getter for $_CONFIG entries
@@ -78,6 +78,12 @@ function setConfigEntry ($configEntry, $value) {
                $configEntry = smartAddSlashes($configEntry);
        }
 
+       // If config array isn't set, set it
+       if (!isConfigLoaded()) {
+               // Init configuration array
+               initConfig();
+       } // END - if
+
        // And set it
        $_CONFIG[$configEntry] = $value;
 }
@@ -111,7 +117,6 @@ function isConfigLoaded () {
 // Init the config array
 function initConfig () {
        global $_CONFIG;
-       debug_report_bug('Reached!');
 
        // Set a minimum dummy configuration
        $_CONFIG = array(
@@ -171,5 +176,147 @@ function getConfigArray () {
        return $return;
 }
 
+// Updates an old inc/config.php to a inc/cache/config-local.php file
+function updateOldConfigFile () {
+       // Watch out for these lines and execute them as single command
+       // @TODO Make this all better... :-/
+       $watchLines = array(
+               "define('SITE_KEY',"           => 'SITE_KEY',
+               "define('DEFAULT_LANG',"       => 'DEFAULT_LANG',
+               "define('warn_no_pass',"       => 'WARN_NO_PASS',
+               "define('WRITE_FOOTER',"       => 'WRITE_FOOTER',
+               "define('OUTPUT_MODE',"        => 'OUTPUT_MODE',
+               "define('MAIN_TITLE',"         => 'MAIN_TITLE',
+               "define('SLOGAN',"             => 'SLOGAN',
+               "define('WEBMASTER',"          => 'WEBMASTER',
+               "define('mxchange_installed'," => 'MXCHANGE_INSTALLED',
+               "define('admin_registered',"   => 'ADMIN_REGISTERED',
+               "define('_MYSQL_PREFIX',"      => '_MYSQL_PREFIX',
+               "define('_TABLE_TYPE',"        => '_TABLE_TYPE',
+               "define('_DB_TYPE',"           => '_DB_TYPE',
+               "define('SMTP_HOSTNAME',"      => 'SMTP_HOSTNAME',
+               "define('SMTP_USER'"           => 'SMTP_USER',
+               "define('SMTP_PASSWORD',"      => 'SMTP_PASSWORD',
+               "define('ENABLE_BACKLINK',"    => 'ENABLE_BACKLINK',
+       );
+
+       // Make these lower-case! (damn stupid code...)
+       $lowerCase = array('WARN_NO_PASS', 'MXCHANGE_INSTALLED', 'ADMIN_REGISTERED');
+
+       // These are still constants...
+       // @TODO Rewrite these all to config entries, if somehow possible
+       $constants = array('MAIN_TITLE', 'SLOGAN', 'WEBMASTER');
+
+       // Special comments...
+       $comments = array(
+               'WARN_NO_PASS'       => 'NULLPASS-WARNING',
+               'MXCHANGE_INSTALLED' => 'INSTALLED',
+               'ADMIN_REGISTERED'   => 'ADMIN-SETUP',
+               '_MYSQL_PREFIX'      => 'MYSQL-PREFIX',
+               '_TABLE_TYPE'        => 'TABLE-TYPE',
+               '_DB_TYPE'           => 'DATABASE-TYPE',
+               'ENABLE_BACKLINK'    => 'BACKLINK',
+               'host'               => 'MYSQL-HOST',
+               'dbase'              => 'MYSQL-DBASE',
+               'login'              => 'MYSQL-LOGIN',
+               'password'           => 'MYSQL-PASSWORD'
+       );
+
+       // Copy template to new file destionation
+       copyFileVerified(constant('PATH') . 'inc/config-local.php.dist', constant('PATH') . 'inc/cache/config-local.php', 0644);
+
+       // First of all, load the old one!
+       $oldConfig = explode("\n", readFromFile(constant('PATH') . 'inc/config.php'));
+
+       // Now, analyze every entry
+       $done = array();
+       foreach ($oldConfig as $line) {
+               // Check all watch lines
+               foreach ($watchLines as $old => $new) {
+                       // Is the line found?
+                       if ((substr($line, 0, strlen($old)) == $old) && (!isset($done[$old]))) {
+                               // Entry found!
+                               //* DEBUG: */ print htmlentities($line) . " - FOUND!<br />\n";
+
+                               // Eval the line...
+                               eval($line);
+
+                               // Setting config entry is new default behaviour!
+                               $function = 'setConfigEntry';
+
+                               // Still some old constants left?
+                               if (in_array($new, $constants)) {
+                                       // Then switch over...
+                                       $function = 'define';
+                               } // END - if
+
+                               // Default comment
+                               $comment = str_replace('_', '-', $new);
+
+                               // Do we have a special comment?
+                               if (isset($comments[$new])) {
+                                       // Then use it
+                                       $comment = $comments[$new];
+                               } // END - if
+
+                               // Do we need to make $new lowercase?
+                               $oldNew = $new;
+                               if (in_array($new, $lowerCase)) {
+                                       // Then do so... :)
+                                       $new = strtolower($new);
+                               } // END - if
+
+                               /// ... and write it to the new config
+                               //* DEBUG: */ print 'function=' . $function . ',new=' . $new . ',comment=' . $comment . "<br />\n";
+                               changeDataInFile(constant('PATH') . 'inc/cache/config-local.php', $comment, $function . "('" . $oldNew . "', \"", "\");", constant($new), 0);
+                               //* DEBUG: */ print "CHANGED!<br />\n";
+
+                               // Mark it as done
+                               $done[$old] = 1;
+                       } // END - if
+               } // END - foreach
+       } // END - foreach
+
+       // By default the old array $MySQL was not found
+       $found = false;
+
+       // Analyze every entry again for the MySQL configuration
+       foreach ($oldConfig as $line) {
+               // Trim spaces
+               $line = trim($line);
+
+               // Is the $MySQL found?
+               if (substr($line, 0, 6) == "\$MySQL") {
+                       // Okay found!
+                       $found = true;
+               } elseif ($found === true) {
+                       // Now check this row
+                       if (substr($line, 0, 2) == ');') {
+                               // MySQL array is closed so stop looking for it
+                               break;
+                       } elseif (substr($line, 0, 2) == '//') {
+                               // Skip this line
+                               continue;
+                       }
+
+                       // Debug output only
+                       //* DEBUG: */ print htmlentities($line) . " - MySQL!<br />\n";
+
+                       // Split parts so we can check them and prepare them
+                       $parts = explode('=>', $line);
+                       $key = substr(trim($parts[0]), 1, -1); $value = substr(trim($parts[1]), 1, -2);
+
+                       // We can now save the right part in new config file
+                       changeDataInFile(constant('PATH') . 'inc/cache/config-local.php', $comments[$key], "    '".$key."'     => \"", "\",", $value, 0);
+               }
+       } // END - foreach
+
+       // Finally remove old config file
+       removeFile(constant('PATH') . 'inc/config.php');
+
+       // Redirect to same URL to reload our new config
+       redirectToUrl($_SERVER['REQUEST_URI']);
+}
+
 // [EOF]
 ?>
index 08e6779..d1c0b94 100644 (file)
@@ -70,7 +70,7 @@ setConfigEntry('MXCHANGE_INSTALLED', "N");
 // CFG: ADMIN-SETUP
 setConfigEntry('ADMIN_REGISTERED', "N");
 
-// CFG: MYSQL-PREIFX
+// CFG: MYSQL-PREFIX
 setConfigEntry('_MYSQL_PREFIX', "mxchange");
 
 // CFG: TABLE-TYPE
index 823e5d0..8f57bf1 100644 (file)
@@ -62,7 +62,7 @@ function SQL_QUERY ($sql_string, $F, $L) {
        // Run SQL command
        //* DEBUG: */ echo $sql_string."<br />\n";
        $result = mysql_query($sql_string, SQL_GET_LINK())
-        or addFatalMessage(__FUNCTION__, __LINE__, $F." (".$L."):".mysql_error()."<br />
+       or addFatalMessage(__FUNCTION__, __LINE__, $F." (".$L."):".mysql_error()."<br />
 Query string:<br />
 ".$sql_string);
 
@@ -87,10 +87,10 @@ Query string:<br />
                $fp = fopen(constant('PATH') . 'inc/cache/mysql.log', 'a') or app_die(__FILE__, __LINE__, "Cannot write mysql.log!");
                if (!isset($GLOBALS['sql_first_entry'])) {
                        // Write first entry
-                       fwrite($fp, "Module=".$GLOBALS['module']."\n");
+                       fwrite($fp, 'Module=' . $GLOBALS['module'] . "\n");
                        $GLOBALS['sql_first_entry'] = true;
                } // END - if
-               fwrite($fp, $F."(LINE=".$L."|NUM=".SQL_NUMROWS($result)."|AFFECTED=".SQL_AFFECTEDROWS()."|QUERYTIME:".$queryTime."): ".str_replace('\r', '', str_replace('\n', " ", $sql_string))."\n");
+               fwrite($fp, $F."(LINE=".$L."|NUM=".SQL_NUMROWS($result)."|AFFECTED=".SQL_AFFECTEDROWS()."|QUERYTIME:".$queryTime."): ".str_replace("\r", '', str_replace("\n", " ", $sql_string))."\n");
                fclose($fp);
        } // END - if
 
@@ -159,7 +159,7 @@ function SQL_FETCHARRAY($res, $nr=0, $remove_numerical=true) {
        if (is_array($row)) {
                // Shall we remove numerical data here automatically?
                if ($remove_numerical) {
-                                // So let's remove all numerical elements to save memory!
+                       // So let's remove all numerical elements to save memory!
                        $max = count($row);
                        for ($idx = 0; $idx < ($max / 2); $idx++) {
                                // Remove entry
@@ -338,11 +338,11 @@ function SQL_RESULT_FROM_ARRAY ($table, $columns, $idRow, $id, $F, $L) {
 
        // Return the result
        return SQL_QUERY_ESC($sql,
-               array(
-                       bigintval($id),
-                       $table,
-                       $idRow
-               ), $F, $L);
+       array(
+       bigintval($id),
+       $table,
+       $idRow
+       ), $F, $L);
 }
 
 // ALTER TABLE wrapper function
@@ -352,13 +352,13 @@ function SQL_ALTER_TABLE ($sql, $F, $L) {
 
        // Determine index/fulltext/unique word
        $noIndex = (
-               (
-                       strpos($sql, 'INDEX') === false
-               ) && (
-                       strpos($sql, 'FULLTEXT') === false
-               ) && (
-                       strpos($sql, 'UNIQUE') === false
-               )
+       (
+       strpos($sql, 'INDEX') === false
+       ) && (
+       strpos($sql, 'FULLTEXT') === false
+       ) && (
+       strpos($sql, 'UNIQUE') === false
+       )
        );
 
        // Extract table name
@@ -372,7 +372,7 @@ function SQL_ALTER_TABLE ($sql, $F, $L) {
 
                // Get column information
                $result = SQL_QUERY_ESC("SHOW COLUMNS FROM %s LIKE '%s'",
-                       array($tableName, $columnName), __FILE__, __LINE__);
+               array($tableName, $columnName), __FILE__, __LINE__);
 
                // Do we have no entry on ADD or an entry on DROP?
                // 123           4       4     3    3      4           4          32    23           4       4     3    3      4            4          321
@@ -408,7 +408,7 @@ function SQL_ALTER_TABLE ($sql, $F, $L) {
 
                // Show indexes
                $result = SQL_QUERY_ESC("SHOW INDEX FROM `%s`",
-                       array($tableName), __FILE__, __LINE__);
+               array($tableName), __FILE__, __LINE__);
 
                // Walk through all
                $skip = false;
index 6017dfb..cc34bdd 100644 (file)
@@ -95,7 +95,7 @@ if (((SQL_NUMROWS($result_total) > 0) && (getConfig('doubler_sent_all') == 'Y'))
                                // Referal points found so add them and set line(s) to completed='Y'
                                $content['points'] += $ref;
                                SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_doubler` SET completed='Y' WHERE refid=%s AND completed='N' AND is_ref='Y'",
-                                       array(bigintval($content['userid'])), __FILE__, __LINE__);
+                               array(bigintval($content['userid'])), __FILE__, __LINE__);
                        } else {
                                // No referal points found
                                $ref = 0;
@@ -109,7 +109,7 @@ if (((SQL_NUMROWS($result_total) > 0) && (getConfig('doubler_sent_all') == 'Y'))
 
                        // Set entry as "payed"
                        SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_doubler` SET completed='Y' WHERE `id`=%s LIMIT 1",
-                               array(bigintval($content['id'])), __FILE__, __LINE__);
+                       array(bigintval($content['id'])), __FILE__, __LINE__);
 
                        $okay = false;
                        // Check for jackpot inclusion in doubling process
@@ -143,13 +143,13 @@ if (((SQL_NUMROWS($result_total) > 0) && (getConfig('doubler_sent_all') == 'Y'))
 
                        // Prepare array
                        $content = array(
-                               // Doubler transmission ID
+                       // Doubler transmission ID
                                'id'     => $content['id'],
-                               // Doubled points
+                       // Doubled points
                                'points' => translateComma($content['points']),
-                               // Timemark
+                       // Timemark
                                'when'   => generateDateTime($content['timemark'], '2'),
-                               // IP number when the member submitted the doubling form
+                       // IP number when the member submitted the doubling form
                                'ip'     => $content['remote_ip'],
                        );
 
index 58f22fd..09fbc8c 100644 (file)
@@ -106,7 +106,7 @@ function LOAD_EXTENSION ($ext_name, $EXT_LOAD_MODE = '', $EXT_VER = '', $dry_run
        EXT_SET_ALWAYS_ACTIVE('N');
 
        // Extension update notes
-       EXT_SET_UPDATE_NOTES("");
+       EXT_SET_UPDATE_NOTES('');
 
        // Include the extension file
        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "Extension loaded.");
@@ -164,8 +164,8 @@ function REGISTER_EXTENSION ($ext_name, $task_id, $dry_run = false, $logout = tr
                if (($task_id == 0) && (!$dry_run)) {
                        // Then request a bug report
                        debug_report_bug(sprintf("%s: task_id is still zero after DETERMINE_EXTENSION_TASK_ID(%s)",
-                               __FUNCTION__,
-                               EXT_GET_CURR_NAME()
+                       __FUNCTION__,
+                       EXT_GET_CURR_NAME()
                        ));
                } // END - if
        } // END - if
@@ -277,7 +277,7 @@ function REGISTER_EXTENSION ($ext_name, $task_id, $dry_run = false, $logout = tr
                                // Register extension
                                //* DEBUG: */ print __FUNCTION__."[".__LINE__."]:insert=".EXT_GET_CURR_NAME().'/'.EXT_GET_VERSION()." - INSERT!<br />\n";
                                SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_extensions` (ext_name, ext_active, ext_version) VALUES ('%s','%s','%s')",
-                                       array(EXT_GET_CURR_NAME(), EXT_GET_ALWAYS_ACTIVE(), EXT_GET_VERSION()), __FUNCTION__, __LINE__);
+                               array(EXT_GET_CURR_NAME(), EXT_GET_ALWAYS_ACTIVE(), EXT_GET_VERSION()), __FUNCTION__, __LINE__);
 
                                // Remove cache file(s) if extension is active
                                runFilterChain('post_extension_installed', array('ext_name' => EXT_GET_CURR_NAME(), 'task_id' => $task_id));
@@ -316,7 +316,7 @@ function REGISTER_EXTENSION ($ext_name, $task_id, $dry_run = false, $logout = tr
                //* DEBUG: */ print __FUNCTION__."[".__LINE__."]:currName=".EXT_GET_CURR_NAME()."<br />\n";
                // Remove task from system when id and extension's name is valid
                SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_task_system` WHERE `id`=%s AND `status`='NEW' LIMIT 1",
-                       array(bigintval($task_id)), __FUNCTION__, __LINE__);
+               array(bigintval($task_id)), __FUNCTION__, __LINE__);
        }
 
        // Is this the sql_patches?
@@ -380,7 +380,7 @@ function EXTENSION_RUN_SQLS ($ext_id, $load_mode) {
                if ($load_mode == 'remove') {
                        // Delete this extension (remember to remove it from your server *before* you click on welcome!
                        SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1",
-                               array(EXT_GET_CURR_NAME()), __FUNCTION__, __LINE__);
+                       array(EXT_GET_CURR_NAME()), __FUNCTION__, __LINE__);
                } // END - if
        } // END - if
 
@@ -422,7 +422,7 @@ function EXT_IS_ACTIVE ($ext_name) {
                //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "DB! ext_name={$ext_name}");
                // Load from database
                $result = SQL_QUERY_ESC("SELECT ext_active FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1",
-                       array($ext_name), __FUNCTION__, __LINE__);
+               array($ext_name), __FUNCTION__, __LINE__);
 
                // Entry found?
                if (SQL_NUMROWS($result) == 1) {
@@ -474,7 +474,7 @@ function GET_EXT_VERSION ($ext_name) {
        } elseif (!isCacheInstanceValid()) {
                // Load from database
                $result = SQL_QUERY_ESC("SELECT ext_version FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1",
-                       array($ext_name), __FUNCTION__, __LINE__);
+               array($ext_name), __FUNCTION__, __LINE__);
                //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, ": DB - ".SQL_NUMROWS($result)."");
 
                // Is the extension there?
@@ -566,7 +566,7 @@ function EXTENSION_UPDATE ($ext_name, $ext_ver, $dry_run = false) {
 
                        // Update extension's version
                        SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET ext_version='%s' WHERE `ext_name`='%s' LIMIT 1",
-                               array($GLOBALS['cache_array']['update_ver'][EXT_GET_CURR_NAME()], EXT_GET_CURR_NAME()), __FUNCTION__, __LINE__);
+                       array($GLOBALS['cache_array']['update_ver'][EXT_GET_CURR_NAME()], EXT_GET_CURR_NAME()), __FUNCTION__, __LINE__);
 
                        // Remove arrays
                        UNSET_SQLS();
@@ -654,7 +654,7 @@ function GET_EXT_NAME ($ext_id) {
        } elseif (!EXT_IS_ACTIVE('cache')) {
                // Load from database
                $result = SQL_QUERY_ESC("SELECT ext_name FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `id`=%s LIMIT 1",
-                       array(bigintval($ext_id)), __FUNCTION__, __LINE__);
+               array(bigintval($ext_id)), __FUNCTION__, __LINE__);
                list($ret) = SQL_FETCHROW($result);
                SQL_FREERESULT($result);
        }
@@ -674,7 +674,7 @@ function GET_EXT_ID ($ext_name) {
        } elseif (!EXT_IS_ACTIVE('cache')) {
                // Load from database
                $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1",
-                       array($ext_name), __FUNCTION__, __LINE__);
+               array($ext_name), __FUNCTION__, __LINE__);
                list($ret) = SQL_FETCHROW($result);
                SQL_FREERESULT($result);
        }
@@ -687,7 +687,7 @@ function GET_EXT_ID ($ext_name) {
 function ACTIVATE_EXTENSION ($ext_name) {
        // Activate the extension
        SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET `ext_active`='Y' WHERE `ext_name`='%s' LIMIT 1",
-               array($ext_name), __FUNCTION__, __LINE__);
+       array($ext_name), __FUNCTION__, __LINE__);
 
        // Extension has been activated?
        if (SQL_AFFECTEDROWS() == 1) {
@@ -700,7 +700,7 @@ function ACTIVATE_EXTENSION ($ext_name) {
 function DEACTIVATE_EXTENSION($ext_name) {
        // Activate the extension
        SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET `ext_active`='N' WHERE `ext_name`='%s' LIMIT 1",
-               array($ext_name), __FUNCTION__, __LINE__);
+       array($ext_name), __FUNCTION__, __LINE__);
 
        // Extension has been activated?
        if (SQL_AFFECTEDROWS() == 1) {
@@ -712,9 +712,9 @@ function DEACTIVATE_EXTENSION($ext_name) {
 
                // Notify the admin
                sendAdminNotification(
-                       getMessage('ADMIN_SUBJECT_EXTENSION_DEACTIVATED'),
+               getMessage('ADMIN_SUBJECT_EXTENSION_DEACTIVATED'),
                        'admin_ext_deactivated',
-                       array('ext_name' => $ext_name)
+               array('ext_name' => $ext_name)
                );
        } // END - if
 }
@@ -743,7 +743,7 @@ function CREATE_EXTENSION_UPDATE_TASK ($admin_id, $ext_name, $ext_ver, $notes) {
                if (DETERMINE_TASK_ID_BY_SUBJECT($subject) == 0) {
                        // Task not created so it's a brand-new extension which we need to register and create a task for!
                        SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (assigned_admin, userid, status, task_type, subject, text, task_created) VALUES ('%s','0','NEW','EXTENSION_UPDATE','%s','%s', UNIX_TIMESTAMP())",
-                               array($admin_id, $subject, $notes), __FUNCTION__, __LINE__);
+                       array($admin_id, $subject, $notes), __FUNCTION__, __LINE__);
                } // END - if
        } // END - if
 }
@@ -754,9 +754,9 @@ function CREATE_NEW_EXTENSION_TASK ($admin_id, $subject, $ext) {
        if ((DETERMINE_TASK_ID_BY_SUBJECT($subject) == 0) && (GET_EXT_VERSION($ext) == '')) {
                // Template file
                $tpl = sprintf("%stemplates/%s/html/ext/ext_%s.tpl",
-                       constant('PATH'),
-                       getLanguage(),
-                       $ext
+               constant('PATH'),
+               getLanguage(),
+               $ext
                );
 
                // Set default message if ext-foo is missing
@@ -774,11 +774,11 @@ function CREATE_NEW_EXTENSION_TASK ($admin_id, $subject, $ext) {
                // Task not created so it's a brand-new extension which we need to register and create a task for!
                SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (assigned_admin, userid, status, task_type, subject, text, task_created)
 VALUES (%s, 0, 'NEW', 'EXTENSION', '%s', '%s', UNIX_TIMESTAMP())",
-                       array(
-                               $admin_id,
-                               $subject,
-                               smartAddSlashes($msg),
-                       ),  __FUNCTION__, __LINE__, true, false, false
+               array(
+               $admin_id,
+               $subject,
+               smartAddSlashes($msg),
+               ),  __FUNCTION__, __LINE__, true, false, false
                );
        } // END - if
 }
@@ -793,10 +793,10 @@ function CREATE_EXTENSION_DEACTIVATION_TASK ($ext) {
                // Task not created so add it
                SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (assigned_admin, userid, status, task_type, subject, text, task_created)
 VALUES (0, 0, 'NEW', 'EXTENSION_DEACTIVATION', '%s', '%s', UNIX_TIMESTAMP())",
-                       array(
-                               $subject,
-                               SQL_ESCAPE(LOAD_TEMPLATE('task_ext_deactivated', true, $ext)),
-                       ),  __FUNCTION__, __LINE__, true, false
+               array(
+               $subject,
+               SQL_ESCAPE(LOAD_TEMPLATE('task_ext_deactivated', true, $ext)),
+               ),  __FUNCTION__, __LINE__, true, false
                );
        } // END - if
 }
@@ -824,7 +824,7 @@ function MODULE_HAS_MENU ($mod, $forceDb = false) {
        } elseif ((GET_EXT_VERSION('sql_patches') >= '0.3.6') && ((!EXT_IS_ACTIVE('cache')) || ($forceDb === true))) {
                // Check database for entry
                $result = SQL_QUERY_ESC("SELECT has_menu FROM `{!_MYSQL_PREFIX!}_mod_reg` WHERE `module`='%s' LIMIT 1",
-                       array($mod), __FUNCTION__, __LINE__);
+               array($mod), __FUNCTION__, __LINE__);
 
                // Entry found?
                if (SQL_NUMROWS($result) == 1) {
@@ -857,7 +857,7 @@ function DETERMINE_EXTENSION_TASK_ID ($ext_name) {
 
        // Search for extension task's id
        $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_task_system` WHERE task_type='EXTENSION' AND subject='[%s:]' LIMIT 1",
-               array($ext_name), __FUNCTION__, __LINE__);
+       array($ext_name), __FUNCTION__, __LINE__);
 
        // Entry found?
        if (SQL_NUMROWS($result) == 1) {
@@ -879,7 +879,7 @@ function DETERMINE_TASK_ID_BY_SUBJECT ($subject) {
 
        // Search for task id
        $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_task_system` WHERE subject LIKE '%s%%' LIMIT 1",
-               array($subject), __FUNCTION__, __LINE__);
+       array($subject), __FUNCTION__, __LINE__);
 
        // Entry found?
        if (SQL_NUMROWS($result) == 1) {
@@ -911,7 +911,7 @@ function ADD_EXTENSION_NOTES ($ver) {
                        );
 
                        // Reset them
-                       EXT_SET_UPDATE_NOTES("");
+                       EXT_SET_UPDATE_NOTES('');
                } elseif (($ver == '0.0') || ($ver == '0.0.0')) {
                        // Initial release
                        $content = array(
@@ -1193,7 +1193,7 @@ function GET_EXT_SQLS () {
        if (!isset($GLOBALS['ext_sqls'][EXT_GET_CURR_NAME()])) {
                // Not found, should not happen
                debug_report_bug(sprintf("ext_sqls is empty, current extension: %s",
-                       EXT_GET_CURR_NAME()
+               EXT_GET_CURR_NAME()
                ));
        } // END - if
 
index 57c6d5a..64cd843 100644 (file)
@@ -70,10 +70,10 @@ case 'update': // Update an extension
        switch ($EXT_VER)
        {
        case '0.0.1': // SQL queries for v0.0.1
-               ADD_EXT_SQL("");
+               ADD_EXT_SQL('');
 
                // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("");
+               EXT_SET_UPDATE_NOTES('');
                break;
        }
        break;
index 4b79072..79d213b 100644 (file)
@@ -50,97 +50,97 @@ EXT_SET_VER_HISTORY(array('0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0
 
 switch ($EXT_LOAD_MODE)
 {
-case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
-       // SQL commands to run
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','active','Heute Online', 10, 'N','Y')");
-       break;
-
-case 'remove': // Do stuff when removing extension
-       // SQL commands to run
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_guest_menu` WHERE `what`='active'");
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_active'");
-
-       // Unregister filter
-       UNREGISTER_FILTER('online_extra_links', 'ADD_LINK_ACTIVE_LIST', true, $dry_run);
-       break;
-
-case 'activate': // Do stuff when admin activates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='N' WHERE `what`='active' LIMIT 1");
-       break;
-
-case 'deactivate': // Do stuff when admin deactivates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `what`='active' LIMIT 1");
-       break;
-
-case 'update': // Update an extension
-       switch ($EXT_VER)
-       {
-       case '0.0.1': // SQL queries for v0.0.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei ge&auml;ndert.");
+       case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+               // SQL commands to run
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','active','Heute Online', 10, 'N','Y')");
                break;
 
-       case '0.0.2': // SQL queries for v0.0.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Men&uuml;punkte im Gast-/Mitgliedsbereich k&ouml;nnen nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
-               break;
-
-       case '0.0.3': // SQL queries for v0.0.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Design &quot;Solid-Business&quot; eingebaut.");
-               break;
-
-       case '0.0.4': // SQL queries for v0.0.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
-               break;
+       case 'remove': // Do stuff when removing extension
+               // SQL commands to run
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_guest_menu` WHERE `what`='active'");
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_active'");
 
-       case '0.0.5': // SQL queries for v0.0.5
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD active_limit BIGINT(20) UNSIGNED NOT NULL DEFAULT 10");
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_active','Aktiv-Liste','Einstellungen an der Aktiv-Liste (<strong>Heute Online</strong> im Gastbereich) vornehmen.', 8)");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Aktiven-Liste im Gastbereich ist nun einschr&auml;nkbar.");
-               break;
-
-       case '0.0.6': // SQL queries for v0.0.6
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Sicherheitsupdate: SQL-Anweisungen gesch&uuml;tzt.");
+               // Unregister filter
+               UNREGISTER_FILTER('online_extra_links', 'ADD_LINK_ACTIVE_LIST', true, $dry_run);
                break;
 
-       case '0.0.7': // SQL queries for v0.0.7
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
+       case 'activate': // Do stuff when admin activates this extension
+               // SQL commands to run
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='N' WHERE `what`='active' LIMIT 1");
                break;
 
-       case '0.0.8': // SQL queries for v0.0.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+       case 'deactivate': // Do stuff when admin deactivates this extension
+               // SQL commands to run
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `what`='active' LIMIT 1");
                break;
 
-       case '0.0.9': // SQL queries for v0.0.9
-               // Make update depending on 'online'
-               EXT_ADD_UPDATE_DEPENDS('online');
-
-               // Register filter
-               REGISTER_FILTER('online_extra_links', 'ADD_LINK_ACTIVE_LIST', false, true, $dry_run);
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Filter f&uuml;r den &quot;Wer ist Online&quot; Block hinzugef&uuml;gt und ist von <strong>online</strong> abh&auml;ngig.");
+       case 'update': // Update an extension
+               switch ($EXT_VER)
+               {
+                       case '0.0.1': // SQL queries for v0.0.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei ge&auml;ndert.");
+                               break;
+
+                       case '0.0.2': // SQL queries for v0.0.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Men&uuml;punkte im Gast-/Mitgliedsbereich k&ouml;nnen nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
+                               break;
+
+                       case '0.0.3': // SQL queries for v0.0.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Design &quot;Solid-Business&quot; eingebaut.");
+                               break;
+
+                       case '0.0.4': // SQL queries for v0.0.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+                               break;
+
+                       case '0.0.5': // SQL queries for v0.0.5
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD active_limit BIGINT(20) UNSIGNED NOT NULL DEFAULT 10");
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_active','Aktiv-Liste','Einstellungen an der Aktiv-Liste (<strong>Heute Online</strong> im Gastbereich) vornehmen.', 8)");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Aktiven-Liste im Gastbereich ist nun einschr&auml;nkbar.");
+                               break;
+
+                       case '0.0.6': // SQL queries for v0.0.6
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Sicherheitsupdate: SQL-Anweisungen gesch&uuml;tzt.");
+                               break;
+
+                       case '0.0.7': // SQL queries for v0.0.7
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
+                               break;
+
+                       case '0.0.8': // SQL queries for v0.0.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+                               break;
+
+                       case '0.0.9': // SQL queries for v0.0.9
+                               // Make update depending on 'online'
+                               EXT_ADD_UPDATE_DEPENDS('online');
+
+                               // Register filter
+                               REGISTER_FILTER('online_extra_links', 'ADD_LINK_ACTIVE_LIST', false, true, $dry_run);
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Filter f&uuml;r den &quot;Wer ist Online&quot; Block hinzugef&uuml;gt und ist von <strong>online</strong> abh&auml;ngig.");
+                               break;
+               }
                break;
-       }
-       break;
 
-case 'modify': // When the extension got modified
-       break;
+                       case 'modify': // When the extension got modified
+                               break;
 
-case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
-       break;
+                       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+                               break;
 
-default: // Do stuff when extension is loaded
-       break;
+                       default: // Do stuff when extension is loaded
+                               break;
 }
 
 //
index 5702053..c698c25 100644 (file)
@@ -50,58 +50,58 @@ EXT_SET_VER_HISTORY(array('0.0', '0.1.0', '0.2.0', '0.3.0', '0.3.1', '0.4.0', '0
 
 switch ($EXT_LOAD_MODE)
 {
-case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
-       // SQL commands to run
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins', NULL, 'Admin-Management','Administratoren anlegen, l&ouml;schen oder Passwort/E-Mail Adresse &auml;ndern.','1')");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins','admins_add','Admin hinzuf&uuml;gen','Neuen Admin-Account anlegen','0')");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins','admins_edit','Admin-Account &auml;ndern','Bestehende Admin-Accounts bearbeiten: E-Mail-Adresse, Passwort und/oder Login-Name &auml;ndern.','1')");
-       break;
-
-case 'remove': // Do stuff when removing extension
-       // SQL commands to run
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='admins'");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_admins_acls`");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_admins_mails`");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` DROP default_acl");
-
-       // Remove filters
-       UNREGISTER_FILTER('sql_admin_extra_data', 'ADD_EXTRA_SQL_DATA', true, $dry_run);
-       break;
-
-case 'activate': // Do stuff when admin activates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
-
-case 'deactivate': // Do stuff when admin deactivates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
-
-case 'update': // Update an extension
-       switch ($EXT_VER)
-       {
-       case '0.2.0': // SQL queries for v0.2
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('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!)
-               EXT_SET_UPDATE_NOTES("F&uuml;gt den Men&uuml;punkt &quot;Admin kontaktieren&quot; hinzu.");
+       case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+               // SQL commands to run
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins', NULL, 'Admin-Management','Administratoren anlegen, l&ouml;schen oder Passwort/E-Mail Adresse &auml;ndern.','1')");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins','admins_add','Admin hinzuf&uuml;gen','Neuen Admin-Account anlegen','0')");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins','admins_edit','Admin-Account &auml;ndern','Bestehende Admin-Accounts bearbeiten: E-Mail-Adresse, Passwort und/oder Login-Name &auml;ndern.','1')");
                break;
 
-       case '0.3.0': // SQL queries for v0.3
-               // Add admin menu
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins','config_admins','ACL einstellen','Richten Sie Zugriffskontrollzeilen f&uuml;r jeden Admin individuell ein, um ihm nur bestimmte Bereiche des Admin-Bereiches zug&auml;nglich zu machen oder zu sperren.','4')");
+       case 'remove': // Do stuff when removing extension
+               // SQL commands to run
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='admins'");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_admins_acls`");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_admins_mails`");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` DROP default_acl");
 
-               // Which is the default setting when you create a new admin login?
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD admins_default_acl ENUM('deny','allow') NOT NULL DEFAULT 'deny'");
+               // Remove filters
+               UNREGISTER_FILTER('sql_admin_extra_data', 'ADD_EXTRA_SQL_DATA', true, $dry_run);
+               break;
 
-               // Default is deny everything
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` ADD default_acl ENUM('deny','allow') NOT NULL DEFAULT 'deny'");
+       case 'activate': // Do stuff when admin activates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
+               break;
 
-               // But allow current admin everything (THIS SHALL BE YOU!)
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admins` SET default_acl='allow' WHERE login='".getSession('admin_login')."' LIMIT 1");
-               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_admins_acls`");
-               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_admins_acls` (
+       case 'deactivate': // Do stuff when admin deactivates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
+               break;
+
+       case 'update': // Update an extension
+               switch ($EXT_VER)
+               {
+                       case '0.2.0': // SQL queries for v0.2
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('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!)
+                               EXT_SET_UPDATE_NOTES("F&uuml;gt den Men&uuml;punkt &quot;Admin kontaktieren&quot; hinzu.");
+                               break;
+
+                       case '0.3.0': // SQL queries for v0.3
+                               // Add admin menu
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins','config_admins','ACL einstellen','Richten Sie Zugriffskontrollzeilen f&uuml;r jeden Admin individuell ein, um ihm nur bestimmte Bereiche des Admin-Bereiches zug&auml;nglich zu machen oder zu sperren.','4')");
+
+                               // Which is the default setting when you create a new admin login?
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD admins_default_acl ENUM('deny','allow') NOT NULL DEFAULT 'deny'");
+
+                               // Default is deny everything
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` ADD default_acl ENUM('deny','allow') NOT NULL DEFAULT 'deny'");
+
+                               // But allow current admin everything (THIS SHALL BE YOU!)
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admins` SET default_acl='allow' WHERE login='".getSession('admin_login')."' LIMIT 1");
+                               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_admins_acls`");
+                               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_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 '',
@@ -111,211 +111,211 @@ KEY (admin_id),
 PRIMARY KEY (id)
 ) TYPE={!_TABLE_TYPE!}");
 
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Sogn. ACLs werden hinzugef&uuml;gt: <strong>A</strong>ccess <strong>C</strong>ontrol <strong>L</strong>ines sind zu deutsch Zugriffkontrollzeilen, mit denen Sie einstellen k&ouml;nnen, was welcher Admin machen darf oder nicht.");
-               break;
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Sogn. ACLs werden hinzugef&uuml;gt: <strong>A</strong>ccess <strong>C</strong>ontrol <strong>L</strong>ines sind zu deutsch Zugriffkontrollzeilen, mit denen Sie einstellen k&ouml;nnen, was welcher Admin machen darf oder nicht.");
+                               break;
 
-       case '0.3.1': // SQL queries for v0.3.1
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins_acls` MODIFY id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT");
-               break;
+                       case '0.3.1': // SQL queries for v0.3.1
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins_acls` MODIFY id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT");
+                               break;
 
-       case '0.4.0': // SQL queries for v0.4.0
-               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_admins_mails`");
-               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_admins_mails` (
+                       case '0.4.0': // SQL queries for v0.4.0
+                               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_admins_mails`");
+                               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_admins_mails` (
 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 admin_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 mail_template VARCHAR(255) NOT NULL,
 KEY (admin_id),
 PRIMARY KEY (id)
 ) TYPE={!_TABLE_TYPE!}");
-               ADD_EXT_SQL("INSERT INTO  `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins','admins_mails','Admin-Mails','Stellen Sie hier ein, welcher Admin welche Mail erhalten soll. Sie k&ouml;nnen dies (derzeit) jedoch erst, wenn einmal die Mail versendet wurde!','5')");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Kontrollieren Sie, welche Mails welcher Admin oder alle (admin_id=0) bekommen soll oder im UserLog (admin_id=-1) verzeichnet werden soll. Standartm&auml;ssig wird weiter an alle versendet.");
-               break;
-
-       case '0.4.1': // SQL queries for v0.4.1
-               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admins_mails` WHERE mail_template LIKE '% %'");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Admins-Mails-Tabelle geleert.");
-
-       case '0.4.4': // SQL queries for v0.4.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("&amp;admin= in &amp;amp;admin= umgewandelt.");
-               break;
-
-       case '0.4.5': // SQL queries for v0.4.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Vorbereitet auf Cache-System");
-               break;
-
-       case '0.4.6': // SQL queries for v0.4.6
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Problem mit cache-Erweiterung gefixt. Der Admin-Bereich war permanent gesperrt.");
-               break;
-
-       case '0.4.7': // SQL queries for v0.4.7
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Es wurde die Zeitmarke der Cache-Datei admins.cache mit ber&uuml;cksichtigt.");
-               break;
-
-       case '0.4.8': // SQL queries for v0.4.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
-               break;
-
-       case '0.4.9': // SQL queries for v0.4.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
-               break;
-
-       case '0.5.0': // SQL queries for v0.5.0
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
-               break;
-
-       case '0.5.1': // SQL queries for v0.5.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Cache wird endlich gel&oumlscht, wenn Admin entfernt wird.");
-               break;
-
-       case '0.5.2': // SQL queries for v0.5.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("L&ouml;schen von Admin-Accounts repariert und HTML-Code ausgelagert in Templates.");
-               break;
-
-       case '0.5.3': // SQL queries for v0.5.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
-               break;
-
-       case '0.5.4': // SQL queries for v0.5.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt.");
-               break;
-
-       case '0.5.5': // SQL queries for v0.5.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Men&uuml;punkt Admin-Mails korregiert: SQL-Anweisung war fehlerhaft; und HTML-Code in Templates ausgelagert.");
-               break;
-
-       case '0.5.6': // SQL queries for v0.5.6
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `what`='admins_contct' WHERE `what`='admins_contact' LIMIT 1");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("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!)
-               EXT_SET_UPDATE_NOTES("Links wegen <strong>what=admins_contct</strong> ge&auml;ndert.");
-               break;
-
-       case '0.5.8': // SQL queries for v0.5.8
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `what`='admins_contct' WHERE `what`='admins_contact' LIMIT 1");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Ein Punkt in der Versionsnummernliste verhinderte das 0.5.6-Update.");
-               break;
-
-       case '0.5.9': // SQL queries for v0.5.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Sicherheitsupdate: SQL-Anweisungen gesch&uuml;tzt.");
-               break;
-
-       case '0.6.0': // SQL queries for v0.6.0
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Link in &quot;ACL Einstellen&quot; zum Admin-Kontaktformular korregiert.");
-               break;
-
-       case '0.6.1': // SQL queries for v0.6.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Speichern von Admin-Accounts klappt wieder.");
-               break;
-
-       case '0.6.2': // SQL queries for v0.6.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Bitte verschieben Sie die admins-Templates (Ordner: {!PATH!}/templates/de/emails/) in den neuen Order admins!");
-               break;
-
-       case '0.6.3': // SQL queries for v0.6.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
-               break;
-
-       case '0.6.4': // SQL queries for v0.6.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Problem mit der Rechtevererbung beseitigt: Geben Sie nun ein Hauptmen&uuml; frei (Allow), dann kann der Admin auch die Untermen&uuml;s erreichen. Zudem k&ouml;nnen Sie gezielte Untermen&uuml;s im freigegeben Hauptmen&uuml; dennoch sperren.");
-               break;
+                               ADD_EXT_SQL("INSERT INTO  `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins','admins_mails','Admin-Mails','Stellen Sie hier ein, welcher Admin welche Mail erhalten soll. Sie k&ouml;nnen dies (derzeit) jedoch erst, wenn einmal die Mail versendet wurde!','5')");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Kontrollieren Sie, welche Mails welcher Admin oder alle (admin_id=0) bekommen soll oder im UserLog (admin_id=-1) verzeichnet werden soll. Standartm&auml;ssig wird weiter an alle versendet.");
+                               break;
+
+                       case '0.4.1': // SQL queries for v0.4.1
+                               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admins_mails` WHERE mail_template LIKE '% %'");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Admins-Mails-Tabelle geleert.");
+
+                       case '0.4.4': // SQL queries for v0.4.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("&amp;admin= in &amp;amp;admin= umgewandelt.");
+                               break;
+
+                       case '0.4.5': // SQL queries for v0.4.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Vorbereitet auf Cache-System");
+                               break;
+
+                       case '0.4.6': // SQL queries for v0.4.6
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Problem mit cache-Erweiterung gefixt. Der Admin-Bereich war permanent gesperrt.");
+                               break;
+
+                       case '0.4.7': // SQL queries for v0.4.7
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Es wurde die Zeitmarke der Cache-Datei admins.cache mit ber&uuml;cksichtigt.");
+                               break;
+
+                       case '0.4.8': // SQL queries for v0.4.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+                               break;
+
+                       case '0.4.9': // SQL queries for v0.4.9
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+                               break;
+
+                       case '0.5.0': // SQL queries for v0.5.0
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+                               break;
+
+                       case '0.5.1': // SQL queries for v0.5.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Cache wird endlich gel&oumlscht, wenn Admin entfernt wird.");
+                               break;
+
+                       case '0.5.2': // SQL queries for v0.5.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("L&ouml;schen von Admin-Accounts repariert und HTML-Code ausgelagert in Templates.");
+                               break;
+
+                       case '0.5.3': // SQL queries for v0.5.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+                               break;
+
+                       case '0.5.4': // SQL queries for v0.5.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt.");
+                               break;
+
+                       case '0.5.5': // SQL queries for v0.5.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Men&uuml;punkt Admin-Mails korregiert: SQL-Anweisung war fehlerhaft; und HTML-Code in Templates ausgelagert.");
+                               break;
+
+                       case '0.5.6': // SQL queries for v0.5.6
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `what`='admins_contct' WHERE `what`='admins_contact' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("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!)
+                               EXT_SET_UPDATE_NOTES("Links wegen <strong>what=admins_contct</strong> ge&auml;ndert.");
+                               break;
+
+                       case '0.5.8': // SQL queries for v0.5.8
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `what`='admins_contct' WHERE `what`='admins_contact' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Ein Punkt in der Versionsnummernliste verhinderte das 0.5.6-Update.");
+                               break;
+
+                       case '0.5.9': // SQL queries for v0.5.9
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Sicherheitsupdate: SQL-Anweisungen gesch&uuml;tzt.");
+                               break;
+
+                       case '0.6.0': // SQL queries for v0.6.0
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Link in &quot;ACL Einstellen&quot; zum Admin-Kontaktformular korregiert.");
+                               break;
+
+                       case '0.6.1': // SQL queries for v0.6.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Speichern von Admin-Accounts klappt wieder.");
+                               break;
+
+                       case '0.6.2': // SQL queries for v0.6.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Bitte verschieben Sie die admins-Templates (Ordner: {!PATH!}/templates/de/emails/) in den neuen Order admins!");
+                               break;
+
+                       case '0.6.3': // SQL queries for v0.6.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
+                               break;
+
+                       case '0.6.4': // SQL queries for v0.6.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Problem mit der Rechtevererbung beseitigt: Geben Sie nun ein Hauptmen&uuml; frei (Allow), dann kann der Admin auch die Untermen&uuml;s erreichen. Zudem k&ouml;nnen Sie gezielte Untermen&uuml;s im freigegeben Hauptmen&uuml; dennoch sperren.");
+                               break;
+
+                       case '0.6.5': // SQL queries for v0.6.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Sicherheitsupdate f&uuml;r die Include-Befehle.");
+                               break;
+
+                       case '0.6.6': // SQL queries for v0.5.6
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `what`='admins_contct' WHERE `what`='admins_contact' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Namenskonflikt zwischen den Erweiterungen <strong>admins</strong> und (kommender) <strong>contact</strong>.");
+                               break;
+
+                       case '0.6.7': // SQL queries for v0.6.7
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` ADD la_mode ENUM('global','OLD','NEW') NOT NULL DEFAULT 'global'");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Namenskonflikt zwischen den Erweiterungen <strong>admins</strong> und (kommender) <strong>contact</strong>. Beseitigung eines Fehlers <strong>HTTP_POSR_VARS</strong> beim &Auml;ndern von Administratoren.");
+                               break;
+
+                       case '0.6.8': // SQL queries for v0.6.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("<strong>setSession()</strong> mit @-Zeichen gegen ungewollte Ausgaben abgesichert.");
+                               break;
+
+                       case '0.6.9': // SQL queries for v0.6.9
+                               ADD_EXT_SQL("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!)
+                               EXT_SET_UPDATE_NOTES("Verwaltung nach Management umbenannt.");
+                               break;
+
+                       case '0.7.0': // SQL queries for v0.7.0
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Veraltetes Update.");
+                               break;
+
+                       case '0.7.1': // SQL queries for v0.7.1
+                               // Update depends on sql_patches
+                               EXT_ADD_UPDATE_DEPENDS('sql_patches');
+
+                               // Add filters
+                               REGISTER_FILTER('sql_admin_extra_data', 'ADD_EXTRA_SQL_DATA', false, true, $dry_run);
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Filter hinzugef&uuml;gt und ist von <strong>sql_patches</strong> abh&auml;ngig.");
+                               break;
+
+                       case '0.7.2': // SQL queries for v0.7.2
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` DROP login_failtures");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` DROP last_failture");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` ADD login_failures BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` ADD last_failure TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'");
 
-       case '0.6.5': // SQL queries for v0.6.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Sicherheitsupdate f&uuml;r die Include-Befehle.");
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Schreibweise korregiert.");
+                               break;
+               }
                break;
 
-       case '0.6.6': // SQL queries for v0.5.6
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `what`='admins_contct' WHERE `what`='admins_contact' LIMIT 1");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Namenskonflikt zwischen den Erweiterungen <strong>admins</strong> und (kommender) <strong>contact</strong>.");
-               break;
-
-       case '0.6.7': // SQL queries for v0.6.7
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` ADD la_mode ENUM('global','OLD','NEW') NOT NULL DEFAULT 'global'");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Namenskonflikt zwischen den Erweiterungen <strong>admins</strong> und (kommender) <strong>contact</strong>. Beseitigung eines Fehlers <strong>HTTP_POSR_VARS</strong> beim &Auml;ndern von Administratoren.");
-               break;
-
-       case '0.6.8': // SQL queries for v0.6.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("<strong>setSession()</strong> mit @-Zeichen gegen ungewollte Ausgaben abgesichert.");
-               break;
-
-       case '0.6.9': // SQL queries for v0.6.9
-               ADD_EXT_SQL("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!)
-               EXT_SET_UPDATE_NOTES("Verwaltung nach Management umbenannt.");
-               break;
-
-       case '0.7.0': // SQL queries for v0.7.0
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Veraltetes Update.");
-               break;
-
-       case '0.7.1': // SQL queries for v0.7.1
-               // Update depends on sql_patches
-               EXT_ADD_UPDATE_DEPENDS('sql_patches');
-
-               // Add filters
-               REGISTER_FILTER('sql_admin_extra_data', 'ADD_EXTRA_SQL_DATA', false, true, $dry_run);
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Filter hinzugef&uuml;gt und ist von <strong>sql_patches</strong> abh&auml;ngig.");
-               break;
-
-       case '0.7.2': // SQL queries for v0.7.2
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` DROP login_failtures");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` DROP last_failture");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` ADD login_failures BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_admins` ADD last_failure TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Schreibweise korregiert.");
-               break;
-       }
-       break;
-
-case 'modify': // When the extension got modified
-       break;
-
-case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
-       break;
+                       case 'modify': // When the extension got modified
+                               break;
+
+                       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+                               break;
 
-default: // Do stuff when extension is loaded
-       break;
+                       default: // Do stuff when extension is loaded
+                               break;
 }
 
 // Keep this extension always active!
index c6a2b93..0888bd6 100644 (file)
@@ -50,47 +50,47 @@ EXT_SET_VER_HISTORY(array('0.0'));
 
 switch ($EXT_LOAD_MODE)
 {
-case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
-       // Remove all other themes
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_extensions` WHERE ext_name LIKE 'admintheme%'");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='stats' WHERE `what`='usr_online'");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='stats' WHERE `what`='email_stats'");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='misc' WHERE `what`='maintenance'");
-       break;
+       case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+               // Remove all other themes
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_extensions` WHERE ext_name LIKE 'admintheme%'");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='stats' WHERE `what`='usr_online'");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='stats' WHERE `what`='email_stats'");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='misc' WHERE `what`='maintenance'");
+               break;
 
-case 'remove': // Do stuff when removing extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
+       case 'remove': // Do stuff when removing extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
+               break;
 
-case 'activate': // Do stuff when admin activates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
+       case 'activate': // Do stuff when admin activates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
+               break;
 
-case 'deactivate': // Do stuff when admin deactivates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
+       case 'deactivate': // Do stuff when admin deactivates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
+               break;
 
-case 'update': // Update an extension
-       switch ($EXT_VER)
-       {
-       case '0.0.1': // SQL queries for v0.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("");
+       case 'update': // Update an extension
+               switch ($EXT_VER)
+               {
+                       case '0.0.1': // SQL queries for v0.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES('');
+                               break;
+               }
                break;
-       }
-       break;
 
-case 'modify': // When the extension got modified
-       break;
+                       case 'modify': // When the extension got modified
+                               break;
 
-case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
-       break;
+                       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+                               break;
 
-default: // Do stuff when extension is loaded
-       break;
+                       default: // Do stuff when extension is loaded
+                               break;
 }
 
 //
index 1bf7756..67320b1 100644 (file)
@@ -50,47 +50,47 @@ EXT_SET_VER_HISTORY(array('0.0'));
 
 switch ($EXT_LOAD_MODE)
 {
-case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
-       // Remove all other menu themes
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_extensions` WHERE ext_name LIKE 'admintheme%'");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='misc' WHERE `what`='usr_online' LIMIT 1");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='stats' WHERE `what`='email' LIMIT 1");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='setup' WHERE `what`='maintenance' LIMIT 1");
-       break;
+       case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+               // Remove all other menu themes
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_extensions` WHERE ext_name LIKE 'admintheme%'");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='misc' WHERE `what`='usr_online' LIMIT 1");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='stats' WHERE `what`='email' LIMIT 1");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `action`='setup' WHERE `what`='maintenance' LIMIT 1");
+               break;
 
-case 'remove': // Do stuff when removing extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
+       case 'remove': // Do stuff when removing extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
+               break;
 
-case 'activate': // Do stuff when admin activates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
+       case 'activate': // Do stuff when admin activates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
+               break;
 
-case 'deactivate': // Do stuff when admin deactivates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
+       case 'deactivate': // Do stuff when admin deactivates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
+               break;
 
-case 'update': // Update an extension
-       switch ($EXT_VER)
-       {
-       case '0.0.1': // SQL queries for v0.0.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("");
+       case 'update': // Update an extension
+               switch ($EXT_VER)
+               {
+                       case '0.0.1': // SQL queries for v0.0.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES('');
+                               break;
+               }
                break;
-       }
-       break;
 
-case 'modify': // When the extension got modified
-       break;
+                       case 'modify': // When the extension got modified
+                               break;
 
-case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
-       break;
+                       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+                               break;
 
-default: // Do stuff when extension is loaded
-       break;
+                       default: // Do stuff when extension is loaded
+                               break;
 }
 
 //
index 439280c..b6ce1be 100644 (file)
@@ -50,218 +50,218 @@ EXT_SET_VER_HISTORY(array('0.0', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0
 
 switch ($EXT_LOAD_MODE)
 {
-case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
-       // SQL commands to run
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_pool` MODIFY data_type ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE','DELETED') NOT NULL DEFAULT 'TEMP'");
-       if (EXT_IS_ACTIVE('bonus')) {
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_bonus` MODIFY data_type ENUM('NEW','QUEUE','SEND','DELETED') NOT NULL DEFAULT 'NEW'");
-       }
-       break;
-
-case 'remove': // Do stuff when removing extension
-       // SQL commands to run
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_pool` MODIFY data_type ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE') NOT NULL DEFAULT 'TEMP'");
-       if (EXT_IS_ACTIVE('bonus')) {
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_bonus` MODIFY data_type ENUM('NEW','QUEUE','SEND') NOT NULL DEFAULT 'NEW'");
-       }
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE what IN('config_autopurge','list_autopurge')");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` DROP ap_notified");
-       break;
-
-case 'activate': // Do stuff when admin activates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
-
-case 'deactivate': // Do stuff when admin deactivates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
-
-case 'update': // Update an extension
-       switch ($EXT_VER)
-       {
-       case '0.1.0': // SQL queries for v0.1
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD autopurge_inactive ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD autopurge_unconfirmed ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_inactive_since BIGINT(20) UNSIGNED NOT NULL DEFAULT '2592000'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_inactive_time BIGINT(20) UNSIGNED NOT NULL DEFAULT '25200'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_unconfirmed_time BIGINT(20) UNSIGNED NOT NULL DEFAULT '432000'");
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_autopurge','Auto-L&ouml;schung','Automatisch inaktive oder nicht best&auml;tigte Accounts l&ouml;schen.','12')");
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_autopurge','Inaktive finden','Lassen Sie sich vor dem t&auml;glichen Reset anzeigen, welche Mitglieder als inaktiv erkannt werden und welche gel&ouml;scht werden.','10')");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD ap_notified BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Automatisches L&ouml:schen von inaktiven bzw. nicht best&auml;tigten Accounts hinzugef&uuml;gt.");
+       case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+               // SQL commands to run
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_pool` MODIFY data_type ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE','DELETED') NOT NULL DEFAULT 'TEMP'");
+               if (EXT_IS_ACTIVE('bonus')) {
+                       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_bonus` MODIFY data_type ENUM('NEW','QUEUE','SEND','DELETED') NOT NULL DEFAULT 'NEW'");
+               }
                break;
 
-       case '0.1.2': // SQL queries for v0.1.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Automatisches L&ouml;schen von als zu l&ouml;schen markierte Tasks hinzugef&uuml;gt.");
+       case 'remove': // Do stuff when removing extension
+               // SQL commands to run
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_pool` MODIFY data_type ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE') NOT NULL DEFAULT 'TEMP'");
+               if (EXT_IS_ACTIVE('bonus')) {
+                       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_bonus` MODIFY data_type ENUM('NEW','QUEUE','SEND') NOT NULL DEFAULT 'NEW'");
+               }
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE what IN('config_autopurge','list_autopurge')");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` DROP ap_notified");
                break;
 
-       case '0.1.4': // SQL queries for v0.1.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehler <div class=\"admin_failed\">Warning: Missing argument 2 for create_timestamp_from_selections() in {!PATH!}inc/libs/pro_functions.php on line 227</div> behoben.");
+       case 'activate': // Do stuff when admin activates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
                break;
 
-       case '0.1.5': // SQL queries for v0.1.5
-               // Update notes (these will be set as task text!)
-
-               EXT_SET_UPDATE_NOTES("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!)
-               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+       case 'deactivate': // Do stuff when admin deactivates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
                break;
 
-       case '0.1.7': // SQL queries for v0.1.7
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+       case 'update': // Update an extension
+               switch ($EXT_VER)
+               {
+                       case '0.1.0': // SQL queries for v0.1
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD autopurge_inactive ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD autopurge_unconfirmed ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_inactive_since BIGINT(20) UNSIGNED NOT NULL DEFAULT '2592000'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_inactive_time BIGINT(20) UNSIGNED NOT NULL DEFAULT '25200'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_unconfirmed_time BIGINT(20) UNSIGNED NOT NULL DEFAULT '432000'");
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_autopurge','Auto-L&ouml;schung','Automatisch inaktive oder nicht best&auml;tigte Accounts l&ouml;schen.','12')");
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_autopurge','Inaktive finden','Lassen Sie sich vor dem t&auml;glichen Reset anzeigen, welche Mitglieder als inaktiv erkannt werden und welche gel&ouml;scht werden.','10')");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD ap_notified BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Automatisches L&ouml:schen von inaktiven bzw. nicht best&auml;tigten Accounts hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.1.2': // SQL queries for v0.1.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Automatisches L&ouml;schen von als zu l&ouml;schen markierte Tasks hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.1.4': // SQL queries for v0.1.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehler <div class=\"admin_failed\">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!)
+
+                               EXT_SET_UPDATE_NOTES("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!)
+                               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+                               break;
+
+                       case '0.1.7': // SQL queries for v0.1.7
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+                               break;
+
+                       case '0.1.8': // SQL queries for v0.1.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt.");
+                               break;
+
+                       case '0.1.9': // SQL queries for v0.1.9
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD autopurge_tasks ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_tasks_time BIGINT(20) UNSIGNED NOT NULL DEFAULT '".(getConfig('one_day')*7)."'");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Bereinigung von zu l&ouml;schenden Aufgaben klappt wieder. Zeitlimit f&uuml;r genanntes kann eingestellt werden (Default = 7 Tage).<br /><br /><u>Bitte aktualisieren Sie auch die Admin-Templates!</u>");
+                               break;
+
+                       case '0.2.0': // SQL queries for v0.2.0
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_in_notify ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_un_notify ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_tasks_notify ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Mail wird bei L&ouml;schung von Aufgaben ausgesendet.<br /><br /><u>Bitte aktualisieren Sie auch die Admin-Templates!</u>");
+                               break;
+
+                       case '0.2.1': // SQL queries for v0.2.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Diverse angebundene Erweiterungen gefixt.");
+                               break;
+
+                       case '0.2.2': // SQL queries for v0.2.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Betreffzeile f&uuml;r gel&ouml;schte Aufgaben korregiert.");
+                               break;
+
+                       case '0.2.3': // SQL queries for v0.2.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Erweiterung bleibt wegen integrierten Schalters immer aktiv.");
+                               break;
+
+                       case '0.2.4': // SQL queries for v0.2.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Auto-L&ouml;schung von Best&auml;tigungslinks kann unter &quot;Sonstige Einstellungen&quot; abgeschaltet werden (0 setzen!)");
+                               break;
+
+                       case '0.2.5': // SQL queries for v0.2.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+                               break;
+
+                       case '0.2.6': // SQL queries for v0.2.6
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Problem mit Jackpot beseitigt ({!POINTS!} wurden nicht gutgeschrieben.)");
+                               break;
+
+                       case '0.2.7': // SQL queries for v0.2.7
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("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!)
+                               EXT_SET_UPDATE_NOTES("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!)
+                               EXT_SET_UPDATE_NOTES("Mailbetreffs korregiert.");
+                               break;
+
+                       case '0.3.0': // SQL queries for v0.3.0
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Template <u>admin_config_autopurge_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!");
+                               break;
+
+                       case '0.3.1': // SQL queries for v0.3.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Datumsformat festgelegt auf ausf&uuml;hrlich.");
+                               break;
+
+                       case '0.3.2': // SQL queries for v0.3.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("W&ouml;rter <strong>Mailtausch</strong>, <strong>Mailtausches</strong> und <strong>Mailtauscher</strong> sind austauschbar.");
+                               break;
+
+                       case '0.3.3': // SQL queries for v0.3.3
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_del_mails ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_dm_notify ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_dm_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT '86400'");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Von bereits gel&ouml;schten Mitgliedern die Mails l&ouml;schen integriert.");
+                               break;
+
+                       case '0.3.4': // SQL queries for v0.3.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("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!)
+                               EXT_SET_UPDATE_NOTES("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!)
+                               EXT_SET_UPDATE_NOTES("Die Accounts der Standart-Referal-ID, der Bonus-ID, Bettellink-ID und der Verdoppler-ID werden nun nicht mehr gel&ouml;scht und tauchen auch unterhalb der Inaktiven-Liste nicht mehr auf.");
+                               break;
+
+                       case '0.3.7': // SQL queries for v0.3.7
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
+                               break;
+
+                       case '0.3.8': // SQL queries for v0.3.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Vorbereitung auf die neue Mediendaten v0.0.4.");
+                               break;
+
+                       case '0.3.9': // SQL queries for v0.3.9
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("if-Anweisungen auf Funktion <strong>empty()</strong> umgestellt. Unter <strong>Auto-L&ouml;schung</strong> finden Sie nun auch die Einstellungen zu Mailbest&auml;tigungs wieder. Zudem werden keine Urlauber (neue Urlaubsschaltung beachtet) mehr als inaktiv erkannt.");
+                               break;
+
+                       case '0.4.0': // SQL queries for v0.4.0
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Template-Problem beseitigt. Dies verhinderte das Abspeichern der Einstellungen.");
+                               break;
+               }
                break;
 
-       case '0.1.8': // SQL queries for v0.1.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt.");
-               break;
-
-       case '0.1.9': // SQL queries for v0.1.9
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD autopurge_tasks ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_tasks_time BIGINT(20) UNSIGNED NOT NULL DEFAULT '".(getConfig('one_day')*7)."'");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Bereinigung von zu l&ouml;schenden Aufgaben klappt wieder. Zeitlimit f&uuml;r genanntes kann eingestellt werden (Default = 7 Tage).<br /><br /><u>Bitte aktualisieren Sie auch die Admin-Templates!</u>");
-               break;
+                       case 'modify': // When the extension got modified
+                               break;
 
-       case '0.2.0': // SQL queries for v0.2.0
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_in_notify ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_un_notify ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_tasks_notify ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Mail wird bei L&ouml;schung von Aufgaben ausgesendet.<br /><br /><u>Bitte aktualisieren Sie auch die Admin-Templates!</u>");
-               break;
-
-       case '0.2.1': // SQL queries for v0.2.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Diverse angebundene Erweiterungen gefixt.");
-               break;
-
-       case '0.2.2': // SQL queries for v0.2.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Betreffzeile f&uuml;r gel&ouml;schte Aufgaben korregiert.");
-               break;
-
-       case '0.2.3': // SQL queries for v0.2.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Erweiterung bleibt wegen integrierten Schalters immer aktiv.");
-               break;
-
-       case '0.2.4': // SQL queries for v0.2.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Auto-L&ouml;schung von Best&auml;tigungslinks kann unter &quot;Sonstige Einstellungen&quot; abgeschaltet werden (0 setzen!)");
-               break;
-
-       case '0.2.5': // SQL queries for v0.2.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
-               break;
-
-       case '0.2.6': // SQL queries for v0.2.6
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Problem mit Jackpot beseitigt ({!POINTS!} wurden nicht gutgeschrieben.)");
-               break;
-
-       case '0.2.7': // SQL queries for v0.2.7
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("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!)
-               EXT_SET_UPDATE_NOTES("Link zum Mitgliedsprofil in Funktion <u>generateUserProfileLink()</u> ausgelagert.");
-               break;
+                       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+                               break;
 
-       case '0.2.9': // SQL queries for v0.2.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Mailbetreffs korregiert.");
-               break;
-
-       case '0.3.0': // SQL queries for v0.3.0
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Template <u>admin_config_autopurge_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!");
-               break;
-
-       case '0.3.1': // SQL queries for v0.3.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Datumsformat festgelegt auf ausf&uuml;hrlich.");
-               break;
-
-       case '0.3.2': // SQL queries for v0.3.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("W&ouml;rter <strong>Mailtausch</strong>, <strong>Mailtausches</strong> und <strong>Mailtauscher</strong> sind austauschbar.");
-               break;
-
-       case '0.3.3': // SQL queries for v0.3.3
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_del_mails ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_dm_notify ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD ap_dm_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT '86400'");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Von bereits gel&ouml;schten Mitgliedern die Mails l&ouml;schen integriert.");
-               break;
-
-       case '0.3.4': // SQL queries for v0.3.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("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!)
-               EXT_SET_UPDATE_NOTES("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!)
-               EXT_SET_UPDATE_NOTES("Die Accounts der Standart-Referal-ID, der Bonus-ID, Bettellink-ID und der Verdoppler-ID werden nun nicht mehr gel&ouml;scht und tauchen auch unterhalb der Inaktiven-Liste nicht mehr auf.");
-               break;
-
-       case '0.3.7': // SQL queries for v0.3.7
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
-               break;
-
-       case '0.3.8': // SQL queries for v0.3.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Vorbereitung auf die neue Mediendaten v0.0.4.");
-               break;
-
-       case '0.3.9': // SQL queries for v0.3.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("if-Anweisungen auf Funktion <strong>empty()</strong> umgestellt. Unter <strong>Auto-L&ouml;schung</strong> finden Sie nun auch die Einstellungen zu Mailbest&auml;tigungs wieder. Zudem werden keine Urlauber (neue Urlaubsschaltung beachtet) mehr als inaktiv erkannt.");
-               break;
-
-       case '0.4.0': // SQL queries for v0.4.0
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Template-Problem beseitigt. Dies verhinderte das Abspeichern der Einstellungen.");
-               break;
-       }
-       break;
-
-case 'modify': // When the extension got modified
-       break;
-
-case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
-       break;
-
-default: // Do stuff when extension is loaded
-       // Do we have a daily-reset-run?
-       if (isResetModeEnabled() && (!isDebugModeEnabled()) && ($GLOBALS['output_mode'] != 1)) {
-               // Yes, we have. So let's auto-purge some campaigns, inactive users and unconfirmed accounts
-               ADD_INC_TO_POOL(sprintf("%sinc/autopurge.php", constant('PATH')));
-       }
-       break;
+                       default: // Do stuff when extension is loaded
+                               // Do we have a daily-reset-run?
+                               if (isResetModeEnabled() && (!isDebugModeEnabled()) && ($GLOBALS['output_mode'] != 1)) {
+                                       // Yes, we have. So let's auto-purge some campaigns, inactive users and unconfirmed accounts
+                                       ADD_INC_TO_POOL(sprintf("%sinc/autopurge.php", constant('PATH')));
+                               }
+                               break;
 }
 
 // Keep this extension always active!
index e9914bc..c8af77f 100644 (file)
@@ -50,10 +50,10 @@ EXT_SET_VER_HISTORY(array('0.0'));
 
 switch ($EXT_LOAD_MODE)
 {
-case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
-       // SQL commands to run
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_accounts`");
-       ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bank_accounts` (
+       case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+               // SQL commands to run
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_accounts`");
+               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bank_accounts` (
 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 uid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 account_created BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -79,8 +79,8 @@ INDEX (account_created),
 INDEX (account_locked),
 INDEX (last_tan_stamp)
 ) TYPE={!_TABLE_TYPE!}");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_transfers`");
-       ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bank_transfers` (
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_transfers`");
+               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bank_transfers` (
 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 to_account_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 from_account_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -92,8 +92,8 @@ PRIMARY KEY (id),
 INDEX (to_account_id, from_account_id),
 INDEX (day_bookkeeping, day_available)
 ) TYPE={!_TABLE_TYPE!}");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_packages`");
-       ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bank_packages` (
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_packages`");
+               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bank_packages` (
 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 title VARCHAR(255) NOT NULL DEFAULT '',
 description TINYTEXT,
@@ -112,12 +112,12 @@ free_account_stuff TINYTEXT null,
 tan_lock TINYINT(3) UNSIGNED NOT NULL DEFAULT 0,
 PRIMARY KEY (id)
 ) TYPE={!_TABLE_TYPE!}");
-       // free_account_stuff will be a list of columns of the table _bank_packages
-       // what the member shall get for the specified income. output_system_mode
-       // must be extended with the mode you get for free: output_system_mode:LOGIN
-       // should be fine. More than one entry and not DISABLED ;) are not supported.
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_tanlist`");
-       ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bank_tanlist` (
+               // free_account_stuff will be a list of columns of the table _bank_packages
+               // what the member shall get for the specified income. output_system_mode
+               // must be extended with the mode you get for free: output_system_mode:LOGIN
+               // should be fine. More than one entry and not DISABLED ;) are not supported.
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_tanlist`");
+               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bank_tanlist` (
 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 idx TINYINT(3) UNSIGNED NOT NULL DEFAULT 0,
 account_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -127,73 +127,73 @@ PRIMARY KEY (id),
 UNIQUE (account_id, tan)
 ) TYPE={!_TABLE_TYPE!}");
 
-       // Admin menu queries
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank', NULL, 'Bank-Accounts','Verwalten Sie hier alle Bank-Accounts Ihrer Mitglieder, sowie Angebotspakete und &Uuml;berweisungen.', 6)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','add_bank_package','Angebotspaket hinzuf&uuml;gen','Neues Angebotspaket erstellen.', 1)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','list_bank_package','Angebotspakete auflisten','Listet alle erstellten Angebotspakete auf.', 2)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','edit_bank_package','Angebotspaket &auml;ndern','Nach Auswahl eines Angebotspaketes k&ouml;nnen Sie dieses hier ver&auml;ndern. Bitte beachten Sie, dass Ihre Mitglieder keine Mail dabei erhalten!', 3)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','lock_bank_package','Angebotspaket ent-/sperren','Nehmen Sie Angebotspakete zur tempor&auml;ren &Uuml;berarbeitung zuvor heraus, dann k&ouml;nnen Sie in Ruhe dr&uuml;ber nachdenken und Berechnungen anstellen. Freigabe ist hier auch m&ouml;glich.', 4)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','del_bank_package','Angebotspaket l&ouml;schen','Nach Auswahl eines Angebotspaketes k&ouml;nnen Sie mit abschliessender Best&auml;tigung Angebotspakete ganz l&ouml;schen. Bitte beachten Sie, dass dies nur m&ouml;glich ist, wenn auch alle Accounts dieses nicht mehr nutzen!', 5)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','add_bank_account','Konto anlegen','Legen Sie hier Konten f&uuml;r die Mitglieder an (falls Ihre Mitglieder nicht zurecht kommen).', 6)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','list_bank_account','Konten auflisten','Auflistung aller Konto oder eines ausw&auml;hlbaren Mitglieds.', 7)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','edit_bank_account','Konto &auml;ndern','&Auml;ndern Sie hier bestehende Konten, z.B. den Dispositionskredit usw. PINs und TANs sind hier nicht &auml;nderbar! Best&auml;tigungsmails sind optional versendbar.', 8)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','lock_bank_account','Konto ent-/sperren','Sperren Sie hier Konten bei Bedarf. Auch das Freischalten ist hier m&ouml;glich. Eine Benachrichtigung per Mail wird dann an das Mitglied ausgesendet.', 9)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','del_bank_account','Konto l&ouml;schen','L&ouml;schen von Konten mit Best&auml;tigungsmail. Wenn Sie ein Mitglieder-Account l&ouml;schen, so m&uuml;ssen Sie derzeit seine angelegten Konten auch l&ouml;schen!', 10)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','send_bank_tanlist','TAN-Liste aussenden','Listet zuerst Anfragen von Mitgliedern auf, die eine neue (i)TAN-Liste ben&ouml;tigen, anschliessend kann die Liste dann ausgesendet werden.', 11)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','lock_bank_tanlist','TAN-Liste ent-/sperren','Bestehende TAN-Listen k&ouml;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)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','list_bank_trans','&Uuml;berweisungen auflisten','Nach Auswahl eines Mitgliedes und einem Konto (ben&ouml;tgt JavaScript!) k&ouml;nnen Sie seitenweise die &Uuml;berweisungen durchschauen.', 13)");
+               // Admin menu queries
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank', NULL, 'Bank-Accounts','Verwalten Sie hier alle Bank-Accounts Ihrer Mitglieder, sowie Angebotspakete und &Uuml;berweisungen.', 6)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','add_bank_package','Angebotspaket hinzuf&uuml;gen','Neues Angebotspaket erstellen.', 1)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','list_bank_package','Angebotspakete auflisten','Listet alle erstellten Angebotspakete auf.', 2)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','edit_bank_package','Angebotspaket &auml;ndern','Nach Auswahl eines Angebotspaketes k&ouml;nnen Sie dieses hier ver&auml;ndern. Bitte beachten Sie, dass Ihre Mitglieder keine Mail dabei erhalten!', 3)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','lock_bank_package','Angebotspaket ent-/sperren','Nehmen Sie Angebotspakete zur tempor&auml;ren &Uuml;berarbeitung zuvor heraus, dann k&ouml;nnen Sie in Ruhe dr&uuml;ber nachdenken und Berechnungen anstellen. Freigabe ist hier auch m&ouml;glich.', 4)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','del_bank_package','Angebotspaket l&ouml;schen','Nach Auswahl eines Angebotspaketes k&ouml;nnen Sie mit abschliessender Best&auml;tigung Angebotspakete ganz l&ouml;schen. Bitte beachten Sie, dass dies nur m&ouml;glich ist, wenn auch alle Accounts dieses nicht mehr nutzen!', 5)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','add_bank_account','Konto anlegen','Legen Sie hier Konten f&uuml;r die Mitglieder an (falls Ihre Mitglieder nicht zurecht kommen).', 6)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','list_bank_account','Konten auflisten','Auflistung aller Konto oder eines ausw&auml;hlbaren Mitglieds.', 7)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','edit_bank_account','Konto &auml;ndern','&Auml;ndern Sie hier bestehende Konten, z.B. den Dispositionskredit usw. PINs und TANs sind hier nicht &auml;nderbar! Best&auml;tigungsmails sind optional versendbar.', 8)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','lock_bank_account','Konto ent-/sperren','Sperren Sie hier Konten bei Bedarf. Auch das Freischalten ist hier m&ouml;glich. Eine Benachrichtigung per Mail wird dann an das Mitglied ausgesendet.', 9)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','del_bank_account','Konto l&ouml;schen','L&ouml;schen von Konten mit Best&auml;tigungsmail. Wenn Sie ein Mitglieder-Account l&ouml;schen, so m&uuml;ssen Sie derzeit seine angelegten Konten auch l&ouml;schen!', 10)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','send_bank_tanlist','TAN-Liste aussenden','Listet zuerst Anfragen von Mitgliedern auf, die eine neue (i)TAN-Liste ben&ouml;tigen, anschliessend kann die Liste dann ausgesendet werden.', 11)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','lock_bank_tanlist','TAN-Liste ent-/sperren','Bestehende TAN-Listen k&ouml;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)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','list_bank_trans','&Uuml;berweisungen auflisten','Nach Auswahl eines Mitgliedes und einem Konto (ben&ouml;tgt JavaScript!) k&ouml;nnen Sie seitenweise die &Uuml;berweisungen durchschauen.', 13)");
 
-       // Member menu
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank', NULL, 'Bank-Account','N','Y', 3)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_infos','Angebotspakete','N','Y', 1)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_create','Konto anlegen','N','Y', 2)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_deposit','Auf Konto einzahlen','N','Y', 3)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_withdraw','Vom Konto abheben','N','Y', 4)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_output','Kontoauszug','N','Y', 5)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_change','Paket wechseln','N','Y', 6)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_remove','Konto K&uuml;ndigen','N','Y', 7)");
-       break;
+               // Member menu
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank', NULL, 'Bank-Account','N','Y', 3)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_infos','Angebotspakete','N','Y', 1)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_create','Konto anlegen','N','Y', 2)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_deposit','Auf Konto einzahlen','N','Y', 3)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_withdraw','Vom Konto abheben','N','Y', 4)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_output','Kontoauszug','N','Y', 5)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_change','Paket wechseln','N','Y', 6)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_remove','Konto K&uuml;ndigen','N','Y', 7)");
+               break;
 
-case 'remove': // Do stuff when removing extension
-       // SQL commands to run
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_accounts`");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_transfers`");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_packages`");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_tanlist`");
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='bank'");
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `action`='bank'");
-       break;
+       case 'remove': // Do stuff when removing extension
+               // SQL commands to run
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_accounts`");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_transfers`");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_packages`");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_tanlist`");
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='bank'");
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `action`='bank'");
+               break;
 
-case 'activate': // Do stuff when admin activates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `action`='bank' LIMIT 8");
-       break;
+       case 'activate': // Do stuff when admin activates this extension
+               // SQL commands to run
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `action`='bank' LIMIT 8");
+               break;
 
-case 'deactivate': // Do stuff when admin deactivates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE `action`='bank' LIMIT 8");
-       break;
+       case 'deactivate': // Do stuff when admin deactivates this extension
+               // SQL commands to run
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE `action`='bank' LIMIT 8");
+               break;
 
-case 'update': // Update an extension
-       switch ($EXT_VER)
-       {
-       case '0.0.1': // SQL queries for v0.0.1
-               ADD_EXT_SQL("");
+       case 'update': // Update an extension
+               switch ($EXT_VER)
+               {
+                       case '0.0.1': // SQL queries for v0.0.1
+                               ADD_EXT_SQL('');
 
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("");
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES('');
+                               break;
+               }
                break;
-       }
-       break;
 
-case 'modify': // When the extension got modified
-       break;
+                       case 'modify': // When the extension got modified
+                               break;
 
-case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
-       break;
+                       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+                               break;
 
-default: // Do stuff when extension is loaded
-       break;
+                       default: // Do stuff when extension is loaded
+                               break;
 }
 
 //
index 1fe6c89..80920bf 100644 (file)
@@ -50,17 +50,17 @@ EXT_SET_VER_HISTORY(array('0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0
 
 switch ($EXT_LOAD_MODE)
 {
-case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
-       // SQL commands to run
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_beg','Bettel-Link','IP-Sperre, {!POINTS!}-Verg&uuml;tung usw. k&ouml;nnen Sie hier einstellen.', 10)");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','beg','{!POINTS!} erbetteln!',4,'Y','Y')");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','beg','Ihr Bettel-Link',6,'Y','Y')");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT '600'");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_uid_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT 1800");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00100");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_clicks BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_beg_ips`");
-       ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_beg_ips` (
+       case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+               // SQL commands to run
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_beg','Bettel-Link','IP-Sperre, {!POINTS!}-Verg&uuml;tung usw. k&ouml;nnen Sie hier einstellen.', 10)");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','beg','{!POINTS!} erbetteln!',4,'Y','Y')");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','beg','Ihr Bettel-Link',6,'Y','Y')");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT '600'");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_uid_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT 1800");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00100");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_clicks BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_beg_ips`");
+               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_beg_ips` (
 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 remote_ip VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
@@ -68,216 +68,216 @@ timeout VARCHAR(10) NOT NULL DEFAULT '',
 KEY (userid),
 PRIMARY KEY(id)
 ) TYPE={!_TABLE_TYPE!}");
-       break;
-
-case 'remove': // Do stuff when removing extension
-       // SQL commands to run
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_beg' OR `what`='list_beg'");
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_guest_menu` WHERE `what`='beg'");
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `what`='beg' OR `what`='beg2'");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_beg_ips`");
-       break;
-
-case 'activate': // Do stuff when admin activates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `what`='beg' LIMIT 1");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='beg' LIMIT 1");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='N' WHERE `module`='beg' LIMIT 1");
-       break;
-
-case 'deactivate': // Do stuff when admin deactivates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `what`='beg' LIMIT 1");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE what IN('beg','beg2') LIMIT 2");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='Y' WHERE `module`='beg' LIMIT 1");
-       break;
-
-case 'update': // Update an extension
-       switch ($EXT_VER)
-       {
-       case '0.0.1': // SQL queries for v0.0.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Design &quot;Solid-Business&quot; eingebaut.");
                break;
 
-       case '0.0.2': // SQL queries for v0.0.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+       case 'remove': // Do stuff when removing extension
+               // SQL commands to run
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_beg' OR `what`='list_beg'");
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_guest_menu` WHERE `what`='beg'");
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `what`='beg' OR `what`='beg2'");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_beg_ips`");
                break;
 
-       case '0.0.3': // SQL queries for v0.0.3
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_points_max FLOAT(20,5) UNSIGNED NOT NULL DEFAULT '0.10000'");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Maximale Obergrenze an {!POINTS!} einstellbar (Standart: 0,1 {!POINTS!})");
-               break;
-
-       case '0.0.4': // SQL queries for v0.0.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("&Uuml;berlange Kommastellen bei Punktangaben aus Bettellink und Gastbereich entfernt und Admin-Templates repariert (&quot;Unbekannte Spalte <u>beg_points_ma</u>&quot;).");
-               break;
-
-       case '0.0.5': // SQL queries for v0.0.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Im Mitgliedsmen&uuml; wurde die Beschreibung aus dem Gastmen&uuml; verwendet.");
-               break;
-
-       case '0.0.6': // SQL queries for v0.0.6
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_uid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("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
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_ip_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT 1800");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Zeitsperre gegen die selbe IP-Nummer hinzugef&uuml;gt.");
-               break;
-
-       case '0.0.9': // SQL queries for v0.0.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("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!)
-               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
-               break;
-
-       case '0.1.1': // SQL queries for v0.1.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Vorbereitung auf die neue Mediendaten v0.0.4.");
-               break;
-
-       case '0.1.2':
-               // SQL queries for v0.1.2
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_mode ENUM('DIRECT','REF') NOT NULL DEFAULT 'REF'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_ranks TINYINT(3) UNSIGNED NOT NULL DEFAULT 10");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_active ENUM('Y','N') NOT NULL DEFAULT 'N'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_rallye ENUM('Y','N') NOT NULL DEFAULT 'N'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_points FLOAT(21,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-
-               $VIS = 'N'; $LOCKED = 'Y';
-               if (EXT_IS_ACTIVE('beg')) { $VIS = 'Y'; $LOCKED = 'N'; }
-
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('main','beg2','Bettel-Rallye','".$VIS."','".$LOCKED."','7')");
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_beg','Bettel-Rallye','Listet alle Teilnehmer der monatlichen Bettel-Rallye auf.','12')");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Optionale Bettel-Rallye m&ouml;glich. Und die erbettelten {!POINTS!} k&ouml;nnen entweder nur dem bettelndem Mitglied direkt oder auch seinem Werber gutgeschrieben werden k&ouml;nnen.");
-               break;
-
-       case '0.1.3': // SQL queries for v0.1.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Erbettelte {!POINTS!} werden nach Deaktivierung der Bettel-Rallye gel&ouml;scht.");
-               break;
-
-       case '0.1.4': // SQL queries for v0.1.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("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
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `title`='Bettellink/-rallye', descr='IP-Sperre, {!POINTS!}-Verg&uuml;tung und auch die Bettel-Rallye k&ouml;nnen Sie hier einstellen.' WHERE `what`='config_beg' LIMIT 1");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehlendes Template im Admin-Bereich hinzugef&uuml;gt. Im Admin-Bereich Hinweis hinzugef&uuml;gt, wenn Bettel-Rallye inaktiv ist. Bitte Script inc/monthly_beg.php l&ouml;schen!");
+       case 'activate': // Do stuff when admin activates this extension
+               // SQL commands to run
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `what`='beg' LIMIT 1");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='beg' LIMIT 1");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='N' WHERE `module`='beg' LIMIT 1");
                break;
 
-       case '0.1.6': // SQL queries for v0.1.6
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Es wurden immer dem ersten bettelndem Mitglied die {!POINTS!} gutgeschrieben.");
+       case 'deactivate': // Do stuff when admin deactivates this extension
+               // SQL commands to run
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `what`='beg' LIMIT 1");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE what IN('beg','beg2') LIMIT 2");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='Y' WHERE `module`='beg' LIMIT 1");
                break;
 
-       case '0.1.7': // SQL queries for v0.1.7
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_ral_en_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_ral_di_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_new_mem_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_notify_bonus  FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_notify_wait BIGINT(20) UNSIGNED NOT NULL DEFAULT '30'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_ral_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_ral_en_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_ral_di_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Die Mitglieder k&ouml;nnen nun optional automatisch &uuml;ber eine aktivierte und/oder deaktivierte Bettel-Rallye informiert werden. Beide Benachrichtigungen k&ouml;nnen Sie unter <strong>Einstellungen --&gt; Bettel-Link/-rallye</strong> seperat ein- und ausschalten! Zudem ist eine Sperre gegen eingeloggte Mitglieder eingebaut, die das Klicken auf den eigenen Bettel-Link etwas erschweren soll.");
+       case 'update': // Update an extension
+               switch ($EXT_VER)
+               {
+                       case '0.0.1': // SQL queries for v0.0.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Design &quot;Solid-Business&quot; eingebaut.");
+                               break;
+
+                       case '0.0.2': // SQL queries for v0.0.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+                               break;
+
+                       case '0.0.3': // SQL queries for v0.0.3
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_points_max FLOAT(20,5) UNSIGNED NOT NULL DEFAULT '0.10000'");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Maximale Obergrenze an {!POINTS!} einstellbar (Standart: 0,1 {!POINTS!})");
+                               break;
+
+                       case '0.0.4': // SQL queries for v0.0.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("&Uuml;berlange Kommastellen bei Punktangaben aus Bettellink und Gastbereich entfernt und Admin-Templates repariert (&quot;Unbekannte Spalte <u>beg_points_ma</u>&quot;).");
+                               break;
+
+                       case '0.0.5': // SQL queries for v0.0.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Im Mitgliedsmen&uuml; wurde die Beschreibung aus dem Gastmen&uuml; verwendet.");
+                               break;
+
+                       case '0.0.6': // SQL queries for v0.0.6
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_uid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("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
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_ip_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT 1800");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Zeitsperre gegen die selbe IP-Nummer hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.0.9': // SQL queries for v0.0.9
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("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!)
+                               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
+                               break;
+
+                       case '0.1.1': // SQL queries for v0.1.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Vorbereitung auf die neue Mediendaten v0.0.4.");
+                               break;
+
+                       case '0.1.2':
+                               // SQL queries for v0.1.2
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_mode ENUM('DIRECT','REF') NOT NULL DEFAULT 'REF'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_ranks TINYINT(3) UNSIGNED NOT NULL DEFAULT 10");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_active ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_rallye ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_points FLOAT(21,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+
+                               $VIS = 'N'; $LOCKED = 'Y';
+                               if (EXT_IS_ACTIVE('beg')) { $VIS = 'Y'; $LOCKED = 'N'; }
+
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('main','beg2','Bettel-Rallye','".$VIS."','".$LOCKED."','7')");
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_beg','Bettel-Rallye','Listet alle Teilnehmer der monatlichen Bettel-Rallye auf.','12')");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Optionale Bettel-Rallye m&ouml;glich. Und die erbettelten {!POINTS!} k&ouml;nnen entweder nur dem bettelndem Mitglied direkt oder auch seinem Werber gutgeschrieben werden k&ouml;nnen.");
+                               break;
+
+                       case '0.1.3': // SQL queries for v0.1.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Erbettelte {!POINTS!} werden nach Deaktivierung der Bettel-Rallye gel&ouml;scht.");
+                               break;
+
+                       case '0.1.4': // SQL queries for v0.1.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("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
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `title`='Bettellink/-rallye', descr='IP-Sperre, {!POINTS!}-Verg&uuml;tung und auch die Bettel-Rallye k&ouml;nnen Sie hier einstellen.' WHERE `what`='config_beg' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehlendes Template im Admin-Bereich hinzugef&uuml;gt. Im Admin-Bereich Hinweis hinzugef&uuml;gt, wenn Bettel-Rallye inaktiv ist. Bitte Script inc/monthly_beg.php l&ouml;schen!");
+                               break;
+
+                       case '0.1.6': // SQL queries for v0.1.6
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Es wurden immer dem ersten bettelndem Mitglied die {!POINTS!} gutgeschrieben.");
+                               break;
+
+                       case '0.1.7': // SQL queries for v0.1.7
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_ral_en_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_ral_di_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_new_mem_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_notify_bonus  FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_notify_wait BIGINT(20) UNSIGNED NOT NULL DEFAULT '30'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_ral_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_ral_en_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD beg_ral_di_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Die Mitglieder k&ouml;nnen nun optional automatisch &uuml;ber eine aktivierte und/oder deaktivierte Bettel-Rallye informiert werden. Beide Benachrichtigungen k&ouml;nnen Sie unter <strong>Einstellungen --&gt; Bettel-Link/-rallye</strong> seperat ein- und ausschalten! Zudem ist eine Sperre gegen eingeloggte Mitglieder eingebaut, die das Klicken auf den eigenen Bettel-Link etwas erschweren soll.");
+                               break;
+
+                       case '0.1.8': // SQL queries for v0.1.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehler im t&auml;glichen Reset beseitigt.");
+                               break;
+
+                       case '0.1.9': // SQL queries for v0.1.9
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("De-/Aktivieren des mit dieser Erweiterung verkn&uuml;pften Modules eingebunden.");
+                               break;
+
+                       case '0.2.0': // SQL queries for v0.2.0
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Bei {!POINTS!}-Gleichstand wird als n&auml;chstes nach wer als letztes Online war umsortiert.");
+                               break;
+
+                       case '0.2.1': // SQL queries for v0.2.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehler <strong>unknown column &#39;uid&#39;</strong> beseitigt.");
+                               break;
+
+                       case '0.2.2': // SQL queries for v0.2.2
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_include_own ENUM('Y','N') NOT NULL DEFAULT 'N'");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Eigene User-ID von Bettel-Rallye ausschliessbar.");
+                               break;
+
+                       case '0.2.3': // SQL queries for v0.2.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Abfrage des Account-Status eingebaut. Es k&ouml;nnen nur best&auml;tigte Accounts betteln.");
+                               break;
+
+                       case '0.2.4': // SQL queries for v0.2.4
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `action`='extras', `sort`='1' WHERE `what`='beg' LIMIT 1");
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `action`='rals', `sort`='3', `title`='Bettel-Rallye' WHERE `what`='beg2' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Mitgliedsmen&uuml; komplett umgebaut.");
+                               break;
+
+                       case '0.2.5': // SQL queries for v0.2.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+                               break;
+
+                       case '0.2.6': // SQL queries for v0.2.6
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_beg_ips` ADD sid VARCHAR(255) NOT NULL DEFAULT ''");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `beg_pay_mode` ENUM('IMG','JS','BOTH','NONE') DEFAULT 'NONE' NOT NULL ;");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("IP-Lock mit Session-ID erweitert. Tracker-Script eingef&uuml;gt, dass das Einbinden des Bettel-Links als Bild/Script/CSS verhindern soll.");
+                               break;
+               }
                break;
 
-       case '0.1.8': // SQL queries for v0.1.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehler im t&auml;glichen Reset beseitigt.");
-               break;
-
-       case '0.1.9': // SQL queries for v0.1.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("De-/Aktivieren des mit dieser Erweiterung verkn&uuml;pften Modules eingebunden.");
-               break;
+                       case 'modify': // When the extension got modified
+                               break;
 
-       case '0.2.0': // SQL queries for v0.2.0
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Bei {!POINTS!}-Gleichstand wird als n&auml;chstes nach wer als letztes Online war umsortiert.");
-               break;
-
-       case '0.2.1': // SQL queries for v0.2.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehler <strong>unknown column &#39;uid&#39;</strong> beseitigt.");
-               break;
+                       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+                               break;
 
-       case '0.2.2': // SQL queries for v0.2.2
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD beg_include_own ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                       default: // Do stuff when extension is loaded
+                               // Remove old entries
+                               $OLD = getConfig('beg_timeout');
+                               if (getConfig('beg_uid_timeout') > $OLD) $OLD = getConfig('beg_uid_timeout');
+                               $result_ext = SQL_QUERY("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_beg_ips` WHERE timeout < (UNIX_TIMESTAMP() -".($OLD + 60*60).")", __FILE__, __LINE__);
 
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Eigene User-ID von Bettel-Rallye ausschliessbar.");
-               break;
-
-       case '0.2.3': // SQL queries for v0.2.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Abfrage des Account-Status eingebaut. Es k&ouml;nnen nur best&auml;tigte Accounts betteln.");
-               break;
-
-       case '0.2.4': // SQL queries for v0.2.4
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `action`='extras', `sort`='1' WHERE `what`='beg' LIMIT 1");
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `action`='rals', `sort`='3', `title`='Bettel-Rallye' WHERE `what`='beg2' LIMIT 1");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Mitgliedsmen&uuml; komplett umgebaut.");
-               break;
-
-       case '0.2.5': // SQL queries for v0.2.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
-               break;
-
-       case '0.2.6': // SQL queries for v0.2.6
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_beg_ips` ADD sid VARCHAR(255) NOT NULL DEFAULT ''");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `beg_pay_mode` ENUM('IMG','JS','BOTH','NONE') DEFAULT 'NONE' NOT NULL ;");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("IP-Lock mit Session-ID erweitert. Tracker-Script eingef&uuml;gt, dass das Einbinden des Bettel-Links als Bild/Script/CSS verhindern soll.");
-               break;
-       }
-       break;
-
-case 'modify': // When the extension got modified
-       break;
-
-case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
-       break;
-
-default: // Do stuff when extension is loaded
-       // Remove old entries
-       $OLD = getConfig('beg_timeout');
-       if (getConfig('beg_uid_timeout') > $OLD) $OLD = getConfig('beg_uid_timeout');
-       $result_ext = SQL_QUERY("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_beg_ips` WHERE timeout < (UNIX_TIMESTAMP() -".($OLD + 60*60).")", __FILE__, __LINE__);
-
-       // Check for beg rallye is active and send mails out
-       if ((getConfig('beg_rallye') == 'Y') && (getConfig('beg_new_mem_notify') == 'Y')) {
-               // Include file for sending out mails
-               ADD_INC_TO_POOL(sprintf("%sinc/mails/beg_mails.php", constant('PATH')));
-       } // END - if
-       break;
+                               // Check for beg rallye is active and send mails out
+                               if ((getConfig('beg_rallye') == 'Y') && (getConfig('beg_new_mem_notify') == 'Y')) {
+                                       // Include file for sending out mails
+                                       ADD_INC_TO_POOL(sprintf("%sinc/mails/beg_mails.php", constant('PATH')));
+                               } // END - if
+                               break;
 }
 
 //
index fe6cebb..843548f 100644 (file)
@@ -50,160 +50,160 @@ EXT_SET_VER_HISTORY(array('0.0', '0.1.0', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0
 
 switch ($EXT_LOAD_MODE)
 {
-case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
-       // SQL commands to run
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD birthday_sent VARCHAR(10) NOT NULL DEFAULT 0");
-       break;
-
-case 'remove': // Do stuff when removing extension
-       // SQL commands to run
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` DROP birthday_sent");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_user_birthday`");
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_birthday'");
-       break;
-
-case 'activate': // Do stuff when admin activates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
-
-case 'deactivate': // Do stuff when admin deactivates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("");
-       break;
-
-case 'update': // Update an extension
-       switch ($EXT_VER)
-       {
-       case '0.1.0': // SQL queries for v0.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Wenn t&auml;glicher Reset war, wird eine ben&ouml;tigte Include-Datei nicht mehr von daily-reset.php eingebunden, sondern von der Erweiterungsdatei selber.");
+       case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+               // SQL commands to run
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD birthday_sent VARCHAR(10) NOT NULL DEFAULT 0");
                break;
 
-       case '0.2.0': // SQL queries for v0.2
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD birthday_points BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+       case 'remove': // Do stuff when removing extension
+               // SQL commands to run
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` DROP birthday_sent");
                ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_user_birthday`");
-               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_user_birthday` (
-id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-points BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-chk_value VARCHAR(255) NOT NULL DEFAULT '',
-KEY(userid),
-PRIMARY KEY(id)
-) Type={!_TABLE_TYPE!}");
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_birthday','Geburtstagsmails','Stellen Sie hier ein, ob die Mitglieder {!POINTS!} (nicht automatisch) gutgeschrieben kommen sollen oder nicht.', 9)");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Es kann nun eine Gutschrift an die Geburtstagmail angeh&auml;ngt werden. Diese wird erst beim Klick auf einen Best&auml;tigungslink gutgeschrieben.");
-               break;
-
-       case '0.2.1': // SQL queries for v0.2.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Abstand zwischen ausgesendeter Geburtstagsmails auf 364 Tage erh&ouml;ht.");
-               break;
-
-       case '0.2.4': // SQL queries for v0.2.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Laden der birthday_mails.php &quot;intelligenter&quot; per Datenfeld und Lade-Schleife in load_extensions.php realisiert.");
-               break;
-
-       case '0.2.5': // SQL queries for v0.2.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
-               break;
-
-       case '0.2.6': // SQL queries for v0.2.6
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt.");
-               break;
-
-       case '0.2.7': // SQL queries for v0.2.7
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Sicherheitsupdate am Script <u>birtday_confirm.php</u> durchgef&uuml;hrt.");
-               break;
-
-       case '0.2.8': // SQL queries for v0.2.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Vergessenes <strong>_OB_CACHING</strong> gesetzt.");
-               break;
-
-       case '0.2.9': // SQL queries for v0.2.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_birthday'");
                break;
 
-       case '0.3.0': // SQL queries for v0.3.0
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Ausgabe des generierten HTML-Codes nach <u>inc/footer.php</u> verlagert.");
+       case 'activate': // Do stuff when admin activates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
                break;
 
-       case '0.3.1': // SQL queries for v0.3.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Wort <strong>Punkte</strong> dynamisiert.");
+       case 'deactivate': // Do stuff when admin deactivates this extension
+               // SQL commands to run
+               ADD_EXT_SQL('');
                break;
 
-       case '0.3.2': // SQL queries for v0.3.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Sicherheitsupdate: SQL-Anweisungen gesch&uuml;tzt.");
-               break;
-
-       case '0.3.3': // SQL queries for v0.3.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Bitte verschieben Sie die birthday-Templates (Ordner: {!PATH!}/templates/".getLanguage()."/html/) in den neuen Order birthday!");
-               break;
+       case 'update': // Update an extension
+               switch ($EXT_VER)
+               {
+                       case '0.1.0': // SQL queries for v0.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Wenn t&auml;glicher Reset war, wird eine ben&ouml;tigte Include-Datei nicht mehr von daily-reset.php eingebunden, sondern von der Erweiterungsdatei selber.");
+                               break;
 
-       case '0.3.4': // SQL queries for v0.3.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
-               break;
-
-       case '0.3.5': // SQL queries for v0.3.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Vorbereitung auf die neue Mediendaten v0.0.4.");
-               break;
-
-       case '0.3.6': // SQL queries for v0.3.6
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD birthday_mode ENUM('DIRECT','REF') NOT NULL DEFAULT 'DIRECT'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD birthday_active ENUM('Y','N') NOT NULL DEFAULT 'N'");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Verg&uuml;tungsmodus des Geburtstagsbonus einstellbar.");
-               break;
+                       case '0.2.0': // SQL queries for v0.2
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD birthday_points BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+                               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_user_birthday`");
+                               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_user_birthday` (
+id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+points BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+chk_value VARCHAR(255) NOT NULL DEFAULT '',
+KEY(userid),
+PRIMARY KEY(id)
+) Type={!_TABLE_TYPE!}");
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_birthday','Geburtstagsmails','Stellen Sie hier ein, ob die Mitglieder {!POINTS!} (nicht automatisch) gutgeschrieben kommen sollen oder nicht.', 9)");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Es kann nun eine Gutschrift an die Geburtstagmail angeh&auml;ngt werden. Diese wird erst beim Klick auf einen Best&auml;tigungslink gutgeschrieben.");
+                               break;
+
+                       case '0.2.1': // SQL queries for v0.2.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Abstand zwischen ausgesendeter Geburtstagsmails auf 364 Tage erh&ouml;ht.");
+                               break;
+
+                       case '0.2.4': // SQL queries for v0.2.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Laden der birthday_mails.php &quot;intelligenter&quot; per Datenfeld und Lade-Schleife in load_extensions.php realisiert.");
+                               break;
+
+                       case '0.2.5': // SQL queries for v0.2.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+                               break;
+
+                       case '0.2.6': // SQL queries for v0.2.6
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt.");
+                               break;
+
+                       case '0.2.7': // SQL queries for v0.2.7
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Sicherheitsupdate am Script <u>birtday_confirm.php</u> durchgef&uuml;hrt.");
+                               break;
+
+                       case '0.2.8': // SQL queries for v0.2.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Vergessenes <strong>_OB_CACHING</strong> gesetzt.");
+                               break;
+
+                       case '0.2.9': // SQL queries for v0.2.9
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+                               break;
+
+                       case '0.3.0': // SQL queries for v0.3.0
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Ausgabe des generierten HTML-Codes nach <u>inc/footer.php</u> verlagert.");
+                               break;
+
+                       case '0.3.1': // SQL queries for v0.3.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Wort <strong>Punkte</strong> dynamisiert.");
+                               break;
+
+                       case '0.3.2': // SQL queries for v0.3.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Sicherheitsupdate: SQL-Anweisungen gesch&uuml;tzt.");
+                               break;
+
+                       case '0.3.3': // SQL queries for v0.3.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Bitte verschieben Sie die birthday-Templates (Ordner: {!PATH!}/templates/".getLanguage()."/html/) in den neuen Order birthday!");
+                               break;
+
+                       case '0.3.4': // SQL queries for v0.3.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
+                               break;
+
+                       case '0.3.5': // SQL queries for v0.3.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Vorbereitung auf die neue Mediendaten v0.0.4.");
+                               break;
+
+                       case '0.3.6': // SQL queries for v0.3.6
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD birthday_mode ENUM('DIRECT','REF') NOT NULL DEFAULT 'DIRECT'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD birthday_active ENUM('Y','N') NOT NULL DEFAULT 'N'");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Verg&uuml;tungsmodus des Geburtstagsbonus einstellbar.");
+                               break;
+
+                       case '0.3.7': // SQL queries for v0.3.7
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Im Script <strong>inc/birthday_mails.php</strong> hat sich ein Zeichen mit dem Code 160 eingeschlichen, welches einen <strong>Parser Error</strong> verursachte, aber wie eine gew&ouml;hnliche Leerstelle aussah.");
+                               break;
+
+                       case '0.3.8': // SQL queries for v0.3.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Hash-Erstellung von <strong>md5()</strong> auf bessere Funktion <strong>generateHash()</strong> umgestellt.");
+                               break;
+
+                       case '0.3.9': // SQL queries for v0.3.9
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` CHANGE `birth_day` `birth_day` SMALLINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT '01',
+CHANGE `birth_month` `birth_month` SMALLINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT '01',
+CHANGE `birth_year` `birth_year` SMALLINT(4) UNSIGNED ZEROFILL NOT NULL DEFAULT 1970");
 
-       case '0.3.7': // SQL queries for v0.3.7
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Im Script <strong>inc/birthday_mails.php</strong> hat sich ein Zeichen mit dem Code 160 eingeschlichen, welches einen <strong>Parser Error</strong> verursachte, aber wie eine gew&ouml;hnliche Leerstelle aussah.");
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Datenbankspalten umgestellt auf SMALLINT() UNSIGNED ZEROFILL.");
+                               break;
+               }
                break;
 
-       case '0.3.8': // SQL queries for v0.3.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Hash-Erstellung von <strong>md5()</strong> auf bessere Funktion <strong>generateHash()</strong> umgestellt.");
-               break;
+                       case 'modify': // When the extension got modified
+                               break;
 
-       case '0.3.9': // SQL queries for v0.3.9
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` CHANGE `birth_day` `birth_day` SMALLINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT '01',
-CHANGE `birth_month` `birth_month` SMALLINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT '01',
-CHANGE `birth_year` `birth_year` SMALLINT(4) UNSIGNED ZEROFILL NOT NULL DEFAULT 1970");
+                       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+                               break;
 
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Datenbankspalten umgestellt auf SMALLINT() UNSIGNED ZEROFILL.");
-               break;
-       }
-       break;
-
-case 'modify': // When the extension got modified
-       break;
-
-case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
-       break;
-
-default: // Do stuff when extension is loaded
-       if ((isResetModeEnabled()) && (getConfig('birthday_points') > 0)) {
-               // Daily reset was run and we shall pay points so we start checking for members who
-               // has a birthday for today
-               ADD_INC_TO_POOL(sprintf("%sinc/mails/birthday_mails.php", constant('PATH')));
-       }
-       break;
+                       default: // Do stuff when extension is loaded
+                               if ((isResetModeEnabled()) && (getConfig('birthday_points') > 0)) {
+                                       // Daily reset was run and we shall pay points so we start checking for members who
+                                       // has a birthday for today
+                                       ADD_INC_TO_POOL(sprintf("%sinc/mails/birthday_mails.php", constant('PATH')));
+                               }
+                               break;
 }
 
 //
index 11316d0..7c8453f 100644 (file)
@@ -50,12 +50,12 @@ EXT_SET_VER_HISTORY(array('0.0', '0.1.6', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0
 
 switch ($EXT_LOAD_MODE)
 {
-case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
-       // SQL commands to run
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`sort`,`descr`) VALUES ('email','send_bonus','Bonusmail senden',5,'Versenden Sie hier Bonus-Mails an alle Mitglieder oder nur an alle aus einer Kategorie. Es spielt keine Rolle, wie viele Mails bereits versendet worden, Sie k&ouml;nnen hier immer senden.')");
-       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`,`counter`) VALUES ('main','bonus','Bonuspunkte',7,'Y','Y', 0)");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus`");
-       ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bonus` (
+       case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+               // SQL commands to run
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`sort`,`descr`) VALUES ('email','send_bonus','Bonusmail senden',5,'Versenden Sie hier Bonus-Mails an alle Mitglieder oder nur an alle aus einer Kategorie. Es spielt keine Rolle, wie viele Mails bereits versendet worden, Sie k&ouml;nnen hier immer senden.')");
+               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`,`counter`) VALUES ('main','bonus','Bonuspunkte',7,'Y','Y', 0)");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus`");
+               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bonus` (
 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 cat_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 subject VARCHAR(255) NOT NULL DEFAULT '',
@@ -72,76 +72,76 @@ mails_sent BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 KEY(cat_id),
 PRIMARY KEY  (id)
 )TYPE={!_TABLE_TYPE!}");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` MODIFY link_type ENUM('NORMAL','BONUS') NOT NULL DEFAULT 'NORMAL'");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` ADD bonus_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` ADD INDEX (bonus_id)");
-
-       // Run this SQL when html or html_mail extension is installed
-       if (EXT_IS_ACTIVE('html_mail')) ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_bonus` add html_msg ENUM('Y','N') NOT NULL DEFAULT 'N'");
-       break;
-
-case 'remove': // Do stuff when removing extension
-       // SQL commands to run
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE what IN ('bonus','config_bonus','send_bonus','list_bonus','list_notifications')");
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `what`='bonus'");
-       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_guest_menu` WHERE `action`='bonus'");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` MODIFY link_type ENUM('NORMAL') NOT NULL DEFAULT 'NORMAL'");
-       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` DROP bonus_id");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus`");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_urls`");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_customer`");
-       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_turbo`");
-       break;
-
-case 'activate': // Do stuff when admin activates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='bonus' LIMIT 1");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='bonus' LIMIT 1");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='N' WHERE `module`='show_bonus' LIMIT 1");
-       break;
-
-case 'deactivate': // Do stuff when admin deactivates this extension
-       // SQL commands to run
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='bonus' LIMIT 1");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='bonus' LIMIT 1");
-       ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='Y' WHERE `module`='show_bonus' LIMIT 1");
-       break;
-
-case 'update': // Update an extension
-       switch ($EXT_VER)
-       {
-       case '0.1.6': // SQL queries for v0.1.6
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Paid-Links wurden verschoben in die Erweiterung <strong>paidlinks</strong>.");
-               break;
-
-       case '0.2.0': // SQL queries for v0.2.0
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_bonus` SET target_send=mails_sent WHERE target_send='0' AND mails_sent>0 AND receivers != ''");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Behebt ein Versand-Problem mit den Bonus-Mails. Es wurde die Spalte target_send nicht beim Einf&uuml;gen der Buchung gessetzt. Bitte laden Sie sich dazu - wenn nicht bereits geschehen - alle Patches bis mindestens Patch 240 unter <a href=\"{!URL!}/modules.php?module=admin&amp;what=updates\">Updates pr&uuml;fen</a> herunter.");
-               break;
-
-       case '0.2.1': // SQL queries for v0.2.1
-               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_bonus' LIMIT 1");
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`sort`,`descr`) VALUES ('setup','config_bonus','Bonus-{!POINTS!}',8,'Richten Sie Bonus-{!POINTS!} ein, die beim x&#39;ten Klick auf die Mail verbucht werden sollen. Beispiele: Der 1. Klick sollte mehr {!POINTS!} zus&auml;tzlich bekommen, als der 10. Klick.')");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD login_bonus FLOAT(20,3) NOT NULL DEFAULT 10.000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD turbo_bonus FLOAT(20,3) NOT NULL DEFAULT 100.000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD login_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT ".getConfig('one_day')."");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD turbo_rates VARCHAR(255) NOT NULL DEFAULT '50;20;10'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_ranks TINYINT(3) UNSIGNED NOT NULL DEFAULT 10");
-               // Use actual month for this update
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD login_bonus FLOAT(20,3) NOT NULL DEFAULT 0.000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD turbo_bonus FLOAT(20,3) NOT NULL DEFAULT 0.000");
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET ext_has_css='Y' WHERE `ext_name`='bonus' AND ext_has_css='N' LIMIT 1");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Login-Bonus und Turbo-Klick-Bonus intergriert.");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` MODIFY link_type ENUM('NORMAL','BONUS') NOT NULL DEFAULT 'NORMAL'");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` ADD bonus_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` ADD INDEX (bonus_id)");
+
+               // Run this SQL when html or html_mail extension is installed
+               if (EXT_IS_ACTIVE('html_mail')) ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_bonus` add html_msg ENUM('Y','N') NOT NULL DEFAULT 'N'");
+               break;
+
+       case 'remove': // Do stuff when removing extension
+               // SQL commands to run
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE what IN ('bonus','config_bonus','send_bonus','list_bonus','list_notifications')");
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `what`='bonus'");
+               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_guest_menu` WHERE `action`='bonus'");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` MODIFY link_type ENUM('NORMAL') NOT NULL DEFAULT 'NORMAL'");
+               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_links` DROP bonus_id");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus`");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_urls`");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_customer`");
+               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_turbo`");
                break;
 
-       case '0.2.2': // SQL queries for v0.2.2
-               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_turbo`");
-               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bonus_turbo` (
+       case 'activate': // Do stuff when admin activates this extension
+               // SQL commands to run
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='bonus' LIMIT 1");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='bonus' LIMIT 1");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='N' WHERE `module`='show_bonus' LIMIT 1");
+               break;
+
+       case 'deactivate': // Do stuff when admin deactivates this extension
+               // SQL commands to run
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='bonus' LIMIT 1");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='bonus' LIMIT 1");
+               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='Y' WHERE `module`='show_bonus' LIMIT 1");
+               break;
+
+       case 'update': // Update an extension
+               switch ($EXT_VER)
+               {
+                       case '0.1.6': // SQL queries for v0.1.6
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Paid-Links wurden verschoben in die Erweiterung <strong>paidlinks</strong>.");
+                               break;
+
+                       case '0.2.0': // SQL queries for v0.2.0
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_bonus` SET target_send=mails_sent WHERE target_send='0' AND mails_sent>0 AND receivers != ''");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Behebt ein Versand-Problem mit den Bonus-Mails. Es wurde die Spalte target_send nicht beim Einf&uuml;gen der Buchung gessetzt. Bitte laden Sie sich dazu - wenn nicht bereits geschehen - alle Patches bis mindestens Patch 240 unter <a href=\"{!URL!}/modules.php?module=admin&amp;what=updates\">Updates pr&uuml;fen</a> herunter.");
+                               break;
+
+                       case '0.2.1': // SQL queries for v0.2.1
+                               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_bonus' LIMIT 1");
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`sort`,`descr`) VALUES ('setup','config_bonus','Bonus-{!POINTS!}',8,'Richten Sie Bonus-{!POINTS!} ein, die beim x&#39;ten Klick auf die Mail verbucht werden sollen. Beispiele: Der 1. Klick sollte mehr {!POINTS!} zus&auml;tzlich bekommen, als der 10. Klick.')");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD login_bonus FLOAT(20,3) NOT NULL DEFAULT 10.000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD turbo_bonus FLOAT(20,3) NOT NULL DEFAULT 100.000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD login_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT ".getConfig('one_day')."");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD turbo_rates VARCHAR(255) NOT NULL DEFAULT '50;20;10'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_ranks TINYINT(3) UNSIGNED NOT NULL DEFAULT 10");
+                               // Use actual month for this update
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD login_bonus FLOAT(20,3) NOT NULL DEFAULT 0.000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD turbo_bonus FLOAT(20,3) NOT NULL DEFAULT 0.000");
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET ext_has_css='Y' WHERE `ext_name`='bonus' AND ext_has_css='N' LIMIT 1");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Login-Bonus und Turbo-Klick-Bonus intergriert.");
+                               break;
+
+                       case '0.2.2': // SQL queries for v0.2.2
+                               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_turbo`");
+                               ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_bonus_turbo` (
 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 mail_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -155,419 +155,419 @@ KEY bonus_id (bonus_id),
 KEY userid (userid)
 ) TYPE={!_TABLE_TYPE!}");
 
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Turbo-Bonus wird in Tabelle gez&auml;hlt f&uuml;r Anzeige, wer alles bereits geklickt hat und welchen Platz er gemacht hat.");
-               break;
-
-       case '0.2.3': // SQL queries for v0.2.3
-               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `what`='bonus' LIMIT 1");
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`,`counter`) VALUES ('main','bonus','Aktiv-Rallye',7,'Y','Y', 0)");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Aktiv-Rallye mit Klick-Verg&uuml;tung hinzugef&uuml;gt.");
-               break;
-
-       case '0.2.4': // SQL queries for v0.2.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei ge&auml;ndert.");
-               break;
-
-       case '0.2.5': // SQL queries for v0.2.5
-               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_urls`");
-               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_customer`");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Tabellen <u>{!MYSQL_PREFIX!}_bonus_urls</u> und <u>{!MYSQL_PREFIX!}_bonus_customer</u> entfernt, da dies bald von der Erweiterung <u>paidlinks</u> erledigt wird.");
-               break;
-
-       case '0.2.6': // SQL queries for v0.2.6
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
-               break;
-
-       case '0.2.7': // SQL queries for v0.2.7
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Turbo-Bonus klappt wieder (dies sind {!POINTS!} die an die schnellsten Klicker verg&uuml;tet werden!)");
-               break;
-
-       case '0.2.8': // SQL queries for v0.2.8
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_bonus` SET timestamp='0' WHERE timestamp='0000000000'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_bonus_turbo` CHANGE points points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` CHANGE turbo_bonus turbo_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` CHANGE login_bonus login_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` CHANGE turbo_bonus turbo_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` CHANGE login_bonus login_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("5 Nachkommastellen implementiert");
-               break;
-
-       case '0.2.9': // SQL queries for v0.2.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt.");
-               break;
-
-       case '0.3.0': // SQL queries for v0.3.0
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Men&uuml;punkte im Gast-/Mitgliedsbereich k&ouml;nnen nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
-               break;
-
-       case '0.3.1': // SQL queries for v0.3.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Sicherheitsupdate am Script <u>show_bonus.php</u> durchgef&uuml;hrt.");
-               break;
-
-       case '0.3.2': // SQL queries for v0.3.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Design &quot;Solid-Business&quot; eingebaut.");
-               break;
-
-       case '0.3.3': // SQL queries for v0.3.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
-               break;
-
-       case '0.3.4': // SQL queries for v0.3.4
-               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_bonus','Aktiv-Rallye-Teilnehmer','Listet alle Mitglieder auf, die einen Aktiv-Bonus haben und zeigt die derzeit m&ouml;glichen Gewinner an.', 10)");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Link <u>Aktiv-Rallye-Teilnehmer</u> hinzugef&uuml;gt, inklusive manuelle Vorbereitung der Verg&uuml;tung.");
-               break;
-
-       case '0.3.5': // SQL queries for v0.3.5
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_mode ENUM('UID','JACKPOT','ADD') NOT NULL DEFAULT 'ADD'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_uid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Der Login-Bonus Aktiv-Bonus (= Klick-Bonus) k&ouml;nnen nun zuerst von einem Mitgliederaccount (das sollte Ihres sein!), vom Jackpot abgezogen oder einfach dazuadiert werden.");
-               break;
-
-       case '0.3.6': // SQL queries for v0.3.6
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("In der Admin-Liste werden nur aktive Mitglieder gelistet und zudem die sp&auml;teste Zeitmarke f&uuml;r die Auswertung angezeigt.");
-               break;
-
-       case '0.3.7': // SQL queries for v0.3.7
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Mitglieder-Account auw&auml;hlbar, von dem die {!POINTS!} f&uuml;r den Aktiv- und Login-Bonus abgebucht werden.");
-               break;
-
-       case '0.3.8': // SQL queries for v0.3.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Ausgabe des generierten HTML-Codes nach <u>inc/footer.php</u> verlagert.");
-               break;
-
-       case '0.3.9': // SQL queries for v0.3.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Fehlende Variablen gefixt.");
-               break;
-
-       case '0.4.0': // SQL queries for v0.4.0
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getConfig('one_day')*7)."");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_lines BIGINT(20) UNSIGNED NOT NULL DEFAULT 10");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Automatisches L&ouml;schen von Turbo-Bonus-Zeilen ({!MYSQL_PREFIX!}_bonus_turbo) und begrenzte Anzahl von Eintr&auml;gen hinzugef&uuml;gt.");
-               break;
-
-       case '0.4.1': // SQL queries for v0.4.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Verg&uuml;tung des Aktiv-Bonus repariert.");
-               break;
-
-       case '0.4.2': // SQL queries for v0.4.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Admin-Bereich / Aktiv-Teilnehmer auflisten: Problem mit Konstante __AUTOPURGE_TIMEOUT und das Template <u>admin_list_bonus.tpl</u> korregiert.");
-               break;
-
-       case '0.4.3': // SQL queries for v0.4.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Verbesserung des Versandes von  HTML-Bonus-Mails.");
-               break;
-
-       case '0.4.4': // SQL queries for v0.4.4
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_order FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 15.00000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_ref FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_stats FLOAT(20,5) UNSIGNED NOT NULL DEFAULT '5.00000'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_active ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD bonus_order FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD bonus_ref FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD bonus_stats FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Bonus-{!POINTS!} f&uuml;r: Mailbestellung, Referal-Werbung (bei Best. der EMail-Adresse) und wenn 100% Klickrate jeder Mailbuchung erreicht wurde.<br />Template <u>admin_config_bonus_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!<br />Eingestellte Bonus-{!POINTS!} f&uuml;r Rank 2 war um eins verschoben.");
-               break;
-
-       case '0.4.5': // SQL queries for v0.4.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Abzug vom Bonus-Account integriert.");
-               break;
-
-       case '0.4.6': // SQL queries for v0.4.6
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Rank 2 bekommt nun auch seine {!POINTS!} gutgeschrieben.");
-               break;
-
-       case '0.4.7': // SQL queries for v0.4.7
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET login_bonus=0, turbo_bonus=0,bonus_ref=0,bonus_order=0,bonus_stats=0");
-
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Die Aktiv-Rallye wurde nicht auf 0 {!POINTS!} gesetzt. Dieser Fehler ist nun behoben. Allerdings ist mit diesem Update auch die Aktiv-Rallye zur&uuml;ckgesetzt worden.");
-               break;
-
-       case '0.4.8': // SQL queries for v0.4.8
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("In <u>inc/monthly_bonus.php</u> fehlte ein Punkt; Fehler besseitigt.");
-               break;
-
-       case '0.4.9': // SQL queries for v0.4.9
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Login-Bonus wird mit angezeigt.");
-               break;
-
-       case '0.5.0': // SQL queries for v0.5.0
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Problem mit <strong>is_hundred</strong> beim t&auml;glichen Reset beseitigt.");
-               break;
-
-       case '0.5.1': // SQL queries for v0.5.1
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Problem mit <strong>bonus_stats / Zeile 31</strong> beim t&auml;glichen Reset beseitigt.");
-               break;
-
-       case '0.5.2': // SQL queries for v0.5.2
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("W&ouml;rter <strong>Mailtausch</strong>, <strong>Mailtausches</strong> und <strong>Mailtauscher</strong> sind austauschbar.");
-               break;
-
-       case '0.5.3': // SQL queries for v0.5.3
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Speichern der Aktiv-{!POINTS!} f&uuml;r Platz 2 bis <strong>x</strong> korregiert.");
-               break;
-
-       case '0.5.4': // SQL queries for v0.5.4
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Variablenfehler in <strong>inc/monthly_bonus.php</strong> behoben.");
-               break;
-
-       case '0.5.5': // SQL queries for v0.5.5
-               // Update notes (these will be set as task text!)
-               EXT_SET_UPDATE_NOTES("Weitere Variablenfehler in <strong>inc/monthly_bonus.php</strong> haben daf&uuml;r gesorgt, dass die monatliche Aktiv-Rallye nicht ausgesch&uuml;ttet wurde. Mit diesem Update wurde die Aussch&uuml;ttung initialisiert. Ihre Mitglieder bekommen voraussichtlicht nichts doppelt verg&uuml;tet.");
-               break;
-
-       case '0.5.6': // SQL queries for v0.5.6
-               // Get current month
-               $curr = date('m', time());
-               if (strlen($curr) == 1) $curr = '0'.$curr;
-               if ($curr == "00") $curr = "12";
-
-               // Generate timemark...
-               $mark = mktime(0, 0, 0, $curr, 1, date('Y', time()));
-
-               // Update accounts which are not active last months
-               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_user_data`
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Turbo-Bonus wird in Tabelle gez&auml;hlt f&uuml;r Anzeige, wer alles bereits geklickt hat und welchen Platz er gemacht hat.");
+                               break;
+
+                       case '0.2.3': // SQL queries for v0.2.3
+                               ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `what`='bonus' LIMIT 1");
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`,`counter`) VALUES ('main','bonus','Aktiv-Rallye',7,'Y','Y', 0)");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Aktiv-Rallye mit Klick-Verg&uuml;tung hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.2.4': // SQL queries for v0.2.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei ge&auml;ndert.");
+                               break;
+
+                       case '0.2.5': // SQL queries for v0.2.5
+                               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_urls`");
+                               ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bonus_customer`");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Tabellen <u>{!MYSQL_PREFIX!}_bonus_urls</u> und <u>{!MYSQL_PREFIX!}_bonus_customer</u> entfernt, da dies bald von der Erweiterung <u>paidlinks</u> erledigt wird.");
+                               break;
+
+                       case '0.2.6': // SQL queries for v0.2.6
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+                               break;
+
+                       case '0.2.7': // SQL queries for v0.2.7
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Turbo-Bonus klappt wieder (dies sind {!POINTS!} die an die schnellsten Klicker verg&uuml;tet werden!)");
+                               break;
+
+                       case '0.2.8': // SQL queries for v0.2.8
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_bonus` SET timestamp='0' WHERE timestamp='0000000000'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_bonus_turbo` CHANGE points points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` CHANGE turbo_bonus turbo_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` CHANGE login_bonus login_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` CHANGE turbo_bonus turbo_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` CHANGE login_bonus login_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("5 Nachkommastellen implementiert");
+                               break;
+
+                       case '0.2.9': // SQL queries for v0.2.9
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt.");
+                               break;
+
+                       case '0.3.0': // SQL queries for v0.3.0
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Men&uuml;punkte im Gast-/Mitgliedsbereich k&ouml;nnen nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
+                               break;
+
+                       case '0.3.1': // SQL queries for v0.3.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Sicherheitsupdate am Script <u>show_bonus.php</u> durchgef&uuml;hrt.");
+                               break;
+
+                       case '0.3.2': // SQL queries for v0.3.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Design &quot;Solid-Business&quot; eingebaut.");
+                               break;
+
+                       case '0.3.3': // SQL queries for v0.3.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
+                               break;
+
+                       case '0.3.4': // SQL queries for v0.3.4
+                               ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_bonus','Aktiv-Rallye-Teilnehmer','Listet alle Mitglieder auf, die einen Aktiv-Bonus haben und zeigt die derzeit m&ouml;glichen Gewinner an.', 10)");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Link <u>Aktiv-Rallye-Teilnehmer</u> hinzugef&uuml;gt, inklusive manuelle Vorbereitung der Verg&uuml;tung.");
+                               break;
+
+                       case '0.3.5': // SQL queries for v0.3.5
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_mode ENUM('UID','JACKPOT','ADD') NOT NULL DEFAULT 'ADD'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_uid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Der Login-Bonus Aktiv-Bonus (= Klick-Bonus) k&ouml;nnen nun zuerst von einem Mitgliederaccount (das sollte Ihres sein!), vom Jackpot abgezogen oder einfach dazuadiert werden.");
+                               break;
+
+                       case '0.3.6': // SQL queries for v0.3.6
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("In der Admin-Liste werden nur aktive Mitglieder gelistet und zudem die sp&auml;teste Zeitmarke f&uuml;r die Auswertung angezeigt.");
+                               break;
+
+                       case '0.3.7': // SQL queries for v0.3.7
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Mitglieder-Account auw&auml;hlbar, von dem die {!POINTS!} f&uuml;r den Aktiv- und Login-Bonus abgebucht werden.");
+                               break;
+
+                       case '0.3.8': // SQL queries for v0.3.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Ausgabe des generierten HTML-Codes nach <u>inc/footer.php</u> verlagert.");
+                               break;
+
+                       case '0.3.9': // SQL queries for v0.3.9
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Fehlende Variablen gefixt.");
+                               break;
+
+                       case '0.4.0': // SQL queries for v0.4.0
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getConfig('one_day')*7)."");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_lines BIGINT(20) UNSIGNED NOT NULL DEFAULT 10");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Automatisches L&ouml;schen von Turbo-Bonus-Zeilen ({!MYSQL_PREFIX!}_bonus_turbo) und begrenzte Anzahl von Eintr&auml;gen hinzugef&uuml;gt.");
+                               break;
+
+                       case '0.4.1': // SQL queries for v0.4.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Verg&uuml;tung des Aktiv-Bonus repariert.");
+                               break;
+
+                       case '0.4.2': // SQL queries for v0.4.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Admin-Bereich / Aktiv-Teilnehmer auflisten: Problem mit Konstante __AUTOPURGE_TIMEOUT und das Template <u>admin_list_bonus.tpl</u> korregiert.");
+                               break;
+
+                       case '0.4.3': // SQL queries for v0.4.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Verbesserung des Versandes von  HTML-Bonus-Mails.");
+                               break;
+
+                       case '0.4.4': // SQL queries for v0.4.4
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_order FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 15.00000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_ref FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_stats FLOAT(20,5) UNSIGNED NOT NULL DEFAULT '5.00000'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD bonus_active ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD bonus_order FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD bonus_ref FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+                               ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD bonus_stats FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Bonus-{!POINTS!} f&uuml;r: Mailbestellung, Referal-Werbung (bei Best. der EMail-Adresse) und wenn 100% Klickrate jeder Mailbuchung erreicht wurde.<br />Template <u>admin_config_bonus_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!<br />Eingestellte Bonus-{!POINTS!} f&uuml;r Rank 2 war um eins verschoben.");
+                               break;
+
+                       case '0.4.5': // SQL queries for v0.4.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Abzug vom Bonus-Account integriert.");
+                               break;
+
+                       case '0.4.6': // SQL queries for v0.4.6
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Rank 2 bekommt nun auch seine {!POINTS!} gutgeschrieben.");
+                               break;
+
+                       case '0.4.7': // SQL queries for v0.4.7
+                               ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET login_bonus=0, turbo_bonus=0,bonus_ref=0,bonus_order=0,bonus_stats=0");
+
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Die Aktiv-Rallye wurde nicht auf 0 {!POINTS!} gesetzt. Dieser Fehler ist nun behoben. Allerdings ist mit diesem Update auch die Aktiv-Rallye zur&uuml;ckgesetzt worden.");
+                               break;
+
+                       case '0.4.8': // SQL queries for v0.4.8
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("In <u>inc/monthly_bonus.php</u> fehlte ein Punkt; Fehler besseitigt.");
+                               break;
+
+                       case '0.4.9': // SQL queries for v0.4.9
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Login-Bonus wird mit angezeigt.");
+                               break;
+
+                       case '0.5.0': // SQL queries for v0.5.0
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Problem mit <strong>is_hundred</strong> beim t&auml;glichen Reset beseitigt.");
+                               break;
+
+                       case '0.5.1': // SQL queries for v0.5.1
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Problem mit <strong>bonus_stats / Zeile 31</strong> beim t&auml;glichen Reset beseitigt.");
+                               break;
+
+                       case '0.5.2': // SQL queries for v0.5.2
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("W&ouml;rter <strong>Mailtausch</strong>, <strong>Mailtausches</strong> und <strong>Mailtauscher</strong> sind austauschbar.");
+                               break;
+
+                       case '0.5.3': // SQL queries for v0.5.3
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Speichern der Aktiv-{!POINTS!} f&uuml;r Platz 2 bis <strong>x</strong> korregiert.");
+                               break;
+
+                       case '0.5.4': // SQL queries for v0.5.4
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Variablenfehler in <strong>inc/monthly_bonus.php</strong> behoben.");
+                               break;
+
+                       case '0.5.5': // SQL queries for v0.5.5
+                               // Update notes (these will be set as task text!)
+                               EXT_SET_UPDATE_NOTES("Weitere Variablenfehler in <strong>inc/monthly_bonus.php</strong> haben daf&uuml;r gesorgt, dass die monatliche Aktiv-Rallye nicht ausgesch&uuml;ttet wurde. Mit diesem Update wurde die Aussch&uuml;ttung initialisiert. Ihre Mitglieder bekommen voraussichtlicht nichts doppelt verg&uuml;tet.");
+                               break;
+
+                       case '0.5.6': // SQL queries for v0.5.6
+       &n