blob: 2affb4bf729c28af4861f7c242aaa8bb1c4cd2f4 [file] [log] [blame]
<?php
/**
* Copyright (c) 2015, 2018 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:
* Eric Poirier (Eclipse Foundation) - initial API and implementation
* Christopher Guindon (Eclipse Foundation)
*
* SPDX-License-Identifier: EPL-2.0
*/
require_once(realpath(dirname(__FILE__) . "/../../system/app.class.php"));
require_once(realpath(dirname(__FILE__) . "/../../system/session.class.php"));
class Campaign{
protected $Friend = NULL;
protected $App = NULL;
/**
* What state the user is in
* (create, delete, change, not-committer)
* @var string
* */
protected $state = '';
/**
* What page the user is viewing
* @var string
* */
protected $page = '';
/**
* Name of campaign
* @var string
* */
private $campaign_name = "";
/**
* Group of campaign
* @var string
* */
private $campaign_group = "";
/**
* Target URL of campaign
* @var string
* */
private $campaign_target = "";
/**
* End date of campaign
* @var string
* */
private $campaign_end_date = "";
/**
* User ID
* @var string
* */
private $campaign_portal_ID = "";
/**
* Confirmation of delete campaign
* @var string
* */
private $campaign_delete = "";
/**
* Confirmation of delete campaign
* @var bool
* */
private $campaign_confirm_delete = "";
/**
* View Campaign Clicks
* @var string
* */
private $campaign_view_clicks = "";
/**
* Max number of clicks from a campaign
* @var string
* */
private $campaign_max_clicks = "";
/**
* New URL for an existing Campaign
* @var string
* */
private $campaign_new_url = "";
/**
* New DATE for an existing Campaign
* @var string
* */
private $campaign_new_date = "";
/**
* New GROUP for an existing Campaign
* @var string
* */
private $campaign_new_group = "";
/**
* The Campaign ID to which the new data will be assigned to
* @var string
* */
private $campaign_new_clicks = "";
public function __construct() {
$this->App = new App();
// Require login for this page.
$Session = $this->App->useSession(true);
$this->Friend = $Session->getFriend();
// Get what state the user is in right now
// Possible states: create, delete, change, view-campaigns, view-clicks
// Define the state
$this->state = filter_var($this->App->getHTTPParameter('action_state', 'POST'), FILTER_SANITIZE_STRING);
// Define the page
$this->page = filter_var($this->App->getHTTPParameter('page', 'POST'), FILTER_SANITIZE_STRING);
// Determine if the user is part of the staff
if(!$this->Friend->checkUserIsFoundationStaff()) {
header("HTTP/1.1 403 Forbidden");
exit;
}
// Create New Campaign
$this->setCampaignName($this->App->getHTTPParameter("campaignName", "POST"));
$this->setCampaignGroup($this->App->getHTTPParameter("campaignGroup", "POST"));
$this->setCampaignTarget($this->App->getHTTPParameter("campaignTarget", "POST"));
$this->setCampaignEndDate($this->App->getHTTPParameter("campaignEndDate", "POST"));
$this->setCampaignPortalID($this->App->getHTTPParameter("campaignPortalID", "POST"));
// View Campaigns
if($this->App->getHTTPParameter("confirmCDelete", "POST")) {
$this->setCampaignConfirmDelete($this->App->getHTTPParameter("campaignConfirmDelete", "POST"));
}
$this->setCampaignDelete($this->App->getHTTPParameter("campaignDelete", "POST"));
$this->setCampaignViewClicks($this->App->getHTTPParameter("campaignViewClicks", "POST"));
$this->setCampaignMaxClicks($this->App->getHTTPParameter("campaignMaxClicks", "POST"));
// Update Campaign URL and/or Date
$this->setCampaignNewUrl($this->App->getHTTPParameter("campaignNewURL", "POST"));
$this->setCampaignNewDate($this->App->getHTTPParameter("campaignNewDATE", "POST"));
$this->setCampaignNewGroup($this->App->getHTTPParameter("campaignNewGROUP", "POST"));
$this->setCampaignNewClicks($this->App->getHTTPParameter("campaignNewClicks", "POST"));
}
/**
* SETTERS
*
* Set the Campaign Name
* @param string
* */
public function setCampaignName($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_name = $_val;
}
/**
* Set the Campaign Group
* @param string
* */
public function setCampaignGroup($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_group = $_val;
}
/**
* Set the Campaign Target URL
* @param string
* */
public function setCampaignTarget($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_target = $_val;
}
/**
* Set the Campaign End Date
* @param string
* */
public function setCampaignEndDate($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_end_date = $_val;
}
/**
* Set the User ID
* @param string
* */
public function setCampaignPortalID($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_portal_ID = $_val;
}
/**
* Set the Confirmation of delete for a campaign
* @param string
* */
public function setCampaignDelete($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_delete = $_val;
}
/**
* Set the Confirmation of delete for a campaign
* @param bool
* */
public function setCampaignConfirmDelete($_val) {
if(!empty($_val)) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_confirm_delete = $_val;
}
}
/**
* Set the View Campaign clicks
* @param string
* */
public function setCampaignViewClicks($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_view_clicks = $_val;
}
/**
* Set the Max number of clicks
* @param string
* */
public function setCampaignMaxClicks($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_max_clicks = $_val;
}
/**
* Set the new URL for a campaign
* @param string
* */
public function setCampaignNewUrl($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_new_url = $_val;
}
/**
* Set the new DATE for a campaign
* @param string
* */
public function setCampaignNewDate($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_new_date = $_val;
}
/**
* Set the new GROUP for a campaign
* @param string
* */
public function setCampaignNewGroup($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_new_group = $_val;
}
/**
* Set the Campaign ID for which the new data will be assigned to
* @param string
* */
public function setCampaignNewClicks($_val) {
$_val = filter_var($_val , FILTER_SANITIZE_STRING);
$this->campaign_new_clicks = $_val;
}
/**
* GETTERS
*
* Get the Campaign Name
* @param string
* */
public function getCampaignName() {
return $this->campaign_name;
}
/**
* Get the Campaign Group
* @param string
* */
public function getCampaignGroup() {
return $this->campaign_group;
}
/**
* Get the Campaign Targert URL
* @param string
* */
public function getCampaignTarget() {
return $this->campaign_target;
}
/**
* Get the Campaign End Date
* @param string
* */
public function getCampaignEndDate() {
return $this->campaign_end_date;
}
/**
* Get the user ID
* @param string
* */
public function getCampaignPortalID() {
return $this->campaign_portal_ID;
}
/**
* Get the confirmation of delete for a campaign
* @param string
* */
public function getCampaignDelete() {
return $this->campaign_delete;
}
/**
* Get the confirmation of delete for a campaign
* @param bool
* */
public function getCampaignConfirmDelete() {
return $this->campaign_confirm_delete;
}
/**
* Get the View Campaign Clicks
* @param string
* */
public function getCampaignViewClicks() {
return $this->campaign_view_clicks;
}
/**
* Get the max number of clicks for a campaign
* @param string
* */
public function getCampaignMaxClicks() {
return $this->campaign_max_clicks;
}
/**
* Get the new URL for a campaign
* @param string
* */
public function getCampaignNewUrl() {
return $this->campaign_new_url;
}
/**
* Get the new DATE for a campaign
* @param string
* */
public function getCampaignNewDate() {
return $this->campaign_new_date;
}
/**
* Get the new GROUP for a campaign
* @param string
* */
public function getCampaignNewGroup() {
return $this->campaign_new_group;
}
/**
* Get the Campaign ID for which the new data will be assigned to
* @param string
* */
public function getCampaignNewClicks() {
return $this->campaign_new_clicks;
}
}