Fixes for member registration (IP lock) and rewrites for remote IP address
authorRoland Häder <roland@mxchange.org>
Thu, 4 Mar 2010 18:42:44 +0000 (18:42 +0000)
committerRoland Häder <roland@mxchange.org>
Thu, 4 Mar 2010 18:42:44 +0000 (18:42 +0000)
15 files changed:
inc/db/lib-mysql3.php
inc/language/de.php
inc/libs/register_functions.php
inc/libs/theme_functions.php
inc/libs/uberwach_functions.php
inc/wrapper-functions.php
templates/de/emails/admin/admin_sponsor_pending.tpl
templates/de/emails/admin/admin_sponsor_reg.tpl
templates/de/emails/sponsor/sponsor_activate.tpl
templates/de/emails/sponsor/sponsor_confirm.tpl
templates/de/emails/sponsor/sponsor_lost.tpl
templates/de/emails/sponsor/sponsor_pending.tpl
templates/de/emails/sponsor/sponsor_unlock.tpl
templates/de/html/theme/theme_select_form.tpl
templates/de/html/uberwach/uberwach_snippet.tpl

index c7cc26c..1ef2a79 100644 (file)
@@ -88,7 +88,7 @@ function SQL_QUERY ($sqlString, $F, $L) {
                or addFatalMessage(__FUNCTION__, __LINE__, $F . ' (' . $L . '):' . mysql_error() . '<br />
 Query string:<br />
 ' . $sqlString);
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sql=' . $sqlString . ',numRows=' . SQL_NUMROWS($result) . ',affected=' . SQL_AFFECTEDROWS());
+       /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sql=' . $sqlString . ',numRows=' . SQL_NUMROWS($result) . ',affected=' . SQL_AFFECTEDROWS());
 
        // Calculate query time
        $queryTime = microtime(true) - $querytimeBefore;
index b4acd61..dca70d0 100644 (file)
@@ -798,7 +798,7 @@ addMessages(array(
        'HIGHER' => "H&ouml;her",
        'LOWER' => "Niedriger",
        'MEMBER_SETTINGS_SAVED' => "Einstellungen gespeichert.",
-       'REMOTE_ADDR_TIMEOUT' => "Ein Mitglied ist mit Ihrer IP-Nummer <u>{?REMOTE_ADDR?}</u> bereits registriert! Bitte kontaktieren Sie uns, wenn dies ein Fehler sein sollte.",
+       'REMOTE_ADDR_TIMEOUT' => "Ein Mitglied ist mit Ihrer IP-Nummer <u>{%server,remote_addr%}</u> bereits registriert! Bitte kontaktieren Sie uns, wenn dies ein Fehler sein sollte.",
        'IP_TIMEOUT' => "IP-Zeitsperre",
        'ADMIN_PAYOUT_NOT_INSTALLED' => "payout-Erweiterung nicht installiert.",
        'ADMIN_WERNIS_NOT_INSTALLED' => "wernis-Erweiterung nicht installiert.",
index 8dc9420..5a50b7d 100644 (file)
@@ -223,11 +223,18 @@ function isRegistrationDataComplete () {
        } // END - if
 
        // Do this check only when no admin is logged in
-       foreach (postRequestParameter('cat') as $id => $answer) {
-               if ($answer == 'Y') $GLOBALS['register_selected_cats']++;
-       } // END - foreach
+       if (is_array(postRequestParameter('cat'))) {
+               // Only continue with array
+               foreach (postRequestParameter('cat') as $id => $answer) {
+                       // Is this category choosen?
+                       if ($answer == 'Y') {
+                               $GLOBALS['register_selected_cats']++;
+                       } // END - if
+               } // END - foreach
+       } // END - if
 
        // Enougth categories selected?
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isOkay='.intval($isOkay).',selected='.$GLOBALS['register_selected_cats'].'/'.getConfig('least_cats'));
        $isOkay = (($isOkay) && ($GLOBALS['register_selected_cats'] >= getConfig('least_cats')));
 
        if ((postRequestParameter('email') != '!') && (getConfig('check_double_email') == 'Y')) {
@@ -239,13 +246,16 @@ function isRegistrationDataComplete () {
        } // END - if
 
        // Check for IP timeout?
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isOkay='.intval($isOkay));
        if ((!isAdmin()) && (getConfig('ip_timeout') > 0)) {
                // Check his IP number
-               $GLOBALS['registration_ip_timeout'] = (countSumTotalData(detectRemoteAddr()  , 'user_data', 'userid', 'REMOTE_ADDR', true, " AND (`joined` > (UNIX_TIMESTAMP() - {?ip_timeout?}) OR `last_update` > (UNIX_TIMESTAMP() - {?ip_timeout?}))") == 1);
-               $isOkay = false;
+               $GLOBALS['registration_ip_timeout'] = (countSumTotalData(detectRemoteAddr()  , 'user_data', 'userid', 'REMOTE_ADDR', true, " AND ((UNIX_TIMESTAMP() - `joined`) < {?ip_timeout?} OR (UNIX_TIMESTAMP() - `last_update`) < {?ip_timeout?}) LIMIT 1") == 1);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isOkay='.intval($isOkay).',timeout='.intval($GLOBALS['registration_ip_timeout']));
+               $isOkay = (($isOkay) && (!$GLOBALS['registration_ip_timeout']));
        } // END - if
 
        // Return result
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isOkay='.intval($isOkay));
        return $isOkay;
 }
 
index a1b5630..2fb7de3 100644 (file)
@@ -320,6 +320,9 @@ function FILTER_HANDLE_THEME_CHANGE () {
 
                // Add new theme
                addIncludeToPool('theme', sprintf("theme/%s/theme.php", $newTheme));
+
+               // Redirect to same URL
+               redirectToRequestUri();
        } // END - if
 }
 
index 6977d46..ece6ad2 100644 (file)
@@ -44,9 +44,6 @@ if (!defined('__SECURITY')) {
 
 // Loads the snippet for the uberwach action
 function loadUberwachSnippet () {
-       // Detect IP address
-       $content['REMOTE_ADDR'] = detectRemoteAddr();
-
        // Simply load the template here
        $GLOBALS['page_footer'] .= loadTemplate('uberwach_snippet', true, $content);
 }
index c56adab..055cf55 100644 (file)
@@ -671,7 +671,18 @@ function addPointsDirectly ($subject, $userid, $points) {
 // Wrapper function to redirect from member-only modules to index
 function redirectToIndexMemberOnlyModule () {
        // Do the redirect here
-       redirectToUrl('modules.php?module=index&amp;code=' . getCode('MODULE_MEM_ONLY') . '&amp;mod=' . getModule());
+       redirectToUrl('modules.php?module=index&code=' . getCode('MODULE_MEM_ONLY') . '&mod=' . getModule());
+}
+
+// Wrapper function to redirect to current URL
+function redirectToRequestUri () {
+       redirectToUrl(basename(detectRequestUri()));
+}
+
+// Wrapper function to redirect to de-refered URL
+function redirectToDereferedUrl ($URL) {
+       // Redirect to to
+       redirectToUrl(generateDerefererUrl($URL));
 }
 
 // Wrapper function for checking if extension is installed and newer or same version
@@ -725,15 +736,6 @@ function isDemoModeActive () {
        return ((isExtensionActive('demo')) && (getSession('admin_login') == 'demo'));
 }
 
-// Wrapper function to redirect to de-refered URL
-function redirectToDereferedUrl ($URL) {
-       // De-refer the URL
-       $URL = generateDerefererUrl($URL);
-
-       // Redirect to to
-       redirectToUrl($URL);
-}
-
 // Getter for PHP caching value
 function getPhpCaching () {
        return $GLOBALS['php_caching'];
index 0c98199..2578303 100644 (file)
@@ -1,6 +1,6 @@
 Hallo Administrator,
 
-soeben hat ein neuer Sponsor seine EMail-Adresse best&auml;tigt. Dies wurde von der IP-Nummer $REMOTE_ADDR aus durchgefuehrt.
+soeben hat ein neuer Sponsor seine EMail-Adresse best&auml;tigt. Dies wurde von der IP-Nummer {%server,remote_addr%} aus durchgefuehrt.
 
 Bitte setzen Sie sich mit ihm in Verbindung (die EMail-Adresse finden Sie weiter unten) und teilen Sie ihm Ihre
 Kontoverbindung mit!
index b981fa4..83236fd 100644 (file)
@@ -1,6 +1,6 @@
 Hallo Administrator,
 
-soeben hat sich ein neuer Sponsor zu unserem {?mt_word?} mit der IP-Nummer $REMOTE_ADDR angemeldet. Er wird
+soeben hat sich ein neuer Sponsor zu unserem {?mt_word?} mit der IP-Nummer {%server,remote_addr%} angemeldet. Er wird
 als naechstes seine EMail-Adresse best&auml;tigen.
 
 Folgende Daten wurden dabei &uuml;bermittelt:
index b93459f..68b5c14 100644 (file)
@@ -1,6 +1,6 @@
 Hallo $content[gender] $content[surname] $content[family],
 
-Sie (oder ein anderer mit der IP-Nummer $REMOTE_ADDR) haben soeben Ihren Best&auml;tigungslink erneut angefordert.
+Sie (oder ein anderer mit der IP-Nummer {%server,remote_addr%}) haben soeben Ihren Best&auml;tigungslink erneut angefordert.
 
 Hier ist Ihr Link:
 ------------------------------
index 65d9cc1..d2c36f4 100644 (file)
@@ -1,6 +1,6 @@
 Hallo $content[gender] $content[surname] $content[family],
 
-Sie (oder ein anderer mit der IP-Nummer $REMOTE_ADDR) haben sich soeben als Sponsor zu unserem {?mt_word?} angemeldet. Sie haben somit den ersten Schritt zu uns getan wof&uuml;r wir uns sehr bedanken.
+Sie (oder ein anderer mit der IP-Nummer {%server,remote_addr%}) haben sich soeben als Sponsor zu unserem {?mt_word?} angemeldet. Sie haben somit den ersten Schritt zu uns getan wof&uuml;r wir uns sehr bedanken.
 
 Als naechstes muessen Sie Ihre EMail-Adresse best&auml;tigen. Dieser Schritt ist erforderlich, um sicher zu gehen, dass auch kein anderer Sie angemeldet hat.
 
index 2737d41..f55d91f 100644 (file)
@@ -1,6 +1,6 @@
 Hallo $content[gender] $content[surname] $content[family],
 
-Sie (oder ein anderer mit der IP-Nummer $REMOTE_ADDR) haben soeben ein neues Passwort angefordert.
+Sie (oder ein anderer mit der IP-Nummer {%server,remote_addr%}) haben soeben ein neues Passwort angefordert.
 
 Hier sind Ihre neuen Zugangsdaten:
 ------------------------------
index 2795737..0765398 100644 (file)
@@ -1,6 +1,6 @@
 Hallo $content[gender] $content[surname] $content[family],
 
-Sie haben soeben Ihre EMail-Adresse best&auml;tigt. Dies wurde von der IP-Nummer $REMOTE_ADDR aus durchgefuehrt.
+Sie haben soeben Ihre EMail-Adresse best&auml;tigt. Dies wurde von der IP-Nummer {%server,remote_addr%} aus durchgefuehrt.
 
 Wir werden uns bald mit Ihnen in Verbindung setzen und Ihnen unsere Kontodaten mitteilen. Zu unserer Sicherheit haben wir diese hier nicht aufgelistet. Bitte notieren Sie sich vorab folgende Daten:
 
index b93459f..68b5c14 100644 (file)
@@ -1,6 +1,6 @@
 Hallo $content[gender] $content[surname] $content[family],
 
-Sie (oder ein anderer mit der IP-Nummer $REMOTE_ADDR) haben soeben Ihren Best&auml;tigungslink erneut angefordert.
+Sie (oder ein anderer mit der IP-Nummer {%server,remote_addr%}) haben soeben Ihren Best&auml;tigungslink erneut angefordert.
 
 Hier ist Ihr Link:
 ------------------------------
index 4e371b8..691b7bf 100644 (file)
@@ -3,5 +3,5 @@
                $content[selection]
        </select>
        <br />
-       <input type="submit" name="ok" class="guest_submit" value="{--CHANGE_THEME--}" />
+       <input type="submit" name="theme_change" class="guest_submit" value="{--CHANGE_THEME--}" />
 </form>
index 4050da7..f3fd796 100644 (file)
@@ -1,7 +1,7 @@
 <!-- Einbauanleitung: http://www.uberwach.de/code-snippet.html -->
 <!-- start uberwach code :: do not change :: v2.2.2 -->
 <script type="text/javascript">/* <![CDATA[ */
-au_ip='$content[REMOTE_ADDR]';
+au_ip='{%server,remote_addr%}';
 /* ]]> */</script>
 <script src="{%url=js.php?js=uberwach%}{%ext,version=uberwach%}" type="text/javascript"></script>
 <noscript><a href="http://www.uberwach.de/" rel="external" target="_blank" title="Aktion: &Uuml;berwach!">?mg src="http://www.uberwach.de/wanze.gif" alt="Aktion UBERWACH!" width="80" height="15" border="0" /></a></noscript>