- // Do we have an entry?
- if (SQL_NUMROWS($result) == 1) {
- // Load userid
- list($ref) = SQL_FETCHROW($result);
- } else {
- // So do we have a userid?
- $result2 = SQL_QUERY_ESC("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`='%s' LIMIT 1",
- array($ref), __FILE__, __LINE__);
-
- // Do we have an entry?
- if (SQL_NUMROWS($result2) == 0) {
- // No entry, so no referal id
- $ref = 0;
- } // END - if
-
- // Free result
- SQL_FREERESULT($result2);
- }
-
- // Free result
- SQL_FREERESULT($result);
- } // END - if
-
- // Also edit this 0 !
- if (empty($ref)) $ref = 0;
-
- // Update session
- setSession('refid', $ref);
-
- // We have an refid here. So we simply add it
- $URL .= bigintval($ref);
-
- // Is the refid valid?
- if ($ref > 0) {
- // Update ref counter
- SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `ref_clicks`=`ref_clicks`+1 WHERE `userid`=%s LIMIT 1",
- array(bigintval($ref)), __FILE__, __LINE__);
- } // END - if
+// No refid by default
+$url = 'modules.php?module=index';
+
+// Check for determined referral id
+if ((isExtensionActive('user')) && (isValidReferralId()) && (isValidId(determineReferralId()))) {
+ // Run filter chain for updating referral data
+ runFilterChain('update_referral_data');
+
+ // Base URL for redirection
+ switch (getConfig('refid_target')) {
+ case 'register':
+ $url = 'modules.php?module=index&what=register';
+ break;
+
+ case 'index':
+ $url = 'modules.php?module=index';
+ break;
+
+ default: // Is not valid
+ reportBug(__FILE__, __LINE__, 'Invalid refid target ' . getConfig('refid_target') . ' detected.');
+ break;
+ } // END - switch