| <?php | |
| /******************************************************************************* | |
| * Copyright (c) 2015 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 | |
| * | |
| * Contributors: | |
| * Eric Poirier (Eclipse Foundation) - initial API and implementation | |
| * Christopher Guindon (Eclipse Foundation) | |
| *******************************************************************************/ | |
| require_once(realpath(dirname(__FILE__) . "/../../system/app.class.php")); | |
| class Webmaster { | |
| protected $App = NULL; | |
| protected $Friend = NULL; | |
| protected $projects = array(); | |
| private $state = ''; | |
| public function __construct(App $App) { | |
| $this->App = $App; | |
| // Determine if the user is a webmaster | |
| $Session = $this->App->useSession(true); | |
| $this->Friend = $Session->getFriend(); | |
| if(!$this->Friend->checkUserIsWebmaster()) { | |
| header("HTTP/1.1 403 Forbidden"); | |
| exit; | |
| } | |
| $this->state = filter_var($this->App->getHTTPParameter('state', 'POST'), FILTER_SANITIZE_STRING); | |
| } | |
| public function getFormActionUrl(){ | |
| return '#'; | |
| } | |
| /** | |
| * This function get all the active projects | |
| * | |
| * @return array | |
| * */ | |
| public function getProjects() { | |
| if (empty($this->projects)) { | |
| $this->projects = $this->_fetchProjects(); | |
| } | |
| return $this->projects; | |
| } | |
| /** | |
| * This function fetches the project ID for all Active projects | |
| * | |
| * @return array | |
| * */ | |
| protected function _fetchProjects() { | |
| $sql = "SELECT ProjectID FROM Projects WHERE IsActive = 1"; | |
| $result = $this->App->foundation_sql($sql); | |
| $projects = array(); | |
| while ($row = mysql_fetch_array($result)) { | |
| $projects[] = array( | |
| 'ProjectID' => $row['ProjectID'] | |
| ); | |
| } | |
| // Add Foundation as first item of the array | |
| array_unshift($projects, array('ProjectID' => 'Foundation')); | |
| $this->projects = $projects; | |
| return $projects; | |
| } | |
| /** | |
| * Get State | |
| */ | |
| public function getState() { | |
| return $this->state; | |
| } | |
| /** | |
| * Get form_name | |
| */ | |
| public function getFormName() { | |
| return filter_var($this->App->getHTTPParameter('form_name', 'POST'), FILTER_SANITIZE_STRING); | |
| } | |
| /** | |
| * Fetch HTML template for specific page | |
| * | |
| * @param $pageTitle - Title of the page | |
| * @param $page - The page we'd like to retrieve | |
| */ | |
| public function outputPage($page = "") { | |
| $page = filter_var($page, FILTER_SANITIZE_STRING); | |
| $path = $this->App->getBasePath() . '/classes/webmaster/tpl/' . $page . '.tpl.php'; | |
| if (!file_exists($path)) { | |
| $this->App->setSystemMessage('webmaster', 'An error has occurred. (#webmaster-001)', 'danger'); | |
| return ''; | |
| } | |
| ob_start(); | |
| include($path); | |
| return ob_get_clean(); | |
| } | |
| } |