return $filterData;
}
+// Handles click on referral banner
+function FILTER_HANDLE_REFERRER_BANNER_CLICK ($filterData) {
+ // Check required parameters
+ if ((isGetRequestElementSet('user')) && (isGetRequestElementSet('banner'))) {
+ // Update clicks counter...
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_refbanner` SET `clicks`=`clicks`+1 WHERE `id`=%s LIMIT 1",
+ array(bigintval(getRequestElement('banner'))), __FUNCTION__, __LINE__);
+
+ // A line has been updated?
+ if ((!SQL_HASZEROAFFECTED()) && (isGetRequestElementSet('user'))) {
+ // Redirect to the user's referral link
+ redirectToUrl('ref.php?refid=' . bigintval(getRequestElement('user')));
+ } // END - if
+ } // END - if
+
+ // Return filter data
+ return $filterData;
+}
+
+// Filter for handling viewing of a referral banner
+function FILTER_HANDLE_REFERRER_BANNER_VIEW ($filterData) {
+ // Are all required parameters set
+ if ((isGetRequestElementSet('user')) && (isGetRequestElementSet('banner'))) {
+ // For later things... ;-)
+ $result = SQL_QUERY_ESC("SELECT `url` FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE `id`=%s LIMIT 1",
+ array(bigintval(getRequestElement('banner'))), __FUNCTION__, __LINE__);
+
+ // Is there the banner?
+ if (SQL_NUMROWS($result) == 1) {
+ // Load the URL
+ $data = SQL_FETCHARRAY($result);
+
+ // Update counter
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_refbanner` SET `counter`=`counter`+1 WHERE `id`=%s LIMIT 1",
+ array(bigintval(getRequestElement('banner'))), __FUNCTION__, __LINE__);
+
+ // Set header and ...
+ setContentType('image/' . substr($data['url'], -3, 3));
+
+ // Redirect
+ redirectToUrl($data['url'], FALSE);
+ } else {
+ // @TODO No banner found, output some default banner
+ logDebugMessage(__FUNCTION__, __LINE__, 'Banner ' . bigintval(getRequestElement('banner')) . ' not dound.');
+ }
+
+ // Free memory
+ SQL_FREERESULT($result);
+ } else {
+ // Do nothing for now
+ redirectToUrl('modules.php?module=index');
+ }
+}
+
// [EOF]
?>