From: Roland Häder <roland@mxchange.org>
Date: Sat, 11 Oct 2008 22:25:15 +0000 (+0000)
Subject: Unconfirmed mails rewritten, mail confirmation saved in stats table
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=b885a5edd8fb28da0995a156e6df238248ce3e62;p=mailer.git

Unconfirmed mails rewritten, mail confirmation saved in stats table
---

diff --git a/.gitattributes b/.gitattributes
index f20f91370f..733707e782 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -313,6 +313,7 @@ inc/modules/admin/what-config_points.php -text
 inc/modules/admin/what-config_primera.php -text
 inc/modules/admin/what-config_proxy.php -text
 inc/modules/admin/what-config_rallye_prices.php -text
+inc/modules/admin/what-config_refback.php -text
 inc/modules/admin/what-config_refid.php -text
 inc/modules/admin/what-config_reg.php -text
 inc/modules/admin/what-config_register.php -text
@@ -474,6 +475,7 @@ inc/modules/member/what-primera.php -text
 inc/modules/member/what-rallyes.php -text
 inc/modules/member/what-refback.php -text
 inc/modules/member/what-reflinks.php -text
+inc/modules/member/what-reflist.php -text
 inc/modules/member/what-sponsor.php -text
 inc/modules/member/what-stats.php -text
 inc/modules/member/what-support.php -text
@@ -844,6 +846,7 @@ templates/de/html/admin/admin_config_rallye_edit.tpl -text
 templates/de/html/admin/admin_config_rallye_edit_row.tpl -text
 templates/de/html/admin/admin_config_rallye_prices.tpl -text
 templates/de/html/admin/admin_config_rallye_prices_row.tpl -text
+templates/de/html/admin/admin_config_refback.tpl -text
 templates/de/html/admin/admin_config_refid.tpl -text
 templates/de/html/admin/admin_config_reg_pro.tpl -text
 templates/de/html/admin/admin_config_register.tpl -text
@@ -1298,6 +1301,16 @@ templates/de/html/member/member_html_mail_settings.tpl -text
 templates/de/html/member/member_list_beg.tpl -text
 templates/de/html/member/member_list_beg_row.tpl -text
 templates/de/html/member/member_login_js.tpl -text
+templates/de/html/member/member_mail_bonus_deleted.tpl -text
+templates/de/html/member/member_mail_bonus_new.tpl -text
+templates/de/html/member/member_mail_bonus_queue.tpl -text
+templates/de/html/member/member_mail_bonus_send.tpl -text
+templates/de/html/member/member_mail_normal_active.tpl -text
+templates/de/html/member/member_mail_normal_admin.tpl -text
+templates/de/html/member/member_mail_normal_deleted.tpl -text
+templates/de/html/member/member_mail_normal_new.tpl -text
+templates/de/html/member/member_mail_normal_send.tpl -text
+templates/de/html/member/member_mail_normal_temp.tpl -text
 templates/de/html/member/member_menu_bottom.tpl -text
 templates/de/html/member/member_menu_row.tpl -text
 templates/de/html/member/member_menu_title.tpl -text
@@ -1363,8 +1376,11 @@ templates/de/html/member/member_transfer_new.tpl -text
 templates/de/html/member/member_transfer_overview.tpl -text
 templates/de/html/member/member_transfer_settings.tpl -text
 templates/de/html/member/member_unconfirmed_404.tpl -text
+templates/de/html/member/member_unconfirmed_404_nopoints.tpl -text
 templates/de/html/member/member_unconfirmed_row.tpl -text
+templates/de/html/member/member_unconfirmed_row_nopoints.tpl -text
 templates/de/html/member/member_unconfirmed_table.tpl -text
+templates/de/html/member/member_unconfirmed_table_nopoints.tpl -text
 templates/de/html/member/member_welcome.tpl -text
 templates/de/html/member/member_welcome_footer.tpl -text
 templates/de/html/member/member_welcome_header.tpl -text
diff --git a/beg.php b/beg.php
index 9d1ef62d08..2c31d0330e 100644
--- a/beg.php
+++ b/beg.php
@@ -62,7 +62,7 @@ if (isBooleanConstantAndTrue('mxchange_installed')) {
 		$uid = 0;
 
 		// Validate if it is not a number
-		if ("".bigintval($_GET['uid'])."" !== "".$_GET['uid']."") {
+		if ("".($_GET['uid'] + 0)."" !== "".$_GET['uid']."") {
 			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",
diff --git a/inc/databases.php b/inc/databases.php
index 30883a76bb..c9e37c8d86 100644
--- a/inc/databases.php
+++ b/inc/databases.php
@@ -113,7 +113,7 @@ define('USAGE_BASE', "usage");
 define('SERVER_URL', "http://www.mxchange.org");
 
 // This current patch level
-define('CURR_SVN_REVISION', "490");
+define('CURR_SVN_REVISION', "491");
 
 // Take a prime number which is long (if you know a longer one please try it out!)
 define('_PRIME', 591623);
diff --git a/inc/extensions/ext-mydata.php b/inc/extensions/ext-mydata.php
index 5324dbef13..5dc0bd6a62 100644
--- a/inc/extensions/ext-mydata.php
+++ b/inc/extensions/ext-mydata.php
@@ -129,6 +129,7 @@ case "update": // Update an extension
 
 		// Depends on 'country'!
 		$EXT_UPDATE_DEPENDS = "country";
+		break;
 
 	case "0.1.3": // SQL queries for v0.1.3
 		// Update notes (these will be set as task text!)
diff --git a/inc/extensions/ext-refback.php b/inc/extensions/ext-refback.php
index 092466ba65..f14dfd5e9c 100644
--- a/inc/extensions/ext-refback.php
+++ b/inc/extensions/ext-refback.php
@@ -63,7 +63,7 @@ UNIQUE `user_refid` (`userid`,`level`,`refid`),
 KEY (`level`),
 KEY (`refid`)
 ) ENGINE=MyISAM COMMENT='User Referals With Refback'";
-	$SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','refback','Ref-Back/Ref-&Uuml;bersicht',4,'N','N')";
+	$SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','refback','Ref-Back einstellen',4,'N','N')";
 	break;
 
 case "remove": // Do stuff when removing extension
@@ -95,7 +95,7 @@ case "update": // Update an extension
 		$SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (`action`,`what`,`title`,`descr`,`sort`) VALUES('user','list_refback','Refback auflisten','Refback aller Mitglieder auflisten.',15)";
 
 		// Update notes (these will be set as task text!)
-		$UPDATE_NOTES = "";
+		$UPDATE_NOTES = "Refback-System ist nun ein-/ausschaltbar und minimale/maximale Refback-Prozente sind festlegbar.";
 		break;
 	}
 	break;
diff --git a/inc/extensions/ext-sql_patches.php b/inc/extensions/ext-sql_patches.php
index fbc7a8067e..1a6e0b7ea6 100644
--- a/inc/extensions/ext-sql_patches.php
+++ b/inc/extensions/ext-sql_patches.php
@@ -38,13 +38,13 @@ if (!defined('__SECURITY')) {
 }
 
 // Version number
-$EXT_VERSION = "0.5.3";
+$EXT_VERSION = "0.5.6";
 
 // Auto-set extension version
 if (!isset($EXT_VER)) $EXT_VER = $EXT_VERSION;
 
 // Version history array (add more with , "0.1" and so on)
-$EXT_VER_HISTORY = 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", "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.5", "0.1.6", "0.1.7", "0.1.8", "0.1.9", "0.2.0", "0.2.1", "0.2.2", "0.2.3", "0.2.4", "0.2.5", "0.2.6", "0.2.7", "0.2.8", "0.2.9", "0.3.0", "0.3.1", "0.3.2", "0.3.3", "0.3.4", "0.3.5", "0.3.6", "0.3.7", "0.3.8", "0.3.9", "0.4.0", "0.4.1", "0.4.2", "0.4.3", "0.4.4", "0.4.5", "0.4.6", "0.4.7", "0.4.8", "0.4.9", "0.5.0", "0.5.1", "0.5.2", "0.5.3");
+$EXT_VER_HISTORY = 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", "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.5", "0.1.6", "0.1.7", "0.1.8", "0.1.9", "0.2.0", "0.2.1", "0.2.2", "0.2.3", "0.2.4", "0.2.5", "0.2.6", "0.2.7", "0.2.8", "0.2.9", "0.3.0", "0.3.1", "0.3.2", "0.3.3", "0.3.4", "0.3.5", "0.3.6", "0.3.7", "0.3.8", "0.3.9", "0.4.0", "0.4.1", "0.4.2", "0.4.3", "0.4.4", "0.4.5", "0.4.6", "0.4.7", "0.4.8", "0.4.9", "0.5.0", "0.5.1", "0.5.2", "0.5.3", "0.5.4", "0.5.5", "0.5.6");
 
 switch ($EXT_LOAD_MODE)
 {
@@ -54,7 +54,14 @@ case "register": // Do stuff when installation is running (modules.php?module=ad
 	break;
 
 case "remove": // Do stuff when removing extension
-	// SQL commands to run
+	// Drop tables
+	$SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_themes";
+	$SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admin_menu_las";
+	$SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admin_menu_las_data";
+	$SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admin_menu_stats";
+	$SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_user_stats_data`";
+
+	// Delete admin menu entries
 	$SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE
 what='theme_import' OR
 what='theme_edit' OR
@@ -69,12 +76,16 @@ what='config_proxy' OR
 what='config_session' OR
 what='list_norefs'
 LIMIT 14";
-	$SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_themes";
+
+	// Delete guest menu entries
 	$SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_guest_menu WHERE action='themes' LIMIT 1";
+
+	// Delete/update member menu entries
 	$SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE
 action='themes' OR
 what='themes' OR
 what='stats2' OR
+what='reflist' OR
 (action='stats' AND (what='' OR what IS NULL)) OR
 (action='extras' AND (what='' OR what IS NULL)) OR
 (action='rals' AND (what='' OR what IS NULL)) OR
@@ -84,9 +95,6 @@ action='stats' OR
 action='extras' OR
 action='rals' OR
 action='account'";
-	$SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admin_menu_las";
-	$SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admin_menu_las_data";
-	$SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admin_menu_stats";
 
 	// Drop indexes
 	$SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_extensions DROP UNIQUE KEY (ext_name)";
@@ -656,12 +664,46 @@ PRIMARY KEY (id)
 		break;
 
 	case "0.5.3": // SQL queries for v0.5.3
-		$SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD session_save_path varchar(255) NOT NULL DEFAULT ''";
+		$SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD session_save_path VARCHAR(255) NOT NULL DEFAULT ''";
 		$SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_session','Session-Einstellungen','&Auml;ndern Sie hier den Speicherpfad f&uuml;r Sessiondateien (Sitzungsdateien) ab, falls die Standart-Einstellung bei Ihrem Hoster zu Problem f&uuml;hren sollte.', 16)";
 
 		// Update notes (these will be set as task text!)
 		$UPDATE_NOTES = "Session-Speicherpfad konfigurierbar. Beispielsweise ist dies bei all-inkl.com n&ouml;tig.";
 		break;
+
+	case "0.5.4": // SQL queries for v0.5.4
+		$SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','reflist','Ref-&Uuml;bersicht',5,'N','N')";
+
+		// Depends on refback extension
+		$EXT_UPDATE_DEPENDS = "refback";
+
+		// Update notes (these will be set as task text!)
+		$UPDATE_NOTES = "Ref-&Uuml;bersicht eingebaut. Diese h&auml;ngt von der Erweiterung <strong>refback</strong> ab.";
+		break;
+
+	case "0.5.5": // SQL queries for v0.5.5
+		$SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD show_points_unconfirmed ENUM('Y','N') NOT NULL DEFAULT 'Y'";
+
+		// Update notes (these will be set as task text!)
+		$UPDATE_NOTES = "Anzeige der {!POINTS!} unter den unbest&auml;tigten Mails kann nun optional abgeschaltet werden.";
+		break;
+
+	case "0.5.6": // SQL queries for v0.5.6
+		$SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_user_stats_data`";
+		$SQLs[] = "CREATE TABLE `"._MYSQL_PREFIX."_user_stats_data` (
+`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
+`userid` BIGINT(20) NOT NULL DEFAULT 0,
+`stats_type` VARCHAR(255) NOT NULL DEFAULT 'unknown',
+`stats_data` VARCHAR(255) NOT NULL DEFAULT '',
+`inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+PRIMARY KEY(`id`),
+INDEX (`userid`),
+INDEX (`stats_type`)
+) TYPE=MyISAM COMMENT='Member statistics data'";
+
+		// Update notes (these will be set as task text!)
+		$UPDATE_NOTES = "Mitglieder k&ouml;nnnen nun z.B. in den Mail-Details zu jeder Mail sehen, wann sie diese best&auml;tigt haben. Die neue Statistik-Tabelle ist aber universell einsetzbar.";
+		break;
 	}
 	break;
 
@@ -708,7 +750,7 @@ default: // Do stuff when extension is loaded
 		define('MT_WORD3', $_CONFIG['mt_word3']);
 		define('_MAX'    , $_CONFIG['rand_no']);
 	} else {
-	   	// Set some lame ;-) default settings
+	   	// Set some lame ( ;-) ) default settings
 		$_CONFIG['def_refid'] = 0;
 		$_CONFIG['enable_title_deco'] = "N";
 		$_CONFIG['title_mod_show']    = "Y";
diff --git a/inc/language/bonus_de.php b/inc/language/bonus_de.php
index 434ad63e50..28cd9c9020 100644
--- a/inc/language/bonus_de.php
+++ b/inc/language/bonus_de.php
@@ -135,6 +135,10 @@ define('ADMIN_BONUS_RALLYE_STATS_INCLUDE', "Statistik-Bonus in monatlicher Auswe
 define('ADMIN_BONUS_RALLYE_CLICK_INCLUDE', "Mailbest&auml;tigungsbonus in monatlicher Auswertung mit einschliessen?");
 define('ADMIN_BONUS_RALLYE_REF_INCLUDE'  , "Referal-Bonus in monatlicher Auswertung mit einschliessen?");
 
+// Header
+define('MEMBER_MAIL_BONUS_DETAILS_TITLE_1', "Details zur Bonusmail <u>");
+define('MEMBER_MAIL_BONUS_DETAILS_TITLE_2', "</u>:");
+
 // Subject lines
 define('BONUS_RALLYE_DI_NOTIFY', "HINWEIS: Aktiv-Rallye gestoppt!");
 define('BONUS_RALLYE_EN_NOTIFY', "HINWEIS: Aktiv-Rallye ist am Laufen!");
diff --git a/inc/language/de.php b/inc/language/de.php
index 6345663b6b..447984526e 100644
--- a/inc/language/de.php
+++ b/inc/language/de.php
@@ -464,6 +464,8 @@ define('EMAIL_TSEND', "Noch zu sendene Mails");
 define('EMAIL_URL', "Beworbene URL");
 define('EMAIL_TYPE', "Sendestatus");
 define('EMAIL_ZIP', "PLZ");
+define('EMAIL_TIME', "Mindestaufenthalt");
+define('EMAIL_IS_NOTIFY', "Verg&uuml;tete Benachrichtigungsmail?");
 define('ADMIN_TEST_URL', "URL testen");
 define('EMAIL_TIMESTAMP', "Gebucht am");
 define('GUEST_FRAMETESTER_TOP', "Sollte dieser Text verschwinden, enth&auml;lt Ihre Webseite einen Frame-Killer!");
@@ -498,6 +500,7 @@ define('EMAIL_PERCENT', "Klickrate");
 define('MEMBER_NO_MAILS_TO_CONFIRM', "Keine Mails &uuml;brig zum Best&auml;tigen!");
 define('MEMBER_SID', "Mail-ID");
 define('CONFIRM_LINK', "Best&auml;tigungslink");
+define('CONFIRM_LINK2', "Best.link");
 define('MAIL_ALREADY_CONFIRMED', "Mail bereits verg&uuml;tet oder Link ist nicht mehr g&uuml;ltig!");
 define('MAIL_STATS_404', "Konnte Daten aus der Statistik-Tabelle nicht laden!");
 define('USER_NOT_FOUND', "Mitgliedsdaten nicht gefunden! Sind Sie noch angemeldet?");
@@ -1075,7 +1078,7 @@ define('DEFAULT_MT_WORD', "Mailtausch");
 define('DEFAULT_MT_WORD2', "Mailtausches");
 define('DEFAULT_MT_WORD3', "Mailtauscher");
 define('DEFAULT_POINTS', "Punkte");
-define('EXTENSION_PROBLEM_NOT_INSTALLED', "Erweiterung <u>%s</u> nicht installiert.");
+define('EXTENSION_PROBLEM_NOT_INSTALLED', "Erweiterung <span class=\"data\">%s</span> nicht installiert.");
 define('PROBLEM_POINTS_OVERVIEW_UNAVAILABLE', "{!POINTS!}-&Uuml;bersicht derzeit nicht verf&uuml;gbar.");
 define('ADMIN_NOTHING_SELECTED_CHANGE', "Sie haben nichts zum &Auml;ndern des Status ausgew&auml;hlt.");
 define('TEMPLATE_CONTENT', "Template-Content:");
@@ -1103,7 +1106,6 @@ define('SHOW_TIMINGS_RUNTIME', "Laufzeit:");
 define('SHOW_TIMINGS_SQL_QUERIES', "SQL-Abfragen:");
 define('SHOW_TIMINGS_NUM_TEMPLATES', "Templates:");
 define('SHOW_TIMINGS_SECS', "Sek.");
-define('ADMIN_OPTION_SHOW_TIMINGS', "Skript-Statistiken im Seitenfuss einblenden (n&uuml;tzlich zum Debuggen)");
 define('ADMIN_OPTION_MAILID_REDIRECT', "Soll bei fehlerhafter/gel&ouml;schter Mailbuchung beim Best&auml;tigen die Mail auf die Hauptseite oder Ablehnungsseite weitergleitet werden?");
 define('ADMIN_CONFIG_MAILID_REDIRECT_INDEX', "Auf Hauptseite weiterleiten.");
 define('ADMIN_CONFIG_MAILID_REDIRECT_REJECT', "Auf Ablehnungsseite umleiten.");
@@ -1111,11 +1113,11 @@ define('REASON_DIRECT_PAYMENT', "Direkte Gutschrift (siehe evtl. vorangegangene
 define('SUBJECT_DIRECT_PAYMENT', "Direkte {!POINTS!}-Gutschrift durch das System");
 define('ADMIN_LOGOUT_SQL_PATCHES_DONE', "Sie wurden automatisch ausgeloggt, da Sie die Erweiterung <strong>sql_patches</strong> installiert haben und dabei das Passort-Hashing ge&auml;ndert/verbessert wurde. Bitte erneut einloggen!");
 define('ADMIN_LOGOUT_SQL_PATCHES_REMOVE', "Sie wurden automatisch ausgeloggt, da Sie die Erweiterung <strong>sql_patches</strong> entfernt haben. Bitte klicken Sie weiter, um jetzt das Passwort neu zu setzen.");
-define('ADMIN_POINTS_REPAYED', "Es wurden dem Mitglied <u>%s</u> {!POINTS!} zur&uuml;ckgeschrieben.");
-define('ADMIN_POINTS_TO_JACKPOT', "Es wurden <u>%s</u> {!POINTS!} in den Jackpot gelegt.");
+define('ADMIN_POINTS_REPAYED', "Es wurden dem Mitglied <span class=\"data\">%s</span> {!POINTS!} zur&uuml;ckgeschrieben.");
+define('ADMIN_POINTS_TO_JACKPOT', "Es wurden <span class=\"data\">%s</span> {!POINTS!} in den Jackpot gelegt.");
 define('ADMIN_NO_POINTS_REPAYED', "Die Mailbuchung hatte keine {!POINTS!} zum zur&uuml;ckbuchen!");
-define('ADMIN_POINTS_SHREDDED', "Es wurden <u>%s</u> {!POINTS!} geschrettert.");
-define('EXTENSION_WARNING_EXT_INACTIVE', "Die Erweiterung <u>%s</u> ist nicht aktiv. Dies kann zu St&ouml;rungen f&uuml;hren.<br />\nBitte aktivieren Sie diese unter <em>Verschiedenes-&gt;Erweiterungen</em>.");
+define('ADMIN_POINTS_SHREDDED', "Es wurden <span class=\"data\">%s</span> {!POINTS!} geschrettert.");
+define('EXTENSION_WARNING_EXT_INACTIVE', "Die Erweiterung <span class=\"data\">%s</span> ist nicht aktiv. Dies kann zu St&ouml;rungen f&uuml;hren.<br />\nBitte aktivieren Sie diese unter <em>Verschiedenes-&gt;Erweiterungen</em>.");
 define('EXTENSION_WARNING_USER_LIMIT', "Die Erweiterung <u>user</u> ist nicht aktiv. Die Anzahl User pro Seite wurde auf 100 gesetzt. Bitte aktivieren Sie diese unter <em>Verschiedenes-&gt;Erweiterungen</em>.");
 define('ADMIN_PROXY_SETTINGS_INVALID', "Ihre Proxy-Einstellungen scheinen ung&uuml;ltig zu sein!");
 define('ADMIN_EDIT_PROXY_SETTINGS', "Proxy-Einstellungen &auml;ndern");
@@ -1159,9 +1161,9 @@ define('ADMIN_RESET_PASS_LINK', "Jetzt Ihr Administratorkennwort zur&uuml;cksetz
 define('ADMIN_SUPPORT_FORUM_LINK', "Direktlink zum Support-Forum (neues Fenster)");
 define('ADMIN_REFERAL_LEVEL_ZERO_NOTICE', "Die Referal-Ebene 0 ist das Mitglied selber und sollte daher auf 100% stehen. Sie sollte auch nicht ge&auml;ndert oder gel&ouml;scht werden! Dann erhalten Ihre Mitglieder keine {!POINTS!} gutgeschrieben.");
 define('ADMIN_ALL_ENTRIES_REMOVED', "Alle ausgew&auml;hlten Eintr&auml;ge sind gel&ouml;scht.");
-define('ADMIN_SOME_ENTRIES_NOT_DELETED', "Es wurden <u>%s</u> von <u>%s</u> ausgew&auml;hlten Eintr&auml;ge gel&ouml;scht.");
+define('ADMIN_SOME_ENTRIES_NOT_DELETED', "Es wurden <span class=\"data\">%s</span> von <span class=\"data\">%s</span> ausgew&auml;hlten Eintr&auml;ge gel&ouml;scht.");
 define('ADMIN_ALL_ENTRIES_EDITED', "Alle ausgew&auml;hlten Eintr&auml;ge sind ge&auml;ndert.");
-define('ADMIN_SOME_ENTRIES_NOT_EDITED', "Es wurden <u>%s</u> von <u>%s</u> ausgew&auml;hlten Eintr&auml;ge ge&auml;ndert.");
+define('ADMIN_SOME_ENTRIES_NOT_EDITED', "Es wurden <span class=\"data\">%s</span> von <span class=\"data\">%s</span> ausgew&auml;hlten Eintr&auml;ge ge&auml;ndert.");
 define('USER_NOT_REGISTERED', "Anmeldung hat nicht geklappt! :-( Ist unten eine Fehlermeldung eingeblendet? Bitte beim Support melden.");
 define('ADMIN_SELECTION_BOX_TITLE', "Mitglied f&uuml;r Aktion ausw&auml;hlen");
 define('ADMIN_DO_ACTION', "Aktion ausf&uuml;hren");
@@ -1178,6 +1180,21 @@ define('ADMIN_BASE_PATH', "Absoluter Server-Pfad");
 define('ADMIN_SESSION_SAVE_PATH_NOTE', "Sie sollten f&uuml;r Sitzungsdateien einen Pfad w&auml;hlen der ausserhalb des Server-Pfades liegt, da sonst eventuell die Sitzungsdateien vom Web erreichbar sind, was ein hohes Sicherheitsrisiko darstellt.");
 define('MEMBER_NO_MAILS_IN_STATS', "Keine versandten Buchungen gefunden!");
 define('ADMIN_RESET_PASSWORD', "Passwort vergessen?");
+define('EMAIL_DETAILS', "Email-Details");
+define('EMAIL_DETAILS_LINK', "Details anzeigen");
+
+define('MEMBER_MAIL_BONUS_CONFIRMED_ON', "Sie haben diese Bonusmail <span class=\"data\">%s</span> best&auml;tigt.");
+define('MEMBER_MAIL_NORMAL_CONFIRMED_ON', "Sie haben diese Klickmail <span class=\"data\">%s</span> best&auml;tigt.");
+
+define('MEMBER_MAIL_NORMAL_DETAILS_TITLE_1', "Details zur Klickmail <u>");
+define('MEMBER_MAIL_NORMAL_DETAILS_TITLE_2', "</u>:");
+
+define('EMAIL_STATUS_ACTIVE', "Wird gerade versendet");
+define('EMAIL_STATUS_ADMIN', "Wartet auf Freischaltung");
+define('EMAIL_STATUS_DELETED', "Gel&ouml;scht");
+define('EMAIL_STATUS_NEW', "Wartet auf Versand");
+define('EMAIL_STATUS_QUEUE', "Wird versendet");
+define('EMAIL_STATUS_TEMP', "Wird gerade gebucht");
 
 //
 ?>
diff --git a/inc/language/other_de.php b/inc/language/other_de.php
index eaaee73860..6bb195647b 100644
--- a/inc/language/other_de.php
+++ b/inc/language/other_de.php
@@ -79,6 +79,8 @@ define('ADMIN_OPTION_MT_WORD', "Art Ihres Tausches (1. Fall)");
 define('ADMIN_OPTION_MT_WORD2', "Art Ihres Tausches (2. Fall)");
 define('ADMIN_OPTION_MT_WORD3', "Art Ihres Tausches (1. Fall, Plural)");
 define('ADMIN_OPTION_REJECT_URL', "Standart-URL bei Ablehnung der Mailbuchung");
+define('ADMIN_OPTION_SHOW_TIMINGS', "Skript-Statistiken im Seitenfuss einblenden (n&uuml;tzlich zum Debuggen)");
+define('ADMIN_OPTION_SHOW_POINTS_UNCONFIRMED', "{!POINTS!} in unbest&auml;tige Mails im Mitgliedsbereich anzeigen?");
 
 //
 ?>
diff --git a/inc/language/primera_de.php b/inc/language/primera_de.php
index 9e8bc90810..e3f3150192 100644
--- a/inc/language/primera_de.php
+++ b/inc/language/primera_de.php
@@ -55,7 +55,7 @@ define('PRIMERA_ADMIN_API_MESSAGE', "Nachricht von Primus-API");
 define('PRIMERA_ADMIN_API_STATUS', "Status von Primus-API");
 define('MEMBER_PRIMERA_MODE_WITHDRAW', "Primera einzahlen");
 define('MEMBER_PRIMERA_MODE_PAYOUT', "Primera auszahlen");
-define('PRIMERA_STATUS_UNKNWOWN', "Primera-Typ <u>%s</u> unbekannt.");
+define('PRIMERA_STATUS_UNKNWOWN', "Primera-Typ <span class=\"data\">%s</span> unbekannt.");
 define('PRIMERA_STATUS_WITHDRAW', "Einzahlung von Primus");
 define('PRIMERA_STATUS_PAYOUT', "Auszahlung an Primus");
 define('PRIMERA_STATUS_FAILED', "Fehlgeschlagen");
@@ -67,8 +67,8 @@ define('PRIMERA_MEMBER_LIST_PRIMERA', "&Uuml;berweisungsliste von/an Primus-Port
 // API messages
 define('PRIMERA_API_REQUEST_DATA_INVALID', "Interner Fehler: Abfragedaten sind defekt!");
 define('PRIMERA_API_REQUEST_DATA_MISSING', "Interner Fehler: Abfragedaten sind nicht komplett!");
-define('PRIMERA_API_REQUEST_ERROR', "Abfragefehler: <u>%s</u>");
-define('PRIMERA_API_REQUEST_FAILED', "Unbekannter Fehler <u>%s</u> von API erhalten! Bitte im [<A href=\"http://forum.mxchange.org\" target=\"_blank\" title=\"Direktlink zum Forum\">Forum melden</A>], den Fehlercode nennen und wie es dazu gekommen ist.");
+define('PRIMERA_API_REQUEST_ERROR', "Abfragefehler: <span class=\"data\">%s</span>");
+define('PRIMERA_API_REQUEST_FAILED', "Unbekannter Fehler <span class=\"data\">%s</span> von API erhalten! Bitte im [<A href=\"http://forum.mxchange.org\" target=\"_blank\" title=\"Direktlink zum Forum\">Forum melden</A>], den Fehlercode nennen und wie es dazu gekommen ist.");
 define('PRIMERA_API_REQUEST_FAILED_AUTH', "Authorisierung an API fehlgeschlagen! Bitte Primera-Nickname und Passwort &uuml;berpr&uuml;fen. [<A href=\"http://www.primusportal.de/\" target=\"_blank\" title=\"Direkt zum Primus-Exportaccount\">Hier</A>] direkt zum Primera-Account. Sie ben&ouml;tigen Ihren Usernamen und Passwort!");
 define('PRIMERA_API_REQUEST_FAILED_USER', "Useraccount nicht gefunden oder Primera-Passwort ist ung&uuml;ltig!");
 define('PRIMERA_API_REQUEST_FAILED_OWN', "&Uuml;berweisung an eigenes Account nicht m&ouml;glich.");
@@ -78,13 +78,13 @@ define('PRIMERA_API_PURPOSE_WITHDRAW', "Einzahlung auf {!MAIN_TITLE!} ({!URL!}),
 define('PRIMERA_API_PURPOSE_PAYOUT', "Auszahlung von {!MAIN_TITLE!} ({!URL!}), ID: %s");
 
 // Error messages
-define('PRIMERA_ERROR_STATUS', "Fehler-Status <u>%s</u> erhalten.");
+define('PRIMERA_ERROR_STATUS', "Fehler-Status <span class=\"data\">%s</span> erhalten.");
 define('PRIMERA_UNKNOWN_ERROR', "Unbekannter Fehler aufgetreten!");
 
 // Member messages
 define('PRIMERA_MEMBER_NO_ACCOUNT', "Noch kein Primus-Account? Hier entlang!");
 define('PRIMERA_MEMBER_API_DATA_MISSING', "Diese Funktion kann derzeit nicht genutzt werden, da wir sie noch einrichten m&uuml;ssen.");
-define('PRIMERA_MEMBER_MIN_PAYOUT_PAYOUT', "Sie haben nicht gen&uuml;gend Primera zum Auszahlen! Mindestens: <u>%s</u> Primera.");
+define('PRIMERA_MEMBER_MIN_PAYOUT_PAYOUT', "Sie haben nicht gen&uuml;gend Primera zum Auszahlen! Mindestens: <span class=\"data\">%s</span> Primera.");
 define('PRIMERA_MEMBER_WITHDRAW_TITLE', "Primera bei {!MAIN_TITLE!} einzahlen:");
 define('PRIMERA_MEMBER_WITHDRAW_POINTS_ACCOUNT', "Primera hier im Account:");
 define('PRIMERA_MEMBER_WITHDRAW_MIN_POINTS', "Mindest einzuzahlendes Primera-Guthaben:");
@@ -98,17 +98,17 @@ define('PRIMERA_MEMBER_PAYOUT_NOTE', "Ihr Primera-Passwort wird bei {!MAIN_TITLE
 define('PRIMERA_MEMBER_NICKNAME', "Username bei Primus-Portal: [<A href=\"http://www.primusportal.de/lost_password.php\" target=\"_blank\">Vergessen?</A>]");
 define('PRIMERA_MEMBER_PASSWORD', "Primera-Passwort (nicht Accountpasswort!): [<A href=\"http://www.primusportal.de/lost_password.php\" target=\"_blank\">Vergessen?</A>]");
 define('PRIMERA_MEMBER_AMOUNT', "Zu &uuml;berweisenden Betrag eingeben:");
-define('PRIMERA_MEMBER_MODE_INVALID', "Ung&uuml;ltiger Modus <u>%s</u> erkannt! Bitte links im Men&uuml; fortfahren.");
+define('PRIMERA_MEMBER_MODE_INVALID', "Ung&uuml;ltiger Modus <span class=\"data\">%s</span> erkannt! Bitte links im Men&uuml; fortfahren.");
 define('PRIMERA_MEMBER_EMPTY_USERNAME', "Sie haben Ihren Primus-Usernamen nicht eingegeben.");
 define('PRIMERA_MEMBER_EMPTY_PASSWORD', "Sieh haben kein Primera-Passwort eingegeben.");
 define('PRIMERA_MEMBER_EMPTY_AMOUNT', "Sie haben keine zu &uuml;berweisende Betrag angegeben.");
 define('PRIMERA_MEMBER_INVALID_USERNAME', "Bitte nur Zahlen f&uuml;r den Primus-Usernamen eingeben!");
 define('PRIMERA_MEMBER_INVALID_AMOUNT', "Bitte nur Zahlen f&uuml;r den zu &uuml;berweisenden Betrag eingeben!");
-define('PRIMERA_MEMBER_AMOUNT_SMALLER_MIN', "Bitte geben Sie mindestens <u>%s</u> Primera an!");
+define('PRIMERA_MEMBER_AMOUNT_SMALLER_MIN', "Bitte geben Sie mindestens <span class=\"data\">%s</span> Primera an!");
 define('PRIMERA_MEMBER_WITHDRAW_FAILED', "Die Einzahlung hat nicht geklappt! R&uuml;ckmeldung f&uuml;r den Support: <em>%s</em>.");
 define('PRIMERA_MEMBER_WITHDRAW_DONE', "Einzahlung auf Ihr {!MAIN_TITLE!} Konto erfolgreich abgeschlossen. :-)");
 define('PRIMERA_MEMBER_PAYOUT_DONE', "Auszahlung auf Primus-Portal erfolgreich abgeschlossen. :-)");
-define('PRIMERA_MEMBER_PAYOUT_POINTS_DEPLETED', "Sie k&ouml;nnen nicht <u>%s</u> Primera auszahlen, da Sie nur <u>%s</u> &uuml;brig haben.");
+define('PRIMERA_MEMBER_PAYOUT_POINTS_DEPLETED', "Sie k&ouml;nnen nicht <span class=\"data\">%s</span> Primera auszahlen, da Sie nur <span class=\"data\">%s</span> &uuml;brig haben.");
 define('PRIMERA_MEMBER_STATUS', "&Uuml;berweisungsart");
 
 //
diff --git a/inc/language/refback_de.php b/inc/language/refback_de.php
index 7a992c9001..35348a048e 100644
--- a/inc/language/refback_de.php
+++ b/inc/language/refback_de.php
@@ -40,6 +40,10 @@ if (!defined('__SECURITY')) {
 // Admin language strings
 define('ADMIN_LIST_USER_NOREFS_1', "Das Mitglied <u>");
 define('ADMIN_LIST_USER_NOREFS_2', "</u> hat in dieser Referal-Ebene keine Refs!");
+define('ADMIN_CONFIG_REFBACK_TITLE', "Refback-Einstellungen");
+define('ADMIN_CONFIG_REFBACK_ENABLED', "Refback eingeschaltet? (Wenn nein, ist nur die Referal-&Uuml;bersicht funktionell.)");
+define('ADMIN_CONFIG_REFBACK_MIN_PERCENTS', "Minimum erlaubte Refback-Prozente:<br /><span class=\"admin_note\">(0&#37; ist immer erlaubt!)</span>");
+define('ADMIN_CONFIG_REFBACK_MAX_PERCENTS', "Maximum erlaubte Refback-Prozente:");
 
 // Member language strings
 define('MEMBER_REFBACK_LIST_TITLE_1', "Ref-Back &Uuml;bersicht f&uuml;r Referal-Ebene <u>");
@@ -60,9 +64,10 @@ define('MEMBER_REFBACK_EDIT', "Einstellen");
 define('MEMBER_REFBACK_EDIT_TITLE', "Ref-Back f&uuml;r ausgew&auml;hltes Mitglied einstellen:");
 define('MEMBER_REFBACK_DELETED_SUBMIT', "Nicht m&ouml;glich");
 define('MEMBER_REFBACK_DELETED_TITLE', "Einstellen von Ref-Back ist f&uuml;r gel&ouml;schte Mitglieder nicht m&ouml;glich.");
+define('MEMBER_REFBACK_DISABLED', "Refback ist administrativ deaktiviert. Bitte nutze die Referal-&Uuml;bersicht links im Men&uuml;.");
 
 // Error messages for members
-define('MEMBER_REFBACK_ERROR_MESSAGE', "Fehler beim Einstellen des Ref-Backs. Fehlermeldung:<br />\n<u>%s</u>");
+define('MEMBER_REFBACK_ERROR_MESSAGE', "Fehler beim Einstellen des Ref-Backs. Fehlermeldung:<br />\n<span class=\"data\">%s</span>");
 define('MEMBER_REFBACK_ERROR_GENERAL', "Allgemeiner Scriptefehler. Bitte beim Support melden.");
 define('MEMBER_REFBACK_ERROR_NO_MEMBER', "Nur Mitglieder k&ouml;nnen Ref-Backs einstellen.");
 define('MEMBER_REFBACK_ERROR_INVALID_ID_NUMBER', "Ung&uuml;ltige ID-Nummer &uuml;bertragen.");
diff --git a/inc/language/removeip_de.php b/inc/language/removeip_de.php
index 0e18706fe3..a7fe40305c 100644
--- a/inc/language/removeip_de.php
+++ b/inc/language/removeip_de.php
@@ -53,7 +53,7 @@ define('ADMIN_CONFIG_REMOVEIP_MEMBER_SHOW', "Im Mitgliedsbereich Anonymit&auml;t
 define('ADMIN_CONFIG_REMOVEIP_SPONSOR_SHOW', "Im Sponsorbereich Anonymit&auml;tslevel zeigen?");
 
 // Anonymity levels
-define('REMOVEIP_UNKNOWN_LEVEL', "Unbekannte Anonymit&auml;tslevel <u>%s</u>");
+define('REMOVEIP_UNKNOWN_LEVEL', "Unbekannte Anonymit&auml;tslevel <span class=\"data\">%s</span>");
 define('REMOVEIP_LEVEL_NONE', "Keine Anonymit&auml;t");
 define('REMOVEIP_LEVEL_LOW', "Niedrige Anonymit&auml;t");
 define('REMOVEIP_LEVEL_MEDIUM', "Mittlere Anonymit&auml;t");
diff --git a/inc/language/wernis_de.php b/inc/language/wernis_de.php
index 1e90dd5cec..e9a808a51b 100644
--- a/inc/language/wernis_de.php
+++ b/inc/language/wernis_de.php
@@ -42,7 +42,7 @@ define('TASK_ADMIN_LIST_WERNIS_ALL', "Alle Wernis-Ein-/Auszahlungen");
 define('TASK_ADMIN_LIST_WERNIS_ALL_TITLE', "Listet alle Wernis-Ein- und Auszahlungen auf.");
 define('MEMBER_WERNIS_MODE_WITHDRAW', "Wernis einzahlen");
 define('MEMBER_WERNIS_MODE_PAYOUT', "Wernis auszahlen");
-define('WERNIS_STATUS_UNKNWOWN', "Wernis-Typ <u>%s</u> unbekannt.");
+define('WERNIS_STATUS_UNKNWOWN', "Wernis-Typ <span class=\"data\">%s</span> unbekannt.");
 define('WERNIS_STATUS_WITHDRAW', "Einzahlung von WDS66");
 define('WERNIS_STATUS_PAYOUT', "Auszahlung an WDS66");
 define('WERNIS_STATUS_FAILED', "Fehlgeschlagen");
@@ -79,8 +79,8 @@ define('WERNIS_ADMIN_WITHDRAW_FEE_FIX', "Fixe Betreibergeb&uuml;hr f&uuml;r Einz
 // API messages
 define('WERNIS_API_REQUEST_DATA_INVALID', "Interner Fehler: Abfragedaten sind defekt!");
 define('WERNIS_API_REQUEST_DATA_MISSING', "Interner Fehler: Abfragedaten sind nicht komplett!");
-define('WERNIS_API_REQUEST_ERROR', "Abfragefehler: <u>%s</u>");
-define('WERNIS_API_REQUEST_FAILED', "Unbekannter Fehler <u>%s</u> von API erhalten! Bitte im [<A href=\"http://forum.mxchange.org\" target=\"_blank\" title=\"Direktlink zum Forum\">Forum melden</A>], den Fehlercode nennen und wie es dazu gekommen ist.");
+define('WERNIS_API_REQUEST_ERROR', "Abfragefehler: <span class=\"data\">%s</span>");
+define('WERNIS_API_REQUEST_FAILED', "Unbekannter Fehler <span class=\"data\">%s</span> von API erhalten! Bitte im [<A href=\"http://forum.mxchange.org\" target=\"_blank\" title=\"Direktlink zum Forum\">Forum melden</A>], den Fehlercode nennen und wie es dazu gekommen ist.");
 define('WERNIS_API_REQUEST_FAILED_AUTH', "Authorisierung an API fehlgeschlagen! Bitte API-ID und Key &uuml;berpr&uuml;fen. [<A href=\"http://www.wds66.com/modules.php?module=export\" target=\"_blank\" title=\"Direkt zum WDS66-Exportaccount\">Hier</A>] direkt zum Export-Account. Sie ben&ouml;tigen Ihren Usernamen und Passwort!");
 define('WERNIS_API_REQUEST_FAILED_USER', "Useraccount nicht gefunden oder Wernis-Passwort ist ung&uuml;ltig!");
 define('WERNIS_API_REQUEST_FAILED_OWN', "&Uuml;berweisung an eigenes Account nicht m&ouml;glich.");
@@ -90,7 +90,7 @@ define('WERNIS_API_PURPOSE_WITHDRAW', "Einzahlung auf {!MAIN_TITLE!} ({!URL!}),
 define('WERNIS_API_PURPOSE_PAYOUT', "Auszahlung von {!MAIN_TITLE!} ({!URL!}), ID: %s");
 
 // Error messages
-define('WERNIS_ERROR_STATUS', "Fehler-Status <u>%s</u> erhalten.");
+define('WERNIS_ERROR_STATUS', "Fehler-Status <span class=\"data\">%s</span> erhalten.");
 define('WERNIS_UNKNOWN_ERROR', "Unbekannter Fehler aufgetreten!");
 
 // Member messages
@@ -98,7 +98,7 @@ define('MEMBER_WERNIS_MODE_CHOOSE', "M&ouml;chten Sie Wernis zu Ihrem WDS66-Haup
 define('MEMBER_WERNIS_MODE_CHOOSE2', "Hier klicken um neue &Uuml;berweisung zu starten...");
 define('WERNIS_MEMBER_NO_ACCOUNT', "Noch kein WDS66-Account? Hier entlang!");
 define('WERNIS_MEMBER_API_DATA_MISSING', "Diese Funktion kann derzeit nicht genutzt werden, da wir sie noch einrichten m&uuml;ssen.");
-define('WERNIS_MEMBER_MIN_PAYOUT', "Sie haben nicht gen&uuml;gend Wernis zum Auszahlen! Mindestens: <u>%s</u> Wernis.");
+define('WERNIS_MEMBER_MIN_PAYOUT', "Sie haben nicht gen&uuml;gend Wernis zum Auszahlen! Mindestens: <span class=\"data\">%s</span> Wernis.");
 define('WERNIS_MEMBER_WITHDRAW_TITLE', "Wernis bei {!MAIN_TITLE!} einzahlen:");
 define('WERNIS_MEMBER_WITHDRAW_POINTS_ACCOUNT', "Wernis hier im Account:");
 define('WERNIS_MEMBER_WITHDRAW_MIN_POINTS', "Mindest einzuzahlendes Wernis-Guthaben:");
@@ -112,17 +112,17 @@ define('WERNIS_MEMBER_PAYOUT_NOTE', "Ihr Wernis-Passwort wird bei {!MAIN_TITLE!}
 define('WERNIS_MEMBER_WDS66_ID', "Username bei WDS66-Portal: [<A href=\"http://www.wds66.com/modules.php?module=wpass&amp;mode=new\" target=\"_blank\">Vergessen?</A>]");
 define('WERNIS_MEMBER_WDS66_PASSWORD', "Wernis-Passwort (nicht Accountpasswort!): [<A href=\"http://www.wds66.com/modules.php?module=wpass&amp;mode=new\" target=\"_blank\">Vergessen?</A>]");
 define('WERNIS_MEMBER_WDS66_AMOUNT', "Zu &uuml;berweisenden Betrag eingeben:");
-define('WERNIS_MEMBER_MODE_INVALID', "Ung&uuml;ltiger Modus <u>%s</u> erkannt! Bitte links im Men&uuml; fortfahren.");
+define('WERNIS_MEMBER_MODE_INVALID', "Ung&uuml;ltiger Modus <span class=\"data\">%s</span> erkannt! Bitte links im Men&uuml; fortfahren.");
 define('WERNIS_MEMBER_EMPTY_USERNAME', "Sie haben Ihren WDS66-Usernamen nicht eingegeben.");
 define('WERNIS_MEMBER_EMPTY_PASSWORD', "Sieh haben kein Wernis-Passwort eingegeben.");
 define('WERNIS_MEMBER_EMPTY_AMOUNT', "Sie haben keine zu &uuml;berweisende Betrag angegeben.");
 define('WERNIS_MEMBER_INVALID_USERNAME', "Bitte nur Zahlen f&uuml;r den WDS66-Usernamen eingeben!");
 define('WERNIS_MEMBER_INVALID_AMOUNT', "Bitte nur Zahlen f&uuml;r den zu &uuml;berweisenden Betrag eingeben!");
-define('WERNIS_MEMBER_AMOUNT_SMALLER_MIN', "Bitte geben Sie mindestens <u>%s</u> Wernis an!");
+define('WERNIS_MEMBER_AMOUNT_SMALLER_MIN', "Bitte geben Sie mindestens <span class=\"data\">%s</span> Wernis an!");
 define('WERNIS_MEMBER_WITHDRAW_FAILED', "Die Einzahlung hat nicht geklappt! R&uuml;ckmeldung f&uuml;r den Support: <em>%s</em>.");
 define('WERNIS_MEMBER_WITHDRAW_DONE', "Einzahlung auf Ihr {!MAIN_TITLE!} Konto erfolgreich abgeschlossen. :-)");
 define('WERNIS_MEMBER_PAYOUT_DONE', "Auszahlung auf WDS66-Hauptaccount erfolgreich abgeschlossen. :-)");
-define('WERNIS_MEMBER_PAYOUT_POINTS_DEPLETED', "Sie k&ouml;nnen nicht <u>%s</u> Wernis auszahlen, da Sie nur <u>%s</u> &uuml;brig haben.");
+define('WERNIS_MEMBER_PAYOUT_POINTS_DEPLETED', "Sie k&ouml;nnen nicht <span class=\"data\">%s</span> Wernis auszahlen, da Sie nur <span class=\"data\">%s</span> &uuml;brig haben.");
 define('WERNIS_MEMBER_STATUS', "&Uuml;berweisungsart");
 define('WERNIS_MEMBER_PAYOUT_DISABLED', "Auszahlung wurde administrativ deaktiviert.");
 define('WERNIS_MEMBER_WITHDRAW_DISABLED', "Einzahlung wurde administrativ deaktiviert.");
diff --git a/inc/libs/rallye_functions.php b/inc/libs/rallye_functions.php
index 7335584f74..3faa726f6c 100644
--- a/inc/libs/rallye_functions.php
+++ b/inc/libs/rallye_functions.php
@@ -528,7 +528,7 @@ function RALLYE_LOAD_USERS_ARRAY($rallye)
 		'cpoints' => array(),
 	);
 
-	// Load users                    uid    old   points earned
+	// Load users                          uid    old  points earned
 	$result_user = SQL_QUERY_ESC("SELECT userid, refs, curr_points FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%s ORDER BY userid",
 	 array(bigintval($rallye)), __FILE__, __LINE__);
 	while(list($uid, $refs, $cpoints) = SQL_FETCHROW($result_user))
diff --git a/inc/libs/refback_functions.php b/inc/libs/refback_functions.php
index fdb97da005..0df8e05084 100644
--- a/inc/libs/refback_functions.php
+++ b/inc/libs/refback_functions.php
@@ -334,7 +334,7 @@ function REFBACK_CHANGE_MEMBER_PERCENTS ($id, $percents) {
 		// No member!
 		$status['message'] = MEMBER_REFBACK_ERROR_NO_MEMBER;
 		return $status;
-	} elseif ("".$id."" != "".bigintval($id)."") {
+	} elseif ("".$id."" != "".($id + 0)."") {
 		// No number!
 		$status['message'] = MEMBER_REFBACK_ERROR_INVALID_ID_NUMBER;
 		return $status;
diff --git a/inc/libs/surfbar_functions.php b/inc/libs/surfbar_functions.php
index f83d4fac91..e9c14d7f09 100644
--- a/inc/libs/surfbar_functions.php
+++ b/inc/libs/surfbar_functions.php
@@ -56,7 +56,7 @@ function SURFBAR_ADMIN_ADD_URL ($url, $limit) {
 	} elseif (!SURFBAR_IF_USER_BOOK_MORE_URLS()) {
 		// No more allowed!
 		return false;
-	} elseif ("".bigintval($limit)."" != "".$limit."") {
+	} elseif ("".($limit + 0)."" != "".$limit."") {
 		// Invalid amount entered
 		return false;
 	}
@@ -158,7 +158,7 @@ function SURFBAR_MEMBER_ADD_URL ($url, $limit) {
 	} elseif (!SURFBAR_IF_USER_BOOK_MORE_URLS($GLOBALS['userid'])) {
 		// No more allowed!
 		return false;
-	} elseif ("".bigintval($limit)."" != "".$limit."") {
+	} elseif ("".($limit + 0)."" != "".$limit."") {
 		// Invalid amount entered
 		return false;
 	}
diff --git a/inc/modules/admin/what-config_other.php b/inc/modules/admin/what-config_other.php
index 38de44bca0..d3df62edf9 100644
--- a/inc/modules/admin/what-config_other.php
+++ b/inc/modules/admin/what-config_other.php
@@ -169,6 +169,14 @@ if (isset($_POST['ok'])) {
 		define('_CFG_SHOW_TIMINGS_N', " checked=\"checked\"");
 	}
 
+	if ($_CONFIG['show_points_unconfirmed'] == "Y") {
+		define('_CFG_SHOW_POINTS_UNCONFIRMED_Y', " checked=\"checked\"");
+		define('_CFG_SHOW_POINTS_UNCONFIRMED_N', "");
+	} else {
+		define('_CFG_SHOW_POINTS_UNCONFIRMED_Y', "");
+		define('_CFG_SHOW_POINTS_UNCONFIRMED_N', " checked=\"checked\"");
+	}
+
 	if ($_CONFIG['mailid_error_redirect'] == 'INDEX') {
 		define('_CFG_MAILID_REDIRECT_INDEX', " checked=\"checked\"");
 		define('_CFG_MAILID_REDIRECT_REJECT', "");
diff --git a/inc/modules/admin/what-config_refback.php b/inc/modules/admin/what-config_refback.php
new file mode 100644
index 0000000000..0b9c2cf3a6
--- /dev/null
+++ b/inc/modules/admin/what-config_refback.php
@@ -0,0 +1,71 @@
+<?php
+/************************************************************************
+ * MXChange v0.2.1                                    Start: 10/11/2008 *
+ * ================                             Last change: 10/11/2008 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : what-config_refback.php                          *
+ * -------------------------------------------------------------------- *
+ * Short description : Refback settings                                 *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Refback-Einstellungen                            *
+ * -------------------------------------------------------------------- *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * For more information visit: http://www.mxchange.org                  *
+ *                                                                      *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or    *
+ * (at your option) any later version.                                  *
+ *                                                                      *
+ * This program is distributed in the hope that it will be useful,      *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
+ * GNU General Public License for more details.                         *
+ *                                                                      *
+ * You should have received a copy of the GNU General Public License    *
+ * along with this program; if not, write to the Free Software          *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
+	$INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+	require($INC);
+}
+
+// Add description as navigation point
+ADD_DESCR("admin", __FILE__);
+
+if (isset($_POST['ok'])) {
+	// Save configuration
+	ADMIN_SAVE_SETTINGS($_POST);
+} else {
+	// Prepare content
+	$content = array(
+		'refback_min_perc' => bigintval($_CONFIG['refback_min_perc']),
+		'refback_max_perc' => bigintval($_CONFIG['refback_max_perc'])
+	);
+
+	// Add more content
+	switch ($_CONFIG['refback_enabled']) {
+		case "Y": // Refback enabled
+			$content['refback_enabled_y'] = " checked=\"checked\"";
+			$content['refback_enabled_n'] = "";
+			break;
+
+		case "N": // Refback disabled
+			$content['refback_enabled_y'] = "";
+			$content['refback_enabled_n'] = " checked=\"checked\"";
+			break;
+	}
+
+	// Load template
+	LOAD_TEMPLATE("admin_config_refback", false, $content);
+}
+
+//
+?>
diff --git a/inc/modules/guest/what-login.php b/inc/modules/guest/what-login.php
index 731df6c688..76312e88df 100644
--- a/inc/modules/guest/what-login.php
+++ b/inc/modules/guest/what-login.php
@@ -52,7 +52,7 @@ if ((!empty($GLOBALS['userid'])) && (isSessionVariableSet('u_hash'))) {
 	$uid = $GLOBALS['userid'];
 } elseif ((!empty($_POST['id'])) && (!empty($_POST['password'])) && (isset($_POST['ok']))) {
 	// Set userid and crypt password when login data was submitted
-	$probe_nickname = ((EXT_IS_ACTIVE("nickname")) && (("".bigintval($_POST['id'])."") != $_POST['id']));
+	$probe_nickname = ((EXT_IS_ACTIVE("nickname")) && (("".($_POST['id'] + 0)."") != $_POST['id']));
 	if ($probe_nickname === true) {
 		// Nickname entered
 		$uid = SQL_ESCAPE($_POST['id']);
@@ -88,7 +88,7 @@ if (IS_MEMBER()) {
 	} // END - if
 
 	// Check login data
-	$password = "";
+	$password = ""; $uid2 = ""; $dmy = "";
 	if ($probe_nickname === true) {
 		// Nickname entered
 		$result = SQL_QUERY_ESC("SELECT userid, password, last_online".$LAST." FROM "._MYSQL_PREFIX."_user_data WHERE nickname='%s' AND status='CONFIRMED' LIMIT 1",
@@ -103,7 +103,10 @@ if (IS_MEMBER()) {
 	}
 
 	// Is there an entry?
-	if (SQL_NUMROWS($result) == 1) {
+	if ((SQL_NUMROWS($result) == 1) && ((($probe_nickname) && (!empty($uid2))) || ($dmy == $uid))) {
+		// Free result
+		SQL_FREERESULT($result);
+
 		// By default the hash is empty
 		$hash = "";
 
@@ -191,27 +194,27 @@ if (IS_MEMBER()) {
 			// Wrong password!
 			$ERROR = CODE_WRONG_PASS;
 		}
-	} else {
+	} elseif ((($probe_nickname) && (!empty($uid2))) || ($dmy == $uid)) {
 		// Other account status?
 		$result = SQL_QUERY_ESC("SELECT status FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
 		 array($uid), __FILE__, __LINE__);
-		if (SQL_NUMROWS($result) == 1)
-		{
+
+		// Entry found?
+		if (SQL_NUMROWS($result) == 1) {
 			// Load status
 			list($status) = SQL_FETCHROW($result);
-			switch ($status)
-			{
-			case "LOCKED":
-				$ERROR = CODE_ID_LOCKED;
-				break;
-
-			case "UNCONFIRMED":
-				$ERROR = CODE_ID_UNCONFIRMED;
-				break;
-
-			default:
-				$ERROR = CODE_UNKNOWN_STATUS;
-				break;
+			switch ($status) {
+				case "LOCKED":
+					$ERROR = CODE_ID_LOCKED;
+					break;
+
+				case "UNCONFIRMED":
+					$ERROR = CODE_ID_UNCONFIRMED;
+					break;
+
+				default:
+					$ERROR = CODE_UNKNOWN_STATUS;
+					break;
 			}
 		} else {
 			// ID not found!
@@ -220,6 +223,9 @@ if (IS_MEMBER()) {
 
 		// Construct URL
 		$URL = URL."/modules.php?module=index&amp;what=login&amp;login=".$ERROR;
+	} else {
+		// ID not found!
+		$ERROR = CODE_WRONG_ID;
 	}
 } elseif ((!empty($_POST['new_pass'])) && (isset($uid))) {
 	// Compile email when found in address (only secure chars!)
diff --git a/inc/modules/member/what-refback.php b/inc/modules/member/what-refback.php
index 309e927efb..5a965b6723 100644
--- a/inc/modules/member/what-refback.php
+++ b/inc/modules/member/what-refback.php
@@ -44,6 +44,14 @@ if (!defined('__SECURITY')) {
 	return;
 }
 
+// Is the refback system enabled?
+if ($_CONFIG['refback_enabled'] == "N") {
+	// Output message
+	LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_REFBACK_DISABLED);
+	// Abort here
+	return false;
+} // END - if
+
 // Add description as navigation point
 ADD_DESCR("member", __FILE__);
 
diff --git a/inc/modules/member/what-reflist.php b/inc/modules/member/what-reflist.php
new file mode 100644
index 0000000000..ee458bf6e1
--- /dev/null
+++ b/inc/modules/member/what-reflist.php
@@ -0,0 +1,120 @@
+<?php
+/************************************************************************
+ * MXChange v0.2.1                                    Start: 09/09/2008 *
+ * ================                             Last change: 09/09/2008 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : what-reflist.php                                 *
+ * -------------------------------------------------------------------- *
+ * Short description : Refback setup                                    *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Refback-Einstellungen                            *
+ * -------------------------------------------------------------------- *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * For more information visit: http://www.mxchange.org                  *
+ *                                                                      *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or    *
+ * (at your option) any later version.                                  *
+ *                                                                      *
+ * This program is distributed in the hope that it will be useful,      *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
+ * GNU General Public License for more details.                         *
+ *                                                                      *
+ * You should have received a copy of the GNU General Public License    *
+ * along with this program; if not, write to the Free Software          *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+	$INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+	require($INC);
+} elseif (!IS_MEMBER()) {
+	// User is not logged in
+	LOAD_URL("modules.php?module=index");
+} elseif ((!EXT_IS_ACTIVE("reflist")) && (!IS_ADMIN())) {
+	// Extension "reflist" is not active
+	ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "reflist");
+	return;
+}
+
+// Is the reflist system enabled?
+if ($_CONFIG['reflist_enabled'] == "N") {
+	// Output message
+	LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_REFBACK_DISABLED);
+	// Abort here
+	return false;
+} // END - if
+
+// Add description as navigation point
+ADD_DESCR("member", __FILE__);
+
+// Load all referal levels
+$result = SQL_QUERY_ESC("SELECT r.level, r.percents
+FROM "._MYSQL_PREFIX."_refdepths AS r
+WHERE r.level > 0
+ORDER BY r.level ASC",
+	array($GLOBALS['userid']), __FILE__, __LINE__);
+
+// Are there some entries? (Shall be!)
+if (SQL_NUMROWS($result) > 0) {
+	// List all levels
+	$OUT = "";
+	while ($content = SQL_FETCHARRAY($result)) {
+		// Init variables
+		$rows = "";
+		$counter = 0;
+		$SW = 2;
+
+		// Check for users ref in this level
+		foreach (GET_USER_REFS($GLOBALS['userid'], $content['level']) as $refRow) {
+			// Not-deleted account is default
+			$deleted = false;
+			if (is_null($refRow['status'])) $deleted = true;
+
+			// Add/"translate" more content
+			$refRow['sw']      = $SW;
+			$refRow['points']  = TRANSLATE_COMMA($refRow['points']);
+			$refRow['reflist'] = TRANSLATE_COMMA($refRow['reflist']);
+			$refRow['status']  = TRANSLATE_STATUS($refRow['status']);
+			if (empty($refRow['nickname'])) $refRow['nickname'] = "---";
+
+			// Load row template
+			if ($deleted) {
+				$rows .= LOAD_TEMPLATE("member_reflist_list_row_deleted", true, $refRow);
+			} else {
+				$rows .= LOAD_TEMPLATE("member_reflist_list_row", true, $refRow);
+			}
+
+			// Count this ref and switch color
+			$counter++;
+			$SW = 3 - $SW;
+		} // END - foreach
+
+		// Remember the content
+		$content['counter']  = TRANSLATE_COMMA($counter);
+		$content['percents'] = TRANSLATE_COMMA($content['percents']);
+		$content['rows']     = $rows;
+
+		// Load level template
+		$OUT .= LOAD_TEMPLATE("member_reflist_list_level", true, $content);
+	} // END - while
+
+	// Load main template
+	LOAD_TEMPLATE("member_reflist_list", false, $OUT);
+} else {
+	// No entries
+	LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_REFBACK_NO_ENTRIES);
+}
+
+// Free result
+SQL_FREERESULT($result);
+
+//
+?>
diff --git a/inc/modules/member/what-unconfirmed.php b/inc/modules/member/what-unconfirmed.php
index 68c90049a3..91725bf67d 100644
--- a/inc/modules/member/what-unconfirmed.php
+++ b/inc/modules/member/what-unconfirmed.php
@@ -44,9 +44,76 @@ if (!defined('__SECURITY')) {
 // Add description as navigation point
 ADD_DESCR("member", __FILE__);
 
+// Shall we display a mail?
+if ((isset($_GET['bonusid'])) && (EXT_IS_ACTIVE("bonus"))) {
+	// Display bonus mail by loading it's full data
+	$result_data = SQL_QUERY_ESC("SELECT id, subject, timestamp, cat_id, points, text, is_notify, data_type, time, url
+FROM "._MYSQL_PREFIX."_bonus
+WHERE id=%s LIMIT 1",
+		array(bigintval($_GET['bonusid'])), __FILE__, __LINE__);
+
+	// Load data
+	$content = SQL_FETCHARRAY($result_data);
+
+	// "Translate some data
+	$content['subject']   = COMPILE_CODE($content['subject']);
+	$content['text']      = COMPILE_CODE($content['text']);
+	$content['timestamp'] = MAKE_DATETIME($content['timestamp'], "2");
+	$content['category']  = GET_CATEGORY($content['cat_id']);
+	$content['points']    = TRANSLATE_COMMA($content['points']);
+	$content['is_notify'] = TRANSLATE_YESNO($content['is_notify']);
+	$content['sender']    = _ADMIN_SHORT;
+	$content['time']      = CREATE_FANCY_TIME($content['time']);
+	$content['uid']       = $GLOBALS['userid'];
+
+	// Get timestamp from insert
+	$content['user_status'] = sprintf(MEMBER_MAIL_BONUS_CONFIRMED_ON,
+		MAKE_DATETIME(USER_STATS_GET_TIMESTAMP("bonusid", $content['id']), "2")
+	);
+
+	// Display it depending on mail (data) type
+	LOAD_TEMPLATE("member_mail_bonus_".strtolower($content['data_type']), false, $content);
+
+	// Free result
+	SQL_FREERESULT($result_data);
+} elseif (isset($_GET['mailid'])) {
+	// Display regular member mail by loading its full data
+	$result_data = SQL_QUERY_ESC("SELECT s.id, s.subject, p.text, s.timestamp_ordered AS `timestamp`, s.cat_id, pay.price AS points, p.sender, pay.time, p.data_type
+FROM "._MYSQL_PREFIX."_user_stats AS s
+LEFT JOIN "._MYSQL_PREFIX."_pool AS p
+ON s.pool_id=p.id
+LEFT JOIN "._MYSQL_PREFIX."_payments AS pay
+ON p.payment_id=pay.id
+WHERE s.id=%s LIMIT 1",
+		array(bigintval($_GET['mailid'])), __FILE__, __LINE__);
+
+	// Load data
+	$content = SQL_FETCHARRAY($result_data);
+
+	// "Translate some data
+	$content['subject']   = COMPILE_CODE($content['subject']);
+	$content['text']      = COMPILE_CODE($content['text']);
+	$content['timestamp'] = MAKE_DATETIME($content['timestamp'], "2");
+	$content['category']  = GET_CATEGORY($content['cat_id']);
+	$content['points']    = TRANSLATE_COMMA($content['points']);
+	$content['time']      = CREATE_FANCY_TIME($content['time']);
+	$content['uid']       = $GLOBALS['userid'];
+
+	// Get timestamp from insert
+	$content['user_status'] = sprintf(MEMBER_MAIL_NORMAL_CONFIRMED_ON,
+		MAKE_DATETIME(USER_STATS_GET_TIMESTAMP("mailid", $content['id']), "2")
+	);
+
+	// Display it depending on mail (data) type
+	LOAD_TEMPLATE("member_mail_normal_".strtolower($content['data_type']), false, $content);
+
+	// Free result
+	SQL_FREERESULT($result_data);
+}
+
 if (EXT_IS_ACTIVE("bonus")) {
 	// Load bonus ID
-	$result = SQL_QUERY_ESC("SELECT stats_id, bonus_id, link_type FROM "._MYSQL_PREFIX."_user_links WHERE userid=%s ORDER BY bonus_id DESC",
+	$result = SQL_QUERY_ESC("SELECT stats_id, bonus_id, link_type FROM "._MYSQL_PREFIX."_user_links WHERE userid=%s ORDER BY bonus_id DESC, stats_id DESC",
 	 array($GLOBALS['userid']), __FILE__, __LINE__);
 } else {
 	// Don't load bonus ID
@@ -54,65 +121,82 @@ if (EXT_IS_ACTIVE("bonus")) {
 	 array($GLOBALS['userid']), __FILE__, __LINE__);
 }
 
-if (SQL_NUMROWS($result) > 0)
-{
+// Mails left for confirmation?
+if (SQL_NUMROWS($result) > 0) {
 	// Please confirm these mails!
 	$sum = 0; $SW = 2; $OUT = "";
-	while (list($id, $id2, $type) = SQL_FETCHROW($result))
-	{
+	while (list($id, $id2, $type) = SQL_FETCHROW($result)) {
 		// Load data from stats table...
 		$cat = "";
 		switch ($type)
 		{
 		case "NORMAL":
-			$result_data = SQL_QUERY_ESC("SELECT subject, subject, timestamp_ordered, cat_id, payment_id, pool_id FROM "._MYSQL_PREFIX."_user_stats WHERE id=%s LIMIT 1",
+			$result_data = SQL_QUERY_ESC("SELECT s.subject, s.timestamp_ordered, s.cat_id, s.payment_id, p.sender
+FROM "._MYSQL_PREFIX."_user_stats AS s
+LEFT JOIN "._MYSQL_PREFIX."_pool AS p
+ON s.pool_id=p.id
+WHERE s.id=%s
+LIMIT 1",
 			 array(bigintval($id)), __FILE__, __LINE__);
 			$type = "mailid"; $DATA = $id; $PROBLEM = NORMAL_MAIL_PROBLEM;
 			break;
 
 		case "BONUS":
-			$result_data = SQL_QUERY_ESC("SELECT subject, text, timestamp, cat_id, points, id FROM "._MYSQL_PREFIX."_bonus WHERE id=%s LIMIT 1",
+			$result_data = SQL_QUERY_ESC("SELECT subject, timestamp, cat_id, points, 0 FROM "._MYSQL_PREFIX."_bonus WHERE id=%s LIMIT 1",
 			 array(bigintval($id2)), __FILE__, __LINE__);
 			$type = "bonusid"; $DATA = $id2; $PROBLEM = BONUS_MAIL_PROBLEM;
 			break;
 		}
 
-		if (SQL_NUMROWS($result_data) == 1)
-		{
+		// Data found to this mail?
+		if ((SQL_NUMROWS($result_data) == 1) && (($type == "mailid") || ($type == "bonusid"))) {
 			// Mail was found!
-			list($subject, $text, $timestamp, $cat, $pay, $pool) = SQL_FETCHROW($result_data);
-			SQL_FREERESULT($result_data);
-			if ($type == "NORMAL")
-			{
-				$pay = GET_PAY_POINTS($pay, "payment");
-				$result_text = SQL_QUERY_ESC("SELECT text FROM "._MYSQL_PREFIX."_pool WHERE id=%s LIMIT 1",
-				 array(bigintval($pool)), __FILE__, __LINE__);
-				list($text) = SQL_FETCHROW($result_text);
-				SQL_FREERESULT($result_text);
+			list($subject, $timestamp, $cat, $pay, $sender) = SQL_FETCHROW($result_data);
+
+			// Subject line found?
+			if (empty($subject)) {
+				// No subject line!
+				$subject = DEFAULT_SUBJECT_LINE;
+			} else {
+				// Compile it
+				$subject = COMPILE_CODE($subject);
+			}
+
+			// Prepare sender id
+			if (($sender > 0) && ($type == "mailid")) {
+				// Sender id
+				$sender = bigintval($sender);
+			} elseif ($type == "bonusid") {
+				// Is admin
+				$sender = _ADMIN_SHORT;
+			} else {
+				// Deleted
+				$sender = EMAIL_STATUS_DELETED;
 			}
-			if (empty($subject)) $subject = DEFAULT_SUBJECT_LINE;
-			if (empty($text))    $text    = "---";
-			$subject = COMPILE_CODE($subject);
 
 			// Prepare data for template
 			$content = array(
-				'sw'     => $SW,
-				'uid'    => $GLOBALS['userid'],
-				'data'   => $DATA,
-				'type'   => $type,
-				'subj'   => $subject,
-				'text'   => COMPILE_CODE($text),
-				'stamp'  => MAKE_DATETIME($timestamp, "0"),
-				'cat'    => GET_CATEGORY($cat),
-				'points' => TRANSLATE_COMMA($pay),
+				'sw'      => $SW,
+				'uid'     => $GLOBALS['userid'],
+				'data'    => bigintval($DATA),
+				'type'    => $type,
+				'subject' => $subject,
+				'sender'  => $sender,
+				'stamp'   => MAKE_DATETIME($timestamp, "2"),
+				'cat'     => GET_CATEGORY($cat),
+				'points'  => TRANSLATE_COMMA($pay),
 			);
 
-			// Load row template and count points
-			$OUT .= LOAD_TEMPLATE("member_unconfirmed_row", true, $content);
+			// Load row template
+			if ($_CONFIG['show_points_unconfirmed'] == "Y") {
+				$OUT .= LOAD_TEMPLATE("member_unconfirmed_row", true, $content);
+			} else {
+				$OUT .= LOAD_TEMPLATE("member_unconfirmed_row_nopoints", true, $content);
+			}
+
+			// Count points
 			$sum += $pay;
-		}
-		 else
-		{
+		} else {
 			// Prepare data for template
 			$content = array(
 				'sw'    => $SW,
@@ -120,11 +204,20 @@ if (SQL_NUMROWS($result) > 0)
 				'probl' => $PROBLEM,
 			);
 
-			// Problem with mail detected
-			$OUT .= LOAD_TEMPLATE("member_unconfirmed_404", true, $content);
+			// Display points or not?
+			if ($_CONFIG['show_points_unconfirmed'] == "Y") {
+				$OUT .= LOAD_TEMPLATE("member_unconfirmed_404", true, $content);
+			} else {
+				$OUT .= LOAD_TEMPLATE("member_unconfirmed_404_nopoints", true, $content);
+			}
 		}
+
+		// Free result
+		SQL_FREERESULT($result_data);
+
+		// Switch color
 		$SW = 3 - $SW;
-	}
+	} // END - while
 
 	// Free memory
 	SQL_FREERESULT($result);
@@ -136,7 +229,11 @@ if (SQL_NUMROWS($result) > 0)
 	define('__UNCONFIRMED_ROWS', $OUT);
 
 	// Load main template
-	LOAD_TEMPLATE("member_unconfirmed_table");
+	if ($_CONFIG['show_points_unconfirmed'] == "Y") {
+		LOAD_TEMPLATE("member_unconfirmed_table");
+	} else {
+		LOAD_TEMPLATE("member_unconfirmed_table_nopoints");
+	}
 }
  else
 {
diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php
index bf54a9f45b..2d187f0acd 100644
--- a/inc/mysql-manager.php
+++ b/inc/mysql-manager.php
@@ -1349,7 +1349,7 @@ function UPDATE_ONLINE_LIST($SID, $mod, $act, $wht) {
 		$ADMIN = "Y";
 	} // END - if
 
-	if (isSessionVariableSet('up_refid')) {
+	if (isSessionVariableSet('refid')) {
 		// Check cookie
 		if (get_session('refid') > 0) $rid = bigintval($GLOBALS['refid']);
 	} // END - if
@@ -2147,5 +2147,60 @@ function GENERATE_RECEIVER_LIST ($cat, $receiver, $mode="") {
 	return $receiverList;
 }
 
+// Get timestamp for given stats type and data
+function USER_STATS_GET_TIMESTAMP ($type, $data, $uid = 0) {
+	// Default timestamp is zero
+	$stamp = 0;
+
+	// User id set?
+	if ((isset($GLOBALS['userid'])) && ($uid == 0)) {
+		$uid = $GLOBALS['userid'];
+	} // END - if
+
+	// Is the extension installed and updated?
+	if ((!EXT_IS_ACTIVE("sql_patches")) || (EXT_VERSION_IS_OLDER("sql_patches", "0.5.6"))) {
+		// Return zero here
+		return $stamp;
+	} // END - if
+
+	// Try to find the entry
+	$result = SQL_QUERY_ESC("SELECT UNIX_TIMESTAMP(`inserted`) AS `stamp`
+FROM "._MYSQL_PREFIX."_user_stats_data
+WHERE userid=%s AND stats_type='%s' AND stats_data='%s'
+LIMIT 1",
+		array(bigintval($uid), $type, $data), __FILE__, __LINE__);
+
+	// Is the entry there?
+	if (SQL_NUMROWS($result) == 1) {
+		// Get this stamp
+		list($stamp) = SQL_FETCHROW($result);
+	} // END - if
+
+	// Free result
+	SQL_FREERESULT($result);
+
+	// Return stamp
+	return $stamp;
+}
+
+// Inserts user stats
+function USER_STATS_INSERT_RECORD ($uid, $type, $data) {
+	// Is the extension installed and updated?
+	if ((!EXT_IS_ACTIVE("sql_patches")) || (EXT_VERSION_IS_OLDER("sql_patches", "0.5.6"))) {
+		// Return zero here
+		return false;
+	} // END - if
+
+	// Does it exist?
+	if ((!USER_STATS_GET_TIMESTAMP($type, $data, $uid)) && (!is_array($data))) {
+		// Then insert it!
+		SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_stats_data (`userid`,`stats_type`,`stats_data`) VALUES (%s,'%s','%s')",
+			array(bigintval($uid), $type, $data), __FILE__, __LINE__);
+	} elseif (is_array($data)) {
+		// Invalid data!
+		DEBUG_LOG(__FUNCTION__."(".__LINE__."): uid={$uid},type={$type},data={".gettype($data).": Invalid statistics data type!");
+	}
+}
+
 //
 ?>
diff --git a/mailid_top.php b/mailid_top.php
index eaa0d57c34..d4896483d1 100644
--- a/mailid_top.php
+++ b/mailid_top.php
@@ -168,6 +168,9 @@ if (isBooleanConstantAndTrue('mxchange_installed'))
 								switch ($mode)
 								{
 								case "add":
+									// Init stats data
+									$stats_data = 0;
+
 									// Count clicks
 									switch ($ltype)
 									{
@@ -176,11 +179,11 @@ if (isBooleanConstantAndTrue('mxchange_installed'))
 										 array($url_mid), __FILE__, __LINE__);
 
 										// Update mediadata as well
-										if (GET_EXT_VERSION("mediadata") >= "0.0.4")
-										{
+										if (GET_EXT_VERSION("mediadata") >= "0.0.4") {
 											// Update database
 											MEDIA_UPDATE_ENTRY(array("total_clicks", "normal_clicks"), "add", 1);
 										}
+										$stats_data = $url_mid;
 										break;
 
 									case "BONUS":
@@ -188,11 +191,11 @@ if (isBooleanConstantAndTrue('mxchange_installed'))
 										 array($url_bid), __FILE__, __LINE__);
 
 										// Update mediadata as well
-										if (GET_EXT_VERSION("mediadata") >= "0.0.4")
-										{
+										if (GET_EXT_VERSION("mediadata") >= "0.0.4") {
 											// Update database
 											MEDIA_UPDATE_ENTRY(array("total_clicks", "bonus_clicks"), "add", 1);
 										}
+										$stats_data = $url_bid;
 										break;
 									}
 
@@ -201,16 +204,17 @@ if (isBooleanConstantAndTrue('mxchange_installed'))
 									define('_TEMPLATE_BANNER', LOAD_TEMPLATE("mailid_banner", true));
 
 									// Only when user extension = v0.1.2: Update mails-confirmed counter
-									if (GET_EXT_VERSION("user") >= "0.1.2")
-									{
+									if (GET_EXT_VERSION("user") >= "0.1.2") {
 										// Update counter
 										$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET mails_confirmed=mails_confirmed+1 WHERE userid=%s LIMIT 1",
 										 array($url_uid), __FILE__, __LINE__);
 									}
 
+									// Insert stats record
+									USER_STATS_INSERT_RECORD($url_uid, $type, $stats_data);
+
 									// Right code entered?
-									if (bigintval($_POST['gfx_check']) == $img_code)
-									{
+									if (bigintval($_POST['gfx_check']) == $img_code) {
 										// Right code entered add points and remove entry
 										if (($ref_pay > 0) && ($_CONFIG['allow_direct_pay'] == "N"))
 										{
@@ -267,9 +271,7 @@ if (isBooleanConstantAndTrue('mxchange_installed'))
 
 										// Load template
 										LOAD_TEMPLATE($template);
-									}
-									 else
-									{
+									} else {
 										// Wrong image code! So add points to sender's account
 										$DEPTH = 0;
 										ADD_POINTS_REFSYSTEM($sender, $payment, false, 0, false, "direct");
diff --git a/ref.php b/ref.php
index 783aab194c..43df134690 100644
--- a/ref.php
+++ b/ref.php
@@ -64,7 +64,7 @@ if (isBooleanConstantAndTrue('mxchange_installed')) {
 
 	if (!empty($ref)) {
 		// Test if nickname or numeric id
-		if ($ref != "".bigintval($ref)."") {
+		if ($ref != "".($ref + 0)."") {
 			if (EXT_IS_ACTIVE("nickname")) {
 				// Nickname in URL, so load the ID
 				$result = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE nickname='%s' LIMIT 1",
diff --git a/templates/de/html/admin/admin_config_other.tpl b/templates/de/html/admin/admin_config_other.tpl
index 989f794117..3187ef31f5 100644
--- a/templates/de/html/admin/admin_config_other.tpl
+++ b/templates/de/html/admin/admin_config_other.tpl
@@ -208,6 +208,21 @@
 		<TD colspan="5" height="7" class="seperator">&nbsp;</TD>
 	</TR>
 
+	<TR>
+		<TD width="10" class="seperator">&nbsp;</TD>
+		<TD align="right">{--ADMIN_OPTION_SHOW_POINTS_UNCONFIRMED--}:</TD>
+		<TD width="10" class="seperator">&nbsp;</TD>
+		<TD><SPAN class="nobr">
+			<INPUT type="radio" name="show_points_unconfirmed" value="Y"{--_CFG_SHOW_POINTS_UNCONFIRMED_Y--} />&nbsp;{--YES--}<BR />
+			<INPUT type="radio" name="show_points_unconfirmed" value="N"{--_CFG_SHOW_POINTS_UNCONFIRMED_N--} />&nbsp;{--NO--}
+		</SPAN></TD>
+		<TD width="10" class="seperator">&nbsp;</TD>
+	</TR>
+
+	<TR>
+		<TD colspan="5" height="7" class="seperator">&nbsp;</TD>
+	</TR>
+
 	<TR>
 		<TD width="10" class="seperator">&nbsp;</TD>
 		<TD align="right">{--ADMIN_OPTION_MAILID_REDIRECT--}:</TD>
diff --git a/templates/de/html/admin/admin_config_refback.tpl b/templates/de/html/admin/admin_config_refback.tpl
new file mode 100644
index 0000000000..56fccb818f
--- /dev/null
+++ b/templates/de/html/admin/admin_config_refback.tpl
@@ -0,0 +1,44 @@
+<FORM action="{!URL!}/modules.php?module=admin&amp;what=config_refback" method="POST">
+<TABLE border="0" cellspacing="0" cellpadding="0" align="center" class="admin_table dashed" width="500">
+	<TR>
+		<TD colspan="2" align="center" class="admin_title bottom2" height="30">
+			<STRONG>{--ADMIN_CONFIG_REFBACK_TITLE--}</STRONG>
+		</TD>
+	</TR>
+	<TR><TD colspan="2" class="seperator" height="5">&nbsp;</TD></TR>
+	<TR>
+		<TD width="80%" align="right" style="padding-right:10px">
+			{--ADMIN_CONFIG_REFBACK_ENABLED--}
+		</TD>
+		<TD width="20%">
+			<INPUT type="radio" name="refback_enabled" value="Y"$content[refback_enabled_y] /> {--YES--}<br />
+			<INPUT type="radio" name="refback_enabled" value="N"$content[refback_enabled_n] /> {--NO--}
+		</TD>
+	</TR>
+	<TR><TD colspan="2" class="seperator" height="5">&nbsp;</TD></TR>
+	<TR>
+		<TD align="right" style="padding-right:10px">
+			{--ADMIN_CONFIG_REFBACK_MIN_PERCENTS--}
+		</TD>
+		<TD>
+			<INPUT type="text" name="refback_min_perc" size="3" maxlength="3" value="$content[refback_min_perc]" />&#37;
+		</TD>
+	</TR>
+	<TR><TD colspan="2" class="seperator" height="5">&nbsp;</TD></TR>
+	<TR>
+		<TD align="right" style="padding-right:10px">
+			{--ADMIN_CONFIG_REFBACK_MAX_PERCENTS--}
+		</TD>
+		<TD>
+			<INPUT type="text" name="refback_max_perc" size="3" maxlength="3" value="$content[refback_max_perc]" />&#37;
+		</TD>
+	</TR>
+	<TR><TD colspan="2" class="bottom2 seperator" height="5">&nbsp;</TD></TR>
+	<TR>
+		<TD colspan="2" class="admin_footer">
+			<INPUT type="reset" class="admin_reset" value="{--CLEAR_FORM--}" />
+			<INPUT type="submit" class="admin_submit" name="ok" value="{--SAVE_SETTINGS--}" />
+		</TD>
+	</TR>
+</TABLE>
+</FORM>
diff --git a/templates/de/html/member/member_mail_bonus_deleted.tpl b/templates/de/html/member/member_mail_bonus_deleted.tpl
new file mode 100644
index 0000000000..2074053123
--- /dev/null
+++ b/templates/de/html/member/member_mail_bonus_deleted.tpl
@@ -0,0 +1,66 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_BONUS_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_BONUS_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom"><em>{--EMAIL_STATUS_DELETED--}</em></td>
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_IS_NOTIFY--}</strong></td>
+	<td align="center" class="bottom">
+		$content[is_notify]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_mail_bonus_new.tpl b/templates/de/html/member/member_mail_bonus_new.tpl
new file mode 100644
index 0000000000..58b2100895
--- /dev/null
+++ b/templates/de/html/member/member_mail_bonus_new.tpl
@@ -0,0 +1,65 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_BONUS_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_BONUS_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom"><em>{--EMAIL_STATUS_NEW--}</em></td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_IS_NOTIFY--}</strong></td>
+	<td align="center" class="bottom">
+		$content[is_notify]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_mail_bonus_queue.tpl b/templates/de/html/member/member_mail_bonus_queue.tpl
new file mode 100644
index 0000000000..9bafb7e7b8
--- /dev/null
+++ b/templates/de/html/member/member_mail_bonus_queue.tpl
@@ -0,0 +1,65 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_BONUS_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_BONUS_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom"><em>{--EMAIL_STATUS_QUEUE--}</em></td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_IS_NOTIFY--}</strong></td>
+	<td align="center" class="bottom">
+		$content[is_notify]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_mail_bonus_send.tpl b/templates/de/html/member/member_mail_bonus_send.tpl
new file mode 100644
index 0000000000..5b699bfa1b
--- /dev/null
+++ b/templates/de/html/member/member_mail_bonus_send.tpl
@@ -0,0 +1,68 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_BONUS_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_BONUS_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom">
+		[<a href="{!URL!}/mailid.php?uid=$content[uid]&amp;bonusid=$content[id]"
+		 target="_blank" title="{--CONFIRM_LINK--}">$content[id]</a>]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_IS_NOTIFY--}</strong></td>
+	<td align="center" class="bottom">
+		$content[is_notify]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_mail_normal_active.tpl b/templates/de/html/member/member_mail_normal_active.tpl
new file mode 100644
index 0000000000..20d39fd07e
--- /dev/null
+++ b/templates/de/html/member/member_mail_normal_active.tpl
@@ -0,0 +1,59 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom"><em>{--EMAIL_STATUS_ACTIVE--}</em></td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_mail_normal_admin.tpl b/templates/de/html/member/member_mail_normal_admin.tpl
new file mode 100644
index 0000000000..01be2ba1e9
--- /dev/null
+++ b/templates/de/html/member/member_mail_normal_admin.tpl
@@ -0,0 +1,59 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom"><em>{--EMAIL_STATUS_ADMIN--}</em></td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_mail_normal_deleted.tpl b/templates/de/html/member/member_mail_normal_deleted.tpl
new file mode 100644
index 0000000000..eb35375edf
--- /dev/null
+++ b/templates/de/html/member/member_mail_normal_deleted.tpl
@@ -0,0 +1,59 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom"><em>{--EMAIL_STATUS_DELETED--}</em></td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_mail_normal_new.tpl b/templates/de/html/member/member_mail_normal_new.tpl
new file mode 100644
index 0000000000..2cf90d7b6c
--- /dev/null
+++ b/templates/de/html/member/member_mail_normal_new.tpl
@@ -0,0 +1,59 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom"><em>{--EMAIL_STATUS_NEW--}</em></td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_mail_normal_send.tpl b/templates/de/html/member/member_mail_normal_send.tpl
new file mode 100644
index 0000000000..974321df41
--- /dev/null
+++ b/templates/de/html/member/member_mail_normal_send.tpl
@@ -0,0 +1,62 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom">
+		[<a href="{!URL!}/mailid.php?uid=$content[uid]&amp;mailid=$content[id]"
+		 target="_blank" title="{--CONFIRM_LINK--}">$content[id]</a>]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_mail_normal_temp.tpl b/templates/de/html/member/member_mail_normal_temp.tpl
new file mode 100644
index 0000000000..b4eb5005b5
--- /dev/null
+++ b/templates/de/html/member/member_mail_normal_temp.tpl
@@ -0,0 +1,59 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td colspan="2" align="center" class="member_header bottom2">
+		<strong>{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_1--}$content[id]{--MEMBER_MAIL_NORMAL_DETAILS_TITLE_2--}</strong>
+	</td>
+</tr>
+<tr>
+	<td width="45%" align="center" class="bottom right"><strong>{--CONFIRM_LINK--}:</strong></td>
+	<td width="55%" align="center" class="bottom"><em>{--EMAIL_STATUS_TEMP--}</em></td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[sender]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_SUBJECT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[subject]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TEXT--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[text]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_CATEGORY--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[category]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[timestamp]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_TIME--}:</strong></td>
+	<td align="center" class="bottom">
+		$content[time]
+	</td>
+</tr>
+<tr>
+	<td align="center" class="bottom right"><strong>{--EMAIL_POINTS--}:</strong></td>
+	<td align="center" class="bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center" class="member_footer">
+		<strong>$content[user_status]</strong>
+	</td>
+</tr>
+</table>
+<p></p>
diff --git a/templates/de/html/member/member_unconfirmed_404.tpl b/templates/de/html/member/member_unconfirmed_404.tpl
index cc50d5c742..f08e6fffd0 100644
--- a/templates/de/html/member/member_unconfirmed_404.tpl
+++ b/templates/de/html/member/member_unconfirmed_404.tpl
@@ -1,5 +1,5 @@
 <TR>
-	<TD align="center" class="switch_sw$content[sw] top" colspan="6">
+	<TD align="center" class="switch_sw$content[sw] top" colspan="5">
 		<STRONG class="member_failed large">$content[probl]:</STRONG> $content[data]
 	</TD>
 </TR>
\ No newline at end of file
diff --git a/templates/de/html/member/member_unconfirmed_404_nopoints.tpl b/templates/de/html/member/member_unconfirmed_404_nopoints.tpl
new file mode 100644
index 0000000000..ac30959489
--- /dev/null
+++ b/templates/de/html/member/member_unconfirmed_404_nopoints.tpl
@@ -0,0 +1,5 @@
+<TR>
+	<TD align="center" class="switch_sw$content[sw] top" colspan="4">
+		<STRONG class="member_failed large">$content[probl]:</STRONG> $content[data]
+	</TD>
+</TR>
\ No newline at end of file
diff --git a/templates/de/html/member/member_unconfirmed_row.tpl b/templates/de/html/member/member_unconfirmed_row.tpl
index 2d43be3e3d..bea62b6be5 100644
--- a/templates/de/html/member/member_unconfirmed_row.tpl
+++ b/templates/de/html/member/member_unconfirmed_row.tpl
@@ -1,11 +1,16 @@
-<TR>
-	<TD align="center" class="switch_sw$content[sw] top right">$content[data]</TD>
-	<TD align="center" class="switch_sw$content[sw] top right"><A
-		href="{!URL!}/mailid.php?uid=$content[uid]&amp;$content[type]=$content[data]"
-		target="_blank" title="$content[subj]">$content[subj]</A></TD>
-	<TD align="center" class="switch_sw$content[sw] top right">$content[text]</TD>
-	<TD align="center" class="switch_sw$content[sw] top right">$content[stamp]</TD>
-	<TD align="center" class="switch_sw$content[sw] top right">$content[cat]</TD>
-	<TD align="center" class="switch_sw$content[sw] top">$content[points]
-	{!POINTS!}</TD>
-</TR>
+<tr>
+	<td align="center" class="switch_sw$content[sw] bottom right">
+		[<a href="{!URL!}/mailid.php?uid=$content[uid]&amp;$content[type]=$content[data]"
+		 target="_blank" title="{--CONFIRM_LINK--}">$content[data]</a>]
+	</td>
+	<td align="center" class="switch_sw$content[sw] bottom right">
+		$content[sender]
+	</td>
+	<td align="center" class="switch_sw$content[sw] bottom right">
+		[<a href="{!URL!}/modules.php?module=login&amp;what=unconfirmed&amp;$content[type]=$content[data]">{--EMAIL_DETAILS_LINK--}</a>]
+	</td>
+	<td align="center" class="switch_sw$content[sw] bottom right">$content[stamp]</td>
+	<td align="right" class="switch_sw$content[sw] bottom" style="padding-right:5px">
+		$content[points] {!POINTS!}
+	</td>
+</tr>
diff --git a/templates/de/html/member/member_unconfirmed_row_nopoints.tpl b/templates/de/html/member/member_unconfirmed_row_nopoints.tpl
new file mode 100644
index 0000000000..1879770e27
--- /dev/null
+++ b/templates/de/html/member/member_unconfirmed_row_nopoints.tpl
@@ -0,0 +1,13 @@
+<tr>
+	<td align="center" class="switch_sw$content[sw] bottom right">
+		[<a href="{!URL!}/mailid.php?uid=$content[uid]&amp;$content[type]=$content[data]"
+		 target="_blank" title="{--CONFIRM_LINK--}">$content[data]</a>]
+	</td>
+	<td align="center" class="switch_sw$content[sw] bottom right">
+		$content[sender]
+	</td>
+	<td align="center" class="switch_sw$content[sw] bottom right">
+		[<a href="{!URL!}/modules.php?module=login&amp;what=unconfirmed&amp;$content[type]=$content[data]">{--EMAIL_DETAILS_LINK--}</a>]
+	</td>
+	<td align="center" class="switch_sw$content[sw] bottom">$content[stamp]</td>
+</tr>
diff --git a/templates/de/html/member/member_unconfirmed_table.tpl b/templates/de/html/member/member_unconfirmed_table.tpl
index b0bc75dd64..711e4985c4 100644
--- a/templates/de/html/member/member_unconfirmed_table.tpl
+++ b/templates/de/html/member/member_unconfirmed_table.tpl
@@ -1,17 +1,18 @@
-<TABLE border="0" cellspacing="0" cellpadding="0"
-	class="member_unconfirmed dashed">
-	<TR>
-		<TD class="member_header member_done" align="center" width="30"><STRONG>{--MEMBER_SID--}:</STRONG></TD>
-		<TD class="member_header member_done" align="center" width="145"><STRONG>{--CONFIRM_LINK--}:</STRONG></TD>
-		<TD class="member_header member_done" align="center" width="200"><STRONG>{--EMAIL_TEXT--}:</STRONG></TD>
-		<TD class="member_header member_done" align="center" width="130"><STRONG>{--EMAIL_TIMESTAMP--}:</STRONG></TD>
-		<TD class="member_header member_done" align="center" width="130"><STRONG>{--EMAIL_CATEGORY--}:</STRONG></TD>
-		<TD class="member_header member_done" align="center" width="120"><STRONG>{--EMAIL_POINTS--}:</STRONG></TD>
-	</TR>
-	{!__UNCONFIRMED_ROWS!}
-	<TR>
-		<TD align="right" class="top right" colspan="5"><STRONG>{--POINTS_SUM--}:</STRONG>&nbsp;&nbsp;</TD>
-		<TD align="center" class="top"><STRONG>{!__TOTAL_POINTS!}
-		{!POINTS!}</STRONG></TD>
-	</TR>
-</TABLE>
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="650">
+<tr>
+	<td width="100" class="member_header bottom right" align="center"><strong>{--CONFIRM_LINK2--}:</strong></td>
+	<td width="110" class="member_header bottom right" align="center"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td width="170" class="member_header bottom right" align="center"><strong>{--EMAIL_DETAILS--}:</strong></td>
+	<td width="150" class="member_header bottom right" align="center"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+	<td width="120" class="member_header bottom" align="center"><strong>{--EMAIL_POINTS--}:</strong></td>
+</tr>
+{!__UNCONFIRMED_ROWS!}
+<tr>
+	<td align="right" class="member_footer right" colspan="4" style="padding-right:5px">
+		<strong>{--POINTS_SUM--}:</strong>
+	</td>
+	<td align="right" class="member_footer" style="padding-right:5px">
+		<strong>{!__TOTAL_POINTS!} {!POINTS!}</strong>
+	</td>
+</tr>
+</table>
diff --git a/templates/de/html/member/member_unconfirmed_table_nopoints.tpl b/templates/de/html/member/member_unconfirmed_table_nopoints.tpl
new file mode 100644
index 0000000000..baca9e1d59
--- /dev/null
+++ b/templates/de/html/member/member_unconfirmed_table_nopoints.tpl
@@ -0,0 +1,14 @@
+<table border="0" cellspacing="0" cellpadding="0" class="member_table dashed" width="550">
+<tr>
+	<td width="100" class="member_header bottom right" align="center"><strong>{--CONFIRM_LINK2--}:</strong></td>
+	<td width="120" class="member_header bottom right" align="center"><strong>{--EMAIL_SENDER--}:</strong></td>
+	<td width="180" class="member_header bottom right" align="center"><strong>{--EMAIL_DETAILS--}:</strong></td>
+	<td width="160" class="member_header bottom right" align="center"><strong>{--EMAIL_TIMESTAMP--}:</strong></td>
+</tr>
+{!__UNCONFIRMED_ROWS!}
+<tr>
+	<td class="member_footer seperator" colspan="4">
+		&nbsp;
+	</td>
+</tr>
+</table>