This commit was manufactured by cvs2svn to create tag 'R_0_200802271324'.
diff --git a/classes/drops/drop.class.php b/classes/drops/drop.class.php
deleted file mode 100644
index 78638e3..0000000
--- a/classes/drops/drop.class.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-
-class Drop {
-
-	#*****************************************************************************
-	#
-	# drop.class.php
-	#
-	# Author: 	Denis Roy
-	# Date:		2004-11-16
-	#
-	# Description: Functions and modules related to drop objects
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************
-
-	var $drop_id 			= "";
-	var $project_id 		= "";
-	var $rsync_stanza 		= "";
-	var $description		= "";
-	var $is_active			= 0;
-	var $our_path 			= "";
-	var $size				= 0;
-	var $size_unit			= "";
-	var $index_url			= "";
-	
-	
-	function getDropID() {
-		return $this->drop_id;
-	}
-	function getProjectID() {
-		return $this->project_id;
-	}
-	function getRsyncStanza() {
-		return $this->rsync_stanza;
-	}
-	function getDescription() {
-		return $this->description;
-	}
-	function getIsActive() {
-		return $this->is_active;
-	}
-	function getOurPath() {
-		return $this->our_path;
-	}
-	function getSize() {
-		return $this->size;
-	}
-	function getSizeUnit() {
-		return $this->size_unit;
-	}
-	function setDropID($_drop_id) {
-		$this->drop_id = $_drop_id;
-	}
-	function setProjectID($_project_id) {
-		$this->project_id = $_project_id;
-	}
-	function setRsyncStanza($_rsync_stanza) {
-		$this->rsync_stanza = $_rsync_stanza;
-	}
-	function setDescription($_description) {
-		$this->description = $_description;
-	}
-	function setIsActive($_is_active) {
-		$this->is_active = $_is_active;
-	}
-	function setOurPath($_our_path) {
-		$this->our_path = $_our_path;
-	}
-	function setSize($_size) {
-		$this->size = $_size;
-	}
-	function setSizeUnit($_size_unit) {
-		$this->size_unit = $_size_unit;
-	}
-}
-?>
diff --git a/classes/friends/contribution.class.php b/classes/friends/contribution.class.php
deleted file mode 100644
index f3c9591..0000000
--- a/classes/friends/contribution.class.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2007 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:
- *    Nathan Gervais (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php");
-
-class Contribution {
-	
-	private $friend_id = "";
-	private $contribution_id = "";
-	private $date_expired = NULL;
-	private $amount = "";
-	private $message = "";
-	private $transaction_id = "";
-	
-	function getFriendID(){
-		return $this->friend_id;
-	}
-	function getContributionID(){
-		return $this->contribution_id;
-	}
-	function getDateExpired(){
-		return $this->date_expired;
-	}
-	function getAmount(){
-		return $this->amount;
-	}
-	function getMessage(){
-		return $this->message;
-	}
-	function getTransactionID(){
-		return $this->transaction_id;
-	}
-	
-	function setFriendID($_friend_id){
-		$this->friend_id = $_friend_id;
-	}
-	function setContributionID($_contribution_id){
-		$this->contribution_id = $_contribution_id;
-	}
-	function setDateExpired($_date_expired){
-		$this->date_expired = $_date_expired;
-	}
-	function setAmount($_amount){
-		$this->amount = $_amount;
-	}
-	function setMessage($_message){
-		$this->message = $_message;
-	}
-	function setTransactionID($_transaction_id){
-		$this->transaction_id = $_transaction_id;
-	}
-	
-	function insertContribution(){
-		$result = 0;
-		$App = new App();
-		$dbc = new DBConnectionRW();
-		$dbh = $dbc->connect();
-		
-		if ($this->selectContributionExists($this->getTransactionID())){
-			$result = -1;
-		}
-		else
-		{
-			if ($this->date_expired == NULL)
-				$default_date_expired = "DATE_ADD(NOW(), INTERVAL 1 YEAR)";
-			else
-				$default_date_expired = $App->returnQuotedString($App->sqlSerialze($this->date_expired, $dbh));
-			# insert
-			$sql = "INSERT INTO friends_contributions (
-					friend_id,
-					contribution_id,
-					date_expired,
-					amount,
-					message,
-					transaction_id)
-					VALUES (
-					" . $App->returnQuotedString($App->sqlSanitize($this->getFriendID(), $dbh)) . ",
-					" . $App->returnQuotedString($App->sqlSanitize($this->getContributionID(), $dbh)) . ",
-					" . $default_date_expired . ",
-					" . $App->returnQuotedString($App->sqlSanitize($this->getAmount(), $dbh)) . ",
-					" . $App->returnQuotedString($App->sqlSanitize($this->getMessage(), $dbh)) . ",
-					" . $App->returnQuotedString($App->sqlSanitize($this->getTransactionID(), $dbh)) . ")";
-			mysql_query($sql, $dbh);
-		}
-
-		$dbc->disconnect();
-		return $result;
-	}
-	
-	function selectContributionExists($_transaction_id){
-		$retVal = FALSE;
-		if ($_transaction_id != "")
-		{
-			$App = new App();
-
-			$dbc = new DBConnectionRW();
-			$dbh = $dbc->connect();
-
-			$sql = "SELECT transaction_id
-					FROM friends_contributions
-					WHERE transaction_id = " . $App->returnQuotedString($App->sqlSanitize($_transaction_id, $dbh));
-
-			$result = mysql_query($sql, $dbh);
-			if ($result)
-			{	
-				$myrow = mysql_fetch_array($result);
-				if ($myrow['transaction_id'] == $_transaction_id)
-				$retVal = TRUE;
-			}
-
-			$dbc->disconnect();
-
-		}
-		return $retVal;			
-	}
-	
-	function selectContribution($_contribution_id)
-	{
-		if($_contribution_id != "")  {
-			$App = new App();
-
-			$dbc = new DBConnectionRW();
-			$dbh = $dbc->connect();
-
-			$sql = "SELECT friend_id,
-							contribution_id,
-							date_expired,
-							amount,
-							message,
-							transaction,
-					FROM friends_contributions 
-					WHERE contribution_id = " . $App->returnQuotedString($App->sqlSanitize($_contribution_id, $dbh));
-
-			$result = mysql_query($sql, $dbh);
-
-			if ($myrow = mysql_fetch_array($result))	{
-				$this->setFriendID			($myrow["friend_id"]);
-				$this->setContributionID	($myrow["contribution_id"]);
-				$this->setDateExpired		($myrow["date_expired"]);
-				$this->setAmount			($myrow["amount"]);
-				$this->setMessage			($myrow["message"]);
-				$this->setTransactionID		($myrow["transaction_id"]);
-			}
-			$dbc->disconnect();
-		}
-	}
-}
\ No newline at end of file
diff --git a/classes/friends/friend.class.php b/classes/friends/friend.class.php
deleted file mode 100755
index 9033d4d..0000000
--- a/classes/friends/friend.class.php
+++ /dev/null
@@ -1,280 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection_bugs_ro.class.php");
-require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php");
-
-class Friend {
-
-	private $friend_id 		= 0;
-	private $bugzilla_id	= "";
-	private $first_name		= "";
-	private $last_name		= "";
-	private $date_joined	= NULL;
-	private $is_anonymous	= 0;
-	private $is_benefit		= 0;
-
-
-	function getFriendID() {
-		return $this->friend_id;
-	}
-	function getBugzillaID() {
-		return $this->bugzilla_id;
-	}
-	function getFirstName() {
-		return $this->first_name;
-	}
-	function getLastName() {
-		return $this->last_name;
-	}
-	function getDateJoined() {
-		return $this->date_joined;
-	}
-	function getIsAnonymous() {
-		return $this->is_anonymous;
-	}
-	function getIsBenefit() {
-		return $this->is_benefit;
-	}
-	
-
-
-	function setFriendID($_friend_id) {
-		$this->friend_id = $_friend_id;
-	}
-	function setBugzillaID($_bugzilla_id) {
-		$this->bugzilla_id = $_bugzilla_id;
-	}
-	function setFirstName($_first_name) {
-		$this->first_name = $_first_name;
-	}
-	function setLastName($_last_name) {
-		$this->last_name = $_last_name;
-	}
-	function setDateJoined($_date_joined) {
-		$this->date_joined = $_date_joined;
-	}
-	function setIsAnonymous($_is_anonymous) {
-		$this->is_anonymous = $_is_anonymous;
-	}
-	function setIsBenefit($_is_benefit) {
-		$this->is_benefit = $_is_benefit;
-	}
-	
-	function insertUpdateFriend() {
-		$retVal = 0;
-
-		$App = new App();
-		#$ModLog = new ModLog();
-		#$ModLog->setLogTable("Person");
-		#$ModLog->setPK1($this->getPersonID());
-
-		$dbc = new DBConnectionRW();
-		$dbh = $dbc->connect();
-		if ($this->date_joined == NULL)
-			$default_date_joined = "NOW()";
-		else
-			$default_date_joined = $App->returnQuotedString($this->date_joined);
-		
-		if($this->selectFriendID("friend_id", $this->getFriendID())) {
-			# update
-			$sql = "UPDATE friends SET
-						bugzilla_id = " . $App->returnQuotedString($App->sqlSanitize($this->getBugzillaID(), $dbh)) . ",
-						first_name = " . $App->returnQuotedString($App->sqlSanitize($this->getFirstName(), $dbh)) . ",
-						last_name = " . $App->returnQuotedString($App->sqlSanitize($this->getLastName(), $dbh)) . ",
-						date_joinded = " . $default_date_joined . ",
-						is_anonymous = " . $App->returnQuotedString($App->sqlSanitize($this->getIsAnonymous(), $dbh)) . ",
-						is_benefit = " . $App->returnQuotedString($App->sqlSanitize($this->getIsBenefit(), $dbh)) . "
-					WHERE
-						friend_id = " . $App->sqlSanitize($this->getFriendID(), $dbh);
-
-				mysql_query($sql, $dbh);
-				$retVal = $this->friend_id;
-				#$ModLog->setLogAction("UPDATE");
-				#$ModLog->insertModLog();
-
-				# Set the Primary Employer ID
-		}
-		else {
-			# insert
-			$sql = "INSERT INTO friends (
-						bugzilla_id,
-						first_name,
-						last_name,
-						date_joined,
-						is_anonymous,
-						is_benefit)
-					VALUES (
-						" . $App->returnQuotedString($this->getBugzillaID()) . ",
-						" . $App->returnQuotedString($this->getFirstName()) . ",
-						" . $App->returnQuotedString($this->getLastName()) . ",
-						" . $default_date_joined . ",
-						" . $App->returnQuotedString($this->getIsAnonymous()) . ",
-						" . $App->returnQuotedString($this->getIsBenefit()) . ")";
-			mysql_query($sql, $dbh);
-			$retVal = mysql_insert_id($dbh);
-			#$ModLog->setLogAction("INSERT");
-			#$ModLog->insertModLog();
-		}
-
-		$dbc->disconnect();
-	return $retVal;
-	}
-
-
-	function selectFriend($_friend_id) {
-
-		if($_friend_id != "") {
-			$App = new App();
-
-			$dbc = new DBConnectionRW();
-			$dbh = $dbc->connect();
-			$_friend_id = $App->sqlSanitize($_friend_id, $dbh);
-			
-			$sql = "SELECT friend_id,
-							bugzilla_id,
-							first_name,
-							last_name,
-							date_joined,
-							is_anonymous,
-							is_benefit
-					FROM friends 
-					WHERE friend_id = " . $App->returnQuotedString($_friend_id);
-
-			$result = mysql_query($sql, $dbh);
-
-			if ($myrow = mysql_fetch_array($result))	{
-				$this->setFriendID		($myrow["friend_id"]);
-				$this->setBugzillaID	($myrow["bugzilla_id"]);
-				$this->setFirstName		($myrow["first_name"]);
-				$this->setLastName		($myrow["last_name"]);
-				$this->setDateJoined	($myrow["date_joined"]);
-				$this->setIsAnonymous	($myrow["is_anonymous"]);
-				$this->setIsBenefit		($myrow["is_benefit"]);
-			}
-			$dbc->disconnect();
-		}
-	}
-	
-	function selectFriendID($_fieldname, $_searchfor) {
-		$retVal = 0;
-
-		if( ($_fieldname != "") && ($_searchfor != "")) {
-			$App = new App();
-
-			$dbc = new DBConnectionRW();
-			$dbh = $dbc->connect();
-			$_fieldname = $App->sqlSanitize($_fieldname, $dbh);
-			$_searchfor = $App->sqlSanitize($_searchfor, $dbh);
-			
-			$sql = "SELECT friend_id
-					FROM friends
-					WHERE $_fieldname = " . $App->returnQuotedString($_searchfor);
-
-			$result = mysql_query($sql, $dbh);
-			if ($result){
-				$myrow = mysql_fetch_array($result);
-				$retVal = $myrow['friend_id'];
-			}
-
-			$dbc->disconnect();
-
-		}
-		return $retVal;
-	}
-	
-	function getBugzillaIDFromEmail($_email) {
-		$result = 0;
-
-		if($_email != "") {
-			$App = new App();
-
-			$dbc = new DBConnectionBugs();
-			$dbh = $dbc->connect();
-			$_email 		= $App->sqlSanitize($_email, $dbh);
-			
-			$sql = "SELECT userid
-					FROM profiles
-					WHERE login_name = " . $App->returnQuotedString($_email);
-
-			$result = mysql_query($sql, $dbh);
-			$myrow = mysql_fetch_array($result);
-
-			$result = $myrow['userid'];
-			$dbc->disconnect();
-		}
-		return $result;
-	}
-
-
-	function authenticate($email, $password) {
-	/**
-	 * Authenticate user using bugzilla credentials
-	 * 
-	 * @author droy
-	 * @param string Email address
-	 * @param string password
-	 * @return boolean
-	 * @since 2007-11-20
-	 * 
-	 */
-		$rValue = false;
-		
-		$validPaths = array(
-			"/home/data/httpd/dev.eclipse.org/html/site_login/"
-		);
-		$App = new App();
-		
-		if($email != "" && $password != "" && $App->isValidCaller($validPaths)) {
-			if (eregi('^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z.]{2,5}$', $email)) {
-
-				$dbc = new DBConnectionBugs();
-				$dbh = $dbc->connect();
-				$email 		= $App->sqlSanitize($email, $dbh);
-				$password 	= $App->sqlSanitize($password, $dbh);
-
-				$sql = "SELECT
-							userid,
-							LEFT(realname, @loc:=LENGTH(realname) - LOCATE(' ', REVERSE(realname))) AS first_name, 
-							SUBSTR(realname, @loc+2) AS last_name
-					FROM 
-						profiles 
-					WHERE login_name = '$email' 
-						AND cryptpassword = ENCRYPT('$password', cryptpassword)
-						AND disabledtext = ''";
-				$dbc = new DBConnectionBugs();
-				$dbh = $dbc->connect();
-				$result = mysql_query($sql, $dbh);
-				if($result && mysql_num_rows($result) > 0) {
-					$rValue = true;
-					$myrow = mysql_fetch_assoc($result);
-					
-					$this->setBugzillaID($myrow['userid']);
-					
-					# Load up the rest of the Friend record
-					$friend_id = $this->selectFriendID("bugzilla_id", $this->getBugzillaID());
-					if($friend_id > 0) {
-						$this->selectFriend($friend_id);
-					}
-					
-					# Override the friend record with (known good) Bugzilla info
-					$this->setFirstName($myrow['first_name']);
-					$this->setLastName($myrow['last_name']);					
-				}
-				$dbc->disconnect();
-			}
-		}
-		
-		return $rValue;
-	}
-}
-?>
\ No newline at end of file
diff --git a/classes/friends/friendsContributions.class.php b/classes/friends/friendsContributions.class.php
deleted file mode 100644
index 8c803a2..0000000
--- a/classes/friends/friendsContributions.class.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2007 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:
- *    Nathan Gervais (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/friends/contribution.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/friends/friend.class.php");
-
-class FriendsContributions {
-	private $friend_id;
-	private $contribution_id;
-	private $friendObject;
-	private $contributionObject;
-	
-	
-	# default constructor
-	function FriendsContributions() {
-		$this->friend_id 		= "";
-		$this->contribution_id	= "";
-		$this->friendObject	= new Friend();
-		$this->contribitionObject	= new Contribution();
-	}
-	
-	function getFriendID() {
-		return $this->friend_id;
-	}
-	function getContribution() {
-		return $this->contribution_id;
-	}
-	function getFriendObject() {
-		return $this->friendObject;
-	}
-	function getContributionObject() {
-		return $this->contributionObject;
-	}
-	
-	function setFriendID($_friend_id){
-		$this->friend_id = $_friend_id;
-	}
-	function setContributionID($_contribution_id) {
-		$this->contribution_id = $_contribution_id;
-	}
-	function setFriendObject($_friendObject) {
-		$this->friendObject = $_friendObject;
-	}
-	function setContributionObject($_contributionObject){
-		$this->contributionObject = $_contributionObject;
-	}
-	
-}
diff --git a/classes/friends/friendsContributionsList.class.php b/classes/friends/friendsContributionsList.class.php
deleted file mode 100644
index 40baa01..0000000
--- a/classes/friends/friendsContributionsList.class.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2007 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:
- *    Nathan Gervais (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/friends/friendsContributions.class.php");
-
-
-class FriendsContributionsList {
-	
-	var $list = array();
-	function getList() {
-		return $this->$list;
-	} 
-	function setList($_list) {
-		$this->list = $_list;
-	}
-	function add($_contribution) {
-            $this->list[count($this->list)] = $_contribution;
-    }
-    function getCount() {
-            return count($this->list);
-    }
-
-    function getItemAt($_pos) {
-            if($_pos < $this->getCount()) {
-                    return $this->list[$_pos];
-            }
-    }    
-    
-	function selectFriendsContributionsList($_start = -1, $_numrows = -1) {
-		
-		$App = new App();
-	    $sql = "SELECT 
-	    		F.first_name,
-	    		F.last_name,
-	    		F.bugzilla_id,
-	    		F.is_anonymous,
-	    		F.is_benefit,
-	    		F.date_joined,
-				FC.friend_id,
-	    		FC.date_expired,
-	    		FC.contribution_id,
-	    		FC.transaction_id,
-	    		FC.amount,
-	    		FC.message
-	    		FROM friends_contributions as FC
-	    		LEFT JOIN friends as F on FC.friend_id = F.friend_id
-	    		ORDER by FC.date_expired DESC";
-	    if ($_start >= 0)
-	    {
-			$sql .= " LIMIT $_start";
-			if ($_numrows > 0)
-				$sql .= ", $_numrows";
-	    }
-	    $dbc = new DBConnection();
-	    $dbh = $dbc->connect();
-	
-	    $result = mysql_query($sql, $dbh);
-
-	    while($myrow = mysql_fetch_array($result))
-	    {
-			$Friend = new Friend();
-			$Friend->setFriendID			($myrow['friend_id']);
-			$Friend->setBugzillaID			($myrow['bugzilla_id']);
-			$Friend->setDateJoined			($myrow['date_joined']);
-			$Friend->setFirstName			($myrow['first_name']);
-			$Friend->setLastName			($myrow['last_name']);
-			$Friend->setIsAnonymous			($myrow['is_anonymous']);
-			$Friend->setIsBenefit			($myrow['is_benefit']);
-	    	
-			$Contribution = new Contribution();
-			$Contribution->setFriendID($myrow['friend_id']);
-			$Contribution->setContributionID($myrow['contribution_id']);
-			$Contribution->setDateExpired($myrow['date_expired']);
-			$Contribution->setMessage($myrow['message']);
-			$Contribution->setAmount($myrow['amount']);
-			$Contribution->setTransactionID($myrow['transaction_id']);			
-				
-			$FriendsContributions = new FriendsContributions();
-			$FriendsContributions->setFriendID($myrow['friend_id']);
-			$FriendsContributions->setContributionID($myrow['contribution_id']);
-			$FriendsContributions->setFriendObject($Friend);
-			$FriendsContributions->setContributionObject($Contribution);
-			
-            $this->add($FriendsContributions);
-	    }
-	    
-	    	
-	    $dbc->disconnect();
-	    $dbh 	= null;
-	    $dbc 	= null;
-	    $result = null;
-	    $myrow	= null;
-	}
-
-    
-}
\ No newline at end of file
diff --git a/classes/polls/poll.php b/classes/polls/poll.php
deleted file mode 100644
index 7717660..0000000
--- a/classes/polls/poll.php
+++ /dev/null
@@ -1,406 +0,0 @@
-<?php
-require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection_polls_rw.class.php");
-
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-
-#*****************************************************************************
-#
-# poll.php
-#
-# Author: 		Denis Roy
-# Date:			2006-02-02
-#
-# Description: Class to use polls  
-#
-#****************************************************************************
-
-
-
-class Poll {
-	var $poll_id		= 0;  #PK
-	var $url			= "";
-	var $poll_index		= 0;
-	var $poll_title		= "";
-	var $poll_action	= "";
-	var $total_votes 	= 0;
-	var $show_graph		= true;
-	
-	var $COOKIE_NAME = "ECLIPSE_INSTA_POLLS";
-	
-	
-	var $poll_options	= array(); # Array of PollOption objects	
-	
-	
-	/**
-	 * Default constructor
-	 * @param int $poll_index  to identify the poll index on a page (for multiple polls)
-	 * @param string $poll_title
-	 * @param string $id optional static id to identify the poll, instead of the URL, so it can be used anywhere 
-	 * 
-	 */
-	function Poll($_poll_index, $_poll_title, $_id = null) {
-		
-		if($_id == null) {
-			$this->url			= $_SERVER['SCRIPT_NAME'];
-		}
-		else {
-			$this->url			= $_id;
-		}
-		$this->poll_index	= $_poll_index;
-		$this->poll_title	= $_poll_title;
-		$this->selectInsertPollID();  ## We need this before going on!
-		
-		
-		if(isset($_POST['poll_action' . $_poll_index])) {
-			$this->poll_action 	= $_POST['poll_action' . $_poll_index];
-		}
-		
-		# Clean incoming
-		$this->url = str_replace("..", "", $this->url);
-		$this->url = str_replace(";", "", $this->url);
-		
-		if(!is_numeric($this->poll_index)) {
-			$this->poll_index = 1;
-		}
-			
-		# Determine the action to take.
-		if($this->poll_action == "vote" && $this->isVoteable()) {
-			# Save poll options!
-			$this->updatePollCount();
-		}
-		
-	}
-
-
-	/**
-	 * fetch poll counts from the database
-	 * 
-	 */
-	function selectPollCounts() {
-		# Get poll counts for poll id
-		
-		if($this->isValidPollID()) {
-		 
-			$App = new App();
-			
-			$this->total_votes = 0;
-			
-		    $sql = "SELECT 
-						option_id,
-						answer_count
-		        	FROM
-						poll_options
-					WHERE poll_id = " . $this->poll_id;
-					
-		    $dbc = new DBConnectionPollsRW();
-		    $dbh = $dbc->connect();
-	
-		    $result = mysql_query($sql, $dbh);
-	
-			# find the right poll option, and increment the count
-		    while($myrow = mysql_fetch_array($result)) {
-				for($i = 0; $i < count($this->poll_options); $i++) {
-					$PollOption = $this->poll_options[$i];
-					
-					if($PollOption->option_id == $myrow['option_id']) {
-						$PollOption->answer_count 	= $myrow['answer_count'];
-						$this->total_votes 			+= $myrow['answer_count'];
-						$this->poll_options[$i] 	= $PollOption;
-						break;
-					}
-				}
-		    }
-	
-		    $dbc->disconnect();
-		    $dbh 	= null;
-		    $dbc 	= null;
-		    $result = null;
-		    $myrow	= null;
-		}		   
-	}
-
-
-
-	/**
-	 * get poll id from db, or create if not found
-	 */
-	function selectInsertPollID() {
-		
-		if($this->isValidPollID()) {
-			# Get poll ID from the database, or create one if it doesn't exist.
-			$App = new App();
-			
-		    $sql = "SELECT 
-						POL.poll_id
-		        	FROM
-						polls AS POL
-					WHERE POL.url = " . $App->returnQuotedString($this->url) . "
-						AND POL.poll_index = " . $this->poll_index;
-					
-		    $dbc = new DBConnectionPollsRW();
-		    $dbh = $dbc->connect();
-	
-		    $result = mysql_query($sql, $dbh);
-	
-		    if($myrow = mysql_fetch_array($result)) {
-		            $this->poll_id  = $myrow["poll_id"];
-		    }
-		    else {
-		    	$sql = "INSERT INTO polls (
-							poll_id,
-							url,
-							poll_index,
-							first_seen)
-						VALUES (
-							NULL,  
-						" . $App->returnQuotedString($this->url) . ",
-						" . $this->poll_index . ",
-							CURDATE())";
-						
-				mysql_query($sql, $dbh);
-				$this->poll_id = mysql_insert_id($dbh);
-				
-				# Perform house cleaning when creating new polls
-				# Pass database handle to recycle the connection
-				$this->flushOldPolls($dbh);
-		    }
-	    	
-	    	$dbc->disconnect();
-	    	$dbh 	= null;
-	    	$dbc 	= null;
-	    	$result = null;
-	    	$myrow	= null;
-		}
-	}
-	
-	
-	/**
-	 * update poll count in db as a result of voting
-	 */
-	function updatePollCount() {
-
-		if($this->isValidPollID()) {
-			$App = new App();
-	    
-		    # we have the poll id, add a count
-		    $poll_option = $_POST['polloption'];
-			if(!is_numeric($poll_option)) {
-				$poll_option = 1;
-			}
-		    
-		    
-	    	$sql = "UPDATE poll_options SET
-						answer_count = answer_count + 1
-					WHERE
-						poll_id = " . $this->poll_id . "
-						AND option_id = " . $poll_option;  
-	
-	
-		    $dbc = new DBConnectionPollsRW();
-		    $dbh = $dbc->connect();
-			mysql_query($sql, $dbh);
-			
-			if(mysql_affected_rows() == 0) {
-				# Update failed.  Issue insert statement
-				$sql = "INSERT INTO poll_options (
-							poll_id,
-							option_id, 
-							answer_count) VALUES (
-						" . $this->poll_id . ",
-						" . $poll_option . ",
-						1)";  
-							  
-				mysql_query($sql, $dbh);
-			}
-			
-			# put cookie on the browser to indicate user has voted
-			$this->setCookie(); 
-	
-		    $dbc->disconnect();
-		    $dbh 	= null;
-		    $dbc 	= null;
-		    $result = null;
-		    $myrow	= null;
-		}
-	}
-	
-	
-	/**
-	 * set cookie on the browser to avoid ballot stuffers
-	 */
-	function setCookie() {
-		/*
-		 * Cookie is called ECLIPSE_INSTA_POLLS
-		 * We put a csv list of poll id's the user has voted on
-		 * all in one cookie.  Makes for fewer cookies on the browser
-		 * 
-		 */
-		
-		$insta_polls = array();
-		if(isset($_COOKIE[$this->COOKIE_NAME])) {
-			$insta_polls = explode(",", $_COOKIE[$this->COOKIE_NAME]);
-		}
-		
-		if(!is_numeric(array_search($this->poll_id, $insta_polls))) {
-			$insta_polls[count($insta_polls)] = $this->poll_id;
-		} 
-		
-		setcookie($this->COOKIE_NAME, implode(",", $insta_polls), time()+604800, "/");
-	}
-
-	/**
-	 * determine if user can vote
-	 * @return bool
-	 */
-	function isVoteable() {
-		
-		/*
-		 * isVoteable - used to determine if we display a form or just get the actual results
-		 */
-		
-		$rValue = false;
-				
-		$insta_polls = array();
-		if(isset($_COOKIE[$this->COOKIE_NAME])) {
-			$insta_polls = explode(",", $_COOKIE[$this->COOKIE_NAME]);
-		}
-		
-		if(!is_numeric(array_search($this->poll_id, $insta_polls))) {
-			$rValue = true;
-		}
-		return $rValue;
-	}
-	
-	
-	/**
-	 * Add a poll option to the object's array
-	 * @param string $option_id a 12-character alphanumeric key to represent the option
-	 * @param string $option_text
-	 */
-	function addOption($_option_id, $_option_text) {		
-		$PollOption = new PollOption();
-		$PollOption->poll_id = $this->poll_id;
-		$PollOption->option_id = $_option_id;
-		$PollOption->option_text = str_replace("\"", "'", $_option_text);	
-		
-		$this->poll_options[count($this->poll_options)] = $PollOption;
-		
-	}
-	
-	/**
-	 * disable graph display
-	 */
-	function noGraph() {
-		$this->show_graph = false;
-	}
-
-	/**
-	 * generate HTML required for the poll
-	 * @return string
-	 */
-	function getHTML() {
-		
-		$rValue = "";
-		
-		if($this->poll_action == "" && $this->isVoteable()) {
-			
-			# display poll options
-		
-			$rValue = "<p><b>" . $this->poll_title . "</b><form method=\"post\">";
-			$rValue .= "<input type=\"hidden\" name=\"poll_index\" value=\"" . $this->poll_index . "\" />";
-			$rValue .= "<input type=\"hidden\" name=\"poll_action" . $this->poll_index . "\" value=\"vote\" />";
-			for($i = 0; $i < count($this->poll_options); $i++) {
-				$PollOption = $this->poll_options[$i];
-				
-				$rValue .= "<input type=\"radio\" name=\"polloption\" value=\"" . $PollOption->option_id . "\" />" . $PollOption->option_text . "<br />";
-			}
-			
-			$rValue .= "<input type=\"submit\" value=\"Vote\" /></form></p>";
-		}
-
-		if($this->poll_action == "vote" || !($this->isVoteable())) {
-			
-			# display poll options
-			
-			$this->selectPollCounts();
-		
-			$rValue = "<p><b>Results: " . $this->poll_title . "</b></p>";
-			
-			for($i = 0; $i < count($this->poll_options); $i++) {
-				$PollOption = $this->poll_options[$i];
-				
-				$thisPercent = 0;
-				
-				if($this->total_votes > 0) {
-					$thisPercent = round($PollOption->answer_count / $this->total_votes * 100);
-				}				
-				$rValue .= $PollOption->option_text . ": " . $thisPercent . " %<br />";
-				
-				if($thisPercent > 0 && $this->show_graph) {
-					$rValue .= "<table height=\"9\" cellpadding=\"0\" cellspacing=\"0\"><td class=\"poll_start\" width=\"3\"></td><td width=\"$thisPercent\" class=\"poll_bar\"></td><td width=\"3\" class=\"poll_end\" style=\"font-size: 2pt;\">&nbsp;</td></tr></table><br />";
-				}
-				else {
-					$rValue .= "<br />";
-				}
-
-			}
-			
-			
-			$rValue .= "<p><b>Total votes: </b>" . $this->total_votes . "</p>";
-		}
-
-		return $rValue;
-	}
-	
-	
-	/**
-	 * determine if poll_id is valid
-	 * @return bool
-	 */
-	function isValidPollID() {
-		if(is_numeric($this->poll_id)) {
-			return true;
-		}
-		else {
-			return false;
-		}
-	}
-	
-	/**
-	 * flush old polls and results.  Polls can still be used, this is simply for house cleaning.
-	 * This code should be run automatically when a new poll is created.
-	 * @param dbh $_dbh a writable database connection
-	 * 
-	 */
-	function flushOldPolls($_dbh) {
-
-		# a Foreign Key constraint will enforce deletion of poll_options 
-		$sql = "DELETE FROM 
-					polls 
-				WHERE 
-					first_seen <=  DATE_SUB(CURDATE(), INTERVAL 3 MONTH)";
-
-		mysql_query($sql, $_dbh);
-	
-	    $_dbh 	= null;
-	}
-}
-
-class PollOption {
-	var $poll_id		= 0;  #PK
-	var $option_id		= 0; #PK
-	var $option_text	= "";
-	var $answer_count	= 0;
-}
-
-
-?>
\ No newline at end of file
diff --git a/classes/projects/category.class.php b/classes/projects/category.class.php
deleted file mode 100644
index 20a326c..0000000
--- a/classes/projects/category.class.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *    Nathan Gervais (Eclipse Foundation) - Expanded new fields being added
- *******************************************************************************/
- 
-class Category {
-
-	#*****************************************************************************
-	#
-	# category.class.php
-	#
-	# Author: 	Denis Roy
-	# Date:		2005-10-25
-	#
-	# Description: Functions and modules related to Category objects (for projects)
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************
-
-	var $category_id 		= 0;
-	var $description		= "";
-	var $image_name			= "";
-	var $category_shortname 	= "";
-	
-	
-	
-	function getCategoryID() {
-		return $this->category_id;
-	}
-	function getDescription() {
-		return $this->description;
-	}
-	function getImageName() {
-		return $this->image_name;
-	}
-	function getCategoryShortname() {
-		return $this->category_shortname;
-	}
-	
-	function setCategoryID($_category_id) {
-		$this->category_id = $_category_id;
-	}
-	function setDescription($_description) {
-		$this->description = $_description;
-	}
-	function setImageName($_image_name) {
-		$this->image_name = $_image_name;
-	}
-	function setCategoryShortname ($_category_shortname) {
-		$this->category_shortname = $_category_shortname;
-	}
-
-}
-?>
diff --git a/classes/projects/categoryList.class.php b/classes/projects/categoryList.class.php
deleted file mode 100644
index c3d857f..0000000
--- a/classes/projects/categoryList.class.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *    Nathan Gervais (Eclipse Foundation) - Expanded new fields being added
- *******************************************************************************/
-
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/projects/category.class.php");
-//require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
-
-class CategoryList {
-
-	#*****************************************************************************
-	#
-	# CategoryList.class.php
-	#
-	# Author: 	Denis Roy
-	# Date:		2005-10-25
-	#
-	# Description: Functions and modules related Lists of categories (for projects)
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************
-
-	var $list = array();
-	
-	
-	function getList() {
-		return $this->$list;
-	}
-
-	function setList($_list) {
-		$this->list = $_list;
-	}
-
-
-    function add($_project) {
-            $this->list[count($this->list)] = $_project;
-    }
-
-
-    function getCount() {
-            return count($this->list);
-    }
-
-    function getItemAt($_pos) {
-            if($_pos < $this->getCount()) {
-                    return $this->list[$_pos];
-            }
-    }
-
-	function selectCategoryList() {
-		
-		$App = new App();
-	    $WHERE = "";
-	
-	    $sql = "SELECT 
-					CAT.category_id,
-					CAT.description,
-					CAT.image_name,
-					CAT.category_shortname
-	        	FROM
-					categories AS CAT 
-				ORDER BY CAT.description ";
-				
-	    $dbc = new DBConnection();
-	    $dbh = $dbc->connect();
-
-	    $result = mysql_query($sql, $dbh);
-
-	    while($myrow = mysql_fetch_array($result)) {
-	    		
-	            $Category = new Category();
-	            $Category->setCategoryID	($myrow["category_id"]);
-	            $Category->setDescription	($myrow["description"]);
-	            $Category->setImageName		($myrow["image_name"]);
-	            $Category->setCategoryShortname ($myrow["category_shortname"]);
-	            $this->add($Category);
-	    }
-
-	    $dbc->disconnect();
-	    $dbh 	= null;
-	    $dbc 	= null;
-	    $result = null;
-	    $myrow	= null;
-	}
-}
-?>
diff --git a/classes/projects/project.class.php b/classes/projects/project.class.php
deleted file mode 100644
index 927a343..0000000
--- a/classes/projects/project.class.php
+++ /dev/null
@@ -1,215 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *    Nathan Gervais (Eclipse Foundation) - Expanded new fields being added
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-//require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection.class.php";
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
-
-class Project {
-
-	#*****************************************************************************
-	#
-	# project.class.php
-	#
-	# Author: 	Denis Roy
-	# Date:		2004-11-16
-	#
-	# Description: Functions and modules related to the MySQL database connection
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************
-
-	var $project_id 		= "";
-	var $name				= "";
-	var $level				= 0;
-	var $parent_project_id 	= "";
-	var $description		= "";
-	var $url_download		= "";
-	var $url_index			= "";
-	var $is_topframe		= 0;
-	var $sort_order			= 0;
-	var $is_active			= 0;
-	var $url_newsgroup      = "";
-	var $url_mailinglist	= "";
-	var $url_wiki			= "";
-	var $url_docs			= "";
-	var $is_project			= 0;
-	var $drop;
-	
-	
-	function getProjectID() {
-		return $this->project_id;
-	}
-	function getName() {
-		return $this->name;
-	}
-	function getlevel() {
-		return $this->level;
-	}
-	function getParentProjectID() {
-		return $this->parent_project_id;
-	}
-	function getDescription() {
-		return $this->description;
-	}
-	function getUrlDownload() {
-		return $this->url_download;
-	}
-	function getUrlIndex() {
-		return $this->url_index;
-	}
-	function getIsTopFrame() {
-		return $this->is_topframe;
-	}
-	function getSortOrder() {
-		return $this->sort_order;
-	}
-	function getIsActive() {
-		return $this->is_active;
-	}
-	function getUrlNewsgroup() {
-		return $this->url_newsgroup;	
-	}
-	function getUrlMailingList() {
-		return $this->url_mailinglist;	
-	}
-	function getUrlWiki() {
-		return $this->url_wiki;	
-	}
-	function getUrlDocs() {
-		return $this->url_docs;	
-	}	
-	function getIsProject() {
-		return $this->is_project;	
-	}	
-	
-	
-	function getDrop() {
-		return $this->drop;
-	}
-	
-	function setProjectID($_project_id) {
-		$this->project_id = $_project_id;
-	}
-	function setName($_name) {
-		$this->name = $_name;
-	}
-	function setlevel($_level) {
-		$this->level = $_level;
-	}
-	function setParentProjectID($_parent_project_id) {
-		$this->parent_project_id = $_parent_project_id;
-	}
-	function setDescription($_description) {
-		$this->description = $_description;
-	}
-	function setDrop($_drop) {
-		$this->drop = $_drop;
-	}
-	function setUrlDownload($_url_download) {
-		$this->url_download = $_url_download;
-	}
-	function setUrlIndex($_url_index) {
-		$this->url_index = $_url_index;
-	}
-	function setIsTopframe($_is_topframe) {
-		$this->is_topframe = $_is_topframe;
-	}
-	function setSortOrder($_sort_order) {
-		$this->sort_order = $_sort_order;
-	}
-	function setIsActive($_is_active) {
-		$this->is_active = $_is_active;
-	}
-	function setUrlNewsgroup($_url_newsgroup) {
-		$this->url_newsgroup = $_url_newsgroup;
-	}
-	function setUrlMailingList($_url_mailinglist) {
-		$this->url_mailinglist = $_url_mailinglist;
-	}
-	function setUrlWiki($_url_wiki) {
-		$this->url_wiki = $_url_wiki;
-	}
-	function setUrlDocs($_url_docs) {
-		$this->url_docs = $_url_docs;
-	}	
-	function setIsProject($_is_project) {
-		$this->is_project = $_is_project;
-	}	
-
-
-
-	function selectList($_project_id) {
-		
-		$App = new App();
-	    $WHERE = "";
-	
-	    if($_project_id != "") {
-
-            $WHERE .= " WHERE PRJ.project_id = " . $App->returnQuotedString($_project_id);
-	
-		    $dbc = new DBConnection();
-		    $dbh = $dbc->connect();
-		
-		    $sql = "SELECT 
-						PRJ.project_id,
-						PRJ.name,
-						PRJ.level,
-						PRJ.parent_project_id,
-						PRJ.description,
-						PRJ.url_download,
-						PRJ.url_index,
-						PRJ.is_topframe,
-						PRJ.sort_order,
-						PRJ.is_active,
-						PRJ.url_newsgroup,
-						PRJ.url_mailinglist,
-						PRJ.url_wiki,
-						PRJ.url_docs,
-						PRJ.is_project
-		        	FROM
-						projects AS PRJ "
-					. $WHERE;
-
-		    $result = mysql_query($sql, $dbh);
-	
-			if($myrow = mysql_fetch_array($result)) {
-		    		
-				$this->setProjectID		($myrow["project_id"]);
-				$this->setName			($myrow["name"]);
-				$this->setLevel			($myrow["level"]);
-				$this->setParentProjectID($myrow["parent_project_id"]);
-				$this->setDescription	($myrow["description"]);
-				$this->setUrlDownload	($myrow["url_download"]);
-				$this->setUrlIndex		($myrow["url_index"]);
-				$this->setIsTopframe	($myrow["is_topframe"]);
-				$this->setSortOrder		($myrow["sort_order"]);
-				$this->setIsActive		($myrow["is_active"]);
-				$this->setUrlNewsgroup   ($myrow["url_newsgroup"]);
-				$this->setUrlMailingList($myrow["url_mailinglist"]);
-				$this->setUrlWiki  		($myrow["url_wiki"]);
-				$this->setUrlDocs  		($myrow["url_docs"]);
-				$this->setIsProject		($myrow["is_project"]);
-		    }
-		    
-		    $dbc->disconnect();
-		    $dbh 	= null;
-		    $dbc 	= null;
-		    $result = null;
-		    $myrow	= null;
-
-	    }
-	}
-
-}
-?>
diff --git a/classes/projects/projectCategory.class.php b/classes/projects/projectCategory.class.php
deleted file mode 100644
index 2d36f59..0000000
--- a/classes/projects/projectCategory.class.php
+++ /dev/null
@@ -1,157 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *    Nathan Gervais (Eclipse Foundation) - Expanded new fields being added
- *******************************************************************************/
-
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-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");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/projects/project.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/projects/category.class.php");
-
-class ProjectCategory {
-
-	#*****************************************************************************
-	#
-	# projectCategory.class.php
-	#
-	# Author: 	Denis Roy
-	# Date:		2005-10-25
-	#
-	# Description: Functions and modules related to associations between a project and a category
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************
-
-	var $project_id;
-	var $category_id;
-	var $description;
-	var $long_description;
-	var $projectObject;
-	var $categoryObject;
-
-
-	# default constructor
-	function projectCategory() {
-		$this->project_id 		= "";
-		$this->category_id		= "";
-		$this->description 		= "";
-		$this->long_description = "";
-		$this->projectObject	= new Project();
-		$this->categoryObject	= new Category();
-	}
-	
-	function getProjectID() {
-		return $this->project_id;
-	}
-	function getCategoryID() {
-		return $this->category_id;
-	}
-	function getDescription() {
-		return $this->description;
-	}
-	function getLongDescription() {
-		return $this->long_description;
-	}	
-	function getProjectObject() {
-		return $this->projectObject;
-	}
-	function getCategoryObject() {
-		return $this->categoryObject;
-	}
-	 
-
-	function setProjectID($_project_id) {
-		$this->project_id = $_project_id;
-	}
-	function setCategoryID($_category_id) {
-		$this->category_id = $_category_id;
-	}
-	function setDescription($_description) {
-		$this->description = $_description;
-	}
-	function setLongDescription($_long_description) {
-		$this->long_description = $_long_description;
-	}	
-	function setProjectObject($_Project) {
-		$this->projectObject = $_Project;
-	}
-	function setCategoryObject($_Category) {
-		$this->categoryObject = $_Category;
-	}
-
-
-	function deleteProjectCategory($_project_id, $_category_id) {
-		
-		$App = new App();
-	
-	    if($_project_id != "" && $_category_id != "") {
-			$WHERE .= " WHERE project_id = " . $App->returnQuotedString($_project_id);
-			$WHERE .= " AND category_id = " . $App->returnQuotedString($_category_id);
-	
-		
-		    $sql = "DELETE
-	        	FROM
-					project_categories "
-				. $WHERE;
-
-		    $dbc = new DBConnectionRW();
-		    $dbh = $dbc->connect();
-		
-		    $result = mysql_query($sql, $dbh);
-		
-		    $dbc->disconnect();
-		    $dbh 	= null;
-		    $dbc 	= null;
-		    $result = null;
-		    $myrow	= null;
-	    }
-	}
-
-	function insertUpdateProjectCategory($_project_id, $_category_id, $_description) {
-		
-		$App = new App();
-	
-	    if($_project_id != "" && $_category_id != "") {
-		
-		    $sql = "INSERT INTO project_categories (
-						project_id,
-						category_id,
-						description,
-						long_description
-						)
-	        		VALUES (
-					" . $App->returnQuotedString($_project_id) . ",
-					" . $App->returnQuotedString($_category_id) . ",
-					" . $App->returnQuotedString($_description) . ",
-					" . $App->returnQuotedString($this->getLongDescription()). "
-						)";
-
-			# smart connection does not work here
-			if (file_exists("/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php")) {
-				require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php";
-			}
-		    $dbc = new DBConnectionRW();
-		    $dbh = $dbc->connect();
-		
-		    $result = mysql_query($sql, $dbh);
-		
-		    $dbc->disconnect();
-		    $dbh 	= null;
-		    $dbc 	= null;
-		    $result = null;
-		    $myrow	= null;
-	    }
-	}
-
-}
-?>
\ No newline at end of file
diff --git a/classes/projects/projectCategoryList.class.php b/classes/projects/projectCategoryList.class.php
deleted file mode 100644
index e56935b..0000000
--- a/classes/projects/projectCategoryList.class.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *    Nathan Gervais (Eclipse Foundation) - Expanded new fields being added
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/projects/projectCategory.class.php");
-//require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
-
-class ProjectCategoryList {
-
-	#*****************************************************************************
-	#
-	# projectCategoryList.class.php
-	#
-	# Author: 	Denis Roy
-	# Date:		2005-10-25
-	#
-	# Description: Functions and modules related Lists of projectCategories
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************
-
-	var $list = array();
-	
-	
-	function getList() {
-		return $this->$list;
-	} 
-	function setList($_list) {
-		$this->list = $_list;
-	}
-
-
-    function add($_project) {
-            $this->list[count($this->list)] = $_project;
-    }
-
-
-    function getCount() {
-            return count($this->list);
-    }
-
-    function getItemAt($_pos) {
-            if($_pos < $this->getCount()) {
-                    return $this->list[$_pos];
-            }
-    }
-
-	function selectProjectCategoryList($_project_id, $_category_id, $_order_by) {
-		
-		$App = new App();
-	    $WHERE = "";
-	
-	    if($_project_id != "") {
-	            $WHERE = $App->addAndIfNotNull($WHERE);
-	            $WHERE .= " PRC.project_id = " . $App->returnQuotedString($_project_id);
-	    }
-	    if($_category_id != "") {
-	            $WHERE = $App->addAndIfNotNull($WHERE);
-	            $WHERE .= " PRC.category_id = " . $App->returnQuotedString($_category_id);
-	    }
-	
-	    if($WHERE != "") {
-	            $WHERE = " WHERE " . $WHERE;
-	    }
-	
-	    if($_order_by == "") {
-	            $_order_by = "PRC.description";
-	    }
-	
-	    $_order_by = " ORDER BY " . $_order_by;
-		
-	    $sql = "SELECT 
-					PRC.project_id,
-					PRC.category_id, 
-					PRC.description AS ProjectCategoryDescription ,
-					PRC.long_description AS ProjectCategoryLongDescription,
-					PRJ.name,
-					PRJ.level,
-					PRJ.parent_project_id,
-					PRJ.description,
-					PRJ.url_download,
-					PRJ.url_newsgroup,
-					PRJ.url_mailinglist,
-					PRJ.url_wiki,
-					PRJ.url_docs,
-					PRJ.url_index,
-					PRJ.is_topframe,
-					CAT.description AS CategoryDescription,
-					CAT.category_shortname,
-					CAT.image_name
-	        	FROM
-					project_categories 		AS PRC 
-					INNER JOIN projects 	AS PRJ ON PRJ.project_id = PRC.project_id
-					INNER JOIN categories 	AS CAT ON CAT.category_id = PRC.category_id "
-				. $WHERE
-				. $_order_by;
-				
-	    $dbc = new DBConnection();
-	    $dbh = $dbc->connect();
-	
-	    $result = mysql_query($sql, $dbh);
-
-	    while($myrow = mysql_fetch_array($result))
-	    {
-	            $Project 	= new Project();
-	            $Project->setProjectID		($myrow["project_id"]);
-	            $Project->setName			($myrow["name"]);
-	            $Project->setLevel			($myrow["level"]);
-	            $Project->setParentProjectID($myrow["parent_project_id"]);
-	            $Project->setDescription	($myrow["description"]);
-	    		$Project->setUrlDownload	($myrow["url_download"]);
-	    		$Project->setUrlNewsgroup   ($myrow["url_newsgroup"]);
-	    		$Project->setUrlMailingList ($myrow["url_mailinglist"]);
-	    		$Project->setUrlWiki		($myrow["url_wiki"]);
-	    		$Project->setUrlDocs		($myrow["url_docs"]);
-	    		$Project->setUrlIndex		($myrow["url_index"]);
-				$Project->setIsTopframe		($myrow["is_topframe"]);
-				
-				$Category = new Category();
-				$Category->setCategoryID	($myrow["category_id"]);
-				$Category->setDescription	($myrow["CategoryDescription"]);
-				$Category->setCategoryShortname	($myrow["category_shortname"]);
-				$Category->setImageName		($myrow["image_name"]);
-				
-				$ProjectCategory = new ProjectCategory();
-				$ProjectCategory->setProjectID	($myrow["project_id"]);
-				$ProjectCategory->setCategoryID	($myrow["category_id"]);
-				$ProjectCategory->setDescription($myrow["ProjectCategoryDescription"]);
-				$ProjectCategory->setLongDescription($myrow["ProjectCategoryLongDescription"]);
-				$ProjectCategory->setProjectObject($Project);
-				$ProjectCategory->setCategoryObject($Category);
-				
-
-	            $this->add($ProjectCategory);
-	    }
-	    
-	    	
-	    $dbc->disconnect();
-	    $dbh 	= null;
-	    $dbc 	= null;
-	    $result = null;
-	    $myrow	= null;
-	}
-}
-?>
diff --git a/classes/projects/projectInfoData.class.php b/classes/projects/projectInfoData.class.php
deleted file mode 100644
index fa19851..0000000
--- a/classes/projects/projectInfoData.class.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2007 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:
- *    Bjorn Freeman-Benson - Initial API
- *    Nathan Gervais - Fixed __get function to return correct values for multirow records
- *    Karl Matthias - Implemented Countable Extension to the class. And Plural __get retreival
- * 					Added fields() and ProjectInfoID() functions, fixed bug in multi-row sets
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-
-class ProjectInfoData implements Countable
-{
-	private $rows; // raw query results for database, ProjectID, MainKey, SubKey, Value, ProjectInfoID
-	private $mainkeys; // [main key] -> # of rows
-	private $subkeys;  // [main key] -> true if has subkeys, false otherwise
-
-	function ProjectInfoData( $projectid )
-	{
-		$dbc = new DBConnection();
-		$dbh = $dbc->connect();
-		$result = mysql_query("
-					SELECT * FROM ProjectInfo, ProjectInfoValues
-						WHERE ProjectID = '$projectid'
-						  AND ProjectInfo.ProjectInfoID = ProjectInfoValues.ProjectInfoID", $dbh);
-		$this->rows = array();
-		$this->mainkeys = array();
-		$this->subkeys = array();
-		while($row = mysql_fetch_assoc($result)) {
-			$this->rows[] = $row;
-			$mainkey = $row['MainKey'];
-			if( isset($this->mainkeys[$mainkey]))
-				$this->mainkeys[$mainkey]++;
-			else
-				$this->mainkeys[$mainkey] = 1;
-			if( !isset($this->subkeys[$mainkey]))
-				$this->subkeys[$mainkey] = false;
-			if( $row['SubKey'] != null )
-				$this->subkeys[$mainkey] = true;
-		}
-	}
-
-	function __get( $varname )
-	{
-		$check_multiples = false;
-		if(preg_match('/s$/', $varname)) // see if we need to look for "newsgroups" instead of just "newsgroup" for example
-			$check_multiples = true;
-		foreach( $this->rows as $row ) {
-			$mainkey = $row['MainKey'];
-			$exactmatch = ($mainkey == $varname);
-			$pluralmatch = ($mainkey . 's' == $varname);
-			if( $exactmatch || ($check_multiples  && $pluralmatch) ) {
-				if( $this->mainkeys[$mainkey] == 1 ) {
-					if( $this->subkeys[$mainkey] == false ) {
-						if($check_multiples && !$exactmatch) {
-							$rtrn = array();
-							$rtrn[] = $row['Value'];
-							return $rtrn;
-						} else {
-							return $row['Value'];
-						}
-					} else {
-						$subrows = array();
-						foreach( $this->rows as $rr ) {
-							if( $row['ProjectInfoID'] == $rr['ProjectInfoID']) {
-								$subrows[] = $rr;
-							}
-						}
-						if($check_multiples && !$exactmatch) {
-							$rtrn = array();
-							$rtrn[] = new ProjectInfoValues( $this, $subrows );
-							return $rtrn;
-						} else {
-							return new ProjectInfoValues( $this, $subrows );
-						}
-					}
-				} else {
-					if( $this->subkeys[$mainkey] == false ) {
-						$result = array();
-						foreach( $this->rows as $rr ) {
-							if( $rr['MainKey'] == $mainkey) {
-								$result[] = $rr['Value'];
-							}
-						}
-						return $result;
-					} else {
-						$result = array();
-						$checked = array();
-						foreach( $this->rows as $rr ) {
-							if(isset($checked[$rr['ProjectInfoID']])) {
-								continue;
-							}
-							$checked[$rr['ProjectInfoID']] = true;
-							if( $rr['MainKey'] == $mainkey) {
-								$subrows = array();
-								foreach( $this->rows as $rrr ) {
-									if( $rr['ProjectInfoID'] == $rrr['ProjectInfoID']) {
-										$subrows[] = $rrr;
-									}
-								}
-								$result[] = new ProjectInfoValues( $this, $subrows );
-							}
-						}
-						return $result;
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	function count() {
-		return count($this->mainkeys);
-	}
-}
-
-class ProjectInfoValues implements Countable {
-	private $rows;
-	function ProjectInfoValues( $projectinfo, $subrows ) {
-		$this->rows = $subrows;
-	}
-	function __get( $varname )
-	{
-		foreach( $this->rows as $row ) {
-			$subkey = $row['SubKey'];
-			if( $subkey == $varname ) {
-				return $row['Value'];
-			}
-		}
-		return null;
-	}
-
-	function count() {
-		return count($this->rows);
-	}
-
-	function fields() {
-		$fields = array();
-		foreach($this->rows as $row) {
-			$fields[] = $row['SubKey'];
-		}
-		arsort($fields, SORT_STRING);
-		return $fields;
-	}
-
-	function ProjectInfoID() {
-		$row = $this->rows[0];
-		return $row['ProjectInfoID'];
-	}
-}
-?>
\ No newline at end of file
diff --git a/classes/projects/projectInfoList.class.php b/classes/projects/projectInfoList.class.php
deleted file mode 100644
index e75981e..0000000
--- a/classes/projects/projectInfoList.class.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2007 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:
- *    Nathan Gervais (Eclipse Foundation)- initial API and implementation
- *    Karl Matthias (Eclipse Foundation) - initial API and implementation
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/projects/projectInfoData.class.php");
-
-
-class projectInfoList {
-
-	var $list = array();
-	
-   	function alphaSortList(){
-		
-   		if (!function_exists("cmp_obj"))
-   		{
-	   		function cmp_obj($a, $b)
-		    {
-		        $al = trim(strtolower($a->projectname));
-		        $bl = trim(strtolower($b->projectname));
-		        if ($al == $bl) {
-		            return 0;
-		        }
-		        return ($al > $bl) ? +1 : -1;
-		   	}	   		
-   		}
-		usort($this->list, "cmp_obj");
-	}
-	
-	
-	function getList() {
-		return $this->$list;
-	} 
-	function setList($_list) {
-		$this->list = $_list;
-	}
-
-    function add($_project) {
-            $this->list[count($this->list)] = $_project;
-    }
-
-    function getCount() {
-            return count($this->list);
-    }
-
-    function getItemAt($_pos) {
-            if($_pos < $this->getCount()) {
-                    return $this->list[$_pos];
-            }
-    }
-
-	function selectProjectInfoList($_projectID = NULL, $_mainKey = NULL, $_subKey = NULL, $_value = NULL, $_projectInfoID = NULL , $_order_by = NULL) {
-
-		   $dbc = new DBConnection();
-		   $dbh = $dbc->Connect();		   	
-		   	
-		   $sql = "SELECT DISTINCT ProjectID
-						FROM ProjectInfo, ProjectInfoValues";
-		   
-		   if ($_projectID) {
-		   	
-		   		$wheresql .= " ProjectID like '$_projectID%'";
-		   }
-		   if ($_mainKey) {
-		   		$wheresql = $this->addAndIfNotNull($wheresql);	
-		   		$wheresql .= " MainKey = '$_mainKey'";
-		   }
-		   if ($_subKey) {
-		   		$wheresql = $this->addAndIfNotNull($wheresql);	
-		   		$wheresql .= " SubKey = '$_subKey'";
-		   }
-		   if ($_value) {
-		   		$wheresql = $this->addAndIfNotNull($wheresql);	
-		   		$wheresql .= " Value = '$_value'";
-		   }
-		   if ($_projectInfoID) {
-		   		$wheresql = $this->addAndIfNotNull($wheresql);	
-		   		$wheresql .= " ProjectInfo.ProjectInfoID = '$_projectInfoID'";
-		   }
-		   		   		   		   
-	   
-		if($wheresql != "") {
-	            $wheresql = " WHERE " . $wheresql. " AND ProjectInfo.ProjectInfoID = ProjectInfoValues.ProjectInfoID";
-	    }
-	
-	    if($_order_by == "") {
-	            $_order_by = "MainKey";
-	    }
-	    $_order_by = " ORDER BY " . $_order_by;		   	
-	    
-	    $sql = $sql . $wheresql . $_order_by;
-	    
-	    
-	    $result = mysql_query($sql, $dbh) or die ("ProjectInfoList.selectProjectInfoList: ". mysql_error());
-	    
-	    while ($sqlIterator = mysql_fetch_array($result))
-	    {
-	    	$projectID = $sqlIterator['ProjectID'];
-	    	$ProjectInfoData = new ProjectInfoData($projectID);
-	    	$this->add($ProjectInfoData); 
-	    } 		   
-    }
-    
-	function addAndIfNotNull($_String) {
-		# Accept: String - String to be AND'ed
-		# return: string - AND'ed String
-		
-		if($_String != "") {
-			$_String = $_String . " AND ";
-		}
-		
-		return $_String;
-	}    
-}
-?>
\ No newline at end of file
diff --git a/classes/projects/projectList.class.php b/classes/projects/projectList.class.php
deleted file mode 100644
index f7eead1..0000000
--- a/classes/projects/projectList.class.php
+++ /dev/null
@@ -1,160 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *    Nathan Gervais (Eclipse Foundation) - Expanded new fields being added
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/drops/drop.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/projects/project.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-//require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
-
-class ProjectList {
-
-	#*****************************************************************************
-	#
-	# projectList.class.php
-	#
-	# Author: 	Denis Roy
-	# Date:		2004-11-16
-	#
-	# Description: Functions and modules related Lists of projects
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************
-
-	var $list = array();
-	
-	
-	function getList() {
-		return $this->$list;
-	}
-	function setList($_list) {
-		$this->list = $_list;
-	}
-
-
-    function add($_project) {
-            $this->list[count($this->list)] = $_project;
-    }
-
-
-    function getCount() {
-            return count($this->list);
-    }
-
-    function getItemAt($_pos) {
-            if($_pos < $this->getCount()) {
-                    return $this->list[$_pos];
-            }
-    }
-
-	function selectProjectList($_project_id, $_name, $_level, $_parent_project_id, $_description, $_order_by, $_is_project = 0) {
-		
-		$App = new App();
-	    $WHERE = " PRJ.is_active = 1";
-	
-	    if($_project_id != "") {
-	            $WHERE = $App->addAndIfNotNull($WHERE);
-	            $WHERE .= " PRJ.project_id = " . $App->returnQuotedString($_project_id);
-	    }
-	    if($_name != "") {
-	            $WHERE = $App->addAndIfNotNull($WHERE);
-	            $WHERE .= " PRJ.name LIKE " . $App->returnQuotedString("%" . $_name . "%");
-	
-	    }
-	    if($_level > 0) {
-	            $WHERE = $App->addAndIfNotNull($WHERE);
-	            $WHERE .= " PRJ.level = " . $_level;
-	    }
-	    if($_parent_project_id != "") {
-	            $WHERE = $App->addAndIfNotNull($WHERE);
-	            $WHERE .= " PRJ.parent_project_id = " . $App->returnQuotedString($_parent_project_id);
-	    }
-	    if($_description != "") {
-	            $WHERE = $App->addAndIfNotNull($WHERE);
-	            $WHERE .= " PRJ.description LIKE " . $App->returnQuotedString("%" . $_description . "%");
-	
-	    }
-	    if ($_is_project != 0)
-	    {
-	    		$WHERE = $App->addAndIfNotNull($WHERE);
-	    		$WHERE .= " PRJ.is_project = " . $_is_project;	
-	    }
-	
-	    if($WHERE != "") {
-	            $WHERE = " WHERE " . $WHERE;
-	    }
-	
-	    if($_order_by == "") {
-	            $_order_by = "PRJ.name";
-	    }
-	
-	    $_order_by = " ORDER BY " . $_order_by;
-	
-	
-	    $dbc = new DBConnection();
-	    $dbh = $dbc->connect();
-	
-	    $sql = "SELECT 
-					PRJ.project_id,
-					PRJ.name,
-					PRJ.level,
-					PRJ.parent_project_id,
-					PRJ.description,
-					PRJ.url_download,
-					PRJ.url_index,
-					PRJ.is_topframe,
-					PRJ.sort_order,
-					PRJ.is_active,
-					PRJ.url_newsgroup,
-					PRJ.url_mailinglist,
-					PRJ.url_wiki,
-					PRJ.url_docs,
-					PRJ.is_project
-	        	FROM
-					projects AS PRJ "
-				. $WHERE
-				. $_order_by;
-# echo $sql;	
-	    $result = mysql_query($sql, $dbh);
-
-	    while($myrow = mysql_fetch_array($result))
-	    {
-	    		
-	            $Project 	= new Project();
-	            $Project->setProjectID		($myrow["project_id"]);
-	            $Project->setName			($myrow["name"]);
-	            $Project->setLevel			($myrow["level"]);
-	            $Project->setParentProjectID($myrow["parent_project_id"]);
-	            $Project->setDescription	($myrow["description"]);
-	    		$Project->setUrlDownload	($myrow["url_download"]);
-	    		$Project->setUrlIndex		($myrow["url_index"]);
-				$Project->setIsTopframe		($myrow["is_topframe"]);
-				$Project->setSortOrder		($myrow["sort_order"]);
-				$Project->setIsActive		($myrow["is_active"]);
-				$Project->setUrlNewsgroup  ($myrow["url_newsgroup"]);
-				$Project->setUrlMailingList($myrow["url_mailinglist"]);
-				$Project->setUrlWiki  		($myrow["url_wiki"]);
-				$Project->setUrlDocs  		($myrow["url_docs"]);
-				$Project->setIsProject		($myrow["is_project"]);				
-	            $this->add($Project);
-	    }
-	    
-	    	
-	    $dbc->disconnect();
-	    $dbh 	= null;
-	    $dbc 	= null;
-	    $result = null;
-	    $myrow	= null;
-	}
-}
-?>
diff --git a/system/app.class.php b/system/app.class.php
deleted file mode 100644
index 6dbbc42..0000000
--- a/system/app.class.php
+++ /dev/null
@@ -1,762 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-class App {
-
-	#*****************************************************************************
-	#
-	# app.class.php
-	#
-	# Author: 		Denis Roy
-	# Date:			2004-08-05
-	#
-	# Description: Functions and modules related to the application
-	#
-	# HISTORY:
-	#		2007-03-13: added WWW_PREFIX functionality, and default class constructor
-	#
-	#*****************************************************************************
-
-	private $APPVERSION 	= "1.0";
-	private $APPNAME		= "Eclipse.org";
-	
-	
-	private $DEFAULT_ROW_HEIGHT	= 20;
-	
-	private $POST_MAX_SIZE		= 262144;   # 256KB Max post
-	private $OUR_DOWNLOAD_URL   = "http://download1.eclipse.org";
-	private $PUB_DOWNLOAD_URL   = "http://download.eclipse.org";
-	private $DOWNLOAD_BASE_PATH = "/home/data2/httpd/download.eclipse.org";
-	
-	private $WWW_PREFIX			= "";  # default is relative
-	
-	# Additional page-related variables
-	private $ExtraHtmlHeaders   = "";
-	private $PageRSS			= "";
-	private $PageRSSTitle		= "";
-	
-	private $THEME_LIST 		=  array("", "Phoenix", "Miasma", "Lazarus");
-	
-	# Set to TRUE to disable all database operations
-	private $DB_READ_ONLY		= false;
-	
-	# Default constructor
-	function App() {
-		# Set value for WWW_PREFIX
-		if($_SERVER['SERVER_NAME'] != "www.eclipse.org") {
-			$this->WWW_PREFIX = "http://www.eclipse.org";
-		}
-	}
-	
-	
-	function getAppVersion() {
-		return $this->APPVERSION;
-	}
-	
-	function getHeaderPath($_theme) {
-		return $_SERVER["DOCUMENT_ROOT"] . "/eclipse.org-common/themes/" . $_theme . "/header.php";
-	}
-	function getMenuPath($_theme) {
-		return $_SERVER["DOCUMENT_ROOT"] . "/eclipse.org-common/themes/" . $_theme . "/menu.php";
-	}
-	function getNavPath($_theme) {
-		return $_SERVER["DOCUMENT_ROOT"] . "/eclipse.org-common/themes/" . $_theme . "/nav.php";
-	}
-	function getFooterPath($_theme) {
-		return $_SERVER["DOCUMENT_ROOT"] . "/eclipse.org-common/themes/" . $_theme . "/footer.php";
-	}
-	
-	function getAppName() {
-		return $this->APPNAME;
-	}
-	function getPostMaxSize() {
-		return $this->POST_MAX_SIZE;
-	}
-	function getDefaultRowHeight() {
-		return $this->DEFAULT_ROW_HEIGHT;
-	}
-	function getDBReadOnly() {
-		return $this->DB_READ_ONLY;
-	}	
-	
-	function sendXMLHeader() {
-		header("Content-type: text/xml");
-	}
-
-	function getOurDownloadServerUrl() {
-		return $this->OUR_DOWNLOAD_URL;
-	}
-
-	function getDownloadBasePath() {
-		return $this->DOWNLOAD_BASE_PATH;
-	}
-
-	function getPubDownloadServerUrl() {
-		return $this->PUB_DOWNLOAD_URL;
-	}
-	
-	function getWWWPrefix() {
-		return $this->WWW_PREFIX;
-	}
-	
-	function getUserLanguage() {
-		/* @return: String
-		 * 
-		 * Check the browser's default language and return
-		 * 
-		 * 2006-06-28: droy
-		 * 
-		 */
-		
-		$validLanguages = array('en', 'de', 'fr');
-		$defaultLanguage = "en";
-		
-		# get the default browser language (first one reported)
-		$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
-		
-		if(array_search($language, $validLanguages)) {
-				return $language;
-		}
-		else {
-			return $defaultLanguage;
-		}
-	}
-
-	function getLocalizedContentFilename() {
-		/* @return: String
-		 * 
-		 * return the content/xx_filename.php filename, according to availability of the file
-		 * 
-		 * 2006-06-28: droy
-		 * 
-		 */
-		
-		$language = $this->getUserLanguage();
-		$filename = "content/" . $language . "_" . $this->getScriptName();
-		
-		if(!file_exists($filename)) {
-			$filename = "content/en_" . $this->getScriptName();
-		}
-		
-		return $filename;
-	}
-
-	
-	function getScriptName() {
-		# returns only the filename portion of a script
-		return substr($_SERVER['SCRIPT_NAME'], strrpos($_SERVER['SCRIPT_NAME'], "/") + 1);
-	}
-
-	function getProjectCommon() {
-		/** @return: String
-		 * 
-		 * Walk up the directory structure to find the closest _projectCommon.php file
-		 * 
-		 * 2005-12-06: droy
-		 * - created basic code to walk up all the way to the DocumentRoot  
-		 * 
-		 */
-		
-		$currentScript 	= $_SERVER['SCRIPT_FILENAME'];
-		$strLen 		= strlen($currentScript);
-		$found 			= false;
-		$antiLooper		= 0;
-		
-		# default to /home/_projectCommon.php
-		$rValue 		= $_SERVER['DOCUMENT_ROOT'] . "/home/_projectCommon.php";  
-		
-		
-		while($strLen > 1 && ! $found) {
-			$currentScript 	= substr($_SERVER['SCRIPT_FILENAME'], 0, strrpos($currentScript, "/"));
-			$testPath 		= $currentScript . "/_projectCommon.php";
-			
-			if(file_exists($testPath)) {	
-				$found 	= true;
-				$rValue = $testPath;
-			}
-			$strLen = strlen($currentScript);
-			
-			# break free from endless loops
-			$antiLooper++;
-			if($antiLooper > 20) {
-				$found = true;
-			}
-		}
-		return $rValue;
-	}
-
-
-	function runStdWebAppCacheable() {
-		 session_start();
-		 
-		 header("Cache-control: private");
-		 header("Expires: 0");
-	}
-
-	function getAlphaCode($_NumChars)
-	{
-		# Accept: int - number of chars
-		# return: string - random alphanumeric code
-		
-	
-		# Generate alpha code
-		$addstring = "";
-		for ($i = 1; $i <= $_NumChars; $i++) {
-			if(rand(0,1) == 1) {
-				# generate character
-				$addstring = $addstring . chr(rand(0,5) + 97);
-			}
-			else {
-				$addstring = $addstring . rand(0,9);
-			}
-		}
-		return $addstring;
-	}
-
-	function getCURDATE() {
-		return date("Y-m-d");
-	}
-
-	function addOrIfNotNull($_String) {
-		# Accept: String - String to be AND'ed
-		# return: string - AND'ed String
-		
-		if($_String != "") {
-			$_String = $_String . " OR ";
-		}
-		
-		return $_String;
-	}
-
-	function addAndIfNotNull($_String) {
-		# Accept: String - String to be AND'ed
-		# return: string - AND'ed String
-		
-		if($_String != "") {
-			$_String = $_String . " AND ";
-		}
-		
-		return $_String;
-	}
-	
-	function getNumCode($_NumChars)
-	{
-		# Accept: int - number of chars
-		# return: int - random numeric code
-		
-	
-		# Generate code
-		$addstring = "";
-		for ($i = 1; $i <= $_NumChars; $i++) {
-			if($i > 1) {
-				# generate first digit
-				$addstring = $addstring . rand(1,9);
-			}
-			else {
-				$addstring = $addstring . rand(0,9);
-			}
-		}
-		return $addstring;
-	}
-
-	function str_replace_count($find, $replace,$subject, $count) {
-		# Replaces $find with $replace in $subnect $count times only
-		
-		$nC = 0;
-		
-		$subjectnew = $subject;
-		$pos = strpos($subject, $find);
-		if ($pos !== FALSE)   {
-			while ($pos !== FALSE) {
-				$nC++;
-				$temp = substr($subjectnew, $pos+strlen($find));
-				$subjectnew = substr($subjectnew, 0, $pos) . $replace . $temp;
-				if ($nC >= $count)   {
-					break;
-				}
-		        $pos = strpos($subjectnew, $find);
-			}
-		}
-		return $subjectnew;
-	}
-
-	function returnQuotedString($_String)
-	{
-		# Accept: String - String to be quoted
-		# return: string - Quoted String
-		
-		// replace " with '
-		$_String = str_replace('"', "'", $_String);
-	
-		return "\"" . $_String . "\"";
-	}
-
-	function returnHTMLSafeString($_String)
-	{
-		# Accept: String - String to be HTMLSafified
-		# return: string
-		
-		// replace " with '
-		$_String = str_replace('<', "&lt;", $_String);
-		$_String = str_replace('<', "&gt;", $_String);
-		$_String = str_replace("\n", "<br />", $_String);
-	
-		return $_String;
-	}
-
-	function returnJSSAfeString($_String)
-	{
-		# Accept: String - String to be quoted
-		# return: string - Quoted String
-		
-		// replace " with '
-		$_String = str_replace("'", "\\'", $_String);
-	
-		return $_String;
-	}
-
-	function replaceEnterWithBR($_String) {
-		return str_replace("\n", "<br />", $_String);
-	}
-	
-	function generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html) {
-		
-		# OPT1: ob_start();
-		
-		# All web page parameters passed for variable scope
-		
-		if($theme == "") {
-			$theme = "Phoenix";
-		}
-		
-		if($pageTitle == "") {
-			$pageTitle = "eclipse.org page";
-		}
-
-		# page-specific RSS feed
-		if($this->PageRSS != "") {
-			if ($this->PageRSSTitle != "") {
-				$this->PageRSSTitle = "Eclipse RSS Feed";
-			}
-			$this->ExtraHtmlHeaders .= '<link rel="alternate" title="' . $this->PageRSSTitle . '" href="' . $this->PageRSS . '" type="application/rss+xml">';
-		}
-		
-		$extraHtmlHeaders = $this->ExtraHtmlHeaders;
-
-		include($this->getHeaderPath($theme));
-		
-		if ($Menu != NULL)
-		include($this->getMenuPath($theme));
-		
-		if ($Nav != NULL)
-		include($this->getNavPath($theme));
-		
-		echo $html;
-		include($this->getFooterPath($theme));
-		
-		# OPT1:$starttime = microtime();
-		# OPT1:$html = ob_get_contents();
-		# OPT1:ob_end_clean();
-		
-		# OPT1:$stripped_html = $html;
-		# OPT1:$stripped_html = preg_replace("/^\s*/", "", $stripped_html);
-		# OPT1:$stripped_html = preg_replace("/\s{2,}/", " ", $stripped_html);
-		# OPT1:$stripped_html = preg_replace("/^\t*/", "", $stripped_html);
-		# OPT1:$stripped_html = preg_replace("/\n/", "", $stripped_html);
-		# OPT1:$stripped_html = preg_replace("/>\s</", "><", $stripped_html);
-		# $stripped_html = preg_replace("/<!--.*-->/", "", $stripped_html);
-		# OPT1:$endtime = microtime();
-		
-		# OPT1:echo "<!-- unstripped: " . strlen($html) . " bytes/ stripped: " . strlen($stripped_html) . "bytes - " . sprintf("%.2f", strlen($stripped_html) / strlen($html)) . " Bytes saved: " . (strlen($html) - strlen($stripped_html)) . " Time: " . ($endtime - $starttime) . " -->";
-		# echo $stripped_html;
-	}
-	
-	function AddExtraHtmlHeader( $string ) {
-		$this->ExtraHtmlHeaders .= $string;
-	}
-	
-	function getThemeURL($_theme) {
-		if($_theme == "") {
-			$theme = "Phoenix";
-		}
-		
-		return "/eclipse.org-common/themes/" . $_theme;
-		
-	}
-	
-	function getHTTPParameter($_param_name, $_method="") {
-		/** @author droy
-		 * @since version - Oct 19, 2006
-		 * @param String _param_name name of the HTTP GET/POST parameter
-		 * @param String _method GET or POST, or the empty string for POST,GET order 
-		 * @return String HTTP GET/POST parameter value, or the empty string
-		 *  
-		 * Fetch the HTTP parameter
-		 * 
-		 */
-		
-		$rValue = "";
-		$_method = strtoupper($_method);
-
-		# Always fetch the GET VALUE, override with POST unless a GET was specifically requested
-		if(isset($_GET[$_param_name])) {
-			$rValue = $_GET[$_param_name];
-		}
-		if(isset($_POST[$_param_name]) && $_method != "GET") {	
-			$rValue = $_POST[$_param_name];
-		}
-		return $rValue;
-	}
-
-
-	function getClientOS() {
-
-        $UserAgent = $_SERVER['HTTP_USER_AGENT'];
-
-        $regex_windows  = '/([^dar]win[dows]*)[\s]?([0-9a-z]*)[\w\s]?([a-z0-9.]*)/i';
-        $regex_mac      = '/(68[k0]{1,3})|(mac os x)|(darwin)/i';
-        $regex_os2      = '/os\/2|ibm-webexplorer/i';
-        $regex_sunos    = '/(sun|i86)[os\s]*([0-9]*)/i';
-        $regex_irix     = '/(irix)[\s]*([0-9]*)/i';
-        $regex_hpux     = '/(hp-ux)[\s]*([0-9]*)/i';
-        $regex_aix      = '/aix([0-9]*)/i';
-        $regex_dec      = '/dec|osfl|alphaserver|ultrix|alphastation/i';
-        $regex_vms      = '/vax|openvms/i';
-        $regex_sco      = '/sco|unix_sv/i';
-        $regex_linux    = '/x11|inux/i';
-        $regex_bsd      = '/(free)?(bsd)/i';
-        $regex_amiga    = '/amiga[os]?/i';
-        $regex_ppc		= '/ppc/i';
-
-        $regex_x86_64   = "/x86_64/i";
-
-        // look for Windows Box
-        if(preg_match_all($regex_windows,$UserAgent,$match))  {
-
-
-			$v  = $match[2][count($match[0])-1];
-            $v2 = $match[3][count($match[0])-1];
-
-			// Establish NT 6.0 as Vista
-			if(stristr($v,'NT') && $v2 == 6.0) $v = 'win32';
-            
-			// Establish NT 5.1 as Windows XP
-			elseif(stristr($v,'NT') && $v2 == 5.1) $v = 'win32';
-
-			// Establish NT 5.0 and Windows 2000 as win2k
-            elseif($v == '2000') $v = '2k';
-			elseif(stristr($v,'NT') && $v2 == 5.0) $v = 'win32';
-            
-			// Establish 9x 4.90 as Windows 98
-            elseif(stristr($v,'9x') && $v2 == 4.9) $v = 'win32';
-			// See if we're running windows 3.1
-            elseif($v.$v2 == '16bit') $v = 'win16';
-                // otherwise display as is (31,95,98,NT,ME,XP)
-			else $v .= $v2;
-			// update browser info container array
-			if(empty($v)) $v = 'win32';
-			return (strtolower($v));
-		}
-
-                //  look for amiga OS
-                elseif(preg_match($regex_amiga,$UserAgent,$match))  {
-                        if(stristr($UserAgent,'morphos')) {
-                        // checking for MorphOS
-                                return ('morphos');
-                                }
-                }
-                        elseif(stristr($UserAgent,'mc680x0')) {
-                        // checking for MC680x0
-                        return ('mc680x0');
-                        }
-                        elseif(preg_match('/(AmigaOS [\.1-9]?)/i',$UserAgent,$match)) {
-                              // checking for AmigaOS version string
-                                return ($match[1]);
-                        }
-                // look for OS2
-                elseif( preg_match($regex_os2,$UserAgent))  {
-                        return ('os2');
-                }
-                // look for mac
-                // sets: platform = mac ; os = 68k or ppc
-                elseif( preg_match($regex_mac,$UserAgent,$match) )
-                {
-                    $os = !empty($match[1]) ? 'mac68k' : '';
-                    $os = !empty($match[2]) ? 'macosx' : $os;
-                    $os = !empty($match[3]) ? 'macppc' : $os;
-                    $os = !empty($match[4]) ? 'macosx' : $os;
-                    return ('macosx');
-                }
-                //  look for *nix boxes
-                //  sunos sets: platform = *nix ; os = sun|sun4|sun5|suni86
-                elseif(preg_match($regex_sunos,$UserAgent,$match))
-                {
-                    if(!stristr('sun',$match[1])) $match[1] = 'sun'.$match[1];
-                    return ('solaris');
-                }
-                //  irix sets: platform = *nix ; os = irix|irix5|irix6|...
-                elseif(preg_match($regex_irix,$UserAgent,$match))
-                {
-                    return ($match[1].$match[2]);
-                }
-                //  hp-ux sets: platform = *nix ; os = hpux9|hpux10|...
-                elseif(preg_match($regex_hpux,$UserAgent,$match))
-                {
-                    $match[1] = str_replace('-','',$match[1]);
-                    $match[2] = (int) $match[2];
-                    return ('hpux');
-                }
-                //  aix sets: platform = *nix ; os = aix|aix1|aix2|aix3|...
-                elseif(preg_match($regex_aix,$UserAgent,$match))
-                {
-                    return ('aix');
-                }
-                //  dec sets: platform = *nix ; os = dec
-                elseif(preg_match($regex_dec,$UserAgent,$match))
-                {
-                    return ('dec');
-                }
-                //  vms sets: platform = *nix ; os = vms
-                elseif(preg_match($regex_vms,$UserAgent,$match))
-                {
-                    return ('vms');
-                }
-                //  dec sets: platform = *nix ; os = dec
-                elseif(preg_match($regex_dec,$UserAgent,$match))
-                {
-                    return ('dec');
-                }
-                //  vms sets: platform = *nix ; os = vms
-                elseif(preg_match($regex_vms,$UserAgent,$match))
-                {
-                    return ('vms');
-                }
-                //  sco sets: platform = *nix ; os = sco
-                elseif(preg_match($regex_sco,$UserAgent,$match))
-                {
-                    return ('sco');
-                }
-                //  unixware sets: platform = *nix ; os = unixware
-                elseif(stristr($UserAgent,'unix_system_v'))
-               {
-                    return ('unixware');
-                }
-                //  mpras sets: platform = *nix ; os = mpras
-                elseif(stristr($UserAgent,'ncr'))
-                {
-                    return ('mpras');
-                }
-                //  reliant sets: platform = *nix ; os = reliant
-                elseif(stristr($UserAgent,'reliantunix'))
-                {
-                    return ('reliant');
-                }
-                //  sinix sets: platform = *nix ; os = sinix
-                elseif(stristr($UserAgent,'sinix'))
-                {
-                    return ('sinix');
-                }
-                //  bsd sets: platform = *nix ; os = bsd|freebsd
-                elseif(preg_match($regex_bsd,$UserAgent,$match))
-                {
-                    return ($match[1].$match[2]);
-                }
-                //  last one to look for
-                //  linux sets: platform = *nix ; os = linux
-                elseif(preg_match($regex_linux,$UserAgent,$match))
-                {
-
-                        if(preg_match($regex_x86_64,$UserAgent,$match)) {
-                                return "linux-x64";
-                        }
-                        elseif(preg_match($regex_ppc,$UserAgent,$match)) {
-                                return "linux-ppc";
-                        }
-                        else {
-                                return ('linux');
-                        }
-                }
-        }
-        
-
-
-        function isValidTheme($_theme) {
-		/* @return: bool
-		 * 
-		 * returns true if supplied theme is in the array of valid themes
-		 * 
-		 * 2005-12-07: droy
-		 * 
-		 */
-        	return array_search($_theme, $this->THEME_LIST);
-        }
-        	
-        
-        function getUserPreferedTheme() {
-		/* @return: String
-		 * 
-		 * returns theme name in a browser cookie, or the Empty String
-		 * 
-		 * 2005-12-07: droy
-		 * 
-		 */
-        	if(isset($_COOKIE["theme"])) {
-				$theme = $_COOKIE["theme"];
-				
-				if($this->isValidTheme($theme)) {
-					return $theme;
-				}
-				else {
-					return "";
-				}
-        	}
-        }
-        
-        function usePolls() {
-        	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/polls/poll.php");
-        }	
-        
-        function useProjectInfo() {
-        	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/projects/projectInfoList.class.php");
-        }
-        /*
-         * This function applies standard formatting to a date. 
-         * 
-         * The first parameter is either a string or a number representing a date. 
-         * If it's a string, it must be in a format that is parseable by the 
-         * strtotime() function. If it is a number, it must be an integer representing 
-         * a UNIX timestamp (number of seconds since January 1 1970 00:00:00 GMT) 
-         * which, conveniently, is the output of the strtotime() function. 
-         * 
-         * The second (optional) parameter is the format for the result. This must
-         * one of 'short', or 'long'.
-         */
-        function getFormattedDate($date, $format = 'long') {
-        	if (is_string($date)) $date = strtotime($date);
-        	switch ($format) {
-        		case 'long' : return date("F j, Y", $date);
-        		case 'short' : return date("d M y", $date);
-        	}
-        }
-        
-        /*
-         * This function applies standard formatting to a date range. 
-         * 
-         * See the comments for getFormattedDate($date, $format) for information
-         * concerning what's expected in the parameters of this method).
-         */
-        function getFormattedDateRange($start_date, $end_date, $format) {
-        	if (is_string($start_date)) $start_date = strtotime($start_date);
-        	if (is_string($end_date)) $end_date = strtotime($end_date);
-        	switch ($format) {
-        		case 'long' : 
-        			if ($this->same_year($start_date, $end_date)) {
-						if ($this->same_month($start_date, $end_date)) {
-							return date("F", $start_date) 
-								. date(" d", $start_date)
-								. date("-d, Y", $end_date);
-						} else {
-							return date("F d", $start_date)
-								. date("-F d, Y", $end_date);
-						}
-					} else {
-						return date("F d, Y", $start_date)
-							. date("-F d, Y", $end_date);
-					}
-        		case 'short' :         	
-        			if ($this->same_year($start_date, $end_date)) {
-						if ($this->same_month($start_date, $end_date)) {
-							return date("d", $start_date) 
-								. date ("-d", $end_date)
-								. date(" M", $start_date)
-								. date(" y", $end_date);
-						} else {
-							return date("d M", $start_date)
-								. date("-d M y", $end_date);
-						}
-					} else {
-						return date("d M y", $start_date)
-							. date("-d M y", $end_date);
-					}
-        	}
-        }       
-
-        /*
-         * This method answers true if the two provided values represent
-         * dates that occur in the same year.
-         */
-		function same_year($a, $b) {
-			return date("Y", $a) == date("Y", $b);
-		}
-		
-        /*
-         * This method answers true if the two provided values represent
-         * dates that occur in the same month.
-         */
-		function same_month($a, $b) {
-			return date("F", $a) == date("F", $b);
-		}
-		
-		/**
-		 * Returns a string representing the size of a file in the downloads area
-		 * @author droy
-		 * @since Jun 7, 2007
-		 * @param string file File name relative to http://download.eclipse.org (the &file= parameter used)
-		 * @return string Returns a string in the format of XX MB
-		 */
-		function getDownloadFileSizeString($_file) {
-			$fileSize = "N/A";
-			$filesizebytes  = filesize($this->getDownloadBasePath() . $_file);
-			if($filesizebytes > 0) {
-				$fileSize = floor($filesizebytes / 1048576) . " MB";
-			}
-			return $fileSize;
-		}
-
-		function useSession($required="") {
-			require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/session.class.php");
-        	$ssn = new Session();
-        	if ((!$ssn->validate()) && $required == "required") {
-        		$ssn->redirectToLogin();
-			}
-        	return $ssn;
-		}
-		
-		function isValidCaller($_pathArray) {
-			$a = debug_backtrace();
-			$caller = $a[1]['file'];  # Caller 0 is the class that called App();
-			$validCaller = false;
-			for($i = 0; $i < count($_pathArray); $i++) {
-				# TODO: use regexp's to match the leftmost portion for better security 
-				if(strstr($caller, $_pathArray[$i])) {
-					$validCaller = true;
-					break;
-				}
-			}
-			return $validCaller;			
-		}
-
-		function sqlSanitize($_value, $_dbh) {
-		/**
-		 * Sanitize incoming value to prevent SQL injections
-		 * @param string value to sanitize
-		 * @param dbh database resource to use
-		 * @return string santized string
-		 */
-			if(get_magic_quotes_gpc()) {
-				$_value = stripslashes($_value);
-			}
-			$_value = mysql_real_escape_string($_value, $_dbh);
-        	return $_value;
-		}
-}
-
-?>
\ No newline at end of file
diff --git a/system/dbconnection.class.php b/system/dbconnection.class.php
deleted file mode 100644
index 8d0da8d..0000000
--- a/system/dbconnection.class.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?
-
-class DBConnection {
-		#*****************************************************************************
-        #
-        # dbconnection.class.php
-        #
-        # Author:       Denis Roy
-        # Date:         2004-08-05
-        #
-        # Description: Functions and modules related to the MySQL database connection
-        #
-        # HISTORY:  THIS IS A READ-ONLY DB CONNECTION CLASS!
-        #
-		#*****************************************************************************
-
-        var $MysqlUrl           = "localhost";
-        var $MysqlUser          = "phoenix";
-        var $MysqlPassword      = "fireB!rd";
-        var $MysqlDatabase      = "local_eclipse";
-
-        function connect()
-        {
-                static $dbh;
-
-                $dbh = mysql_connect($this->MysqlUrl, $this->MysqlUser, $this->MysqlPassword);
-
-                if (!$dbh) {
-                        echo( "<P>Unable to connect to the database server at this time.</P>" );
-                }
-                $DbSelected = mysql_select_db($this->MysqlDatabase, $dbh);
-                return $dbh;
-        }
-
-        function disconnect() {
-                mysql_close();
-        }
-}
-?>
diff --git a/system/dbconnection_epic_ro.class.php b/system/dbconnection_epic_ro.class.php
deleted file mode 100644
index dcfdfbc..0000000
--- a/system/dbconnection_epic_ro.class.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?
-
-class DBConnectionEPIC {
-		#*****************************************************************************
-        #
-        # dbconnection.class.php
-        #
-        # Author:       Denis Roy
-        # Date:         2004-08-05
-        #
-        # Description: Functions and modules related to the MySQL database connection
-        #
-        # HISTORY:  THIS IS A READ-ONLY DB CONNECTION CLASS!
-        #
-		#*****************************************************************************
-
-        var $MysqlUrl           = "localhost";
-        var $MysqlUser          = "epic";
-        var $MysqlPassword      = "";
-        var $MysqlDatabase      = "eclipseplugincentral";
-
-        function connect()
-        {
-                static $dbh;
-
-                $dbh = mysql_connect($this->MysqlUrl, $this->MysqlUser, $this->MysqlPassword);
-
-                if (!$dbh) {
-                        echo( "<P>Unable to Connect to the EPIC Database.</P>" );
-                }
-                $DbSelected = mysql_select_db($this->MysqlDatabase, $dbh);
-                return $dbh;
-        }
-
-        function disconnect() {
-                mysql_close();
-        }
-}
-?>
diff --git a/system/evt_log.class.php b/system/evt_log.class.php
deleted file mode 100644
index 6b420f1..0000000
--- a/system/evt_log.class.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2007 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-
-define('MAX_LOG_DAYS', 365);
-
-require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php");
-
-class EvtLog {
-
-	#*****************************************************************************
-	#
-	# evt_log.class.php
-	#
-	# Author: 		Denis Roy
-	# Date:			2004-08-05
-	#
-	# Description: Functions and modules related to a modification log entry
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************
-
-
-	
-	var $LogID 		= 0;
-	var $LogTable		= "";
-	var $PK1		= "";
-	var $PK2		= "";
-	var $LogAction		= "";
-	var $uid		= "";
-	var $EvtDateTime	= "";
-	
-	function getLogID() {
-		return $this->LogID;
-	}
-	function getLogTable() {
-		return $this->LogTable;
-	}
-	function getPK1() {
-		return $this->PK1;
-	}
-	function getPK2() {
-		return $this->PK2;
-	}
-	function getLogAction() {
-		return $this->LogAction;
-	}
-	function getuid() {
-		return $this->PersonID;
-	}
-	function getEvtDateTime() {
-		return $this->EvtDateTime;
-	}
-
-
-	function setLogID($_LogID) {
-		$this->LogID = $_LogID;
-	}
-	function setLogTable($_LogTable) {
-		$this->LogTable = $_LogTable;
-	}
-	function setPK1($_PK1) {
-		$this->PK1 = $_PK1;
-	}
-	function setPK2($_PK2) {
-		$this->PK2 = $_PK2;
-	}
-	function setLogAction($_LogAction) {
-		$this->LogAction = $_LogAction;
-	}
-	function setuid($_uid) {
-		$this->uid = $_uid;
-	}
-	function setEvtDateTime($_EvtDateTime) {
-		$this->EvtDateTime = $_EvtDateTime;
-	}
-
-	function insertModLog ($_uid) {
-		$uid = $_uid;
-		if($this->getLogTable() != "" && $this->getPK1() != "" && $this->getLogAction() != "" && $uid != "") {
-			$App = new App();
-			$dbc = new DBConnectionRW();
-			$dbh = $dbc->connect();
-			
-			$sql = "INSERT INTO SYS_EvtLog (
-						LogID,
-						LogTable,
-						PK1,
-						PK2,
-						LogAction,
-						uid,
-						EvtDateTime)
-					VALUES (
-						NULL,
-						" . $App->returnQuotedString($App->sqlSanitize($this->getLogTable(),$dbh)) . ",
-						" . $App->returnQuotedString($App->sqlSanitize($this->getPK1(),$dbh)) . ",
-						" . $App->returnQuotedString($App->sqlSanitize($this->getPK2(),$dbh)) . ",
-						" . $App->returnQuotedString($App->sqlSanitize($this->getLogAction(),$dbh)) . ",
-						" . $App->returnQuotedString($App->sqlSanitize($uid),$dbh) . ",
-						NOW()
-					)";
-					
-			mysql_query($sql, $dbh);
-			if(mysql_error() != "") {
-				echo "An unknown database error has occurred while logging information.  Please contact the System Administrator.";
-				echo mysql_error();
-				exit;
-			}
-			
-			$dbc->disconnect();
-			
-			# 1% of each hits will perform clean up	
-			if(rand(0, 100) < 1) {
-				$this->cleanup();
-			}
-		}
-		else {
-			echo "An unknown system error has occurred while logging information.  Please contact the System Administrator.";
-			exit;
-		}
-	}
-	
-	function cleanup() {
-		$sql = "DELETE FROM SYS_EvtLog WHERE EvtDateTime < " . MAX_LOG_DAYS;
-					
-		$dbc = new DBConnectionRW();
-		$dbh = $dbc->connect();
-		mysql_query($sql, $dbh);
-		$dbc->disconnect();
-	}
-}
-?>
\ No newline at end of file
diff --git a/system/link.class.php b/system/link.class.php
deleted file mode 100644
index b65cac4..0000000
--- a/system/link.class.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-class Link {
-
-	#*****************************************************************************
-	#
-	# link.class.php
-	#
-	# Author: 		Denis Roy
-	# Date			2004-09-14
-	#
-	# Description: Functions and modules related to link objects
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************	
-	
-	private $Text	= "";
-	private $URL	= "";
-	private $Target	= "";
-	private $Level = 0;
-	
-	
-	function getText() {
-		return $this->Text;
-	}
-	function getURL() {
-		return $this->URL;
-	}
-	function getTarget() {
-		return $this->Target;
-	}
-	function getLevel() {
-		return $this->Level;
-	}
-	
-	function setText($_Text) {
-		$this->Text = $_Text;
-	}
-	function setURL($_URL) {
-		$this->URL = $_URL;
-	}
-	function setTarget($_Target) {
-		$this->Target = $_Target;
-	}
-	function setLevel($_Level) {
-		$this->Level = $_Level;
-	}
-
-
-	# Main constructors
-	function Link($_Text, $_URL, $_Target, $_Level) {
-		$this->setText		($_Text);
-		$this->setURL		($_URL);
-		$this->setTarget	($_Target);
-		$this->setLevel		($_Level);
-	}
-
-}
-?>
\ No newline at end of file
diff --git a/system/menu.class.php b/system/menu.class.php
deleted file mode 100644
index de96e92..0000000
--- a/system/menu.class.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menuitem.class.php");
-class Menu {
-
-	#*****************************************************************************
-	#
-	# menu.class.php
-	#
-	# Author: 		Denis Roy
-	# Date			2004-09-11
-	#
-	# Description: Functions and modules related to menu objects
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************	
-	
-	private $MenuItemList = array();
-	
-	private $projectBranding = "";
-
-	function getProjectBranding() {
-	  return $this->projectBranding;
-	}
-
-	function setProjectBranding($_projectBranding) {
-	  $this->projectBranding = $_projectBranding;
-	}
-	
-	function getMenuItemList() {
-		return $this->MenuItemList;
-	}
-	
-	function setMenuItemList($_MenuItemList) {
-		$this->MenuItemList = $_MenuItemList;
-	}
-	
-	# Main constructor
-	function Menu() {
-
-		$www_prefix = "";
-		
-		global $App;
-
-		if(!isset($App)) {
-			$App = new App();
-		}
-		$www_prefix = $App->getWWWPrefix();
-
-		$MenuText = "Home";
-		$MenuItem = new MenuItem($MenuText, $www_prefix . "/", "_self", 0);
-		$this->MenuItemList[count($this->MenuItemList)] = $MenuItem;
-
-		$MenuText = "Community";
-		$MenuItem = new MenuItem($MenuText, $www_prefix . "/community/", "_self", 0);
-		$this->MenuItemList[count($this->MenuItemList)] = $MenuItem;
-
-		$MenuText = "Membership";
-		$MenuItem = new MenuItem($MenuText, $www_prefix . "/membership/", "_self", 0);
-		$this->MenuItemList[count($this->MenuItemList)] = $MenuItem;
-
-		$MenuText = "Committers";
-		$MenuItem = new MenuItem($MenuText, "http://wiki.eclipse.org/index.php/Development_Resources", "_self", 0);
-		$this->MenuItemList[count($this->MenuItemList)] = $MenuItem;
-		
-
-		$MenuText = "Downloads";
-		$MenuItem = new MenuItem($MenuText, $www_prefix . "/downloads/", "_self", 0);
-		$this->MenuItemList[count($this->MenuItemList)] = $MenuItem;
-
-		$MenuText = "Resources";
-		$MenuItem = new MenuItem($MenuText, $www_prefix . "/resources/", "_self", 0);
-		$this->MenuItemList[count($this->MenuItemList)] = $MenuItem;
-
-		$MenuText = "Projects";
-		$MenuItem = new MenuItem($MenuText, $www_prefix . "/projects/", "_self", 0);
-		$this->MenuItemList[count($this->MenuItemList)] = $MenuItem;
-
-		$MenuText = "About Us";
-		$MenuItem = new MenuItem($MenuText, $www_prefix . "/org/", "_self", 0);
-		$this->MenuItemList[count($this->MenuItemList)] = $MenuItem;
-
-	}
-	
-	function addMenuItem($_Text, $_URL, $_Target) {
-		# Menu Items must be added at position 1 .. position 0 is dashboard, last position is Signout
-		$MenuItem = new MenuItem($_Text, $_URL, $_Target, 0);
-			
-		# Add incoming menuitem
-		$this->MenuItemList[count($this->MenuItemList)] = $MenuItem;
-	}
-
-	function getMenuItemCount() {
-		return count($this->MenuItemList);
-	}
-	
-	function getMenuItemAt($_Pos) {
-		if($_Pos < $this->getMenuItemCount()) {
-			return $this->MenuItemList[$_Pos];
-		}
-	}
-	
-	
-
-}
-?>
\ No newline at end of file
diff --git a/system/menuitem.class.php b/system/menuitem.class.php
deleted file mode 100644
index 6051243..0000000
--- a/system/menuitem.class.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/link.class.php");
-
-class MenuItem 
-	extends Link {
-
-	#*****************************************************************************
-	#
-	# menuitem.class.php
-	#
-	# Author: 		Denis Roy
-	#
-	# Description: Functions and modules related to menuitem objects
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************	
-	
-
-}
-?>
\ No newline at end of file
diff --git a/system/nav.class.php b/system/nav.class.php
deleted file mode 100644
index 82c7bc5..0000000
--- a/system/nav.class.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/link.class.php");
-
-class Nav {
-
-	#*****************************************************************************
-	#
-	# nav.class.php
-	#
-	# Author: 		Denis Roy
-	# Date			2004-09-11
-	#
-	# Description: Functions and modules related to Navbar objects
-	#
-	# HISTORY:
-	#
-	#*****************************************************************************	
-	
-	private $LinkList = array();
-	
-	
-	function getLinkList() {
-		return $this->LinkList;
-	}
-	
-	function setLinkList($_LinkList) {
-		$this->LinkList = $_LinkList;
-	}
-	
-	# Main constructor
-	function Nav() {
-
-		$www_prefix = "";
-		
-		global $App;
-
-		if(isset($App)) {
-			$www_prefix = $App->getWWWPrefix();
-		}
-
-		$Link = new Link("Committers", "http://wiki.eclipse.org/index.php/Development_Resources", "_self", 1);
-		$this->LinkList[count($this->LinkList)] = $Link;
-
-		$Link = new Link("Newsgroups", $www_prefix . "/newsgroups/", "_self", 1);
-		$this->LinkList[count($this->LinkList)] = $Link;
-
-		$Link = new Link("Bugs", "https://bugs.eclipse.org/bugs/", "_self", 1);
-		$this->LinkList[count($this->LinkList)] = $Link;
-
-		$Link = new Link("Articles", $www_prefix . "/articles/", "_self", 1);
-		$this->LinkList[count($this->LinkList)] = $Link;
-
-
-	}
-	
-	function addCustomNav($_Text, $_URL, $_Target, $_Level) {
-		if($_Level == "") {
-			$_Level = 0;
-		}
-		$Link = new Link($_Text, $_URL, $_Target, $_Level);
-			
-		# Add incoming Nav Item
-		$this->LinkList[count($this->LinkList)] = $Link;
-	}
-
-	function addNavSeparator($_Text, $_URL) {
-		$Link = new Link($_Text, $_URL, "__SEPARATOR", 1);
-			
-		# Add incoming Nav Item
-		$this->LinkList[count($this->LinkList)] = $Link;
-	}
-	
-
-	function getLinkCount() {
-		return count($this->LinkList);
-	}
-	
-	function getLinkAt($_Pos) {
-		if($_Pos < $this->getLinkCount()) {
-			return $this->LinkList[$_Pos];
-		}
-	}
-	
-	
-
-}
-?>
\ No newline at end of file
diff --git a/system/project_details_parsing.php b/system/project_details_parsing.php
deleted file mode 100644
index 8e45199..0000000
--- a/system/project_details_parsing.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Matt Ward (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
- 
-/*********************************************************
- *
- * Name: project_details_parsing
- * function: contains the functions that read  the files created by the individual projects to describe their
- * newsgroups and mailing lists, and inserts that data into the web stream
- * 
- * By: M. Ward
- * Date: Dec 13/05
- *
-*********************************************************/
-
-/*****************************
- * Name: getfile
- * Function: given a project id builds a location path
- * I/O: the project id and the name of the file, and the location of the document root of the server. returns the path
- * 
- * By: M. Ward
- * Date: Dec 21/05
-*****************************/
-function GetFile( $name, $filename, $docroot ) {
-
-  //remove any index.html 
-  $name = str_replace("index.html","", $name);
-  //same thing for main.html
-  $name = str_replace("main.html","", $name);
-  //same thing for index.php
-  $name = str_replace("index.php","", $name);
-  //if there isn't a trailing / then insert one'
-  if( substr($name,-1,1) != "/" )
-    $name .= "/";
-  //replace the www path with the internal document path
-  $name = str_replace("http://www.eclipse.org/", $docroot . "/", $name);
-  $localname = str_replace("http://eclipse.org/", $docroot . "/", $name);
-  //build up the name of hte file on the local filesystem
-  $group_file = $localname . "project-info/" . $filename;
-  
-  //echo "!! $group_file ??\n\r";
-  
-  return $group_file;
-	
-}
-
-/***************************************
- * Name: NewsParse
- * function: Parses the newsgroup array object and output specific html
- * 
- * By: M. Ward
- * Date: Dec 13/05
- * 
- * Modified By: N. Gervais
- * Modified On : Sep 21/07
- * ChangeLog : Changed this to use the new project info database objects
-****************************************/
-function NewsParse( $newsgroupArray, $id ) {
-
-	if (count($newsgroupArray)){
-	    $news_name = trim($newsgroupArray->name);
-	    if ($news_name != ""){
-	    $news_html = "<a href=\"http://www.eclipse.org/newsportal/thread.php?group=" . $news_name . "\""  . ">$news_name</a>";
-	    $webnews_html = "<a href=\"news://news.eclipse.org/" . $news_name . "\" alt='News server' title=\"News server\"/><img src='/images/newsgroup.png' alt='Web interface' title=\"Web interface\" /></a>";
-		$newsarch_html = "<a href=\"http://dev.eclipse.org/newslists/news." . $news_name . "/\""  . " alt='Archive' title=\"Archive\" />Newsgroup Archive</a>";
-		$newsrss_html = "<a href=\"http://dev.eclipse.org/newslists/news." . $news_name . "/maillist.rss\">RSS Feed  </a><a href=\"http://dev.eclipse.org/newslists/news." . $news_name . "/maillist.rss\"><img src='/eclipse.org-common/themes/Phoenix/images/rss_btn.gif' alt='RSS Feed' title=\"RSS Feed\" /></a>";
-		$newssearch = "<FORM NAME=\"$news_name\" METHOD=GET ACTION=\"/search/search.cgi\" onsubmit=\"fnSetAction();\">
-				<table bgcolor=#EEEEEE border=0>
-	  			<TR><TD>Search $news_name 
-	      			<INPUT TYPE=\"text\" NAME=\"q\" value=\"\" SIZE=\"18\" class=\"groupsearch\">
-	      			<INPUT TYPE=\"submit\" NAME=\"cmd\" value=\"Search\" class=\"groupsearch\">
-	      			<INPUT TYPE=\"hidden\" NAME=\"form\" value=\"extended\">
-	      	        <input type=\"hidden\" name=\"wf\" value=\"574a74\">
-	      	        <INPUT TYPE=\"hidden\" NAME=\"ul\" value=\"/newslists/news.$news_name\">
-	      	        <INPUT TYPE=\"hidden\" NAME=\"t\" value=\"5\">
-	      	        <INPUT TYPE=\"hidden\" NAME=\"t\" value=\"News\">
-	      	        <INPUT TYPE=\"hidden\" NAME=\"t\" value=\"Mail\"></td></tr></Table></FORM>";
-		$description = $newsgroupArray->description;
-		$html = "<p><a href=\"javascript:switchMenu('$news_name.$id');\" title=\"Description\"><img src='images/plus.gif' alt='Description' title=\"Description\"></a>  $news_html $webnews_html </p><div id=\"$news_name.$id\" class=\"switchcontent\"> <p>$description </p> <p>$newsarch_html</p> <p>$newsrss_html</p> <p>$newssearch</p></div>";
-	    }
-	}     
-	return $html;     
-}
-
-/***************************************
- * Name: MailParse
- * function: Parses the mail array object and output specific html
- * 
- * By: M. Ward
- * Date: Dec 21/05
- * 
- * Modified By: N. Gervais
- * Modified On : Sep 21/07
- * ChangeLog : Changed this to use the new project info database objects * 
-****************************************/
-function MailParse( $mailingListArray, $id ) {
-	
-if (count($mailingListArray)) {
-	$mail_name = trim($mailingListArray->name);
-    if ($mail_name != ""){
-	    $mail_html = "<a href=\"http://dev.eclipse.org/mailman/listinfo/" . $mail_name . "\" alt=\"Subscribe\" title=\"Subscribe\" />$mail_name</a>";
-		$mailarch_html = "<a href=\"http://dev.eclipse.org/mhonarc/lists/" . $mail_name . "/\""  . "alt='Archive' title=\"Archive\" />Mailing list archive</a>";
-		$mailrss_html = "<a href=\"http://dev.eclipse.org/mhonarc/lists/" . $mail_name . "/maillist.rss\">RSS Feed  </a><a href=\"http://dev.eclipse.org/mhonarc/lists/" . $mail_name . "/maillist.rss\" ><img src='/eclipse.org-common/themes/Phoenix/images/rss_btn.gif' alt='RSS Feed' title=\"RSS Feed\" /></a>";
-		$mailsearch = "<FORM name=\"$mail_name\" METHOD=GET ACTION=\"/search/search.cgi\" onsubmit=\"fnSetAction();\">
-				<table bgcolor=#EEEEEE border=0>
-	  			<TR><TD>Search $mail_name 
-	      			<INPUT TYPE=\"text\" NAME=\"q\" value=\"\" SIZE=\"18\" class=\"groupsearch\">
-	      			<INPUT TYPE=\"submit\" NAME=\"cmd\" value=\"Search\" class=\"groupsearch\">
-	      			<INPUT TYPE=\"hidden\" NAME=\"form\" value=\"extended\">
-	      	        <input type=\"hidden\" name=\"wf\" value=\"574a74\">
-	      	        <INPUT TYPE=\"hidden\" NAME=\"ul\" value=\"/mhonarc/lists/$mail_name\">
-	      	        <INPUT TYPE=\"hidden\" NAME=\"t\" value=\"5\">
-	      	        <INPUT TYPE=\"hidden\" NAME=\"t\" value=\"News\">
-	      	        <INPUT TYPE=\"hidden\" NAME=\"t\" value=\"Mail\"></td></tr></Table></FORM>";
-		$description = $mailingListArray->description;
-	    $html = "<p><a href=\"javascript:switchMenu('$mail_name.$id');\" title=\"Description\"><img src='images/plus.gif' alt='Description' title=\"Description\"></a> $mail_html </p> <div id=\"$mail_name.$id\" class=\"switchcontent\"> <p> $description </p><p>$mailarch_html</p><p>$mailrss_html</p><p>$mailsearch</p></div>";
-    }
-  }
-  return $html;      
-}
-
-
-
-?>
\ No newline at end of file
diff --git a/system/rss.php b/system/rss.php
deleted file mode 100644
index bc03b0b..0000000
--- a/system/rss.php
+++ /dev/null
@@ -1,401 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Wayne Beaton (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-
-#*****************************************************************************
-#
-# news.php
-#
-# Author: 		Wayne Beaton
-# Date:			2006-02-02 (Happy Groundhog Day)
-#
-# Description: Use the rss_to_html($newsfile) function in this file to generate 
-# the html equivalent of the provided RSS file.  
-#
-#****************************************************************************
-
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/xml_sax_parsing.php");
-
-/*
- * This function parses the file with the provided name and
- * returns an instance of the Feed class with the information
- * contained within.
- */
-function & get_news($file_name) {
-	$handler = new RssFileHandler();
-	parse_xml_file($file_name, $handler);
-	return $handler->feed;
-}
-
-/*
- * This function returns a String containing the HTML representing
- * the contents of the file provided. Only the first parameter
- * (the name of the file containing the RSS content) is required.
- *
- * $file_name - name of the file containing the RSS data. This
- *   file is specified in terms the operating system will understand
- *   (i.e. a file name, not a URL)
- *
- * $rss_url - If provided, an "RSS" link will be rendered. When clicked
- *   the user will be sent to this URL. Use this to provide the user with
- *   a way to access the RSS file directly (so they can use it in their
- *   favourite news reader. Defaults to false meaning that no "RSS" link 
- *   be rendered.
- *
- * $more_url - If provided, a "More" link will be rendered. When clicked
- *   the user will be sent to this URL. This is intended to be used to send
- *   the user to more information about the news feed. If you're displaying
- *   a 'short' format of the news, you might use this to provide a link to
- *   a 'long' format version of the same information. Defaults to "false"
- *   meaning that no "More" link will be rendered.
- *
- * $format - either 'long' or 'short'. Currently toggles whether
- *   or not the description is shown (shown only if set to 'long'). Defaults
- *   to 'long'.
- *
- * $count - the maximum number of entries displayed. Defaults to 1000.
- *   Note that no sorting is done; items are displayed as they occur in the
- *   file.
- *
- * Examples
- *
- * $file_name = $_SERVER['DOCUMENT_ROOT'] . "/webtools/wtpnews.rss";
- * 
- * To get the HTML representation of the RSS file located at $file_name
- * with no links to the RSS file, or to more information, displaying a
- * long format (including the description):	
- *
- * $news = rss_to_html($file_name);
- *
- * This one includes a link to the RSS file. Note that the URL is provided
- * relative to the root of eclipse.org. Whatever value you provide is
- * substituted as-is, so you can put pretty much anything here. In general,
- * the same file should be provided for both $file_name and $rss_url (the
- * file is referenced differently from within and without the server).
- *
- * $news = rss_to_html($file_name, '/webtools/wtpnews.rss');
- *
- * Same as above, but in 'short' format (no description). By sending false
- * as the value for the 'more' URL, the more link is not rendered.
- *
- * $news = rss_to_html($file_name, '/webtools/wtpnews.rss', false, 'short');
- *
- * Only display the top seven entries in the file.
- *
- * $news = rss_to_html($file_name, '/webtools/wtpnews.rss', false, 'short', 7);
- */
- 
-function rss_to_html($file_name, $rss_url=false, $more_url=false, $format='long', $count=1000) {
-	$rss = get_news($file_name);
-	
-	if (!in_array($format, array ('short', 'long'))) {
-		$format = 'short';
-	}
-	
-	foreach ($rss->channel as $channel) {
-		$html = "<h3>";
-		
-		// Add the RSS image on the right
-		if ($rss_url) {
-			$html .= "<a href=\"$rss_url\"><img src=\"/images/rss2.gif\" align=\"right\" title=\"RSS Feed\" alt=\"[RSS]\" /></a>";
-		}
-		
-		// Add the title of the channel 
-		$html .= "$channel->title";	
-		// If we're displaying short format, provide a link to
-		// show news in long format.
-		if ($more_url)
-			$html .= "&nbsp;<a href=\"$more_url\"><img src=\"/images/more.gif\" title=\"More...\" alt=\"[More]\" /></a>";
-
-		$html .= "</h3>";
-		
-		$html .= "<ul class=\"midlist\">";
-
-		foreach ($channel->item as $item) {
-			if ($count == 0) break;
-			$html .= "<li>";
-			// The date is formatted day-month-year using numbers
-			// The &#8209 is a non-breaking en dash.
-			$html .= "<a href=\"$item->link\" target=\"_blank\">$item->title</a>";
-			
-			// If the pubDate was not specified correctly or was not
-			// specified at all, don't try to print it.
-			if ($item->pubDate > 0) {
-				$date = date("M d, Y", $item->pubDate);
-				$date = str_replace(" ", "&nbsp;", $date);
-				$html .= " posted&nbsp;$date";
-			}
-			
-			if ($format == 'long') {
-				$html .= "<blockquote>$item->description</blockquote>";
-			}
-			
-			$html .= "</li>";
-			$count--;
-		}
-
-		$html .= "</ul>";
-	}
-
-	return $html;
-}
-
-/*
- * Gorry implementation details.
- */
-
-
-/*
- * Instances of the Feed class represent an RSS file.
- */
-class Feed {
-	var $channel;
-	
-	function Feed() {
-		$this->channel = array();
-	}
-	
-	function add_channel(&$channel) {
-		array_push($this->channel, $channel);
-	}
-}
-
-/*
- * Instances of the Channel class represent a channel in the RSS file.
- */
-class Channel {
-	var $title;
-	var $link;
-	var $description;
-	var $image;	
-	var $item;
-	
-	function Channel() {
-		$this->item = array();
-	}
-	
-	function add_item(&$item) {
-		array_push($this->item, $item);
-	}
-}
-
-/*
- * Instances of the Image class represent an image (presumably) on an
- * image. We don't currently use this information.
- */
-class Image {
-	var $url;
-	var $title;
-	var $link;
-}
-
-/*
- * Instances of the Item class represent an item in a channel.
- */
-class Item {
-	var $title;
-	var $link;
-	var $description;
-	var $pubDate;
-}
-
-
-/*
- * The rest of the code in this file is concerned with reading XML
- * into an object format. Once we update to PHP 5, we can get rid of
- * all of this junk and just use the simpleXML apis.
- */
-
-/*
- * The RssFileHandler represents the file being parsed. It does
- * only one thing: provides a handler for the contents of the
- * the file.
- */
-class RssFileHandler extends XmlFileHandler {
-	var $feed;
-	/*
-	 * This method returns the root handler for a RSS file
-	 * The root handler essentially represents the file itself
-	 * rather than any actual element in the file. The returned
-	 * element handler will deal with any elements that may occur
-	 * in the root of the XML file.
-	 */
-	function get_root_element_handler() {
-		return new RssRootHandler();
-	}
-
-	function end_root_element_handler($handler) {
-		$this->feed = & $handler->feed;
-	}
-}
-
-/*
- * The RssRootHandler class takes care of the root element 
- * in the file. This handler doesn't correspond to any particular
- * element that may occur in the XML file. It represents the file
- * itself and must deal with any elements that occur at the root
- * level in that file.
- */
-class RssRootHandler extends XmlElementHandler {
-	var $feed;
-
-	/*
-	 * This method handles the <rss>...</rss> element.
-	 */
-	function & get_rss_handler($attributes) {
-		return new RssHandler();
-	}
-
-	function end_rss_handler($handler) {
-		$this->feed = & $handler->feed;
-	}
-}
-
-/*
- * The FeedHandler class takes care of the root element in the file.
- */
-class RssHandler extends XmlElementHandler {
-	var $feed;
-	
-	function RssHandler() {
-		$this->feed = new Feed();
-	}
-	
-	/*
-	 * This method handles the <channel>...</channel> element.
-	 */
-	function & get_channel_handler($attributes) {
-		return new ChannelHandler();
-	}
-
-	function end_channel_handler($handler) {
-		$this->feed->add_channel($handler->channel);
-	}
-}
-
-class ChannelHandler extends XmlElementHandler {
-	var $channel;
-	
-	function ChannelHandler() {
-		$this->channel = new Channel();
-	}
-	
-	/*
-	 * This method handles the <title>...</title> element.
-	 */
-	function & get_title_handler($attributes) {
-		return new SimplePropertyHandler($this->channel, "title");
-	}
-	/*
-	 * This method handles the <link>...</link> element.
-	 */
-	function & get_link_handler($attributes) {
-		return new SimplePropertyHandler($this->channel, "link");
-	}
-	/*
-	 * This method handles the <description>...</description> element.
-	 */
-	function & get_description_handler($attributes) {
-		return new SimplePropertyHandler($this->channel, "description");
-	}
-	
-	/*
-	 * This method handles the <title>...</title> element.
-	 */
-	function & get_item_handler($attributes) {
-		return new ItemHandler();
-	}
-	
-	function end_item_handler($handler) {
-		$this->channel->add_item($handler->item);
-	}
-	
-	/*
-	 * This method handles the <image>...</image> element.
-	 */
-	function & get_image_handler($attributes) {
-		return new ImageHandler();
-	}
-	
-	function end_image_handler($handler) {
-		$this->channel->image = $handler->image;
-	}
-}
-
-class ItemHandler extends XmlElementHandler {
-	var $item;
-	
-	function ItemHandler() {
-		$this->item = new Item();
-	}
-	
-	/*
-	 * This method handles the <title>...</title> element.
-	 */
-	function & get_title_handler($attributes) {
-		return new SimplePropertyHandler($this->item, "title");
-	}
-	/*
-	 * This method handles the <link>...</link> element.
-	 */
-	function & get_link_handler($attributes) {
-		return new SimplePropertyHandler($this->item, "link");
-	}
-	/*
-	 * This method handles the <description>...</description> element.
-	 */
-	function & get_description_handler($attributes) {
-		return new SimplePropertyHandler($this->item, "description");
-	}
-	
-	/*
-	 * This method handles the <pubDate>...</pubDate> element.
-	 */
-	function & get_pubdate_handler($attributes) {
-		return new SimpleTextHandler();
-	}
-	
-	function end_pubdate_handler($handler) {
-		$value = trim($handler->text);
-		if (strlen($value)>0) {
-			$this->item->pubDate = strtotime($value);
-		}
-	}
-}
-
-class ImageHandler extends XmlElementHandler {
-	var $image;
-	
-	function ImageHander() {
-		$this->image = new Image();
-	}	
-		
-	/*
-	 * This method handles the <title>...</title> element.
-	 */
-	function & get_title_handler($attributes) {
-		return new SimplePropertyHandler($this->image, "title");
-	}
-	/*
-	 * This method handles the <url>...</url> element.
-	 */
-	function & get_url_handler($attributes) {
-		return new SimplePropertyHandler($this->image, "url");
-	}
-	/*
-	 * This method handles the <link>...</link> element.
-	 */
-	function & get_link_handler($attributes) {
-		return new SimplePropertyHandler($this->image, "link");
-	}
-}
-
-?>
\ No newline at end of file
diff --git a/system/session.class.php b/system/session.class.php
deleted file mode 100644
index 45313cd..0000000
--- a/system/session.class.php
+++ /dev/null
@@ -1,281 +0,0 @@
-<?php
-/*******************************************************************************
- * Copyright (c) 2007 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-
-define('ECLIPSE_SESSION', 'ECLIPSESESSION');
-define('HTACCESS', '/home/data/httpd/friends.eclipse.org/html/.htaccess');
-define('LOGINPAGE', 'https://dev.eclipse.org/site_login/');
-
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/friends/friend.class.php");
-require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/evt_log.class.php");
-
-class Session {
-
-	private $gid		= "";
-	private $bugzilla_id= 0;
-	private $subnet		= "";
-	private $updated_at	= "";
-	private $is_persistent	= 0;
-	private $Friend		= null;
-	private $data		= "";
-	
-	/**
-	 * Default constructor
-	 *
-	 * @return null
-	 */
-	function Session($persistent=0) {
-		$this->setIsPersistent($persistent);
-		$this->validate();			
-	}
-
-	
-	function getGID() {
-		return $this->gid;
-	}
-	function getBugzillaID() {
-		return $this->bugzilla_id;
-	}
-	function getSubnet() {
-		return $this->subnet;
-	}
-	function getUpdatedAt() {
-		return $this->updated_at;
-	}
-	function getFriend() {
-		if($this->Friend == null) {
-			$this->Friend = new Friend();
-		}
-		return $this->Friend;
-	}
-	function getData() {
-		return unserialize($this->data);
-	}
-	function getIsPersistent() {
-		return $this->is_persistent == null ? 0 : $this->is_persistent;
-	}
-	
-	function setGID($_gid) {
-		$this->gid = $_gid;
-	}
-	function setBugzillaID($_bugzilla_id) {
-		$this->bugzilla_id = $_bugzilla_id;
-	}
-	function setSubnet($_subnet) {
-		$this->subnet = $_subnet;
-	}
-	function setUpdatedAt($_updated_at) {
-		$this->updated_at = $_updated_at;
-	}
-	function setFriend($_friend) {
-		$this->Friend = $_friend;
-	}
-	function setData($_data) {
-		$this->data = serialize($_data);
-	}
-	function setIsPersistent($_is_persistent) {
-		$this->is_persistent = $_is_persistent;
-	}
-
-	
-	/**
-	 * Validate session based on browser cookie
-	 *
-	 * @return boolean
-	 */
-	function validate() {
-		$cookie = (isset($_COOKIE[ECLIPSE_SESSION]) ? $_COOKIE[ECLIPSE_SESSION] : "");
-		$rValue = false;
-		if ( (!$this->load($cookie))) {
-        	# Failed - no such session, or session no match.  Need to relogin
-        	setcookie(ECLIPSE_SESSION, "", -36000, "/", "eclipse.org");
-        	$rValue = false;
-        }
-        else {
-			# TODO: update session?
-			$rValue = true;
-        	$this->maintenance();
-        	$this->setFriend($this->getData());
-        }
-        return $rValue;
-	}
-
-	function destroy() {
-		if($this->getBugzillaID() != 0) {
-        	$sql = "DELETE FROM sessions WHERE bugzilla_id = " . $this->getBugzillaID();
-        	$dbc = new DBConnectionRW();
-			$dbh = $dbc->connect();
-			mysql_query($sql, $dbh);
-			$dbc->disconnect();
-			setcookie(ECLIPSE_SESSION, "", -36000, "/", "eclipse.org");
-			
-			# Log this event
-			$EvtLog = new EvtLog();
-			$EvtLog->setLogTable("sessions");
-			$EvtLog->setPK1($this->getBugzillaID());
-			$EvtLog->setPK2($_SERVER['REMOTE_ADDR']);
-			$EvtLog->setLogAction("DELETE");
-			$EvtLog->insertModLog("apache");
-		}
-	}
-
-	function create() {
-		# create session on the database
-		$Friend = $this->getFriend();
-		$this->setData($Friend);
-		
-		# need to have a bugzilla ID to log in
-		if($Friend->getBugzillaID() > 0) {
-			$App = new App();
-			$this->setGID(md5(uniqid(rand(),true)));
-			$this->setSubnet($this->getClientSubnet());
-			$this->setUpdatedAt($App->getCURDATE());
-			$this->setBugzillaID($Friend->getBugzillaID());
-			
-			$dbc = new DBConnectionRW();
-			$dbh = $dbc->connect();
-			
-			$sql = "INSERT INTO sessions (
-						gid,
-						bugzilla_id,
-						subnet,
-						updated_at,
-						data,
-						is_persistent)
-						VALUES (
-							" . $App->returnQuotedString($this->getGID()) . ",
-							" . $App->sqlSanitize($Friend->getBugzillaID() ,$dbh) . ",
-							" . $App->returnQuotedString($this->getSubnet()) . ",
-							NOW(),
-							'" . $App->returnJSSAfeString($this->data) . "',
-							'" . $App->sqlSanitize($this->getIsPersistent(),$dbh) . "')";
-
-			mysql_query($sql, $dbh);
-			$dbc->disconnect();
-			
-			
-			# Log this event
-			$EvtLog = new EvtLog();
-			$EvtLog->setLogTable("sessions");
-			$EvtLog->setPK1($this->getBugzillaID());
-			$EvtLog->setPK2($_SERVER['REMOTE_ADDR']);
-			$EvtLog->setLogAction("INSERT");
-			$EvtLog->insertModLog("apache");
-
-			
-			$cookie_time = 0;
-			if($this->getIsPersistent()) {
-				$cookie_time = time()+3600*24*365;
-			}
-			setcookie(ECLIPSE_SESSION, $this->getGID(), $cookie_time, "/", "eclipse.org");
-
-			# add session to the .htaccess file
-			# TODO: implement a smart locking
-			if($Friend->getIsBenefit()) {
-				$fh = fopen(HTACCESS, 'a') or die("can't open file");
-				$new_line = "SetEnvIf Cookie \"" . $this->getGID() . "\" eclipsefriend=1\n";
-				fwrite($fh, $new_line);
-				fclose($fh);
-			}
-		}
-	}
-
-	function load($_gid) {
-		# need to have a bugzilla ID to log in
-		
-		$rValue = false;
-		if($_gid != "") {
-			$dbc = new DBConnectionRW();
-			$dbh = $dbc->connect();
-			
-			$App = new App();
-			$sql = "SELECT	gid,
-							bugzilla_id,
-							subnet,
-							updated_at,
-							data,
-							is_persistent
-					FROM sessions
-					WHERE gid = " . $App->returnQuotedString($App->sqlSanitize($_gid,$dbh)) . "
-						AND subnet = " . $App->returnQuotedString($this->getClientSubnet());
-			
-			$result = mysql_query($sql, $dbh);
-			if($result && mysql_num_rows($result) > 0) {
-				$rValue = true;
-				$myrow = mysql_fetch_assoc($result);
-				$this->setGID($_gid);
-				$this->setBugzillaID($myrow['bugzilla_id']);
-				$this->setSubnet($myrow['subnet']);
-				$this->setUpdatedAt($myrow['updated_at']);
-				$this->data = $myrow['data'];
-				$this->setIsPersistent($myrow['is_persistent']);
-			}
-			$dbc->disconnect();
-		}		
-		return $rValue;
-	}
-
-	function maintenance() {
-		$dbc = new DBConnectionRW();
-		$dbh = $dbc->connect();
-		$App = new App();
-			
-		$sql = "DELETE FROM sessions 
-				WHERE (updated_at < DATE_SUB(NOW(), INTERVAL 1 DAY) AND is_persistent = 0) 
-				OR (subnet = '" . $this->getClientSubnet() . "' AND gid <> '" . $App->sqlSanitize($this->getGID(), $dbh) . "')"; 
-
-		mysql_query($sql, $dbh);
-		$dbc->disconnect();
-		
-		# 1/500 of each maintenance calls will perform htaccess cleanup	
-		if(rand(0, 500) < 1) {
-			$this->regenrate_htaccess();
-		}
-	}
-	
-	private function regenrate_htaccess() {
-		$dbc = new DBConnectionRW();
-		$dbh = $dbc->connect();
-		$App = new App();
-			
-		$sql = "SELECT gid 
-				FROM sessions AS S 
-					INNER JOIN friends AS F ON F.bugzilla_id = S.bugzilla_id 
-				WHERE F.is_benefit = 1"; 
-
-		$result = mysql_query($sql, $dbh);
-		$new_file = "";
-		while($myrow = mysql_fetch_assoc($result)) {
-			$new_file .= "SetEnvIf Cookie \"" . $myrow['gid'] . "\" eclipsefriend=1\n";	
-		}
-		$dbc->disconnect();
-		
-		if($new_file != "") {
-			$fh = fopen(HTACCESS, 'w') or die("can't open file");
-			fwrite($fh, $new_file);
-			fclose($fh);
-		}
-	}
-		
-	function getClientSubnet() {
-		# return class-c subnet
-		return substr($_SERVER['REMOTE_ADDR'], 0, strrpos($_SERVER['REMOTE_ADDR'], ".")) . ".0";
-	}
-	
-	function redirectToLogin() {
-		header("Location: " . LOGINPAGE);
-		exit;
-	}
-	
-}    
-?>
\ No newline at end of file
diff --git a/system/smartconnection.class.php b/system/smartconnection.class.php
deleted file mode 100644
index 31b8a47..0000000
--- a/system/smartconnection.class.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
- 
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Wayne Beaton + Nathan Gervais (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-
-	if (file_exists("/home/data/httpd/eclipse-php-classes/system/dbconnection.class.php")) {
-		require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection.class.php";
-		require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection_epic_ro.class.php";		
-	} else {
-		require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/dbconnection.class.php");
-		require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/dbconnection_epic_ro.class.php");		
-	}
-
-?>
\ No newline at end of file
diff --git a/system/xml_sax_parsing.php b/system/xml_sax_parsing.php
deleted file mode 100644
index eefae5b..0000000
--- a/system/xml_sax_parsing.php
+++ /dev/null
@@ -1,252 +0,0 @@
-<?php
-
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Wayne Beaton (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-
-#*****************************************************************************
-#
-# ** THIS FUNCTIONALITY IN THIS FILE IS DEPRECATED.
-# ** USE THE XML_SIMPLE APIS INSTEAD.
-#
-# news.php
-#
-# Author: 		Wayne Beaton
-# Date:			2005-11-07
-#
-# Description: This file contains code to assist with using a SAX parser
-# on an XML file. Beware: it's weird.
-#
-#****************************************************************************
-
-/*
- * This function does the actual work of parsing the RSS
- * file into an object representation. We use a SAX parser
- * to do this.
- * 
- * Note that this function is intended to be used with relatively
- * short files (the entire file contents are loaded into memory).
- * If the RSS files start to get too large, this method will need
- * to be updated.
- * @deprecated
- */
-function parse_xml_file($file_name, & $file_handler) {
-	$file_handler->initialize();
-	
-	// Read the entire file contents in to memory.
-	// If file sizes get too large, we'll have to be smarter here.
-	$file = fopen($file_name, "r");
-	$xml = fread($file, filesize($file_name));
-	fclose($file);
-	
-	parse_xml_string($xml, $file_handler);
-}
-
-function parse_xml_string($xml, & $file_handler) {
-	$GLOBALS['handler'] = $file_handler;
-	$parser = xml_parser_create();
-	xml_set_element_handler($parser, 'sax_start_handler', 'sax_end_handler');
-	xml_set_character_data_handler($parser, 'sax_data_handler');
-	xml_parse($parser, $xml);
-	if (xml_get_error_code($parser)) throw new SaxParsingException(xml_error_string($parser));
-}
-
-class SaxParsingException extends Exception {
-	public function __construct($message, $code = 0) {
-		parent::__construct($message, $code);
-	}
-}
-
-
-/*
- * The $handler variable is global. It manages all the call backs
- * that come (indirectly) from the SAX parser.
- */
-$handler = null;
-
-/*
- * SAX parser callback method to handle the start of an element.
- * This method just defers to the global handler to do the actual
- * work.
- */
-function sax_start_handler($parser, $name, $attributes) {
-	global $handler;
-	$handler->start($name, $attributes);
-}
-
-/*
- * SAX parser callback method to handle the text for an element.
- * This method just defers to the global handler to do the actual
- * work.
- */
-function sax_data_handler($parser, $data) {
-	global $handler;
-	$handler->data($data);
-}
-
-/*
- * SAX parser callback method to handle the end of an element.
- * This method just defers to the global handler to do the actual
- * work.
- */
-function sax_end_handler($parser, $name) {
-	global $handler;
-	$handler->end($name);
-}
-
-/*
- * The XmlHandler class is the focal point of the SAX parser callbacks.
- * It keeps track of a stack of element handlers. The element handlers
- * are used to handle whatever elements come in.
- */
-class XmlFileHandler {
-	var $stack;
-
-	function XmlFileHandler() {
-		$this->stack = array ();
-	}
-	
-	function initialize() {
-		$element_handler = $this->get_root_element_handler();
-		array_push($this->stack, $element_handler);
-	}
-	
-	function get_root_element_handler() {
-		return new DoNothingHandler();
-	}
-	
-	function end_root_element_handler($handler) {
-	}
-
-	/*
-	 * Handle the start callback. Here, we get the current element handler
-	 * from the top of the stack and ask it what to do. The element handler
-	 * is asked to provide a new handler to handle the new element. That new
-	 * handler is put on the top of the stack and will handle all future
-	 * callbacks until it is removed (by the end method).
-	 */
-	function start($name, $attributes) {
-		$handler = & array_last($this->stack);
-		$next = & $handler->get_next($name, $attributes);
-		array_push($this->stack, $next);
-	}
-
-	/*
-	 * Data has been encountered, send the data to the current element handler
-	 * to sort out what needs to be done.
-	 */
-	function data($data) {
-		$handler = & array_last($this->stack);
-		$handler->data($data);
-	}
-
-	/*
-	 * The end of an element has occurred. Pop the current element handler
-	 * from the top of the stack and tell it that it's work is done.
-	 */
-	function end($name) {
-		$handler = & array_pop($this->stack);
-		$handler->end($name);
-		
-		$next_handler = & array_last($this->stack);
-		$next_handler->end_handler($name, $handler);
-		
-		// If we've just popped off the last actual element handler, leaving
-		// only the root handler at the top of the stack, send it the end message.
-		if (count($this->stack) == 1) 
-			$this->end_root_element_handler($handler);
-	}
-}
-
-class XmlElementHandler {
-	function & get_next($name, $attributes) {
-		$method_name = "get_" . str_replace("-", "_", $name) . "_handler";
-		if (method_exists($this, $method_name)) {
-			return $this->$method_name($attributes);
-		} else {
-			return new DoNothingHandler();
-		}
-	}
-
-	function end_handler($name, $handler) {
-		$method_name = "end_" . str_replace("-", "_", $name) . "_handler";
-		if (method_exists($this, $method_name)) {
-			return $this->$method_name($handler);
-		} 
-	}
-	
-	function initialize() {
-	}
-	
-	/*
-	 * Ignore data for this element.
-	 */
-	function data($data) {
-	}
-
-	function start($name) {
-	}
-	
-	/*
-	 * Ignore data for this element.
-	 */
-	function end($name) {
-	}
-}
-
-class SimpleTextHandler extends XmlElementHandler {
-	var $text;
-
-	function & get_next($name, $attributes) {
-		return new DoNothingHandler();
-	}
-
-	function data($data) {
-		$this->text .= $data;
-	}
-	
-	function end($name) {
-		$this->text = html_entity_decode($this->text);
-	}
-}
-
-class SimplePropertyHandler extends SimpleTextHandler {
-	var $owner;
-	var $property;
-
-	function SimplePropertyHandler(& $owner, $property) {
-		$this->owner = & $owner;
-		$this->property = $property;
-	}
-
-	function end($name) {
-		parent::end($name);
-		$this->set_property_value($this->text);
-	}
-
-	function set_property_value(& $value) {
-		$property = $this->property;
-		$this->owner-> $property = $value;
-	}
-}
-
-class DoNothingHandler extends XmlElementHandler {
-	function & get_next($name, $attributes) {
-		return $this;
-	}
-}
-
-function & array_last(& $array) {
-	return $array[count($array) - 1];
-}
-
-?>
-
-
diff --git a/themes/Lazarus/footer.php b/themes/Lazarus/footer.php
deleted file mode 100644
index 4234459..0000000
--- a/themes/Lazarus/footer.php
+++ /dev/null
@@ -1,14 +0,0 @@
-</div><div id="footer">
-	<ul id="footernav">
-		<li class="first"><a href="/">Home</a></li>
-		<li><a href="<?= $App->getWWWPrefix() ?>/legal/privacy.php">Privacy Policy</a></li>
-		<li><a href="<?= $App->getWWWPrefix() ?>/legal/termsofuse.php">Terms of Use</a></li>
-		<li><a href="<?= $App->getWWWPrefix() ?>/org/foundation/contact.php">Contact</a></li>
-		<li><a href="<?= $App->getWWWPrefix() ?>/legal/">Legal</a></li>
-		<li class="spacer">&nbsp;</li>
-		<li class="first"><a class="smallText" title="Small Text" href="#" onclick="setActiveStyleSheet('small');return false;">A</a> <a class="largeText" title="Large Text" href="#" onclick="setActiveStyleSheet('large');return false;">A</a></li>
-	</ul>
-	<p>Copyright &copy; <?=date("Y");?> The Eclipse Foundation. All Rights Reserved</p>
-</div>
-</body>
-</html>
diff --git a/themes/Lazarus/header.php b/themes/Lazarus/header.php
deleted file mode 100644
index 97d4054..0000000
--- a/themes/Lazarus/header.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation) - initial API and implementation
- * 	  Matt Chapman (contributor) - modification and skin (bug 144911)
- *******************************************************************************/
- 
-	$www_prefix = "";
-		
-	global $App;
-
-	if(isset($App)) {
-		$www_prefix = $App->getWWWPrefix();
-	}
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head><title><?= $pageTitle ?></title><meta name="author" content="<?= $pageAuthor ?>" />
-<meta name="keywords" content="<?= $pageKeywords ?>" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Lazarus/css/small.css" title="small" />
-<link rel="alternate stylesheet" type="text/css" href="/eclipse.org-common/themes/Lazarus/css/large.css" title="large" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Lazarus/css/visual.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Lazarus/css/layout.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/print.css" media="print" />
-<script type="text/javascript" src="/eclipse.org-common/themes/Phoenix/styleswitcher.js"></script>
-	<?php if( isset($extraHtmlHeaders) ) echo $extraHtmlHeaders; ?>
-</head>
-<body>
-<div id="header">
-</div>
-<div id="headerlogo">
-	<a href="/"><img src="/eclipse.org-common/themes/Lazarus/images/header_logo.gif" alt="Eclipse Logo" class="logo" border="0" height="75" width="241" /></a>
-</div>
\ No newline at end of file
diff --git a/themes/Lazarus/menu.php b/themes/Lazarus/menu.php
deleted file mode 100644
index 3f0a900..0000000
--- a/themes/Lazarus/menu.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<div id="topnav">
-	<ul>
-
-<?php
-	global $App;
-	$nextclass = "";
-	
-	for($i = 0; $i < $Menu->getMenuItemCount(); $i++) {
-		$MenuItem = $Menu->getMenuItemAt($i);
-		$startclass 	= "tabstart";
-		$aclass 		= "";
-		$separatorclass = "tabseparator";
-		
-		if($nextclass != "") {
-			$startclass = $nextclass;
-			$nextclass = "";
-		}
-		
-		
-		if(strpos($_SERVER['SCRIPT_FILENAME'], $MenuItem->getURL())) {
-			$startclass		="tabstartselected";
-			$aclass 		= "tabselected";
-			$nextclass 		= "tabseparatorselected";
-		}
-		
-		
-?>
-		<li><a class="<?= $aclass ?>" href="<?= $MenuItem->getURL() ?>" target="<?= $MenuItem->getTarget() ?>"><?= $MenuItem->getText() ?></a></li>
-<?php
-	}
-?>
-	</ul>
-
-</div>
-
-
-	<div id="searchbar">
-<form action="http://www.google.com/cse" id="searchbox_001774807050229944597:xrjquhh7kg8">
-  <input type="hidden" name="cx" value="001774807050229944597:xrjquhh7kg8" />
-  <input class="input" type="text" name="q" size="20" />
-  <input class="button" type="image" name="sa" value="Search" onclick="this.submit();" alt="Search" title="Search" src="/eclipse.org-common/themes/Phoenix/images/search_btn.gif"/>
-</form>
-<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_001774807050229944597%3Axrjquhh7kg8&lang=en"></script>
-	</div>
-
-<div id="topnavsep">
-</div>
-
-<?= $Menu->getProjectBranding() ?>
diff --git a/themes/Lazarus/nav.php b/themes/Lazarus/nav.php
deleted file mode 100644
index 612e5be..0000000
--- a/themes/Lazarus/nav.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<div id="leftcol">
-<ul id="leftnav">
-<?php
-    $level = 0;
-	for($i = 0; $i < $Nav->getLinkCount(); $i++) {
-		$Link = $Nav->getLinkAt($i);
-		$newlevel = $Link->getLevel();
-		if( $Link->getURL() == "" ) {
-			if($Link->getTarget() == "__SEPARATOR") {
-			   
-			   ?><li class="separator"><a class="separator"><?php
-			   	  for($j = 0; $j < (($newlevel - 1) * 4); $j++ ) { ?>&nbsp;<?php } 
-			   ?><?= $Link->getText() ?> &#160;&#160;<img src="/eclipse.org-common/themes/Phoenix/images/leftnav_bullet_down.gif" border="0" alt="" /></a></li>
-<?php
-			} else {
-				?><li><a class="nolink" href="#"><?php
-			   	  for($j = 0; $j < (($newlevel - 1) * 4); $j++ ) { ?>&nbsp;<?php } 
-			   ?><?= $Link->getText() ?></a></li>
-<?php
-			}
-		} else {
-			if($Link->getTarget() == "__SEPARATOR") {
-				?><li class="separator"><a class="separator" href="<?= $Link->getURL() ?>"><?php
-			   	  for($j = 0; $j < (($newlevel - 1) * 4); $j++ ) { ?>&nbsp;<?php } 
-			   ?><?= $Link->getText() ?> &#160;&#160;<img src="/eclipse.org-common/themes/Phoenix/images/leftnav_bullet_down.gif" border="0" alt="" /></a></li>
-<?php
-			} else {
-				?><li><a href="<?= $Link->getURL() ?>"><?php
-			   	  for($j = 0; $j < (($newlevel - 1) * 4); $j++ ) { ?>&nbsp;<?php } 
-			   ?><?= $Link->getText() ?></a></li>
-<?php
-			}
-		}
-	}
-	?> 
-  </li>
-  <li style="background-image: url(<?= $App->getWWWPrefix() ?>/eclipse.org-common/themes/Phoenix/images/leftnav_fade.jpg); background-repeat: repeat-x; border-style: none;">
-			<br /><br /><br /><br /><br />
-  </li>
-</ul>
-<? /*
-	<br />
-	<div class="sideitem">
-		<h6>Did you know?</h6>
-		<p>We may be adding neat tips and tricks, and other stuff here.</p>
-		<ul>
-			<li>Who writes them?</li>
-			<li>Do we moderate them?</li>
-			<li>Should the style of this box be identical to the boxes on the right?</li>
-		</ul>
-		<p>
-			<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=117903">go comment on quips! &raquo;</a>
-		</p>
-		<br />
-	</div>
-*/  ?>
-
-</div>
-<div id="container">
\ No newline at end of file
diff --git a/themes/Miasma/footer.php b/themes/Miasma/footer.php
deleted file mode 100644
index 703fffb..0000000
--- a/themes/Miasma/footer.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<div id="footer">
-	<ul id="footernav">
-		<li class="first"><a href="/">Home</a></li>
-		<li><a href="<?= $www_prefix ?>/legal/privacy.php">Privacy Policy</a></li>
-		<li><a href="<?= $www_prefix ?>/legal/termsofuse.php">Terms of Use</a></li>
-	</ul>
-	<p>Copyright &copy; <?=date("Y");?> The Eclipse Foundation. All Rights
-Reserved</p>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/themes/Miasma/header.php b/themes/Miasma/header.php
deleted file mode 100644
index e8fbcf4..0000000
--- a/themes/Miasma/header.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation) - initial API and implementation
- *******************************************************************************/
- 
-	$www_prefix = "";
-		
-	global $App;
-
-	if(isset($App)) {
-		$www_prefix = $App->getWWWPrefix();
-	}
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head><title><?= $pageTitle ?></title>
-	<meta name="author" content="<?= $pageAuthor ?>" />
-	<meta name="keywords" content="<?= $pageKeywords ?>" />
-	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Miasma/css/visual.css" media="screen" />
-	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Miasma/css/layout.css" media="screen" />
-	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/print.css" media="print" />
-	<?php if( isset($extraHtmlHeaders) ) echo $extraHtmlHeaders; ?>
-</head>
-<body>
-<div id="header">
-	<a href="/"><img src="/eclipse.org-common/themes/Miasma/images/header_logo.gif" alt="Eclipse Logo" class="logo" border="0" height="71" width="128" /></a>
-	<div id="searchbar">
-<form action="http://www.google.com/cse" id="searchbox_001774807050229944597:xrjquhh7kg8">
-  <input type="hidden" name="cx" value="001774807050229944597:xrjquhh7kg8" />
-  <input class="input" type="text" name="q" size="60" />
-  <input class="button" type="button" name="sa" value="Search" onclick="this.submit();" alt="Search" title="Search" />
-</form>
-<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_001774807050229944597%3Axrjquhh7kg8&lang=en"></script>
-	</div>
-	<ul id="headernav">
-		<li class="first"><a href="<?= $www_prefix ?>/org/foundation/contact.php">Contact</a></li>
-		<li><a href="<?= $www_prefix ?>/legal/">Legal</a></li>
-	</ul>
\ No newline at end of file
diff --git a/themes/Miasma/menu.php b/themes/Miasma/menu.php
deleted file mode 100644
index 45e1ca1..0000000
--- a/themes/Miasma/menu.php
+++ /dev/null
@@ -1,21 +0,0 @@
-	<ul id="topnav">
-<?php
-	$nextclass = "";
-	
-	for($i = 0; $i < $Menu->getMenuItemCount(); $i++) {
-		$MenuItem = $Menu->getMenuItemAt($i);
-		
-
-		$aclass = "";		
-		if(strpos($_SERVER['SCRIPT_FILENAME'], $MenuItem->getURL())) {
-			$aclass 		= "class=\"tabselected\"";
-		}
-		
-		
-?>
-		<li><a <?= $aclass ?>" href="<?= $MenuItem->getURL() ?>" target="<?= $MenuItem->getTarget() ?>"><?= $MenuItem->getText() ?></a></li>
-<?php
-	}
-?>			
-	</ul>
-</div>
\ No newline at end of file
diff --git a/themes/Miasma/nav.php b/themes/Miasma/nav.php
deleted file mode 100644
index 9bb27a5..0000000
--- a/themes/Miasma/nav.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<div id="leftcol">
-	<div class="sideitem">
-		<h3>Navigation</h3>
-		<ul id="leftnav">
-<?php
-	for($i = 0; $i < $Nav->getLinkCount(); $i++) {
-		$liClass = "";
-		$aClass = "";
-		$aClassSelected = "";
-		$Link = $Nav->getLinkAt($i);
-		
-
-		if($Link->getLevel() == 2 || $Link->getLevel() == 3) {
-			$aClass = "class=\"level" . $Link->getLevel();
-			if($Link->getURL() && strpos($_SERVER['SCRIPT_FILENAME'], $Link->getURL())) {
-				$aClass .= "selected";
-			}
-			
-			$aClass .= "\"";
-		}
-		
-		# Selected tab
-	
-		$out = "";
-		
-		if($Link->getTarget() == "__SEPARATOR") {
-			
-			echo "</ul></div><div class=\"sideitem\"><h3>" . $Link->getText() . "</h3><ul id=\"leftnav\">";
-		}
-		else {
-			$target = "";
-			if($Link->getTarget() != "" && $Link->getTarget() != "_self") {
-				$target = "target=\"" . $Link->getTarget() . "\"";
-			}
-	
-	        if( $Link->getURL() ) {
-	?>    		<li <?= $liClass ?>><a <?= $aClass ?> href="<?= $Link->getURL() ?>" <?= $target ?>><?= $Link->getText() ?></a></li>
-	<?php
-	        } else {
-	?>    <li <?= $liClass ?>><span <?= $aClass ?>><?= $Link->getText() ?></span></li>
-	<?php
-	        }
-		}		
-	}	
-?>
-		</ul>
-	</div>
-</div>
diff --git a/themes/Phoenix/footer.php b/themes/Phoenix/footer.php
deleted file mode 100644
index 4dad2e0..0000000
--- a/themes/Phoenix/footer.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<? 
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-?>
-</div><div id="footer">
-<ul id="footernav">
-<li class="first"><a href="<?= $App->getWWWPrefix() ?>/">Home</a></li>
-<li><a href="<?= $App->getWWWPrefix() ?>/legal/privacy.php">Privacy Policy</a></li>
-<li><a href="<?= $App->getWWWPrefix() ?>/legal/termsofuse.php">Terms of Use</a></li>
-</ul>
-<p>Copyright &copy; <?=date("Y");?> The Eclipse Foundation. All Rights Reserved</p>
-</div></body></html>
\ No newline at end of file
diff --git a/themes/Phoenix/header.php b/themes/Phoenix/header.php
deleted file mode 100644
index a92d84d..0000000
--- a/themes/Phoenix/header.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<? 
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
- 
-	$www_prefix = "";
-		
-	global $App;
-
-	if(isset($App)) {
-		$www_prefix = $App->getWWWPrefix();
-	}
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head><title><?= $pageTitle ?></title><meta name="author" content="<?= $pageAuthor ?>" />
-<meta name="keywords" content="<?= $pageKeywords ?>" /><link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/small.css" title="small" /><link rel="alternate stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/large.css" title="large" /><link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/visual.css" media="screen" /><link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/layout.css" media="screen" />
-<!--[if IE]> 	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/ie_style.css" media="screen"/> <![endif]-->
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/print.css" media="print" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/header.css" media="screen" />
-<script type="text/javascript" src="/eclipse.org-common/themes/Phoenix/styleswitcher.js"></script>
-<?php if( isset($extraHtmlHeaders) ) echo $extraHtmlHeaders; ?></head>
-<body>
-<div id="header">
-	<div id="header-graphic" class="eclipse-main">
-		<a href="/"><img src="/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg" alt="" /></a><h1>Eclipse</h1>	
-	</div>
-	<div id="header-global-holder" class="eclipse-main-global">
-		<div id="header-global-links"><ul>
-<li><a href="/org/foundation/contact.php" class="first_one">Contact</a></li><li><a href="/legal/">Legal</a></li>
-			</ul>
-		</div>
-		<div id="header-icons">
-<a href="http://live.eclipse.org"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_Live.png" width="28" height="28" alt="Eclipse Live" title="Eclipse Live" /></a>
-<a href="http://www.eclipseplugincentral.com"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_plugin.png" width="28" height="28" alt="Eclipse Plugin Central" title="Eclipse Plugin Central" /></a>
-<a href="http://www.planeteclipse.org"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_planet.png" width="28" height="28" alt="Planet Eclipse" title="Planet Eclipse" /></a>
-		</div>
-	</div></div>
\ No newline at end of file
diff --git a/themes/Phoenix/menu.php b/themes/Phoenix/menu.php
deleted file mode 100644
index d9ad604..0000000
--- a/themes/Phoenix/menu.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<? 
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-?>
-<div id="header-menu"><div id="header-nav">
-		<ul>
-<?php
-	global $App;
-	$www_prefix = "";
-	$pageRSS = "";
-	
-	if(isset($App)) {
-		$www_prefix = $App->getWWWPrefix();
-		
-		if($App->PageRSS != "") {
-			$pageRSS = $App->PageRSS;
-		}
-	}
-
-	$firstClass = "class=\"first_one\""; 
-	$nextclass = "";
-	
-	for($i = 0; $i < $Menu->getMenuItemCount(); $i++) {
-		$MenuItem = $Menu->getMenuItemAt($i);
-			
-		
-		?>
-		<li><a <?=$firstClass;?> href="<?= $MenuItem->getURL(); ?>" target="<?= $MenuItem->getTarget(); ?>"><?= $MenuItem->getText(); ?></a></li> 
-		<?php
-		$firstClass="";
-			}
-		?>
-		</ul>
-	</div>
-	<div id="header-utils">
-<form action="http://www.google.com/cse" id="searchbox_001774807050229944597:xrjquhh7kg8">
-  <input type="hidden" name="cx" value="001774807050229944597:xrjquhh7kg8" />
-  <input class="input" type="text" name="q" size="60" />
-  <input class="button" type="image" name="sa" value="Search" onclick="this.submit();" alt="Search" title="Search" src="/eclipse.org-common/themes/Phoenix/images/search_btn.gif"/>
-</form>
-<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_001774807050229944597%3Axrjquhh7kg8&lang=en"></script>
-		<ul>
-			<?php
-				if($pageRSS != "") {
-			?><li class="rss_feed"><a href="<?= $pageRSS ?>" target="_blank"><img src="/eclipse.org-common/themes/Phoenix/images/rss_btn.gif" alt="RSS" height="16" width="16" border="0" class="rss_icon" /></a></li>
-			<?php
-				} 
-			?>
-			<li class="text_size"><a class="smallText" title="Small Text" href="#" onclick="setActiveStyleSheet('small');return false;">A</a> <a class="largeText" title="Large Text" href="#" onclick="setActiveStyleSheet('large');return false;">A</a></li>
-		</ul>
-	</div></div>
\ No newline at end of file
diff --git a/themes/Phoenix/nav.php b/themes/Phoenix/nav.php
deleted file mode 100644
index 7324ea3..0000000
--- a/themes/Phoenix/nav.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<? 
-/*******************************************************************************
- * Copyright (c) 2006 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:
- *    Denis Roy (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-?>
-<div id="leftcol">
-<ul id="leftnav">
-<?php
-    $level = 0;
-	for($i = 0; $i < $Nav->getLinkCount(); $i++) {
-		$Link = $Nav->getLinkAt($i);
-		$newlevel = $Link->getLevel();
-		if( $Link->getURL() == "" ) {
-			if($Link->getTarget() == "__SEPARATOR") {
-			   
-			   ?><li class="separator"><a class="separator"><?php
-			   	  for($j = 0; $j < (($newlevel - 1) * 4); $j++ ) { ?>&nbsp;<?php } 
-			   ?><?= $Link->getText() ?> &#160;&#160;<img src="/eclipse.org-common/themes/Phoenix/images/leftnav_bullet_down.gif" border="0" alt="" /></a></li>
-<?php
-			} else {
-				?><li><a class="nolink" href="#"><?php
-			   	  for($j = 0; $j < (($newlevel - 1) * 4); $j++ ) { ?>&nbsp;<?php } 
-			   ?><?= $Link->getText() ?></a></li>
-<?php
-			}
-		} else {
-			if($Link->getTarget() == "__SEPARATOR") {
-				?><li class="separator"><a class="separator" href="<?= $Link->getURL() ?>"><?php
-			   	  for($j = 0; $j < (($newlevel - 1) * 4); $j++ ) { ?>&nbsp;<?php } 
-			   ?><?= $Link->getText() ?> &#160;&#160;<img src="/eclipse.org-common/themes/Phoenix/images/leftnav_bullet_down.gif" border="0" alt="" /></a></li>
-<?php
-			} else {
-				?><li><a href="<?= $Link->getURL() ?>"><?php
-			   	  for($j = 0; $j < (($newlevel - 1) * 4); $j++ ) { ?>&nbsp;<?php } 
-			   ?><?= $Link->getText() ?></a></li>
-<?php
-			}
-		}
-	}
-	?>
-<li style="background-image: url(/eclipse.org-common/themes/Phoenix/images/leftnav_fade.jpg); background-repeat: repeat-x; border-style: none;"><br /><br /><br /><br /><br /><br /><br /><br />
-</li>
-</ul>
-<? /*
-	<br />
-	<div class="sideitem">
-		<h6>Did you know?</h6>
-		<p>We may be adding neat tips and tricks, and other stuff here.</p>
-		<ul>
-			<li>Who writes them?</li>
-			<li>Do we moderate them?</li>
-			<li>Should the style of this box be identical to the boxes on the right?</li>
-		</ul>
-		<p>
-			<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=117903">go comment on quips! &raquo;</a>
-		</p>
-		<br />
-	</div>
-*/  ?>
-
-</div>
-<div id="container">
\ No newline at end of file
diff --git a/themes/PlainText/footer.php b/themes/PlainText/footer.php
deleted file mode 100644
index 8362088..0000000
--- a/themes/PlainText/footer.php
+++ /dev/null
@@ -1,27 +0,0 @@
-				</td>
-			</tr>
-		</table>
-
-		<br /><br />
-		<table width="100%" cellpadding="0" cellspacing="0" border="0">
-			<tr>
-				<td width="100%" height="1" class="blue_header"></td>
-			</tr>
-		</table>
-		<table width="100%" cellpadding="0" cellspacing="0" border="0">
-			<tr>
-				<td align="left" width="25%" class="small">
-					Copyright &copy; <?=date("Y");?> The Eclipse Foundation. All Rights
-Reserved
-				</td>
-				<td align="center" width="50%" class="small">
-					<a href="/">Home</a> | <a href="http://www.eclipse.org">Eclipse Home</a>
-				</td>
-				<td align="right" width="25%" class="small">
-				</td>
-			</tr>
-		</table>
-
-
-	</body>
-<html>
diff --git a/themes/PlainText/header.php b/themes/PlainText/header.php
deleted file mode 100644
index f88a6e1..0000000
--- a/themes/PlainText/header.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
-	<head>
-		<title><?= $pageTitle ?></title>
-		<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Modern/css/stylesheet.css">
-	</head>
-
-	<body>
-		<table border="0" cellspacing="0" cellpadding="0" width="100%" >
-  			<tr>
-   				<td valign="top">eclipse.org</td>
-   				<td valign="top" align="right">some links</td>
-  			</tr>
-		</table>
\ No newline at end of file
diff --git a/themes/PlainText/menu.php b/themes/PlainText/menu.php
deleted file mode 100644
index 58094aa..0000000
--- a/themes/PlainText/menu.php
+++ /dev/null
@@ -1,31 +0,0 @@
-			<table width="100%" cellpadding="0" cellspacing="0" border="0">
-				<tr>
-					<td width="100%" class="menu_border" height="1"></td>
-				</tr>
-			</table>
-			<table width="100%" cellpadding="1" cellspacing="0" border="0" class="menu">
-				<tr>
-					<td class="menu_border" width="1"></td>
-<?php
-	for($i = 0; $i < $Menu->getMenuItemCount(); $i++) {
-		$MenuItem = $Menu->getMenuItemAt($i);
-?>				
-							<td>&#160;&#160;&#160;</td>
-							<td nowrap="true"><a class="menu_item" href="<?= $MenuItem->getURL() ?>" target="<?= $MenuItem->getTarget() ?>"><?= $MenuItem->getText() ?></a></td>
-							<td>&#160;&#160;&#160;</td>
-							<td class="menu_separator" width="1"></td>
-				
-<?php
-	}
-?>
-						<td width="100%"></td>
-						<td class="menu_border" width="1"></td>
-					</tr>
-				</table>
-		<?php
-		# This table closed in the footer 
-		?>
-		<table width="100%" cellpadding="0">
-			<tr>
-		
-
diff --git a/themes/PlainText/nav.php b/themes/PlainText/nav.php
deleted file mode 100644
index ce82179..0000000
--- a/themes/PlainText/nav.php
+++ /dev/null
@@ -1,23 +0,0 @@
-		<td width="200" valign="top">
-
-			<table width="100%" cellpadding="1" cellspacing="0" border="0" class="nav">
-<?php
-	for($i = 0; $i < $Nav->getLinkCount(); $i++) {
-		$Link = $Nav->getLinkAt($i);
-?>				
-				<tr>
-					<td nowrap="true" class="nav_separator" height="1"></td>
-				</tr>
-				<tr>
-					<td nowrap="true"><a class="nav_item" href="<?= $Link->getURL() ?>" target="<?= $Link->getTarget() ?>"><?= $Link->getText() ?></a></td>
-				</tr>
-<?php
-	}	
-?>
-				<tr>
-					<td nowrap="true" class="nav_separator" height="1"></td>
-				</tr>
-			</table>
-		</td>
-		
-		<td valign="top" class="normal">
\ No newline at end of file