X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=ref.php;h=700491851a4bff59c4f262a928dfac4165e3463c;hp=451bb7eaa36c123940826f0db573e6b44c6062b6;hb=e8ce566b7f77e4f96fa8a6d6ced4b8f5053c447a;hpb=64c8349613addc3da2242c5cd6b99d64e3fb5f8e diff --git a/ref.php b/ref.php index 451bb7eaa3..700491851a 100644 --- a/ref.php +++ b/ref.php @@ -46,55 +46,50 @@ $GLOBALS['output_mode'] = -1; // Load the required file(s) require('inc/config-global.php'); -// Base URL for redirection -switch (getConfig('refid_target')) { - case 'register': - $URL = 'modules.php?module=index&what=register&refid='; - break; - - case 'index': - $URL = 'index.php?refid='; - break; -} - -// No refid and we add our refid (don't forget to set $def_refid!) +// No refid by default $URL = 'index.php'; -// Get referal ID from ref or refid variable -if (isGetRequestElementSet('ref')) $ref = getRequestElement('ref'); - elseif (isGetRequestElementSet('refid')) $ref = getRequestElement('refid'); - -if (!empty($ref)) { - // Invalid request by default - $ref = 0; - +if (determineReferalId() > 0) { // Test if nickname or numeric id if (isExtensionActive('nickname')) { - // Nickname in URL, so load the ID - $result = SQL_QUERY_ESC("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `nickname`='%s' LIMIT 1", - array($ref), __FILE__, __LINE__); - - // Load userid - list($ref) = SQL_FETCHROW($result); - - // Free result - SQL_FREERESULT($result); + // Nickname in URL, so load the id + fetchUserData(determineReferalId(), 'nickname'); + + // Do we have an entry? + if (isUserDataValid()) { + // Load userid + $GLOBALS['refid'] = getUserData('userid'); + } else { + // So do we have a userid? + fetchUserData(determineReferalId()); + + // Do we have an entry? + if (!isUserDataValid()) { + // No entry, so no referal id + $GLOBALS['refid'] = getConfig('def_refid'); + } // END - if + } } // 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); + setSession('refid', determineReferalId()); // Is the refid valid? - if ($ref > 0) { + if (determineReferalId() > 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__); + array(determineReferalId()), __FILE__, __LINE__); + + // Base URL for redirection + switch (getConfig('refid_target')) { + case 'register': + $URL = 'modules.php?module=index&what=register'; + break; + + case 'index': + $URL = 'index.php'; + break; + } // END - switch } // END - if } // END - if