blob: 9d3e110bfffed7b8f472f833f696425c1a8ea33f [file] [log] [blame]
<?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();
}
}