X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=ref.php;h=700491851a4bff59c4f262a928dfac4165e3463c;hp=08398c7efc55031c5db1a0cdd9769a4ac7c25f43;hb=47a45ea9324de396816a9af2d4d12ae8a0d248a7;hpb=d1637dad0b2ca0e5fb411ee0843f01bfb4cc94e0 diff --git a/ref.php b/ref.php index 08398c7efc..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 * @@ -46,63 +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; -} +// No refid by default +$URL = 'index.php'; -// 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'); - -if (!empty($ref)) { +if (determineReferalId() > 0) { // Test if nickname or numeric id - 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__); - - // Load userid - list($ref) = SQL_FETCHROW($result); - - // Free result - SQL_FREERESULT($result); - } else { - // Invalid request! - $ref = 0; - } - - // Also edit this 0 ! - if (empty($ref)) $ref = 0; + if (isExtensionActive('nickname')) { + // 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 // 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);