X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=ref.php;h=700491851a4bff59c4f262a928dfac4165e3463c;hp=527d4e9ffc59a7dd6f313dfcbb533b9bde24cce1;hb=b9edcfb00bb14c7b53b107ff5b1290841340b434;hpb=0fd6858b423d41e7eee9ffa3d5138d318e08cc1c diff --git a/ref.php b/ref.php index 527d4e9ffc..700491851a 100644 --- a/ref.php +++ b/ref.php @@ -17,7 +17,7 @@ * Needs to be in all Files and every File needs "svn propset * * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -39,10 +39,6 @@ // Load security stuff here require('inc/libs/security_functions.php'); -// Init "action" and "what" -$GLOBALS['what'] = ''; -$GLOBALS['action'] = ''; - // Set module $GLOBALS['module'] = 'ref'; $GLOBALS['output_mode'] = -1; @@ -50,65 +46,52 @@ $GLOBALS['output_mode'] = -1; // Load the required file(s) require('inc/config-global.php'); -// Redirect only to registration page when this script is installed -if (!isInstalled()) { - // You have to install first! - redirectToUrl('install.php'); -} // END - if - -// 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; -} - -// Get referal ID from ref or refid variable -if (REQUEST_ISSET_GET(('ref'))) $ref = REQUEST_GET('ref'); -elseif (REQUEST_ISSET_GET(('refid'))) $ref = REQUEST_GET('refid'); +// No refid by default +$URL = 'index.php'; -if (!empty($ref)) { +if (determineReferalId() > 0) { // Test if nickname or numeric id - 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", - array($ref), __FILE__, __LINE__); + if (isExtensionActive('nickname')) { + // Nickname in URL, so load the id + fetchUserData(determineReferalId(), 'nickname'); + // Do we have an entry? + if (isUserDataValid()) { // Load userid - list($ref) = SQL_FETCHROW($result); - - // Free result - SQL_FREERESULT($result); + $GLOBALS['refid'] = getUserData('userid'); } else { - // Invalid request! - $ref = 0; + // 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__); + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `ref_clicks`=`ref_clicks`+1 WHERE `userid`=%s LIMIT 1", + 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 -} else { - // No refid and we add our refid (don't forget to set $def_refid!) - $URL = 'index.php'; -} +} // END - if // Load the URL redirectToUrl($URL);