<?php
	require_once("/home/data/httpd/eclipse-php-classes/people/ldapperson.class.php");
	require_once("/home/data/httpd/eclipse-php-classes/menu/menu.class.php");
    require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/projects/projectList.class.php");
    require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection_foundation_ro.class.php");
	require_once($_SERVER['DOCUMENT_ROOT'] . "/committers/classes/ldap.class.php");

	
	#*****************************************************************************
	#
	# project_category_list.php
	#
	# Author: 		Denis Roy
	# Date:			2005-04-04
	#
	# Description: manage project Categories for Downloads By Topic page,
	#
	# HISTORY:
	#
	#****************************************************************************

	$App 	= new App();
	$App->runStdWebAppCacheable();
	$ErrorMessage = "";
	
	$LDAPPerson = new LDAPPerson();
	$LDAPPerson = $LDAPPerson->redirectIfNotLoggedIn();
	
	# Incoming parameters
	$_STATE 		= ($_GET['state'] ? $_GET['state'] : $_POST['state']);
	$_PROJECT_ID 	= ($_GET['project_id'] ? $_GET['project_id'] : $_POST['project_id']);
	$_CATEGORY_ID 	= ($_GET['category_id'] ? $_GET['category_id'] : $_POST['category_id']);
	
	$ProjectList 	= new ProjectList();
	$Ldap 			= new Ldap();

	$GroupList 		= $Ldap->getUserGroupList($LDAPPerson->getDN());
	sort($GroupList);
	
/*
	# Load quota info
	$UsedArray = array();
	$QuotaArray = array();
	$fileName = "/home/data/common/monitor/quotas.txt";
	$fileContents = file_get_contents($fileName);
	$lines = explode("\n", $fileContents);
	for($i = 0; $i < count($lines); $i++) {
		$lines[$i] = str_replace("  ", " ", $lines[$i]);
		$lines[$i] = str_replace("  ", " ", $lines[$i]);
		$lines[$i] = str_replace(" ", "|", $lines[$i]);
		$parts = explode("|", $lines[$i]);
		$UsedArray[$parts[0]] = sprintf("%.2f", $parts[2] / 1024);
		$QuotaArray[$parts[0]] = sprintf("%.2f", $parts[4] / 1024);
	}
	*/				
	
	include("inc/en_groups.php");

?>
	