| <?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; |
| } |
| } |