CSS variable set in all root scripts
[mailer.git] / ref.php
1 <?php
2 /************************************************************************
3  * MXChange v0.2.1                                    Start: 10/13/2003 *
4  * ===============                              Last change: 09/04/2004 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : ref.php                                          *
8  * -------------------------------------------------------------------- *
9  * Short description : Redirection for the referal link                 *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Weiterleitungsscript fuer die Referal-Links      *
12  * -------------------------------------------------------------------- *
13  *                                                                      *
14  * -------------------------------------------------------------------- *
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
16  * For more information visit: http://www.mxchange.org                  *
17  *                                                                      *
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.                                  *
22  *                                                                      *
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.                         *
27  *                                                                      *
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,               *
31  * MA  02110-1301  USA                                                  *
32  ************************************************************************/
33
34 // Load security stuff here (Oh, I hope this is not unsecure? Am I paranoia??? ;-) )
35 require("inc/libs/security_functions.php");
36
37 // Init "action" and "what"
38 global $what, $action;
39 $GLOBALS['what'] = ""; $GLOBALS['action'] = "";
40
41 // Set module
42 $GLOBALS['module'] = "ref"; $CSS = -1;
43
44 // Load the required file(s)
45 require("inc/config.php");
46
47 // Redirect only to registration page when this script is installed
48 if (isBooleanConstantAndTrue('mxchange_installed')) {
49         // Base URL for redirection
50         switch (getConfig('refid_target'))
51         {
52         case "register":
53                 $URL = "modules.php?module=index&amp;what=register&amp;refid=";
54                 break;
55
56         case "index":
57                 $URL = "index.php?refid=";
58                 break;
59         }
60
61         // Get referal ID from ref or refid variable
62         if (!empty($_GET['ref']))        $ref = secureString($_GET['ref']);
63          elseif (!empty($_GET['refid'])) $ref = secureString($_GET['refid']);
64
65         if (!empty($ref)) {
66                 // Test if nickname or numeric id
67                 if ($ref != "".($ref + 0)."") {
68                         if (EXT_IS_ACTIVE("nickname")) {
69                                 // Nickname in URL, so load the ID
70                                 $result = SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE nickname='%s' LIMIT 1",
71                                         array($ref), __FILE__, __LINE__);
72
73                                 // Load userid
74                                 list($ref) = SQL_FETCHROW($result);
75
76                                 // Free result
77                                 SQL_FREERESULT($result);
78                         } else {
79                                 // Invalid request!
80                                 $ref = 0;
81                         }
82                 } // END - if
83
84                 // Also edit this 0 !
85                 if (empty($ref)) $ref = 0;
86
87                 // Update session
88                 set_session('refid', $ref);
89
90                 // We have an refid here. So we simply add it
91                 $URL .= bigintval($ref);
92
93                 // Is the refid valid?
94                 if ($ref > 0) {
95                         // Update ref counter
96                         SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET ref_clicks=ref_clicks+1 WHERE userid=%s LIMIT 1",
97                                 array(bigintval($ref)), __FILE__, __LINE__);
98                 } // END - if
99         } else {
100                 // No refid and we add our refid (don't forget to set $def_refid!)
101                 $URL = "index.php";
102         }
103
104         // Load the URL
105         LOAD_URL($URL);
106 } else {
107         // You have to install first!
108         LOAD_URL("install.php");
109 }
110
111 // Really all done here... ;-)
112 ?>