Bug 2658 - [Campaign Manager] - Store url when an ad is clicked/printed
Change-Id: I46721477af789952ed2642320f23bccaa6e499c3
Signed-off-by: Christopher Guindon <chris.guindon@eclipse-foundation.org>
diff --git a/redirector.php b/redirector.php
index 0d08249..33ed6c3 100644
--- a/redirector.php
+++ b/redirector.php
@@ -1,125 +1,29 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2007-2013 Eclipse Foundation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+<?php
+/**
+ * Copyright (c) 2007, 2013, 2018, 2019 Eclipse Foundation.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
*
* Contributors:
- * Denis Roy (Eclipse Foundation)- initial implementation
- *******************************************************************************/
-
-
- #*****************************************************************************
- #
- # redirector.php
- #
- # Author: Denis Roy
- # Date: 2007-09-07
- #
- # Description: redirector for campaign URL tracking
- #
- #
- #*****************************************************************************
+ * Denis Roy (Eclipse Foundation) - initial implementation
+ * Christopher Guindon (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
- function showErrorPage() {
- require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
- require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
- $App = new App(); $Nav = new Nav(); $Menu = new Menu();
-
- $html = '<div id="maincontent">
- <div id="midcolumn">
- <h1>Expired Link</h1>
- <p> There was an error processing this link. It is likely you are following an old link to an expired campaign activity. For example,
- you may have clicked on a link to a survey that is now closed or to a special offer that is no longer applicable. If you believe
- this link should work, please contact the source of the link. While you are here, please browse some of our website by
- clicking on the appropriate tab at the top of the page.
- </p>
-
- <hr class="clearer" />
- </div>
- </div>';
- $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
- }
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/ads/redirector.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+$App = new App();
+$ts = gmdate("D, d M Y H:i:s") . " GMT";
+header("Cache-Control: no-cache, must-revalidate");
+header("Pragma: no-cache");
+header("Last-Modified: ". $ts);
+header("Expires:" . $ts);
-
-
- require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
- require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php";
- $App = new App();
-
- # get the incoming parameters
- # and Making sure the $_TAG is always uppercase
- $_TAG = strtoupper($App->getHTTPParameter("tag", "GET"));
-
- if(strlen($_TAG) < 1) {
- # error
- # header("Location: /");
- showErrorPage();
- }
-
-
- $x = stripos($_TAG, '@');
- if ( $x !== FALSE) {
- $_SUBTAG = substr($_TAG, $x + 1);
- $_TAG = substr($_TAG, 0, $x);
- }
-
- # echo 'SUBTAG:' . $_SUBTAG . ' TAG:' . $_TAG . '<br>';
-
- # strip potentially bad characters from file
- if ($_SUBTAG != "") $_SUBTAG = preg_replace('/["\'?%$#@!;*&]/i', '', $_SUBTAG);
- $_TAG = preg_replace('/["\'?%$#@!;*&]/i', '', $_TAG);
-
-
-
-
-
- # Connect to databases
- $dbc_RW = new DBConnectionRW();
- $dbh_RW = $dbc_RW->connect();
-
-
- $SQL = "SELECT TargetUrl FROM Campaigns WHERE CampaignKey = " . $App->returnQuotedString($_TAG) . " AND DateExpires > CURDATE()";
- $rs = mysql_query($SQL, $dbh_RW);
-
- if($myrow = mysql_fetch_assoc($rs)) {
- # redirect the browser now
- if($_SUBTAG != "") {
- header("Location: " . $myrow['TargetUrl'] . "?" . $_SUBTAG);
- }
- else {
- header("Location: " . $myrow['TargetUrl']);
- }
-
- # track the click
- # Do a reverse lookup on the client IP
- $client_hostname = @gethostbyaddr($_SERVER['REMOTE_ADDR']) ;
- $SQL = "INSERT /* /go/redirector.php */ INTO CampaignClicks (
- ClickID,
- CampaignKey,
- SubKey,
- HostName,
- TimeClicked) VALUES (
- NULL,
- " . $App->returnQuotedString($_TAG) . ",
- " . $App->returnQuotedString($_SUBTAG) . ",
- " . $App->returnQuotedString($client_hostname) . ",
- NOW())";
-
- mysql_query($SQL, $dbh_RW);
- }
- else {
- # error finding Campaign
- #header("Location: /");
- showErrorPage();
- }
-
- $dbc_RW->disconnect(); # disconnects all pending DB connections
- $rs = null;
- $dbh_RW = null;
- $dbc_RW = null;
-
-?>
\ No newline at end of file
+$Redirector = new Redirector();
+$Redirector->setTags($App->getHTTPParameter("tag", "GET"));
+$Redirector->setImpressionId($App->getHTTPParameter("impression_id", "GET"));
+$Redirector->redirect();
\ No newline at end of file