Deprecated templates removed, some code moved to filters, bug fixed in mydata:
authorRoland Häder <roland@mxchange.org>
Sun, 8 Nov 2009 17:22:13 +0000 (17:22 +0000)
committerRoland Häder <roland@mxchange.org>
Sun, 8 Nov 2009 17:22:13 +0000 (17:22 +0000)
- Deprecated templates removed
- Old lost template admin_extensions_installed.tpl now deprecated
- Missing array element 'info' rewritten to 'message' in what=mydata (user has
  updated his/her profile)
- Some other minor fixes
- Some HTML/CSS issues fixed
- TODOs.txt updated

23 files changed:
.gitattributes
DOCS/TODOs.txt
inc/extensions/ext-debug.php
inc/extensions/ext-theme.php
inc/functions.php
inc/language/de.php
inc/libs/theme_functions.php
inc/modules/admin/admin-inc.php
inc/modules/admin/overview-inc.php
inc/modules/admin/what-chk_regs.php
inc/modules/admin/what-del_task.php [deleted file]
inc/mysql-manager.php
templates/de/emails/admin/admin_mydata_notify.tpl
templates/de/emails/admin/admin_reset_password.tpl
templates/de/emails/guest/guest_request_confirm.tpl
templates/de/emails/member/member_mydata_notify.tpl
templates/de/html/admin/admin_extensions_installed.tpl
templates/de/html/admin/admin_list_chk_reg_row.tpl
templates/de/html/admin/admin_login_form.tpl
templates/de/html/admin/admin_logout_form.tpl
templates/de/html/admin/admin_reg.tpl [deleted file]
templates/de/html/admin/admin_reg_row.tpl [deleted file]
templates/de/html/member/member_doubler.tpl

index 35dc72c..e87d1b8 100644 (file)
@@ -410,7 +410,6 @@ inc/modules/admin/what-config_yoomedia.php -text
 inc/modules/admin/what-del_email.php -text
 inc/modules/admin/what-del_holiday.php -text
 inc/modules/admin/what-del_sponsor.php -text
-inc/modules/admin/what-del_task.php -text
 inc/modules/admin/what-del_transfer.php -text
 inc/modules/admin/what-del_user.php -text
 inc/modules/admin/what-edit_emails.php -text
@@ -1200,9 +1199,7 @@ templates/de/html/admin/admin_refbanner.tpl -text
 templates/de/html/admin/admin_refbanner_edit.tpl -text
 templates/de/html/admin/admin_refbanner_edit_row.tpl -text
 templates/de/html/admin/admin_refbanner_row.tpl -text
-templates/de/html/admin/admin_reg.tpl -text
 templates/de/html/admin/admin_reg_form.tpl -text
-templates/de/html/admin/admin_reg_row.tpl -text
 templates/de/html/admin/admin_reset_pass_done.tpl -text
 templates/de/html/admin/admin_reset_password.tpl -text
 templates/de/html/admin/admin_reset_password_form.tpl -text
index 4b7778c..97436c1 100644 (file)
@@ -2,7 +2,7 @@
 ### DO NOT EDIT THIS FILE. ###
 ./beg.php:172:                 // @TODO Opps, what is missing here???
 ./birthday_confirm.php:93:             // @TODO Try to rewrite the following unset()
-./inc/cache/config-local.php:122:// @TODO Rewrite the following three constants, somehow...
+./inc/cache/config-local.php:125:// @TODO Rewrite the following three constants, somehow...
 ./inc/classes/cachesystem.class.php:464:       // @TODO Add support for more types which break in last else-block
 ./inc/config-functions.php:143:        // @TODO Make this all better... :-/
 ./inc/extensions/ext-html_mail.php:137:                // @TODO Move these arrays into config
 ./inc/extensions/ext-newsletter.php:215:               // @TODO Move these into configuration
 ./inc/extensions/ext-rallye.php:330:           // @TODO Move this code into rallye_functions.php
 ./inc/extensions/ext-rallye.php:93:            // @TODO Fix config_rallye_prices to list_rallye_prices
-./inc/extensions/ext-sql_patches.php:741:                      // @TODO Rewrite this to a filter
+./inc/extensions/ext-sql_patches.php:737:                      // @TODO Rewrite this to a filter
 ./inc/extensions/ext-sql_patches.php:94:               /* @TODO SQL_ALTER_TABLE() should work now properly
 ./inc/extensions/ext-yoomedia.php:122:         // @TODO Can this be moved into a database table?
 ./inc/extensions/ext-yoomedia.php:55:// @TODO Only deprecated when 'network' is ready! setExtensionDeprecated('Y');
 ./inc/extensions-functions.php:376:// @TODO Change from ext_id to ext_name (not just even the variable! ;-) )
 ./inc/extensions-functions.php:489:            // @TODO Extension is loaded, what next?
-./inc/functions.php:1010:// @TODO $simple is deprecated
-./inc/functions.php:1045:      // @TODO Do only use $content and deprecate $GLOBALS and $DATA in templates
-./inc/functions.php:2345:// @TODO Try to move this to inc/libs/theme_functions.php
+./inc/functions.php:1016:// @TODO $simple is deprecated
+./inc/functions.php:1051:      // @TODO Do only use $content and deprecate $GLOBALS and $DATA in templates
+./inc/functions.php:2351:// @TODO Try to move this to inc/libs/theme_functions.php
 ./inc/functions.php:241:       // @TODO Remove this sanity-check if all is fine
 ./inc/functions.php:244:       // @TODO Try to rewrite all $DATA to $content
-./inc/functions.php:2516:// @TODO Please describe this function
-./inc/functions.php:2534:      searchDirsRecursive($next_dir, $last_changed); // @TODO small change to API to $last_changed = searchDirsRecursive($next_dir, $time);
-./inc/functions.php:2630:              // @TODO Add a little more infos here
-./inc/functions.php:2641:      // @TODO This cannot be rewritten to app_die(), try to find a solution for this.
-./inc/functions.php:2724:                      // @TODO Rewrite this old lost code to a template
-./inc/functions.php:2813:                      // @TODO Are these convertions still required?
-./inc/functions.php:2831:// @TODO Rewrite this function to use readFromFile() and writeToFile()
+./inc/functions.php:2522:// @TODO Please describe this function
+./inc/functions.php:2540:      searchDirsRecursive($next_dir, $last_changed); // @TODO small change to API to $last_changed = searchDirsRecursive($next_dir, $time);
+./inc/functions.php:2636:              // @TODO Add a little more infos here
+./inc/functions.php:2647:      // @TODO This cannot be rewritten to app_die(), try to find a solution for this.
+./inc/functions.php:2728:                      // @TODO Rewrite this old lost code to a template
+./inc/functions.php:2817:                      // @TODO Are these convertions still required?
+./inc/functions.php:2835:// @TODO Rewrite this function to use readFromFile() and writeToFile()
+./inc/functions.php:3709:// @TODO Lame description for this function
+./inc/functions.php:3731:                      // @TODO Move this in a filter
 ./inc/functions.php:467:       // @TODO Do only use $contentn, not $DATA or raw variables
 ./inc/functions.php:537:               // @TODO Extension 'msg' does not exist
 ./inc/functions.php:606:// @TODO Rewrite this to an extension 'smtp'
 ./inc/install-functions.php:62:        // @TODO DEACTIVATED: changeDataInFile(getConfig('CACHE_PATH') . 'config-local.php', 'OUTPUT-MODE', "setConfigEntry('OUTPUT_MODE', '", "');", postRequestElement('omode'), 0);
-./inc/language/de.php:1142:// @TODO Rewrite these two constants
-./inc/language/de.php:1158:// @TODO Rewrite these five constants
-./inc/language/de.php:737:// @TODO The template 'admin_extensions_installed' is using this. But the template is no longer used.
-./inc/language/de.php:845:// @TODO Are these constants longer used?
+./inc/language/de.php:1145:// @TODO Rewrite these two constants
+./inc/language/de.php:1161:// @TODO Rewrite these five constants
+./inc/language/de.php:848:// @TODO Are these constants longer used?
 ./inc/language-functions.php:45:// @TODO Rewrite all language constants to this function.
 ./inc/language/holiday_de.php:49:// @TODO Rewrite these two constants to one
 ./inc/language/rallye_de.php:113:// @TODO Rewrite following two lines to one
@@ -53,7 +54,6 @@
 ./inc/libs/surfbar_functions.php:950:  // @TODO Invalid salt should be refused
 ./inc/libs/task_functions.php:244:             // @TODO These can be rewritten to filter
 ./inc/libs/task_functions.php:52:// @TODO Move all extension-dependent queries into filters
-./inc/libs/theme_functions.php:218:// @TODO Move this code block into a filter and register it with 'init'
 ./inc/libs/user_functions.php:137:     // @TODO These two constants are no longer used, maybe we reactivate this code?
 ./inc/libs/user_functions.php:313:                     // @TODO Make this filter working: $ADDON = runFilterChain('post_login_update', $content);
 ./inc/libs/user_functions.php:336:                     // @TODO Make this filter working: $URL = runFilterChain('do_login', array('content' => $content, 'addon' => $ADDON));
 ./inc/modules/admin/admin-inc.php:530:// @TODO Try to rewrite this to adminAddMenuSelectionBox()
 ./inc/modules/admin/admin-inc.php:543:         // @TODO Try to rewrite this to $content = SQL_FETCHARRAY(). Please look some lines above for the dynamic query
 ./inc/modules/admin/overview-inc.php:160:                              // @TODO Rewrite this to a filter
-./inc/modules/admin/overview-inc.php:274:                              // @TODO Rewrite this to something with include files
+./inc/modules/admin/overview-inc.php:274:                              // @TODO Rewrite this to something with include files and/or filter
 ./inc/modules/admin/overview-inc.php:312:                                              // @TODO This may also be rewritten to include files
 ./inc/modules/admin/overview-inc.php:314:                                                      default: // @TODO Unknown support mode
-./inc/modules/admin/overview-inc.php:433:                      // @TODO Try to move this in includes
+./inc/modules/admin/overview-inc.php:435:                      // @TODO Try to move this in includes
 ./inc/modules/admin/overview-inc.php:44:// @TODO This function does also check for uncompleted tasks
-./inc/modules/admin.php:94:                                    // @TODO Why is this set to 'done'?
 ./inc/modules/admin/what-add_guestnl_cat.php:48:       // @TODO Check if category does already exist
 ./inc/modules/admin/what-add_surfbar_url.php:56:       // @TODO Find all convertSelectionsToTimestamp() calls and rewrite postRequestElement() calls to $postData
 ./inc/modules/admin/what-admin_add.php:119:                            // @TODO This can be somehow rewritten to a function
@@ -82,7 +81,6 @@
 ./inc/modules/admin/what-adminedit.php:57:     // @TODO Kill all constants in this file
 ./inc/modules/admin/what-admins_mails.php:59:                          // @TODO Can this be rewritten???
 ./inc/modules/admin/what-bonus.php:47:// @TODO Unused at the moment
-./inc/modules/admin/what-chk_regs.php:65:              // @TODO Rewritings: surname->surname,family->family,ip->REMOTE_ADDR,ref->refid,hash->user_hash in template
 ./inc/modules/admin/what-config_admins.php:145:        // @TODO Rewrite this to filter 'run_sqls'
 ./inc/modules/admin/what-config_mods.php:135:          // @TODO Rewritings: mod->module in template
 ./inc/modules/admin/what-config_rallye_prices.php:208:                         // @TODO Rewritings: level->price_level, infos->info in template
 ./inc/modules/member/what-bonus.php:56:        // @TODO Rewrite this to a filter
 ./inc/modules/member/what-categories.php:129:          // @TODO Rewrite this to use $OUT .= ...
 ./inc/modules/member/what-order.php:443:                       // @TODO Rewrite this to a filter
-./inc/modules/member/what-payout.php:143:                              // @TODO Rewritings: acc->target_account,bank->target_bank in templates
-./inc/modules/member/what-payout.php:241:                                      // @TODO Rewrite this to a filter
+./inc/modules/member/what-payout.php:240:                                      // @TODO Rewrite this to a filter
 ./inc/modules/member/what-points.php:54:// @TODO Should we rewrite this to a filter?
 ./inc/modules/member/what-rallyes.php:89:      // @TODO Reactivate this: $content['admin'] = "<a href=\"{?URL?}/modules.php?module=index&amp;what=impressum&amp;admin=".$content['admin_id']."\">".$content['login']."</a>";
 ./inc/modules/member/what-reflinks.php:59:// @TODO Move this into a filter
 ./inc/modules/member/what-unconfirmed.php:144: // @TODO Try to rewrite this to $content = SQL_FETCHARRAY()
 ./inc/modules/order.php:75:            // @TODO Unused: 2,4
 ./inc/monthly/monthly_bonus.php:68:    // @TODO Rewrite this to a filter
-./inc/mysql-manager.php:1665:                  // @TODO Try to rewrite this to $content = SQL_FETCHARRAY()
-./inc/mysql-manager.php:1886:                  // @TODO Rewrite this to $content = SQL_FETCHARRAY()
-./inc/mysql-manager.php:2206:          // @TODO This can be somehow rewritten
+./inc/mysql-manager.php:1566:                  // @TODO Try to rewrite this to $content = SQL_FETCHARRAY()
+./inc/mysql-manager.php:1790:                  // @TODO Rewrite this to $content = SQL_FETCHARRAY()
+./inc/mysql-manager.php:2112:          // @TODO This can be somehow rewritten
+./inc/mysql-manager.php:2135:// @TODO Fix inconsistency between last_module and getWhat()
 ./inc/mysql-manager.php:220:                   // @TODO Nothing helped???
-./inc/mysql-manager.php:2229:// @TODO Fix inconsistency between last_module and getWhat()
 ./inc/mysql-manager.php:255:                   // @TODO Rewrite this to a filter
 ./inc/mysql-manager.php:576:   // @TODO Try to rewrite this to one or more functions
-./inc/mysql-manager.php:901:// @TODO Lame description for this function
 ./inc/mysql-manager.php:93:// @TODO Can we cache this?
 ./inc/reset/reset_birthday.php:92:                     // @TODO 4 is hard-coded here, should we move it out in config?
 ./inc/wrapper-functions.php:127:// @TODO Implement $compress
 ./view.php:72:         // @TODO No banner found, output some default banner
 ### ### DEPRECATION FOLLOWS: ### ###
 ./inc/modules/admin/admin-inc.php:531:// @DEPRECATED
-./inc/modules/admin/what-del_task.php:2:// @DEPRECATED
+./templates/de/html/admin/admin_extensions_installed.tpl:1:<!-- @DEPRECATED //-->
 ### ### template-warnings.log follows: ### ###
 Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : td in templates/de/html/menu/menu_what_end.tpl, line: 1 in 
 Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : tr in templates/de/html/menu/menu_what_end.tpl, line: 2 in 
@@ -217,6 +213,7 @@ Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : form in templates/de/
 Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : td in templates/de/html/admin/admin_main_footer.tpl, line: 1 in 
 Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : tr in templates/de/html/admin/admin_main_footer.tpl, line: 2 in 
 Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : table in templates/de/html/admin/admin_main_footer.tpl, line: 12 in 
+Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : tr in templates/de/html/admin/admin_login_form.tpl, line: 49 in 
 Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : table in templates/de/html/guest/guest_rallye_expired_footer.tpl, line: 6 in 
 Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : div in templates/de/html/guest/guest_rallye_expired_footer.tpl, line: 7 in 
 Warning: DOMDocument::loadHTMLFile(): Unexpected end tag : table in templates/de/html/guest/guest_footer.tpl, line: 6 in 
index 8cf681c..aca2f0b 100644 (file)
@@ -50,6 +50,9 @@ setExtensionVersionHistory(array('0.0'));
 // Keep this extension always active!
 setExtensionAlwaysActive('Y');
 
+// This extension is in development (non-productive)
+enableExtensionProductive(false);
+
 switch (getExtensionMode()) {
        case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
                // Table for debug log entries
index d2d9a73..0590290 100644 (file)
@@ -42,10 +42,10 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // Version number
-setThisExtensionVersion('0.0.9');
+setThisExtensionVersion('0.1.0');
 
 // Version history array (add more with , '0.1.0' and so on)
-setExtensionVersionHistory(array('0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9'));
+setExtensionVersionHistory(array('0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0'));
 
 switch (getExtensionMode()) {
        case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
@@ -64,6 +64,9 @@ switch (getExtensionMode()) {
 
                // Delete member menu entries
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `action`='themes' OR `what`='themes'");
+
+               // Unregister filter
+               unregisterFilter('init', 'HANDLE_THEME_CHANGE', true, getExtensionDryRun());
                break;
 
        case 'activate': // Do stuff when admin activates this extension
@@ -156,7 +159,15 @@ INDEX (`theme_active`)
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Fehlende Konfiguration hinzugef&uuml;gt.");
                                break;
-               }
+
+                       case '0.1.0': // SQL queries for v0.1.0
+                               // Register filter
+                               registerFilter('init', 'HANDLE_THEME_CHANGE', false, true, getExtensionDryRun());
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("&Auml;ndern des Designs nun im Filter (internes TODO).");
+                               break;
+               } // END - switch
                break;
 
        case 'modify': // When the extension got modified
@@ -171,7 +182,7 @@ INDEX (`theme_active`)
        default: // Unknown extension mode
                DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown extension mode %s detected.", getExtensionMode()));
                break;
-} // END - swich
+} // END - switch
 
 //
 ?>
index c621cbc..de1578b 100644 (file)
@@ -3705,6 +3705,116 @@ function escapeJavaScriptQuotes ($str) {
        return $str;
 }
 
+// Send out mails depending on the 'mod/modes' combination
+// @TODO Lame description for this function
+function sendModeMails ($mod, $modes) {
+       // Load hash
+       if (fetchUserData(getMemberId())) {
+               // Extract salt from cookie
+               $salt = substr(getSession('u_hash'), 0, -40);
+
+               // Now let's compare passwords
+               $hash = generatePassString(getUserData('password'));
+
+               // Does the hash match or should we change it?
+               if (($hash == getSession('u_hash')) || (postRequestElement('pass1') == postRequestElement('pass2'))) {
+                       // Load the data
+                       $content = getUserDataArray();
+
+                       // Translate gender
+                       $content['gender'] = translateGender($content['gender']);
+
+                       // Clear/init the content variable
+                       $content['message'] = '';
+
+                       // Which mail?
+                       // @TODO Move this in a filter
+                       switch ($mod) {
+                               case 'mydata':
+                                       foreach ($modes as $mode) {
+                                               switch ($mode) {
+                                                       case 'normal': break; // Do not add any special lines
+                                                       case 'email': // Email was changed!
+                                                               $content['message'] = getMessage('MEMBER_CHANGED_EMAIL').": ".postRequestElement('old_email')."\n";
+                                                               break;
+
+                                                       case 'pass': // Password was changed
+                                                               $content['message'] = getMessage('MEMBER_CHANGED_PASS')."\n";
+                                                               break;
+
+                                                       default:
+                                                               logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown mode %s detected.", $mode));
+                                                               $content['message'] = getMessage('MEMBER_UNKNOWN_MODE') . ': ' . $mode . "\n\n";
+                                                               break;
+                                               } // END - switch
+                                       } // END - foreach
+
+                                       if (isExtensionActive('country')) {
+                                               // Replace code with description
+                                               $content['country'] = generateCountryInfo(postRequestElement('country_code'));
+                                       } // END - if
+
+                                       // Merge content with data from POST
+                                       $content = merge_array($content, postRequestArray());
+
+                                       // Load template
+                                       $message = loadEmailTemplate('member_mydata_notify', $content, getMemberId());
+
+                                       if (getConfig('admin_notify') == 'Y') {
+                                               // The admin needs to be notified about a profile change
+                                               $message_admin = 'admin_mydata_notify';
+                                               $sub_adm   = getMessage('ADMIN_CHANGED_DATA');
+                                       } else {
+                                               // No mail to admin
+                                               $message_admin = '';
+                                               $sub_adm   = '';
+                                       }
+
+                                       // Set subject lines
+                                       $sub_mem = getMessage('MEMBER_CHANGED_DATA');
+
+                                       // Output success message
+                                       $content = "<span class=\"member_done\">{--MYDATA_MAIL_SENT--}</span>";
+                                       break;
+
+                               default: // Unsupported module!
+                                       logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unsupported module %s detected.", $mod));
+                                       $content = "<span class=\"member_failed\">{--UNKNOWN_MODULE--}</span>";
+                                       break;
+                       } // END - switch
+               } else {
+                       // Passwords mismatch
+                       $content = "<span class=\"member_failed\">{--MEMBER_PASSWORD_ERROR--}</span>";
+               }
+       } else {
+               // Could not load profile
+               $content = "<span class=\"member_failed\">{--MEMBER_CANNOT_LOAD_PROFILE--}</span>";
+       }
+
+       // Send email to user if required
+       if ((!empty($sub_mem)) && (!empty($message))) {
+               // Send member mail
+               sendEmail($content['email'], $sub_mem, $message);
+       } // END - if
+
+       // Send only if no other error has occured
+       if (empty($content)) {
+               if ((!empty($sub_adm)) && (!empty($message_admin))) {
+                       // Send admin mail
+                       sendAdminNotification($sub_adm, $message_admin, $content, getMemberId());
+               } elseif (getConfig('admin_notify') == 'Y') {
+                       // Cannot send mails to admin!
+                       $content = getMessage('CANNOT_SEND_ADMIN_MAILS');
+               } else {
+                       // No mail to admin
+                       $content = "<span class=\"member_done\">{--MYDATA_MAIL_SENT--}</span>";
+               }
+       } // END - if
+
+       // Load template
+       loadTemplate('admin_settings_saved', false, $content);
+}
+
 //////////////////////////////////////////////////
 // AUTOMATICALLY RE-GENERATED MISSING FUNCTIONS //
 //////////////////////////////////////////////////
index 904f530..8873a63 100644 (file)
@@ -557,12 +557,9 @@ addMessages(array(
        'ADMIN_SELECT_USER' => "Mitglied ausw&auml;hlen",
        'ENTER_POINTS_ADD' => "{?POINTS?} zum Aufbuchen",
        'ENTER_ADD_REASON' => "Grund der Aufbuchung",
-       'ADMIN_ADDED_POINTS_1' => "Einer unserer Administratoren hat Ihnen soeben",
-       'ADMIN_ADDED_POINTS_2' => " {?POINTS?} gutgeschrieben.",
-       'ADMIN_ADDED_REASON' => "Grund dazu war folgender",
        'ADMIN_ADD_SUBJ' => "{?POINTS?}-Gutschrift durch unsere Admins.",
        'ADMIN_POINTS_ADDED' => "{?POINTS?} wurden gutgeschrieben. Das Mitglied hat eine Mail erhalten.",
-       'MAILS_PER_DAY' => "Mails / Tag",
+       'MAILS_PER_DAY' => "Mitglieder-Mails / Tag",
        'GUEST_CONFIRMED_DONE' => "Danke f&uuml;r die Best&auml;tigung Ihrer Email-Adresse! Es ist eine Mail mit den Login-Daten zu Ihnen unterwegs.",
        'GUEST_CONFIRMED_TWICE' => "Sie haben bereits Ihre Email-Adresse best&auml;tigt oder Ihr Account ist derzeit gesperrt.",
        'GUEST_CONFIRMED_FAILED' => "Best&auml;tigung Ihrer Email-Adresse fehlgeschlagen oder es liegt ein anderer Fehler vor.",
@@ -742,8 +739,6 @@ addMessages(array(
        'ADMIN_EXT_FILE_VERSION' => "Version (alt)",
        'ADMIN_EXT_TOTAL_FSIZE' => "Downloadgesamtgr&ouml;sse",
        'ADMIN_EXT_TOTAL_FOUND' => "Gesamt gefundene Erweiterungen",
-// @TODO The template 'admin_extensions_installed' is using this. But the template is no longer used.
-       'ADMIN_EXT_ALREADY_INSTALLED' => "Alle <strong><span class=\"data\">%s</span></strong> gefundenen Erweiterungen sind bereits installiert.",
        'ADMIN_EXT_VERSION' => "Version",
        'ADMIN_EXT_AUTOPURGE_404' => "autopurge nicht installiert.",
        'ADMIN_EXT_BONUS_OUTDATED' => "Ihre Bonus-Erweiterung ist veraltet! Version <span class=\"data\">%s</span> oder h&ouml;her wird ben&ouml;tigt.",
index 3b281e2..70a2199 100644 (file)
@@ -215,21 +215,23 @@ function getCurrentThemeName () {
        return $name;
 }
 
-// @TODO Move this code block into a filter and register it with 'init'
-// Check if new theme is selcted
-if ((isPostRequestElementSet('new_theme')) && (postRequestElement('new_theme') != getCurrentTheme())) {
-       // Set new theme for guests
-       $newTheme = postRequestElement('new_theme');
+// Filter for generic handling of theme change
+function FILTER_HANDLE_THEME_CHANGE () {
+       // Check if new theme is selcted
+       if ((isPostRequestElementSet('new_theme')) && (postRequestElement('new_theme') != getCurrentTheme())) {
+               // Set new theme for guests
+               $newTheme = postRequestElement('new_theme');
 
-       // Change to new theme
-       setTheme($newTheme);
+               // Change to new theme
+               setTheme($newTheme);
 
-       // Remove current from array
-       removeIncludeFromPool('theme', sprintf("theme/%s/theme.php", getCurrentTheme()));
+               // Remove current from array
+               removeIncludeFromPool('theme', sprintf("theme/%s/theme.php", getCurrentTheme()));
 
-       // Add new theme
-       addIncludeToPool('theme', sprintf("theme/%s/theme.php", $newTheme));
-} // END - if
+               // Add new theme
+               addIncludeToPool('theme', sprintf("theme/%s/theme.php", $newTheme));
+       } // END - if
+}
 
 // [EOF]
 ?>
index b610773..1041fab 100644 (file)
@@ -532,7 +532,7 @@ function addMemberSelectionBox ($def=0, $add_all=false, $return=false, $none=fal
 function adminMenuSelectionBox_DEPRECATED ($mode, $default = '', $defid = '') {
        $what = "`what` != ''";
        if ($mode == 'action') $what = "(`what`='' OR `what` IS NULL) AND action !='login'";
-       $result = SQL_QUERY_ESC("SELECT %s, title FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE ".$what." ORDER BY `sort`",
+       $result = SQL_QUERY_ESC("SELECT %s, `title` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE ".$what." ORDER BY `sort` ASC",
                array($mode), __FUNCTION__, __LINE__);
        if (SQL_NUMROWS($result) > 0) {
                // Load menu as selection
index afbc4c6..a58ac86 100644 (file)
@@ -271,7 +271,7 @@ LIMIT 1",
                                $OUT .= loadTemplate('admin_overview_row', true, $content);
 
                                // Which task do we actually have here?
-                               // @TODO Rewrite this to something with include files
+                               // @TODO Rewrite this to something with include files and/or filter
                                switch ($type) {
                                        case 'EXTENSION': // Install new extensions
                                                $ext_name = substr($subj, 1, strpos($subj, ':') - 1);
@@ -289,7 +289,7 @@ LIMIT 1",
                                                        // Task is closed so nothing is todo
                                                        $OUT .= "<div class=\"admin_failed\">{--ADMIN_EXT_ALREADY_REGISTERED--}</div>\n";
 
-                                                       // Close task but not already closes or deleted or update tasks
+                                                       // Close task but not already closed, solved, deleted or update tasks
                                                        if ((!in_array($status, array('CLOSED','DELETED','SOLVED'))) && ($type != 'EXTENSION_UPDATE')) {
                                                                // Solve the task
                                                                runFilterChain('solve_task', $tid);
index 159c450..cb1b68f 100644 (file)
@@ -62,17 +62,16 @@ if (SQL_NUMROWS($result) > 0) {
                if ($content['refid'] > 0) $content['refid'] = generateUserProfileLink($content['refid']);
 
                // Prepare array for the row template
-               // @TODO Rewritings: ip->REMOTE_ADDR,hash->user_hash in template
                $content = array(
-                       'sw'      => $SW,
-                       'gender'  => translateGender($content['gender']),
-                       'surname' => $content['surname'],
-                       'family'  => $content['family'],
-                       'email'   => "<a href=\"".generateEmailLink($content['email'], 'user_data')."\">".$content['email']."</a>",
-                       'ip'      => $content['REMOTE_ADDR'],
-                       'refid'   => $content['refid'],
-                       'hash'    => $content['user_hash'],
-                       'link'    => generateUserProfileLink($content['userid']),
+                       'sw'          => $SW,
+                       'gender'      => translateGender($content['gender']),
+                       'surname'     => $content['surname'],
+                       'family'      => $content['family'],
+                       'email'       => "<a href=\"".generateEmailLink($content['email'], 'user_data')."\">".$content['email']."</a>",
+                       'remote_addr' => $content['REMOTE_ADDR'],
+                       'refid'       => $content['refid'],
+                       'user_hash'   => $content['user_hash'],
+                       'link'        => generateUserProfileLink($content['userid']),
                );
 
                // Load row template and switch color
diff --git a/inc/modules/admin/what-del_task.php b/inc/modules/admin/what-del_task.php
deleted file mode 100644 (file)
index f551ef4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-// @DEPRECATED
-?>
index 1f3ea2d..b261407 100644 (file)
@@ -897,125 +897,6 @@ function isMenuActionValid ($mode, $action, $what, $updateEntry=false) {
        return $ret;
 }
 
-// Send out mails depending on the 'mod/modes' combination
-// @TODO Lame description for this function
-function sendModeMails ($mod, $modes) {
-       // Load hash
-       if (fetchUserData(getMemberId())) {
-               // Extract salt from cookie
-               $salt = substr(getSession('u_hash'), 0, -40);
-
-               // Now let's compare passwords
-               $hash = generatePassString(getUserData('password'));
-
-               // Does the hash match or should we change it?
-               if (($hash == getSession('u_hash')) || (postRequestElement('pass1') == postRequestElement('pass2'))) {
-                       // Load user's data               0        1        2         3        4      5    6      7
-                       $result = SQL_QUERY_ESC("SELECT gender, surname, family, street_nr, country, zip, city, email FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s AND password='%s' LIMIT 1",
-                               array(getMemberId(), getUserData('password')), __FUNCTION__, __LINE__);
-                       if (SQL_NUMROWS($result) == 1) {
-                               // Load the data
-                               $content = SQL_FETCHARRAY($result, 0, false);
-
-                               // Free result
-                               SQL_FREERESULT($result);
-
-                               // Translate gender
-                               $content['gender'] = translateGender($content['gender']);
-
-                               // Clear/init the content variable
-                               $content['message'] = '';
-
-                               switch ($mod) {
-                                       case 'mydata':
-                                               foreach ($modes as $mode) {
-                                                       switch ($mode) {
-                                                               case 'normal': break; // Do not add any special lines
-                                                               case 'email': // Email was changed!
-                                                                       $content['message'] = getMessage('MEMBER_CHANGED_EMAIL').": ".postRequestElement('old_email')."\n";
-                                                                       break;
-
-                                                               case 'pass': // Password was changed
-                                                                       $content['message'] = getMessage('MEMBER_CHANGED_PASS')."\n";
-                                                                       break;
-
-                                                               default:
-                                                                       logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown mode %s detected.", $mode));
-                                                                       $content['message'] = getMessage('MEMBER_UNKNOWN_MODE') . ': ' . $mode . "\n\n";
-                                                                       break;
-                                                       } // END - switch
-                                               } // END - foreach
-
-                                               if (isExtensionActive('country')) {
-                                                       // Replace code with description
-                                                       $content['country'] = generateCountryInfo(postRequestElement('country_code'));
-                                               } // END - if
-
-                                               // Merge content with data from POST
-                                               $content = merge_array($content, postRequestArray());
-
-                                               // Load template
-                                               $message = loadEmailTemplate('member_mydata_notify', $content, getMemberId());
-
-                                               if (getConfig('admin_notify') == 'Y') {
-                                                       // The admin needs to be notified about a profile change
-                                                       $message_admin = 'admin_mydata_notify';
-                                                       $sub_adm   = getMessage('ADMIN_CHANGED_DATA');
-                                               } else {
-                                                       // No mail to admin
-                                                       $message_admin = '';
-                                                       $sub_adm   = '';
-                                               }
-
-                                               // Set subject lines
-                                               $sub_mem = getMessage('MEMBER_CHANGED_DATA');
-
-                                               // Output success message
-                                               $content = "<span class=\"member_done\">{--MYDATA_MAIL_SENT--}</span>";
-                                               break;
-
-                                       default: // Unsupported module!
-                                               logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unsupported module %s detected.", $mod));
-                                               $content = "<span class=\"member_failed\">{--UNKNOWN_MODULE--}</span>";
-                                               break;
-                               } // END - switch
-                       } else {
-                               // Could not load profile data
-                               $content = "<span class=\"member_failed\">{--MEMBER_CANNOT_LOAD_PROFILE--}</span>";
-                       }
-               } else {
-                       // Passwords mismatch
-                       $content = "<span class=\"member_failed\">{--MEMBER_PASSWORD_ERROR--}</span>";
-               }
-       } else {
-               // Could not load profile
-               $content = "<span class=\"member_failed\">{--MEMBER_CANNOT_LOAD_PROFILE--}</span>";
-       }
-
-       // Send email to user if required
-       if ((!empty($sub_mem)) && (!empty($message))) {
-               // Send member mail
-               sendEmail($content['email'], $sub_mem, $message);
-       } // END - if
-
-       // Send only if no other error has occured
-       if (empty($content)) {
-               if ((!empty($sub_adm)) && (!empty($message_admin))) {
-                       // Send admin mail
-                       sendAdminNotification($sub_adm, $message_admin, $content, getMemberId());
-               } elseif (getConfig('admin_notify') == 'Y') {
-                       // Cannot send mails to admin!
-                       $content = getMessage('CANNOT_SEND_ADMIN_MAILS');
-               } else {
-                       // No mail to admin
-                       $content = "<span class=\"member_done\">{--MYDATA_MAIL_SENT--}</span>";
-               }
-       } // END - if
-
-       // Load template
-       loadTemplate('admin_settings_saved', false, $content);
-}
-
 // Get action value from mode (admin/guest/member) and what-value
 function getModeAction ($mode, $what) {
        // Init status
index ba3f4e2..efb9e42 100644 (file)
@@ -14,7 +14,7 @@ Hallo Administrator,
 {--CITY--}: $content[city]
 {--EMAIL_ADDRESS--}: $content[email]
 ------------------------------------------
-$content[info]
+$content[message]
 ------------------------------------------
 IP-Nummer: $REMOTE_ADDR
 ------------------------------------------
index dfd4cd6..b051cff 100644 (file)
@@ -3,7 +3,7 @@ Hallo Administrator,
 hier ist Ihr angefordeter Reset-Link, den Sie zum Zur&uuml;cksetzen Ihres Administratorkennworts ben&ouml;tigen.
 
 ------------------------------
-{?URL?}/modules.php?module=admin&reset_pass=1&hash=$content[hash]
+{?URL?}/modules.php?module=admin&amp;reset_pass=1&amp;hash=$content[hash]
 ------------------------------
 
 Wenn Sie auf diesen Link klicken, ist Ihr Passwort noch nicht zur&uuml;ckgesetzt. Bitte geben Sie zur Best&auml;tigung Ihr Loginname ein. Dann erst k&ouml;nnen Sie Ihr Passwort &auml;ndern.
index 4dc3b68..fb602cc 100644 (file)
@@ -1,6 +1,6 @@
 Hallo $content[gender] $content[surname] $content[family],
 
-Sie hatten sich zu unserem {?mt_word?} {?MAIN_TITLE?} angemeldet und heute Ihren Best&auml;tigungslink erneut angefordert, jedoch bis jetzt noch nicht Ihre eMail-Adresse best&auml;tigt. Diesen Schritt k&ouml;nnen Sie jetzt nachholen, damit Sie sich einloggen k&ouml;nnen.
+Sie hatten sich zu unserem {?mt_word?} {?MAIN_TITLE?} angemeldet und heute Ihren Best&auml;tigungslink erneut angefordert, jedoch bis jetzt noch nicht Ihre eMail-Adresse best&auml;tigt. Diesen Schritt k&ouml;nnen Sie jetzt nachholen. Danach k&ouml;nnen Sie sich im Mitgliedsbereich einloggen.
 
 Hier ist Ihr Best&auml;tigungslink:
 {?URL?}/confirm.php?hash=$content[hash]
index df4b39d..d39cb57 100644 (file)
@@ -22,7 +22,7 @@ Browser: $HTTP_USER_AGENT
 {--PLEASE_NOTIFY_ABUSE_MYDATA--}
 
 ------------------------------------------
-$content[info]
+$content[message]
 ------------------------------------------
 
 Mit freundlichen Gr&uuml;&szlig;en,
index da1e9cd..11f5d85 100644 (file)
@@ -1,7 +1 @@
-<table border="0" cellspacing="0" cellpadding="0" width="400" class="admin_done dashed">
-<tr>
-       <td align="center" height="40">
-               <strong>{--ADMIN_EXT_ALREADY_INSTALLED_1--}$content{--ADMIN_EXT_ALREADY_INSTALLED_2--}</strong>
-       </td>
-</tr>
-</table>
+<!-- @DEPRECATED //-->
index 6f87e1e..10cf142 100644 (file)
@@ -4,9 +4,9 @@
        <td align="center" class="switch_sw$content[sw] top2 right2">$content[surname]</td>
        <td align="center" class="switch_sw$content[sw] top2 right2">$content[family]</td>
        <td align="center" class="switch_sw$content[sw] top2 right2">$content[email]</td>
-       <td align="center" class="switch_sw$content[sw] top2 right2">$content[ip]</td>
+       <td align="center" class="switch_sw$content[sw] top2 right2">$content[remote_addr]</td>
        <td align="center" class="switch_sw$content[sw] top2 right2">$content[refid]</td>
        <td align="center" class="switch_sw$content[sw] top2">
-               <a href="{?URL?}/confirm.php?hash=$content[hash]" target="_blank">{--CONFIRMATION_LINK--}</a>
+               <a href="{?URL?}/confirm.php?hash=$content[user_hash]" target="_blank">{--CONFIRMATION_LINK--}</a>
        </td>
 </tr>
index df921f3..1751b4b 100644 (file)
        <tr>
                <td class="bottom2" width="50%" align="right">{--SELECT_TIMEOUT--}:</td>
                <!-- @TODO Try to move the select box to our generic functions //-->
-               <td class="bottom2" width="50%"><select name="timeout" size="1" class="admin_select">
-                       <option value="86400">{--TIMEOUT_ONE_DAY--}</option>
-                       <option value="172800">{--TIMEOUT_TWO_DAYS--}</option>
-                       <option value="259200">{--TIMEOUT_THREE_DAYS--}</option>
-                       <option value="604800">{--TIMEOUT_ONE_WEEK--}</option>
-                       <option value="1209600">{--TIMEOUT_TWO_WEEKS--}</option>
-                       <option value="2592000">{--TIMEOUT_ONE_MONTH--}</option>
-                       <option value="15984000">{--TIMEOUT_HALF_YEAR--}</option>
-                       <option value="31536000" selected="selected">{--TIMEOUT_FULL_YEAR--}</option>
-               </select></td>
+               <td class="bottom2" width="50%">
+                       <select name="timeout" size="1" class="admin_select">
+                               <option value="86400">{--TIMEOUT_ONE_DAY--}</option>
+                               <option value="172800">{--TIMEOUT_TWO_DAYS--}</option>
+                               <option value="259200">{--TIMEOUT_THREE_DAYS--}</option>
+                               <option value="604800">{--TIMEOUT_ONE_WEEK--}</option>
+                               <option value="1209600">{--TIMEOUT_TWO_WEEKS--}</option>
+                               <option value="2592000">{--TIMEOUT_ONE_MONTH--}</option>
+                               <option value="15984000">{--TIMEOUT_HALF_YEAR--}</option>
+                               <option value="31536000" selected="selected">{--TIMEOUT_FULL_YEAR--}</option>
+                       </select>
+               </td>
        </tr>
        //-->
        <tr>
index 0ddae08..908446c 100644 (file)
@@ -7,20 +7,14 @@
                </td>
        </tr>
        <tr>
-               <td height="20" class="seperator">&nbsp;</td>
-       </tr>
-       <tr>
-               <td align="center" style="padding-left: 10px; padding-right: 10px">
-               {--ADMIN_LOGOUT_NOTE--}</td>
-       </tr>
-       <tr>
-               <td height="14" class="seperator">&nbsp;</td>
-       </tr>
-       <tr>
-               <td align="center">{--ADMIN_LOGOUT_QUESTION--}</td>
+               <td align="center">
+                       {--ADMIN_LOGOUT_NOTE--}
+               </td>
        </tr>
        <tr>
-               <td height="20" class="seperator bottom2">&nbsp;</td>
+               <td class="bottom2" align="center">
+                       {--ADMIN_LOGOUT_QUESTION--}
+               </td>
        </tr>
        <tr>
                <td align="center" height="30" class="admin_footer">
diff --git a/templates/de/html/admin/admin_reg.tpl b/templates/de/html/admin/admin_reg.tpl
deleted file mode 100644 (file)
index 11f5d85..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<!-- @DEPRECATED //-->
diff --git a/templates/de/html/admin/admin_reg_row.tpl b/templates/de/html/admin/admin_reg_row.tpl
deleted file mode 100644 (file)
index 11f5d85..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<!-- @DEPRECATED //-->
index 9f695e6..82ba5d3 100644 (file)
@@ -1,69 +1,56 @@
-<div align="center">{--DOUBLER_MEMBER_YOUR_LINK--}:<br />
-<strong><a href="{?URL?}/doubler.php?refid=$content[userid]">{?URL?}/doubler.php?refid=$content[userid]</a></strong><br />
-<br />
-<strong>Tipp:</strong> Nutzen Sie diesen zum Werben unseres {?mt_word2?}, um die <strong>$content[refid]%</strong> Referal-Verg&uuml;tung zu erhalten!</div>
-
-<div align="center"><div class="big">{--DOUBLER_MEMBER_ALREADY_PAYOUT--}:</div><br />
-<br />
-$content[payout_history]</div>
+<div align="center">
+       {--DOUBLER_MEMBER_YOUR_LINK--}:<br />
+       <strong><a target="_blank" title="Benutzen Sie diesen Link zum Verdoppeln!" href="{?URL?}/doubler.php?refid=$content[userid]">{?URL?}/doubler.php?refid=$content[userid]</a></strong><br />
+       <br />
+       <strong>Tipp:</strong> Nutzen Sie diesen zum Werben unseres {?mt_word2?}, um die <strong>$content[refid]%</strong> Referal-Verg&uuml;tung zu erhalten!
+</div>
 
-<div align="center"><div class="big">{--DOUBLER_MEMBER_NEXT_PAYOUT--}:</div><br />
-<br />
-$content[next_table]</div>
+<div align="center">
+       <div class="big">{--DOUBLER_MEMBER_ALREADY_PAYOUT--}:</div><br />
+       <br />
+       $content[payout_history]
+</div>
 
-<div align="center"><div class="big">{--DOUBLER_MEMBER_REF_PAYOUT--}:</div><br />
-<br />
-$content[payout_ref]</div>
+<div align="center">
+       <div class="big">{--DOUBLER_MEMBER_NEXT_PAYOUT--}:</div><br />
+       <br />
+       $content[next_table]
+</div>
 
 <div align="center">
-<table border="0" cellspacing="0" cellpadding="0" class="doubler_table dashed">
-       <tr>
-               <td align="center" class="doubler_header bottom2"><strong
-                       class="big">{--DOUBLER_GENERAL_INFOS--}:</strong></td>
-       </tr>
-       <tr>
-               <td class="doubler_main bottom2"
-                       style="padding-left: 0px; padding-right: 10px; padding-top: 10px; padding-bottom: 10px">
+       <div class="big">{--DOUBLER_MEMBER_REF_PAYOUT--}:</div><br />
+       <br />
+       $content[payout_ref]
+</div>
+
+<div align="center" class="doubler_table dashed">
+       <div align="center" class="doubler_header bottom2">
+               <strong class="big">{--DOUBLER_GENERAL_INFOS--}:</strong>
+       </div>
+       <div class="doubler_main bottom2" style="padding-left: 0px; padding-right: 10px; padding-top: 10px; padding-bottom: 10px">
                <ul>
-                       <li>{--DOUBLER_MINIMUM_IS--} <strong>$content[min]
-                       {?POINTS?}</strong> {--DOUBLER_MAXIMUM_IS--} <strong>$content[max]
-                       {?POINTS?}</strong></li>
-                       <li>{--DOUBLER_ALREADY_PAYED_1--} <strong>$content[total]
-                       {?POINTS?}</strong> {--DOUBLER_ALREADY_PAYED_2--}</li>
-                       <li>{--DOUBLER_POINTS_LEFT_1--} <strong>$content[left]
-                       {?POINTS?}</strong> {--DOUBLER_POINTS_LEFT_2--}</li>
-                       <li>{--DOUBLER_USAGE_COUNTER_1--} <strong>{?doubler_counter?}</strong>
-                       {--DOUBLER_USAGE_COUNTER_2--}</li>
+                       <li>{--DOUBLER_MINIMUM_IS--} <strong>$content[min] {?POINTS?}</strong> {--DOUBLER_MAXIMUM_IS--} <strong>$content[max] {?POINTS?}</strong></li>
+                       <li>{--DOUBLER_ALREADY_PAYED_1--} <strong>$content[total] {?POINTS?}</strong> {--DOUBLER_ALREADY_PAYED_2--}</li>
+                       <li>{--DOUBLER_POINTS_LEFT_1--} <strong>$content[left] {?POINTS?}</strong> {--DOUBLER_POINTS_LEFT_2--}</li>
+                       <li>{--DOUBLER_USAGE_COUNTER_1--} <strong>{?doubler_counter?}</strong> {--DOUBLER_USAGE_COUNTER_2--}</li>
                        <li>$content[payout_time]</li>
                        <li><strong>{--DOUBLER_FULL_PAYOUT--}</strong></li>
-                       <li>{--DOUBLER_POINTS_1--} <strong>$content[charge]%</strong>
-                       {--DOUBLER_POINTS_2--}</li>
-                       <li>{--DOUBLER_EXAMPLE_1--} <strong>500 {?POINTS?}</strong>
-                       &raquo;&raquo; {--DOUBLER_EXAMPLE_2--} <strong>1000 {?POINTS?}</strong>{--DOUBLER_EXAMPLE_3--}</li>
-                       <li>{--DOUBLER_REFERAL_1--} <strong>$content[ref]%</strong>
-                       {--DOUBLER_REFERAL_2--} {--DOUBLER_REFERAL_3--}
-                       {--DOUBLER_REFERAL_4--}
-                       <li>{--DOUBLER_REFERAL_5--} <strong>100 {?POINTS?}</strong>
-                       {--DOUBLER_REFERAL_6--} <strong>100 {?POINTS?}</strong>
-                       {--DOUBLER_REFERAL_8--} <strong>300 {?POINTS?}</strong>
-                       {--DOUBLER_REFERAL_8--}</li>
+                       <li>{--DOUBLER_POINTS_1--} <strong>$content[charge]%</strong> {--DOUBLER_POINTS_2--}</li>
+                       <li>{--DOUBLER_EXAMPLE_1--} <strong>500 {?POINTS?}</strong> &raquo;&raquo; {--DOUBLER_EXAMPLE_2--} <strong>1000 {?POINTS?}</strong>{--DOUBLER_EXAMPLE_3--}</li>
+                       <li>{--DOUBLER_REFERAL_1--} <strong>$content[ref]%</strong> {--DOUBLER_REFERAL_2--} {--DOUBLER_REFERAL_3--} {--DOUBLER_REFERAL_4--}</li>
+                       <li>{--DOUBLER_REFERAL_5--} <strong>100 {?POINTS?}</strong> {--DOUBLER_REFERAL_6--} <strong>100 {?POINTS?}</strong> {--DOUBLER_REFERAL_8--} <strong>300 {?POINTS?}</strong> {--DOUBLER_REFERAL_8--}</li>
                        <li>{--DOUBLER_REFERAL_LINK--}</li>
-                       <li>{--DOUBLER_TIMEOUT_1--} <strong>$content[timeout_mark]</strong>
-                       {--DOUBLER_TIMEOUT_2--}</li>
+                       <li>{--DOUBLER_TIMEOUT_1--} <strong>$content[timeout_mark]</strong> {--DOUBLER_TIMEOUT_2--}</li>
                        <li>{--DOUBLER_HAVE_FUN--}</li>
-                       </ul>
-               </td>
-       </tr>
-       <tr>
-               <td align="center" class="doubler_header bottom2"><strong
-                       class="big">{--DOUBLER_REGISTER_ADVERT--}:</strong></td>
-       </tr>
-       <tr>
-               <td class="doubler_main"
-                       style="padding-left: 10px; padding-right: 10px; padding-top: 10px; padding-bottom: 10px">
-               {--DOUBLER_YOUR_ADVERTISING_HERE--} <strong><a
-                       href="{?URL?}/modules.php?module=index&amp;what=impressum"
-                       target="_blank">{--DOUBLER_CONTACT_US--}</a></strong></td>
-       </tr>
-</table>
+               </ul>
+       </div>
+       <div align="center" class="doubler_header bottom2">
+               <strong class="big">{--DOUBLER_REGISTER_ADVERT--}:</strong>
+       </div>
+       <div class="doubler_main" style="padding-left: 10px; padding-right: 10px; padding-top: 10px; padding-bottom: 10px">
+               {--DOUBLER_YOUR_ADVERTISING_HERE--}
+               <strong><a href="{?URL?}/modules.php?module=index&amp;what=impressum" target="_blank">{--DOUBLER_CONTACT_US--}</a></strong>
+       </div>
+</div
+>
 </div>