2 /************************************************************************
3 * MXChange v0.2.1 Start: 10/13/2003 *
4 * =============== Last change: 09/04/2004 *
6 * -------------------------------------------------------------------- *
8 * -------------------------------------------------------------------- *
9 * Short description : Redirection for the referal link *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Weiterleitungsscript fuer die Referal-Links *
12 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
18 * This program is free software; you can redistribute it and/or modify *
19 * it under the terms of the GNU General Public License as published by *
20 * the Free Software Foundation; either version 2 of the License, or *
21 * (at your option) any later version. *
23 * This program is distributed in the hope that it will be useful, *
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
26 * GNU General Public License for more details. *
28 * You should have received a copy of the GNU General Public License *
29 * along with this program; if not, write to the Free Software *
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
32 ************************************************************************/
34 // Load security stuff here (Oh, I hope this is not unsecure? Am I paranoia??? ;-) )
35 require("inc/libs/security_functions.php");
37 // Init "action" and "what"
38 $GLOBALS['what'] = "";
39 $GLOBALS['action'] = "";
42 $GLOBALS['module'] = "ref";
43 $GLOBALS['output_mode'] = -1;
45 // Load the required file(s)
46 require("inc/config.php");
48 // Redirect only to registration page when this script is installed
49 if (isBooleanConstantAndTrue('mxchange_installed')) {
50 // Base URL for redirection
51 switch (getConfig('refid_target'))
54 $URL = "modules.php?module=index&what=register&refid=";
58 $URL = "index.php?refid=";
62 // Get referal ID from ref or refid variable
63 if (REQUEST_ISSET_GET(('ref'))) $ref = secureString(REQUEST_GET('ref'));
64 elseif (REQUEST_ISSET_GET(('refid'))) $ref = secureString(REQUEST_GET('refid'));
67 // Test if nickname or numeric id
68 if ($ref != "".($ref + 0)."") {
69 if (EXT_IS_ACTIVE("nickname")) {
70 // Nickname in URL, so load the ID
71 $result = SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE nickname='%s' LIMIT 1",
72 array($ref), __FILE__, __LINE__);
75 list($ref) = SQL_FETCHROW($result);
78 SQL_FREERESULT($result);
86 if (empty($ref)) $ref = 0;
89 set_session('refid', $ref);
91 // We have an refid here. So we simply add it
92 $URL .= bigintval($ref);
94 // Is the refid valid?
97 SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET ref_clicks=ref_clicks+1 WHERE userid=%s LIMIT 1",
98 array(bigintval($ref)), __FILE__, __LINE__);
101 // No refid and we add our refid (don't forget to set $def_refid!)
108 // You have to install first!
109 LOAD_URL("install.php");
112 // Really all done here... ;-)